diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..eba0cc3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,1142 @@ +# UE项目大文件规则 +# Git LFS rules for Unreal Engine project + +# Unreal specific file types +# uasset +*.[uU][aA][sS][sS][eE][tT] filter=lfs diff=lfs merge=binary -text +# umap +*.[uU][mM][aA][pP] filter=lfs diff=lfs merge=binary -text + +# 视频,video +# oggtheora +*.[oO][gG][gG][tT][hH][eE][oO][rR][aA] filter=lfs diff=lfs merge=binary -text +# m2t +*.[mM]2[tT] filter=lfs diff=lfs merge=binary -text +# mts +*.[mM][tT][sS] filter=lfs diff=lfs merge=binary -text +# mp4 +*.[mM][pP]4 filter=lfs diff=lfs merge=binary -text +# avi +*.[aA][vV][iI] filter=lfs diff=lfs merge=binary -text +# mkv +*.[mM][kK][vV] filter=lfs diff=lfs merge=binary -text +# wmv +*.[wW][mM][vV] filter=lfs diff=lfs merge=binary -text +# asf +*.[aA][sS][fF] filter=lfs diff=lfs merge=binary -text +# asx +*.[aA][sS][xX] filter=lfs diff=lfs merge=binary -text +# rm +*.[rR][mM] filter=lfs diff=lfs merge=binary -text +# rmvb +*.[rR][mM][vV][bB] filter=lfs diff=lfs merge=binary -text +# 3gp +*.3[gG][pP] filter=lfs diff=lfs merge=binary -text +# 3gpp +*.3[gG][pP][pP] filter=lfs diff=lfs merge=binary -text +# 3gpp2 +*.3[gG][pP][pP]2 filter=lfs diff=lfs merge=binary -text +# mov +*.[mM][oO][vV] filter=lfs diff=lfs merge=binary -text +# m4v +*.[mM]4[vV] filter=lfs diff=lfs merge=binary -text +# dat +*.[dD][aA][tT] filter=lfs diff=lfs merge=binary -text +# vob +*.[vV][oO][bB] filter=lfs diff=lfs merge=binary -text +# dv +*.[dD][vV] filter=lfs diff=lfs merge=binary -text +# mpeg +*.[mM][pP][eE][gG] filter=lfs diff=lfs merge=binary -text +# mpg +*.[mM][pP][gG] filter=lfs diff=lfs merge=binary -text +# mpe +*.[mM][pP][eE] filter=lfs diff=lfs merge=binary -text +# m2v +*.[mM]2[vV] filter=lfs diff=lfs merge=binary -text +# webm +*.[wW][eE][bB][mM] filter=lfs diff=lfs merge=binary -text +# flv +*.[fF][lL][vV] filter=lfs diff=lfs merge=binary -text +# swf +*.[sS][wW][fF] filter=lfs diff=lfs merge=binary -text +# avc +*.[aA][vV][cC] filter=lfs diff=lfs merge=binary -text +# arf +*.[aA][rR][fF] filter=lfs diff=lfs merge=binary -text +# vcr +*.[vV][cC][rR] filter=lfs diff=lfs merge=binary -text +# ogv +*.[oO][gG][vV] filter=lfs diff=lfs merge=binary -text + +# 音频, audio +# ape +*.[aA][pP][eE] filter=lfs diff=lfs merge=binary -text +# wav +*.[wW][aA][vV] filter=lfs diff=lfs merge=binary -text +# m4a +*.[mM]4[aA] filter=lfs diff=lfs merge=binary -text +# mp3 +*.[mM][pP]3 filter=lfs diff=lfs merge=binary -text +# flac +*.[fF][lL][aA][cC] filter=lfs diff=lfs merge=binary -text +# aif +*.[aA][iI][fF] filter=lfs diff=lfs merge=binary -text +# aiff +*.[aA][iI][fF][fF] filter=lfs diff=lfs merge=binary -text +# aac +*.[aA][aA][cC] filter=lfs diff=lfs merge=binary -text +# cpa +*.[cC][pP][aA] filter=lfs diff=lfs merge=binary -text +# swa +*.[sS][wW][aA] filter=lfs diff=lfs merge=binary -text +# sesx +*.[sS][eE][sS][xX] filter=lfs diff=lfs merge=binary -text +# ses +*.[sS][eE][sS] filter=lfs diff=lfs merge=binary -text +# bnk, Wwise audio +*.[bB][nN][kK] filter=lfs diff=lfs merge=binary -text +# wem, Wwise +*.[wW][eE][mM] filter=lfs diff=lfs merge=binary -text +# pca +*.[pP][cC][aA] filter=lfs diff=lfs merge=binary -text + +# 库文件,Library +# a +*.[aA] filter=lfs diff=lfs merge=binary -text +# o +*.[oO] filter=lfs diff=lfs merge=binary -text +# so +*.[sS][oO] filter=lfs diff=lfs merge=binary -text +# lib +*.[lL][iI][bB] filter=lfs diff=lfs merge=binary -text +# dll +*.[dD][lL][lL] filter=lfs diff=lfs merge=binary -text +# lbr +*.[lL][bB][rR] filter=lfs diff=lfs merge=binary -text +# tlb +*.[tT][lL][bB] filter=lfs diff=lfs merge=binary -text +# cab +*.[cC][aA][bB] filter=lfs diff=lfs merge=binary -text +# dylib +*.[dD][yY][lL][iI][bB] filter=lfs diff=lfs merge=binary -text +# dsym +*.[dD][sS][yY][mM] filter=lfs diff=lfs merge=binary -text +# app +*.[aA][pP][pP] filter=lfs diff=lfs merge=binary -text +# ipa +*.[iI][pP][aA] filter=lfs diff=lfs merge=binary -text +# dmg +*.[dD][mM][gG] filter=lfs diff=lfs merge=binary -text +# exe +*.[eE][xX][eE] filter=lfs diff=lfs merge=binary -text +# pdb +*.[pP][dD][bB] filter=lfs diff=lfs merge=binary -text +# dbg +*.[dD][bB][gG] filter=lfs diff=lfs merge=binary -text +# run +*.[rR][uU][nN] filter=lfs diff=lfs merge=binary -text +# pyd +*.[pP][yY][dD] filter=lfs diff=lfs merge=binary -text +# pyc +*.[pP][yY][cC] filter=lfs diff=lfs merge=binary -text +# nupkg, NuGet package +*.[nN][uU][pP][kK][gG] filter=lfs diff=lfs merge=binary -text +# pch +*.[pP][cC][hH] filter=lfs diff=lfs merge=binary -text +# ilk +*.[iI][lL][kK] filter=lfs diff=lfs merge=binary -text +# debug +*.[dD][eE][bB][uU][gG] filter=lfs diff=lfs merge=binary -text +# obj +*.[oO][bB][jJ] filter=lfs diff=lfs merge=binary -text +# stub +*.[sS][tT][uU][bB] filter=lfs diff=lfs merge=binary -text +# ddp +*.[dD][dD][pP] filter=lfs diff=lfs merge=binary -text +# sym +*.[sS][yY][mM] filter=lfs diff=lfs merge=binary -text +# lld +*.[lL][lL][dD] filter=lfs diff=lfs merge=binary -text +# res +*.[rR][eE][sS] filter=lfs diff=lfs merge=binary -text +# locres +*.[lL][oO][cC][rR][eE][sS] filter=lfs diff=lfs merge=binary -text +# aar +*.[aA][aA][rR] filter=lfs diff=lfs merge=binary -text +# udd +*.[uU][dD][dD] filter=lfs diff=lfs merge=binary -text +# mdb +*.[mM][dD][bB] filter=lfs diff=lfs merge=binary -text +# ddc +*.[dD][dD][cC] filter=lfs diff=lfs merge=binary -text +# udn +*.[uU][dD][nN] filter=lfs diff=lfs merge=binary -text +# h5 +*.[hH]5 filter=lfs diff=lfs merge=binary -text + +# 压缩包,Archive format +# =Archiving only= +# ar +*.[aA][rR] filter=lfs diff=lfs merge=binary -text +# cpio +*.[cC][pP][iI][oO] filter=lfs diff=lfs merge=binary -text +# shar +*.[sS][hH][aA][rR] filter=lfs diff=lfs merge=binary -text +# tar +*.[tT][aA][rR] filter=lfs diff=lfs merge=binary -text +# lbr +*.[lL][bB][rR] filter=lfs diff=lfs merge=binary -text +# =Compression only= +# Brotli +*.[bB][rR][oO][tT][lL][iI] filter=lfs diff=lfs merge=binary -text +# bzip2 +*.[bB][zZ][iI][pP]2 filter=lfs diff=lfs merge=binary -text +# compress +*.[cC][oO][mM][pP][rR][eE][sS][sS] filter=lfs diff=lfs merge=binary -text +# zip +*.[zZ][iI][pP] filter=lfs diff=lfs merge=binary -text +# gzip +*.[gG][zZ][iI][pP] filter=lfs diff=lfs merge=binary -text +# zopfli +*.[zZ][oO][pP][fF][lL][iI] filter=lfs diff=lfs merge=binary -text +# LZMA +*.[lL][zZ][mM][aA] filter=lfs diff=lfs merge=binary -text +# LZ4 +*.[lL][zZ]4 filter=lfs diff=lfs merge=binary -text +# lzip +*.[lL][zZ][iI][pP] filter=lfs diff=lfs merge=binary -text +# lzop +*.[lL][zZ][oO][pP] filter=lfs diff=lfs merge=binary -text +# SQ +*.[sS][qQ] filter=lfs diff=lfs merge=binary -text +# xz +*.[xX][zZ] filter=lfs diff=lfs merge=binary -text +# Zstandard +*.[zZ][sS][tT][aA][nN][dD][aA][rR][dD] filter=lfs diff=lfs merge=binary -text +# =Archiving and compression= +# 7z +*.7[zZ] filter=lfs diff=lfs merge=binary -text +# ace +*.[aA][cC][eE] filter=lfs diff=lfs merge=binary -text +# arc +*.[aA][rR][cC] filter=lfs diff=lfs merge=binary -text +# arj +*.[aA][rR][jJ] filter=lfs diff=lfs merge=binary -text +# b1 +*.[bB]1 filter=lfs diff=lfs merge=binary -text +# cabinet +*.[cC][aA][bB][iI][nN][eE][tT] filter=lfs diff=lfs merge=binary -text +# cfs +*.[cC][fF][sS] filter=lfs diff=lfs merge=binary -text +# cpt +*.[cC][pP][tT] filter=lfs diff=lfs merge=binary -text +# dar +*.[dD][aA][rR] filter=lfs diff=lfs merge=binary -text +# dgca +*.[dD][gG][cC][aA] filter=lfs diff=lfs merge=binary -text +# dmg +*.[dD][mM][gG] filter=lfs diff=lfs merge=binary -text +# egg +*.[eE][gG][gG] filter=lfs diff=lfs merge=binary -text +# kgb +*.[kK][gG][bB] filter=lfs diff=lfs merge=binary -text +# lha +*.[lL][hH][aA] filter=lfs diff=lfs merge=binary -text +# lzx +*.[lL][zZ][xX] filter=lfs diff=lfs merge=binary -text +# mpq +*.[mM][pP][qQ] filter=lfs diff=lfs merge=binary -text +# pea +*.[pP][eE][aA] filter=lfs diff=lfs merge=binary -text +# rar +*.[rR][aA][rR] filter=lfs diff=lfs merge=binary -text +# rzip +*.[rR][zZ][iI][pP] filter=lfs diff=lfs merge=binary -text +# sit +*.[sS][iI][tT] filter=lfs diff=lfs merge=binary -text +# sitx +*.[sS][iI][tT][xX] filter=lfs diff=lfs merge=binary -text +# sqx +*.[sS][qQ][xX] filter=lfs diff=lfs merge=binary -text +# uda +*.[uU][dD][aA] filter=lfs diff=lfs merge=binary -text +# xar +*.[xX][aA][rR] filter=lfs diff=lfs merge=binary -text +# zoo +*.[zZ][oO][oO] filter=lfs diff=lfs merge=binary -text +# zpaq +*.[zZ][pP][aA][qQ] filter=lfs diff=lfs merge=binary -text +# =Software packaging and distribution= +# apk +*.[aA][pP][kK] filter=lfs diff=lfs merge=binary -text +# appx +*.[aA][pP][pP][xX] filter=lfs diff=lfs merge=binary -text +# deb +*.[dD][eE][bB] filter=lfs diff=lfs merge=binary -text +# rpm +*.[rR][pP][mM] filter=lfs diff=lfs merge=binary -text +# msi +*.[mM][sS][iI] filter=lfs diff=lfs merge=binary -text +# ipa +*.[iI][pP][aA] filter=lfs diff=lfs merge=binary -text +# jar +*.[jJ][aA][rR] filter=lfs diff=lfs merge=binary -text +# war +*.[wW][aA][rR] filter=lfs diff=lfs merge=binary -text +# ear +*.[eE][aA][rR] filter=lfs diff=lfs merge=binary -text +# xap +*.[xX][aA][pP] filter=lfs diff=lfs merge=binary -text +# xbap +*.[xX][bB][aA][pP] filter=lfs diff=lfs merge=binary -text +# hap +*.[hH][aA][pP] filter=lfs diff=lfs merge=binary -text +# app +*.[aA][pP][pP] filter=lfs diff=lfs merge=binary -text +# gz +*.[gG][zZ] filter=lfs diff=lfs merge=binary -text +# tgz +*.[tT][gG][zZ] filter=lfs diff=lfs merge=binary -text +# bz2 +*.[bB][zZ]2 filter=lfs diff=lfs merge=binary -text +# z +*.[zZ] filter=lfs diff=lfs merge=binary -text +# pak +*.[pP][aA][kK] filter=lfs diff=lfs merge=binary -text +# archive +*.[aA][rR][cC][hH][iI][vV][eE] filter=lfs diff=lfs merge=binary -text +# vsix +*.[vV][sS][iI][xX] filter=lfs diff=lfs merge=binary -text +# disk image +# iso +*.[iI][sS][oO] filter=lfs diff=lfs merge=binary -text +# bin +*.[bB][iI][nN] filter=lfs diff=lfs merge=binary -text +# cue +*.[cC][uU][eE] filter=lfs diff=lfs merge=binary -text +# raw +*.[rR][aA][wW] filter=lfs diff=lfs merge=binary -text + +# Adobe +# Photoshop +# psd +*.[pP][sS][dD] filter=lfs diff=lfs merge=binary -text +# Illustrator +# ai +*.[aA][iI] filter=lfs diff=lfs merge=binary -text +# eps +*.[eE][pP][sS] filter=lfs diff=lfs merge=binary -text +# pdf +*.[pP][dD][fF] filter=lfs diff=lfs merge=binary -text + +# 原始图片,Raw image +# cr2 +*.[cC][rR]2 filter=lfs diff=lfs merge=binary -text +# crw +*.[cC][rR][wW] filter=lfs diff=lfs merge=binary -text +# nef +*.[nN][eE][fF] filter=lfs diff=lfs merge=binary -text +# nrw +*.[nN][rR][wW] filter=lfs diff=lfs merge=binary -text +# sr2 +*.[sS][rR]2 filter=lfs diff=lfs merge=binary -text +# dng +*.[dD][nN][gG] filter=lfs diff=lfs merge=binary -text +# arw +*.[aA][rR][wW] filter=lfs diff=lfs merge=binary -text +# ort +*.[oO][rR][fF] filter=lfs diff=lfs merge=binary -text +# fbx +*.[fF][bB][xX] filter=lfs diff=lfs merge=binary -text +# 3ds +*.3[dD][sS] filter=lfs diff=lfs merge=binary -text +# xcf +*.[xX][cC][fF] filter=lfs diff=lfs merge=binary -text +# hdr +*.[hH][dD][rR] filter=lfs diff=lfs merge=binary -text +# duf +*.[dD][uU][fF] filter=lfs diff=lfs merge=binary -text +# mb, maya +*.[mM][bB] filter=lfs diff=lfs merge=binary -text +# cubemap,unity 贴图 +*.[cC][uU][bB][eE][mM][aA][pP] filter=lfs diff=lfs merge=binary -text +# navmesh,unity +*.[nN][aA][vV][mM][eE][sS][hH] filter=lfs diff=lfs merge=binary -text +# osm,地理数据 +*.[oO][sS][mM] filter=lfs diff=lfs merge=binary -text +# hip, houdini +*.[hH][iI][pP] filter=lfs diff=lfs merge=binary -text +# cdr +*.[cC][dD][rR] filter=lfs diff=lfs merge=binary -text +# raw +*.[rR][aA][wW] filter=lfs diff=lfs merge=binary -text +# dae +*.[dD][aA][eE] filter=lfs diff=lfs merge=binary -text +# hda, houdini +*.[dD][aA][eE] filter=lfs diff=lfs merge=binary -text +# ma, 3dmax +*.[mM][aA] filter=lfs diff=lfs merge=binary -text +# max, 3dmax +*.[mM][aA][xX] filter=lfs diff=lfs merge=binary -text +# 3dm, 3d模型 +*.3[dD][mM] filter=lfs diff=lfs merge=binary -text +# blend +*.[bB][lL][eE][nN][dD] filter=lfs diff=lfs merge=binary -text +# c4d +*.[cC]4[dD] filter=lfs diff=lfs merge=binary -text +# collada +*.[cC][oO][lL][lL][aA][dD][aA] filter=lfs diff=lfs merge=binary -text +# dxf +*.[dD][xX][fF] filter=lfs diff=lfs merge=binary -text +# jas +*.[jJ][aA][sS] filter=lfs diff=lfs merge=binary -text +# lws +*.[lL][wW][sS] filter=lfs diff=lfs merge=binary -text +# lxo +*.[lL][xX][oO] filter=lfs diff=lfs merge=binary -text +# ply +*.[pP][lL][yY] filter=lfs diff=lfs merge=binary -text +# skp +*.[sS][kK][pP] filter=lfs diff=lfs merge=binary -text +# stl +*.[sS][tT][lL] filter=lfs diff=lfs merge=binary -text +# ztl +*.[zZ][tT][lL] filter=lfs diff=lfs merge=binary -text +# it +*.[iI][tT] filter=lfs diff=lfs merge=binary -text +# mod +*.[mM][oO][dD] filter=lfs diff=lfs merge=binary -text +# ogg +*.[oO][gG][gG] filter=lfs diff=lfs merge=binary -text +# s3m +*.[sS]3[mM] filter=lfs diff=lfs merge=binary -text +# xm +*.[xX][mM] filter=lfs diff=lfs merge=binary -text +# glb +*.[gG][lL][bB] filter=lfs diff=lfs merge=binary -text +# gltf +*.[gG][lL][tT][fF] filter=lfs diff=lfs merge=binary -text +# off +*.[oO][fF][fF] filter=lfs diff=lfs merge=binary -text +# wrl +*.[wW][rR][lL] filter=lfs diff=lfs merge=binary -text +# 3mf +*.3[mM][fF] filter=lfs diff=lfs merge=binary -text +# amf +*.[aA][mM][fF] filter=lfs diff=lfs merge=binary -text +# ifc +*.[iI][fF][cC] filter=lfs diff=lfs merge=binary -text +# brep +*.[bB][rR][eE][pP] filter=lfs diff=lfs merge=binary -text +# step +*.[sS][tT][eE][pP] filter=lfs diff=lfs merge=binary -text +# fcstd +*.[fF][cC][sS][tT][dD] filter=lfs diff=lfs merge=binary -text +# bim +*.[bB][iI][mM] filter=lfs diff=lfs merge=binary -text + +# 图像,Image +# jpg +*.[jJ][pP][gG] filter=lfs diff=lfs merge=binary -text +# jpeg +*.[jJ][pP][eE][gG] filter=lfs diff=lfs merge=binary -text +# tiff +*.[tT][iI][fF][fF] filter=lfs diff=lfs merge=binary -text +# gif +*.[gG][iI][fF] filter=lfs diff=lfs merge=binary -text +# svg +*.[sS][vV][gG] filter=lfs diff=lfs merge=binary -text +# svgz +*.[sS][vV][gG][zZ] filter=lfs diff=lfs merge=binary -text +# bmp +*.[bB][mM][pP] filter=lfs diff=lfs merge=binary -text +# png +*.[pP][nN][gG] filter=lfs diff=lfs merge=binary -text +# tif +*.[tT][iI][fF] filter=lfs diff=lfs merge=binary -text +# tga +*.[tT][gG][aA] filter=lfs diff=lfs merge=binary -text +# prj +*.[pP][rR][jJ] filter=lfs diff=lfs merge=binary -text +# dwg +*.[dD][wW][gG] filter=lfs diff=lfs merge=binary -text +# flt +*.[fF][lL][tT] filter=lfs diff=lfs merge=binary -text +# htr +*.[hH][tT][rR] filter=lfs diff=lfs merge=binary -text +# iges +*.[iI][gG][eE][sS] filter=lfs diff=lfs merge=binary -text +# igs +*.[iI][gG][sS] filter=lfs diff=lfs merge=binary -text +# ige +*.[iI][gG][eE] filter=lfs diff=lfs merge=binary -text +# ipt +*.[iI][pP][tT] filter=lfs diff=lfs merge=binary -text +# iam +*.[iI][aA][mM] filter=lfs diff=lfs merge=binary -text +# lp +*.[lL][pP] filter=lfs diff=lfs merge=binary -text +# ls +*.[lL][sS] filter=lfs diff=lfs merge=binary -text +# shp +*.[sS][hH][pP] filter=lfs diff=lfs merge=binary -text +# aep +*.[aA][eE][pP] filter=lfs diff=lfs merge=binary -text +# psb +*.[pP][sS][bB] filter=lfs diff=lfs merge=binary -text +# edx +*.[eE][dD][xX] filter=lfs diff=lfs merge=binary -text +# cds +*.[cC][dD][sS] filter=lfs diff=lfs merge=binary -text +# exr +*.[eE][xX][rR] filter=lfs diff=lfs merge=binary -text +# bc +*.[bB][cC] filter=lfs diff=lfs merge=binary -text + + +# 文档,Document +# Microsoft Excel +# xls +*.[xX][lL][sS] filter=lfs diff=lfs merge=binary -text +# xlsx +*.[xX][lL][sS][xX] filter=lfs diff=lfs merge=binary -text +# xslsm +*.[xX][sS][lL][sS][mM] filter=lfs diff=lfs merge=binary -text +# xlt +*.[xX][lL][tT] filter=lfs diff=lfs merge=binary -text +# xltx +*.[xX][lL][tT][xX] filter=lfs diff=lfs merge=binary -text +# xltm +*.[xX][lL][tT][mM] filter=lfs diff=lfs merge=binary -text +# Microsoft powperpoint +# ppt +*.[pP][pP][tT] filter=lfs diff=lfs merge=binary -text +# pptx +*.[pP][pP][tT][xX] filter=lfs diff=lfs merge=binary -text +# pps +*.[pP][pP][sS] filter=lfs diff=lfs merge=binary -text +# ppsx +*.[pP][pP][sS][xX] filter=lfs diff=lfs merge=binary -text +# ppsm +*.[pP][pP][sS][mM] filter=lfs diff=lfs merge=binary -text +# pptm +*.[pP][pP][tT][mM] filter=lfs diff=lfs merge=binary -text +# pot +*.[pP][oO][tT] filter=lfs diff=lfs merge=binary -text +# potm +*.[pP][oO][tT][mM] filter=lfs diff=lfs merge=binary -text +# Microsoft word +# doc +*.[dD][oO][cC] filter=lfs diff=lfs merge=binary -text +# docx +*.[dD][oO][cC][xX] filter=lfs diff=lfs merge=binary -text +# docm +*.[dD][oO][cC][mM] filter=lfs diff=lfs merge=binary -text +# dot +*.[dD][oO][tT] filter=lfs diff=lfs merge=binary -text +# dotx +*.[dD][oO][tT][xX] filter=lfs diff=lfs merge=binary -text +# dotm +*.[dD][oO][tT][mM] filter=lfs diff=lfs merge=binary -text +# Apple keynotes +# key +*.[kK][eE][yY] filter=lfs diff=lfs merge=binary -text +# Apple pages +# pages, apple +*.[pP][aA][gG][eE][sS] filter=lfs diff=lfs merge=binary -text +# Apple numbers +# numbers, apple +*.[nN][uU][mM][bB][eE][rR][sS] filter=lfs diff=lfs merge=binary -text + +# 电子书,Book +# chm +*.[cC][hH][mM] filter=lfs diff=lfs merge=binary -text +# mobi +*.[mM][oO][bB][iI] filter=lfs diff=lfs merge=binary -text +# epub +*.[eE][pP][uU][bB] filter=lfs diff=lfs merge=binary -text +# azw +*.[aA][zZ][wW] filter=lfs diff=lfs merge=binary -text +# azw3 +*.[aA][zZ][wW]3 filter=lfs diff=lfs merge=binary -text +# iba +*.[iI][bB][aA] filter=lfs diff=lfs merge=binary -text +# lrs +*.[lL][rR][sS] filter=lfs diff=lfs merge=binary -text +# lrf +*.[lL][rR][fF] filter=lfs diff=lfs merge=binary -text +# lrx +*.[lL][rR][xX] filter=lfs diff=lfs merge=binary -text +# djvu +*.[dD][jJ][vV][uU] filter=lfs diff=lfs merge=binary -text +# lit +*.[lL][iI][tT] filter=lfs diff=lfs merge=binary -text +# rft +*.[rR][fF][tT] filter=lfs diff=lfs merge=binary -text +# cbr +*.[cC][bB][rR] filter=lfs diff=lfs merge=binary -text +# cbz +*.[cC][bB][zZ] filter=lfs diff=lfs merge=binary -text +# cb7 +*.[cC][bB]7 filter=lfs diff=lfs merge=binary -text +# cbt +*.[cC][bB][tT] filter=lfs diff=lfs merge=binary -text +# cba +*.[cC][bB][aA] filter=lfs diff=lfs merge=binary -text +# pdb +*.[pP][dD][bB] filter=lfs diff=lfs merge=binary -text + +# 字体,font +# ttf +*.[tT][tT][fF] filter=lfs diff=lfs merge=binary -text +# otf +*.[oO][tT][fF] filter=lfs diff=lfs merge=binary -text +# woff +*.[wW][oO][fF][fF] filter=lfs diff=lfs merge=binary -text +# woff2 +*.[wW][oO][fF][fF]2 filter=lfs diff=lfs merge=binary -text + +# 翻译,translate +# po +*.[pP][oO] filter=lfs diff=lfs merge=binary -text + +# 无后缀文件,non-suffix files +Chromium[[:space:]]Embedded[[:space:]]Framework filter=lfs diff=lfs merge=binary -text +Electron[[:space:]]Framework filter=lfs diff=lfs merge=binary -text +ispc filter=lfs diff=lfs merge=binary -text +node-bifrost filter=lfs diff=lfs merge=binary -text +phonon_bundle filter=lfs diff=lfs merge=binary -text +UnrealGame filter=lfs diff=lfs merge=binary -text +UnrealGame-IOS-Shipping filter=lfs diff=lfs merge=binary -text +UnrealGame-LinuxAArch64-DebugGame filter=lfs diff=lfs merge=binary -text +UnrealGame-Linux-DebugGame filter=lfs diff=lfs merge=binary -text +UnrealGame-IOS-DebugGame filter=lfs diff=lfs merge=binary -text +UnrealGame-LinuxAArch64-Shipping filter=lfs diff=lfs merge=binary -text +UnrealGame-Linux-Shipping filter=lfs diff=lfs merge=binary -text +EpicWebHelper filter=lfs diff=lfs merge=binary -text +mna filter=lfs diff=lfs merge=binary -text +hippy filter=lfs diff=lfs merge=binary -text +apollo filter=lfs diff=lfs merge=binary -text +gcloud filter=lfs diff=lfs merge=binary -text +gcloudcore filter=lfs diff=lfs merge=binary -text +txliteavsdk_liveplay filter=lfs diff=lfs merge=binary -text +beetalksdk filter=lfs diff=lfs merge=binary -text +grecordersdk filter=lfs diff=lfs merge=binary -text +midasiapsdk filter=lfs diff=lfs merge=binary -text +beaconapi_base filter=lfs diff=lfs merge=binary -text +beaconapi_log filter=lfs diff=lfs merge=binary -text +beaconapi_speed filter=lfs diff=lfs merge=binary -text +fbsdkcorekit filter=lfs diff=lfs merge=binary -text +fbsdkloginkit filter=lfs diff=lfs merge=binary -text +fbsdksharekit filter=lfs diff=lfs merge=binary -text +pvrtextoolcli filter=lfs diff=lfs merge=binary -text +fbuildworker filter=lfs diff=lfs merge=binary -text +fbuild filter=lfs diff=lfs merge=binary -text +reflectionprobe_day filter=lfs diff=lfs merge=binary -text +reflection filter=lfs diff=lfs merge=binary -text +sublime filter=lfs diff=lfs merge=binary -text +adjustsdk filter=lfs diff=lfs merge=binary -text +grecorder filter=lfs diff=lfs merge=binary -text +wsjpaysdk filter=lfs diff=lfs merge=binary -text +bugly filter=lfs diff=lfs merge=binary -text +ntvsdk filter=lfs diff=lfs merge=binary -text +elvachatservicesdk filter=lfs diff=lfs merge=binary -text +whatevergreen filter=lfs diff=lfs merge=binary -text +awscore filter=lfs diff=lfs merge=binary -text +awss3 filter=lfs diff=lfs merge=binary -text +dedicatedsvr filter=lfs diff=lfs merge=binary -text +awscognitoidentityprovider filter=lfs diff=lfs merge=binary -text +awscognito filter=lfs diff=lfs merge=binary -text +gsdk filter=lfs diff=lfs merge=binary -text +appsflyerlib filter=lfs diff=lfs merge=binary -text +xlua filter=lfs diff=lfs merge=binary -text +firebaseanalytics filter=lfs diff=lfs merge=binary -text +tdatamaster filter=lfs diff=lfs merge=binary -text +vksdkframework filter=lfs diff=lfs merge=binary -text +bolts filter=lfs diff=lfs merge=binary -text +tencentopenapi filter=lfs diff=lfs merge=binary -text +msdkdns filter=lfs diff=lfs merge=binary -text +tdr filter=lfs diff=lfs merge=binary -text +kakaoopensdk filter=lfs diff=lfs merge=binary -text +googleinterchangeutilities filter=lfs diff=lfs merge=binary -text +googleiphoneutilities filter=lfs diff=lfs merge=binary -text +googleutilities filter=lfs diff=lfs merge=binary -text +ffmpeg filter=lfs diff=lfs merge=binary -text +sdwebimage filter=lfs diff=lfs merge=binary -text +upm-macos filter=lfs diff=lfs merge=binary -text +upm-linux filter=lfs diff=lfs merge=binary -text +usymtool filter=lfs diff=lfs merge=binary -text +qtskdb filter=lfs diff=lfs merge=binary -text +linuxplayer filter=lfs diff=lfs merge=binary -text +texturepacker filter=lfs diff=lfs merge=binary -text +age filter=lfs diff=lfs merge=binary -text +ageaction filter=lfs diff=lfs merge=binary -text +perfetto_unittests filter=lfs diff=lfs merge=binary -text +qtsvfs filter=lfs diff=lfs merge=binary -text +gdbserver filter=lfs diff=lfs merge=binary -text +glazed_patio filter=lfs diff=lfs merge=binary -text +usymtool32 filter=lfs diff=lfs merge=binary -text +unityfbxsdknative filter=lfs diff=lfs merge=binary -text +pedump filter=lfs diff=lfs merge=binary -text +firebasemessaging filter=lfs diff=lfs merge=binary -text +aksoundengine filter=lfs diff=lfs merge=binary -text +mqttframework filter=lfs diff=lfs merge=binary -text +firebaseinstanceid filter=lfs diff=lfs merge=binary -text +libpvrtccompressor filter=lfs diff=lfs merge=binary -text +grobot filter=lfs diff=lfs merge=binary -text +clover configurator filter=lfs diff=lfs merge=binary -text +kakaogamesdk filter=lfs diff=lfs merge=binary -text +normalsfittingtexture_dds filter=lfs diff=lfs merge=binary -text +minimsdk filter=lfs diff=lfs merge=binary -text +texturecompress filter=lfs diff=lfs merge=binary -text +tdbms filter=lfs diff=lfs merge=binary -text +xgmtacloud filter=lfs diff=lfs merge=binary -text +applealc filter=lfs diff=lfs merge=binary -text +xml2bin filter=lfs diff=lfs merge=binary -text +testlibresloader filter=lfs diff=lfs merge=binary -text +shaderlabparser filter=lfs diff=lfs merge=binary -text +resprint filter=lfs diff=lfs merge=binary -text +realtekrtl8111 filter=lfs diff=lfs merge=binary -text +sparkle filter=lfs diff=lfs merge=binary -text +mtpclientconsole filter=lfs diff=lfs merge=binary -text +unity_builtin_extra filter=lfs diff=lfs merge=binary -text +librapidxml filter=lfs diff=lfs merge=binary -text +itopdns filter=lfs diff=lfs merge=binary -text +vc2013 filter=lfs diff=lfs merge=binary -text +compiler filter=lfs diff=lfs merge=binary -text +libpag filter=lfs diff=lfs merge=binary -text +kgvmp filter=lfs diff=lfs merge=binary -text +escher filter=lfs diff=lfs merge=binary -text +tavaovgametemplate filter=lfs diff=lfs merge=binary -text +curl filter=lfs diff=lfs merge=binary -text +privilegesdk filter=lfs diff=lfs merge=binary -text +aapt filter=lfs diff=lfs merge=binary -text +ui_minggwen filter=lfs diff=lfs merge=binary -text +simpleperf filter=lfs diff=lfs merge=binary -text +zstd filter=lfs diff=lfs merge=binary -text +msdkcore filter=lfs diff=lfs merge=binary -text +msdksystem filter=lfs diff=lfs merge=binary -text +msdkxg filter=lfs diff=lfs merge=binary -text +msdkwebview filter=lfs diff=lfs merge=binary -text +msdkwechat filter=lfs diff=lfs merge=binary -text +msdkqq filter=lfs diff=lfs merge=binary -text +msdkadapter filter=lfs diff=lfs merge=binary -text +msdkauthgamecenter filter=lfs diff=lfs merge=binary -text +imsdkcorekit filter=lfs diff=lfs merge=binary -text +imsdkwebview filter=lfs diff=lfs merge=binary -text +imsdkgarena filter=lfs diff=lfs merge=binary -text +imsdkextendnetmarble filter=lfs diff=lfs merge=binary -text +imsdkbugly filter=lfs diff=lfs merge=binary -text +imsdkextendtool filter=lfs diff=lfs merge=binary -text +imsdkstatadjust filter=lfs diff=lfs merge=binary -text +imsdkvk filter=lfs diff=lfs merge=binary -text +imsdknotice filter=lfs diff=lfs merge=binary -text +imsdkfriendfacebook filter=lfs diff=lfs merge=binary -text +imsdkfriendsms filter=lfs diff=lfs merge=binary -text +imsdkloginapple filter=lfs diff=lfs merge=binary -text +imsdkfriendwhatsapp filter=lfs diff=lfs merge=binary -text +imsdkstatbeacon filter=lfs diff=lfs merge=binary -text +imsdkloginfacebook filter=lfs diff=lfs merge=binary -text +imsdkfriendline filter=lfs diff=lfs merge=binary -text +imsdkfriendsystem filter=lfs diff=lfs merge=binary -text +imsdkauthfacebook filter=lfs diff=lfs merge=binary -text +imsdkstatappsflyer filter=lfs diff=lfs merge=binary -text +nmgsdkcorekit filter=lfs diff=lfs merge=binary -text +nmgsdkpromotionkit filter=lfs diff=lfs merge=binary -text +nmgsdkcommonwebviewkit filter=lfs diff=lfs merge=binary -text +nmgsdkreviewkit filter=lfs diff=lfs merge=binary -text +nmgsdknoticekit filter=lfs diff=lfs merge=binary -text +nmgsdkcustomersupportkit filter=lfs diff=lfs merge=binary -text +nmgsdktermsofservicekit filter=lfs diff=lfs merge=binary -text +nmgsdktermsofservicekit filter=lfs diff=lfs merge=binary -text +nmgsdkkakao2kit filter=lfs diff=lfs merge=binary -text +nmgsdksigninwithapplekit filter=lfs diff=lfs merge=binary -text +genrb filter=lfs diff=lfs merge=binary -text +mtlpp filter=lfs diff=lfs merge=binary -text +airdiff filter=lfs diff=lfs merge=binary -text +derb filter=lfs diff=lfs merge=binary -text +pkgdata filter=lfs diff=lfs merge=binary -text +ue4_denorm filter=lfs diff=lfs merge=binary -text +icupkg filter=lfs diff=lfs merge=binary -text +gendict filter=lfs diff=lfs merge=binary -text +makeconv filter=lfs diff=lfs merge=binary -text +gennorm2 filter=lfs diff=lfs merge=binary -text +gencmn filter=lfs diff=lfs merge=binary -text +genccode filter=lfs diff=lfs merge=binary -text +unrealatos filter=lfs diff=lfs merge=binary -text +ptdbtool_macos_lipobin filter=lfs diff=lfs merge=binary -text +cmake filter=lfs diff=lfs merge=binary -text +dump_syms filter=lfs diff=lfs merge=binary -text +ue4editorservices filter=lfs diff=lfs merge=binary -text +dsymexporter filter=lfs diff=lfs merge=binary -text +svn filter=lfs diff=lfs merge=binary -text +svnbench filter=lfs diff=lfs merge=binary -text +svnmucc filter=lfs diff=lfs merge=binary -text +svnrdump filter=lfs diff=lfs merge=binary -text +svnsync filter=lfs diff=lfs merge=binary -text +svnserve filter=lfs diff=lfs merge=binary -text +svnadmin filter=lfs diff=lfs merge=binary -text +svnlook filter=lfs diff=lfs merge=binary -text +svndumpfilter filter=lfs diff=lfs merge=binary -text +svnfsfs filter=lfs diff=lfs merge=binary -text +svnversion filter=lfs diff=lfs merge=binary -text +arcoreimg filter=lfs diff=lfs merge=binary -text +mono-sgen64 filter=lfs diff=lfs merge=binary -text +mono-xcompiler filter=lfs diff=lfs merge=binary -text +p4 filter=lfs diff=lfs merge=binary -text +unrealsync filter=lfs diff=lfs merge=binary -text +minidumpdiagnostics filter=lfs diff=lfs merge=binary -text +unrealversionselector-linux-shipping filter=lfs diff=lfs merge=binary -text +openvr filter=lfs diff=lfs merge=binary -text +unrealcefsubprocess filter=lfs diff=lfs merge=binary -text +phonon_bundle filter=lfs diff=lfs merge=binary -text +chromium filter=lfs diff=lfs merge=binary -text +ispc filter=lfs diff=lfs merge=binary -text +# UE项目大文件规则 +# Git LFS rules for Unreal Engine project + +# Unreal specific file types +# uasset +# umap + +# 视频,video +# oggtheora +# m2t +# mts +# mp4 +# avi +# mkv +# wmv +# asf +# asx +# rm +# rmvb +# 3gp +# 3gpp +# 3gpp2 +# mov +# m4v +# dat +# vob +# dv +# mpeg +# mpg +# mpe +# m2v +# webm +# flv +# swf +# avc +# arf +# vcr +# ogv + +# 音频, audio +# ape +# wav +# m4a +# mp3 +# flac +# aif +# aiff +# aac +# cpa +# swa +# sesx +# ses +# bnk, Wwise audio +# wem, Wwise +# pca + +# 库文件,Library +# a +# o +# so +# lib +# dll +# lbr +# tlb +# cab +# dylib +# dsym +# app +# ipa +# dmg +# exe +# pdb +# dbg +# run +# pyd +# pyc +# nupkg, NuGet package +# pch +# ilk +# debug +# obj +# stub +# ddp +# sym +# lld +# res +# locres +# aar +# udd +# mdb +# ddc +# udn +# h5 + +# 压缩包,Archive format +# =Archiving only= +# ar +# cpio +# shar +# tar +# lbr +# =Compression only= +# Brotli +# bzip2 +# compress +# zip +# gzip +# zopfli +# LZMA +# LZ4 +# lzip +# lzop +# SQ +# xz +# Zstandard +# =Archiving and compression= +# 7z +# ace +# arc +# arj +# b1 +# cabinet +# cfs +# cpt +# dar +# dgca +# dmg +# egg +# kgb +# lha +# lzx +# mpq +# pea +# rar +# rzip +# sit +# sitx +# sqx +# uda +# xar +# zoo +# zpaq +# =Software packaging and distribution= +# apk +# appx +# deb +# rpm +# msi +# ipa +# jar +# war +# ear +# xap +# xbap +# hap +# app +# gz +# tgz +# bz2 +# z +# pak +# archive +# vsix +# disk image +# iso +# bin +# cue +# raw + +# Adobe +# Photoshop +# psd +# Illustrator +# ai +# eps +# pdf + +# 原始图片,Raw image +# cr2 +# crw +# nef +# nrw +# sr2 +# dng +# arw +# ort +# fbx +# 3ds +# xcf +# hdr +# duf +# mb, maya +# cubemap,unity 贴图 +# navmesh,unity +# osm,地理数据 +# hip, houdini +# cdr +# raw +# dae +# hda, houdini +# ma, 3dmax +# max, 3dmax +# 3dm, 3d模型 +# blend +# c4d +# collada +# dxf +# jas +# lws +# lxo +# ply +# skp +# stl +# ztl +# it +# mod +# ogg +# s3m +# xm +# glb +# gltf +# off +# wrl +# 3mf +# amf +# ifc +# brep +# step +# fcstd +# bim + +# 图像,Image +# jpg +# jpeg +# tiff +# gif +# svg +# svgz +# bmp +# png +# tif +# tga +# prj +# dwg +# flt +# htr +# iges +# igs +# ige +# ipt +# iam +# lp +# ls +# shp +# aep +# psb +# edx +# cds +# exr +# bc + + +# 文档,Document +# Microsoft Excel +# xls +# xlsx +# xslsm +# xlt +# xltx +# xltm +# Microsoft powperpoint +# ppt +# pptx +# pps +# ppsx +# ppsm +# pptm +# pot +# potm +# Microsoft word +# doc +# docx +# docm +# dot +# dotx +# dotm +# Apple keynotes +# key +# Apple pages +# pages, apple +# Apple numbers +# numbers, apple + +# 电子书,Book +# chm +# mobi +# epub +# azw +# azw3 +# iba +# lrs +# lrf +# lrx +# djvu +# lit +# rft +# cbr +# cbz +# cb7 +# cbt +# cba +# pdb + +# 字体,font +# ttf +# otf +# woff +# woff2 + +# 翻译,translate +# po + +# 无后缀文件,non-suffix files + +# auto generated by UGit +*.uasset filter=lfs diff=lfs merge=binary -text +*.so filter=lfs diff=lfs merge=binary -text +*.png filter=lfs diff=lfs merge=binary -text +*.apk filter=lfs diff=lfs merge=binary -text +*.ubulk filter=lfs diff=lfs merge=binary -text +*.jar filter=lfs diff=lfs merge=binary -text +*.obb filter=lfs diff=lfs merge=binary -text +*.ucas filter=lfs diff=lfs merge=binary -text +*.gch filter=lfs diff=lfs merge=binary -text +*.dll filter=lfs diff=lfs merge=binary -text +*.o filter=lfs diff=lfs merge=binary -text +*.bin filter=lfs diff=lfs merge=binary -text +*.dylib filter=lfs diff=lfs merge=binary -text +*.pak filter=lfs diff=lfs merge=binary -text +*.ttf filter=lfs diff=lfs merge=binary -text +*.umap filter=lfs diff=lfs merge=binary -text +*.dmp filter=lfs diff=lfs merge=binary -text +*.lib filter=lfs diff=lfs merge=binary -text +*.dat filter=lfs diff=lfs merge=binary -text +*.fbx filter=lfs diff=lfs merge=binary -text +*.pdb filter=lfs diff=lfs merge=binary -text + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e467e13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,77 @@ +# Visual Studio 2015 user specific files +.vs/ +._git/ + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app +*.ipa + +# These project files can be generated by the engine +*.xcodeproj +*.xcworkspace +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb + +# Precompiled Assets +SourceArt/**/*.png +SourceArt/**/*.tga + +# Binary Files +Binaries/* +Plugins/*/Binaries/* + +# Builds +Build/* + +# Whitelist PakBlacklist-.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/*/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* +.idea/.idea.Erosion/.idea/git_toolbox_prj.xml +/.idea \ No newline at end of file diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini new file mode 100644 index 0000000..6331d2f --- /dev/null +++ b/Config/DefaultEditor.ini @@ -0,0 +1,7 @@ + + +[/Script/UnrealEd.EditorPerformanceProjectSettings] +RealtimeScreenPercentageMode=BasedOnDPIScale + +[/Script/AdvancedPreviewScene.SharedProfiles] + diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini new file mode 100644 index 0000000..3825d8c --- /dev/null +++ b/Config/DefaultEngine.ini @@ -0,0 +1,418 @@ + + +[/Script/Engine.RendererSettings] +r.Mobile.DisableVertexFog=True +r.Mobile.AllowDitheredLODTransition=False +r.Mobile.AllowSoftwareOcclusion=False +r.Mobile.VirtualTextures=False +r.DiscardUnusedQuality=False +r.AllowOcclusionQueries=True +r.MinScreenRadiusForLights=0.030000 +r.MinScreenRadiusForDepthPrepass=0.030000 +r.MinScreenRadiusForCSMDepth=0.010000 +r.PrecomputedVisibilityWarning=False +r.TextureStreaming=True +Compat.UseDXT5NormalMaps=False +r.VirtualTextures=True +r.VirtualTexturedLightmaps=False +r.VT.TileSize=128 +r.VT.TileBorderSize=4 +r.vt.FeedbackFactor=16 +r.VT.EnableCompressZlib=True +r.VT.EnableCompressCrunch=False +r.ClearCoatNormal=False +r.ReflectionCaptureResolution=128 +r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True +r.ForwardShading=True +r.VertexFoggingForOpaque=True +r.AllowStaticLighting=True +r.NormalMapsForStaticLighting=False +r.GenerateMeshDistanceFields=True +r.DistanceFieldBuild.EightBit=False +r.GenerateLandscapeGIData=False +r.DistanceFieldBuild.Compress=False +r.TessellationAdaptivePixelsPerTriangle=48.000000 +r.SeparateTranslucency=False +r.TranslucentSortPolicy=0 +TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000) +r.CustomDepth=1 +r.CustomDepthTemporalAAJitter=True +r.PostProcessing.PropagateAlpha=0 +r.DefaultFeature.Bloom=False +r.DefaultFeature.AmbientOcclusion=False +r.DefaultFeature.AmbientOcclusionStaticFraction=True +r.DefaultFeature.AutoExposure=False +r.DefaultFeature.AutoExposure.Method=0 +r.DefaultFeature.AutoExposure.Bias=1.000000 +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.EyeAdaptation.EditorOnly=False +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 +r.DefaultFeature.LocalExposure.HighlightContrastScale=1.0 +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 +r.DefaultFeature.LocalExposure.ShadowContrastScale=1.0 +r.DefaultFeature.MotionBlur=False +r.DefaultFeature.LensFlare=False +r.TemporalAA.Upsampling=False +r.SSGI.Enable=False +r.AntiAliasingMethod=3 +r.DefaultFeature.LightUnits=1 +r.DefaultBackBufferPixelFormat=4 +r.Shadow.UnbuiltPreviewInGame=True +r.StencilForLODDither=False +r.EarlyZPass=3 +r.EarlyZPassOnlyMaterialMasking=False +r.DBuffer=True +r.ClearSceneMethod=1 +r.VelocityOutputPass=0 +r.Velocity.EnableVertexDeformation=0 +r.SelectiveBasePassOutputs=False +bDefaultParticleCutouts=False +fx.GPUSimulationTextureSizeX=1024 +fx.GPUSimulationTextureSizeY=1024 +r.AllowGlobalClipPlane=False +r.GBufferFormat=1 +r.MorphTarget.Mode=True +r.GPUCrashDebugging=False +vr.InstancedStereo=True +r.MobileHDR=False +vr.MobileMultiView=True +r.Mobile.UseHWsRGBEncoding=True +vr.RoundRobinOcclusion=False +vr.ODSCapture=False +r.MeshStreaming=False +r.WireframeCullThreshold=5.000000 +r.RayTracing=False +r.RayTracing.UseTextureLod=False +r.SupportStationarySkylight=True +r.SupportLowQualityLightmaps=True +r.SupportPointLightWholeSceneShadows=True +r.SupportAtmosphericFog=True +r.SupportSkyAtmosphere=True +r.SupportSkyAtmosphereAffectsHeightFog=False +r.SkinCache.CompileShaders=False +r.SkinCache.DefaultBehavior=1 +r.SkinCache.SceneMemoryLimitInMB=128.000000 +r.Mobile.EnableStaticAndCSMShadowReceivers=True +r.Mobile.EnableMovableLightCSMShaderCulling=True +r.Mobile.AllowDistanceFieldShadows=True +r.Mobile.AllowMovableDirectionalLights=True +r.MobileNumDynamicPointLights=4 +r.MobileDynamicPointLightsUseStaticBranch=True +r.Mobile.EnableMovableSpotlights=False +r.Mobile.EnableMovableSpotlightsShadow=False +r.GPUSkin.Support16BitBoneIndex=False +r.GPUSkin.Limit2BoneInfluences=False +r.SupportDepthOnlyIndexBuffers=True +r.SupportReversedIndexBuffers=True +r.LightPropagationVolume=False +r.Mobile.AmbientOcclusion=False +r.GPUSkin.UnlimitedBoneInfluences=False +r.GPUSkin.UnlimitedBoneInfluencesThreshold=8 +r.Mobile.PlanarReflectionMode=0 +bStreamSkeletalMeshLODs=(Default=False,PerPlatform=()) +bDiscardSkeletalMeshOptionalLODs=(Default=False,PerPlatform=()) +VisualizeCalibrationColorMaterialPath=None +VisualizeCalibrationCustomMaterialPath=None +VisualizeCalibrationGrayscaleMaterialPath=None +r.Mobile.AntiAliasing=3 +r.Mobile.FloatPrecisionMode=2 +r.OpenGL.ForceDXC=0 + +r.DynamicGlobalIlluminationMethod=1 + +r.ReflectionMethod=1 + +r.Shadow.Virtual.Enable=1 +r.Mobile.SupportGPUScene=True +r.VT.AnisotropicFiltering=True + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Mobile +AppliedTargetedHardwareClass=Mobile +DefaultGraphicsPerformance=Scalable +AppliedDefaultGraphicsPerformance=Scalable + +[/Script/EngineSettings.GameMapsSettings] +EditorStartupMap=/Game/TerracottaWarriors/Map/280/Start280.Start280 +LocalMapOptions= +TransitionMap=None +bUseSplitscreen=False +TwoPlayerSplitscreenLayout=Horizontal +ThreePlayerSplitscreenLayout=FavorTop +FourPlayerSplitscreenLayout=Grid +bOffsetPlayerGamepadIds=False +GameInstanceClass=/Game/Blueprint/VRInstance.VRInstance_C +GameDefaultMap=/Game/TerracottaWarriors/Map/280/Start280.Start280 +ServerDefaultMap=/Engine/Maps/Entry.Entry +GlobalDefaultGameMode=/Game/VRTemplate/Blueprints/VRGameMode.VRGameMode_C +GlobalDefaultServerGameMode=None + +[/Script/Slate.SlateSettings] +bExplicitCanvasChildZOrder=True + +[/Script/WindowsTargetPlatform.WindowsTargetSettings] +DefaultGraphicsRHI=DefaultGraphicsRHI_DX11 +-D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM6 +-D3D11TargetedShaderFormats=PCD3D_SM5 ++D3D11TargetedShaderFormats=PCD3D_SM5 +Compiler=Default +MinimumOSVersion=MSOS_Vista +bTarget32Bit=False +AudioSampleRate=48000 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=1 +AudioMaxChannels=0 +AudioNumSourceWorkers=4 +SpatializationPlugin=Built-in Spatialization +ReverbPlugin=Built-in Reverb +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +bUseAudioStreamCaching=False +CacheSizeKB=0 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +MaxSampleRate=0.000000 +HighSampleRate=0.000000 +MedSampleRate=0.000000 +LowSampleRate=0.000000 +MinSampleRate=0.000000 +CompressionQualityModifier=0.000000 +AutoStreamingThreshold=0.000000 +SoundCueCookQualityIndex=-1 + +[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] +PackageName=com.vortexing.[PROJECT] +StoreVersion=13 +StoreVersionOffsetArmV7=0 +StoreVersionOffsetArm64=0 +StoreVersionOffsetX8664=0 +ApplicationDisplayName= +VersionDisplayName=1.0 +MinSDKVersion=23 +TargetSDKVersion=25 +InstallLocation=InternalOnly +bEnableGradle=True +bEnableLint=False +bPackageDataInsideApk=False +bCreateAllPlatformsInstall=False +bDisableVerifyOBBOnStartUp=False +bForceSmallOBBFiles=False +bAllowLargeOBBFiles=True +bAllowPatchOBBFile=False +bAllowOverflowOBBFiles=True +bUseExternalFilesDir=False +bPublicLogFiles=True +Orientation=SensorLandscape +MaxAspectRatio=2.100000 +bUseDisplayCutout=False +bRestoreNotificationsOnReboot=False +bFullScreen=True +bEnableNewKeyboard=True +DepthBufferPreference=Default +bValidateTextureFormats=True +bEnableBundle=False +bEnableUniversalAPK=True +bBundleABISplit=True +bBundleLanguageSplit=True +bBundleDensitySplit=True +ExtraApplicationSettings= +ExtraActivitySettings= +bAndroidVoiceEnabled=False +bPackageForMetaQuest=True +bRemoveOSIG=False ++GoogleVRCaps=Daydream33 +bGoogleVRSustainedPerformance=False +KeyStore=UE.keystore +KeyAlias=DistroKey +KeyStorePassword=codesigner +KeyPassword= +bBuildForArm64=True +bBuildForX8664=False +bBuildForES31=False +bSupportsVulkan=True +bSupportsVulkanSM5=False +ClangSanitizer=None +bAndroidOpenGLSupportsBackbufferSampling=False +bDetectVulkanByDefault=True +bBuildWithHiddenSymbolVisibility=False +bSaveSymbols=False +bForceLDLinker=False +bEnableGooglePlaySupport=False +bUseGetAccounts=False +GamesAppID= +bEnableSnapshots=False +bSupportAdMob=True +AdMobAdUnitID= +GooglePlayLicenseKey= +GCMClientSenderID= +bShowLaunchImage=False +bAllowIMU=True +bAllowControllers=True +bBlockAndroidKeysOnControllers=False +bControllersBlockDeviceFeedback=False +AndroidAudio=Default +AudioSampleRate=44100 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=4 +AudioMaxChannels=0 +AudioNumSourceWorkers=0 +SpatializationPlugin=Built-in Spatialization +ReverbPlugin=Built-in Reverb +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +bUseAudioStreamCaching=False +CacheSizeKB=0 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +SoundCueCookQualityIndex=-1 +MaxSampleRate=0.000000 +HighSampleRate=0.000000 +MedSampleRate=0.000000 +LowSampleRate=0.000000 +MinSampleRate=0.000000 +CompressionQualityModifier=0.000000 +AutoStreamingThreshold=0.000000 +AndroidGraphicsDebugger=None +MaliGraphicsDebuggerPath=(Path="") +bEnableMaliPerfCounters=False +bMultiTargetFormat_ETC2=True +bMultiTargetFormat_DXT=True +bMultiTargetFormat_ASTC=True +TextureFormatPriority_ETC2=0.200000 +TextureFormatPriority_DXT=0.600000 +TextureFormatPriority_ASTC=0.900000 +SDKAPILevelOverride= +NDKAPILevelOverride= +bStreamLandscapeMeshLODs=False + +[/Script/Engine.CollisionProfile] +-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) +-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) +-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) +-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) +-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) +-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) +-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) +-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) +-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) ++Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") ++Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") ++Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") ++Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") ++Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") ++Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") ++Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") ++Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") ++Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") ++Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") ++Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") ++Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") ++Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") ++Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False,Name="3DWidget") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel2,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="UI_Interaction") +-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") +-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") +-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") +-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") +-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") ++ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") ++ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") ++ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") ++ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") ++ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") +-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") +-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") +-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") +-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") ++CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") ++CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") ++CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") ++CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") + +[/Script/NavigationSystem.NavigationSystemV1] +bAllowClientSideNavigation=True + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_VirtualRealityBP",NewGameName="/Script/PICOHandSample") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_VirtualRealityBP",NewGameName="/Script/PICOHandSample") + +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=72D3B18546B778B4ADF4AEB4D94DDE99 +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + +[/Script/OnlineSubsystemPico.OnlinePicoSettings] +bIsForeign=False +bIsGlobal=False + +[/Script/PICOXRHMD.PICOXRSettings] +bEnablePSensor=False +bIsHMD3Dof=False +bIsController3Dof=False +HandTrackingSupport=ControllersAndHands +bAdaptiveHandModel=False +bHighFrequencyTracking=False +bEnableAutoKeyMapping=True +bEnableLateLatching=False +bUseHWsRGBEncoding=True +bUseRecommendedMSAA=False +CoordinateType=Local +bEnableEyeTracking=False +bEnableEyeTrackingCalibration=False +bEnableFaceTracking=False +bEnableBodyTracking=False +bUseAdvanceInterface=False +bUseContentProtect=False +bSplashScreenAutoShow=True +refreshRate=Default +bEnableMRSafeguard=False +bEnableVST=False +bEnableAnchor=False +bEnableCloudAnchor=False +bEnableSceneCapture=False +bEnableMesh=False +bSemanticsAlignWithTriangle=False +bSemanticsAlignWithVertex=False +MeshLod=High +OSSplashScreen=(FilePath="") +bUsingOSSplash=False +FoveationRenderingMode=FixedFoveationRendering +FoveationLevel=None +bEnableEyeTrackingFoveationRendering=False +r.Mobile.PICO.EnableSuperResolution=False +r.Mobile.PICO.SharpeningSetting=0 +r.Mobile.PICO.SharpeningEnhanceMode=0 + +[/Script/PICOOpenXRRuntimeSettings.PICOOpenXRRuntimeSettings] +bIsHandTrackingUsed=True +bIsHandHighFrequencyTracking=True +bLocalFloorLevelEXT=True +r.Mobile.PICO.EnableSuperResolution=True +r.Mobile.PICO.SharpeningSetting=2 +r.Mobile.PICO.SharpeningEnhanceMode=3 + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini new file mode 100644 index 0000000..c588a55 --- /dev/null +++ b/Config/DefaultGame.ini @@ -0,0 +1,111 @@ +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=6AD40F7141A60964D5019BB466764A16 +bStartInVR=True + + +[StartupActions] +bAddPacks=True +InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent") + +[/Script/UnrealEd.ProjectPackagingSettings] +Build=IfProjectHasCode +BuildConfiguration=PPBC_Development +BuildTarget= +FullRebuild=False +ForDistribution=False +IncludeDebugFiles=False +BlueprintNativizationMethod=Disabled +bIncludeNativizedAssetsInProjectGeneration=False +bExcludeMonolithicEngineHeadersInNativizedCode=False +UsePakFile=True +bUseIoStore=True +bUseZenStore=False +bMakeBinaryConfig=False +bGenerateChunks=False +bGenerateNoChunks=False +bChunkHardReferencesOnly=False +bForceOneChunkPerFile=False +MaxChunkSize=0 +bBuildHttpChunkInstallData=False +HttpChunkInstallDataDirectory=(Path="") +WriteBackMetadataToAssetRegistry=Disabled +bCompressed=True +PackageCompressionFormat=Oodle +bForceUseProjectCompressionFormatIgnoreHardwareOverride=False +PackageAdditionalCompressionOptions= +PackageCompressionMethod=Kraken +PackageCompressionLevel_DebugDevelopment=4 +PackageCompressionLevel_TestShipping=5 +PackageCompressionLevel_Distribution=7 +PackageCompressionMinBytesSaved=1024 +PackageCompressionMinPercentSaved=5 +bPackageCompressionEnableDDC=False +PackageCompressionMinSizeToConsiderDDC=0 +HttpChunkInstallDataVersion= +IncludePrerequisites=True +IncludeAppLocalPrerequisites=False +bShareMaterialShaderCode=True +bDeterministicShaderCodeOrder=False +bSharedMaterialNativeLibraries=True +ApplocalPrerequisitesDirectory=(Path="") +IncludeCrashReporter=False +InternationalizationPreset=English +-CulturesToStage=en ++CulturesToStage=en +LocalizationTargetCatchAllChunkId=0 +bCookAll=False +bCookMapsOnly=False +bSkipEditorContent=False +bSkipMovies=False +-IniKeyDenylist=KeyStorePassword +-IniKeyDenylist=KeyPassword +-IniKeyDenylist=rsa.privateexp +-IniKeyDenylist=rsa.modulus +-IniKeyDenylist=rsa.publicexp +-IniKeyDenylist=aes.key +-IniKeyDenylist=SigningPublicExponent +-IniKeyDenylist=SigningModulus +-IniKeyDenylist=SigningPrivateExponent +-IniKeyDenylist=EncryptionKey +-IniKeyDenylist=DevCenterUsername +-IniKeyDenylist=DevCenterPassword +-IniKeyDenylist=IOSTeamID +-IniKeyDenylist=SigningCertificate +-IniKeyDenylist=MobileProvision +-IniKeyDenylist=IniKeyDenylist +-IniKeyDenylist=IniSectionDenylist ++IniKeyDenylist=KeyStorePassword ++IniKeyDenylist=KeyPassword ++IniKeyDenylist=rsa.privateexp ++IniKeyDenylist=rsa.modulus ++IniKeyDenylist=rsa.publicexp ++IniKeyDenylist=aes.key ++IniKeyDenylist=SigningPublicExponent ++IniKeyDenylist=SigningModulus ++IniKeyDenylist=SigningPrivateExponent ++IniKeyDenylist=EncryptionKey ++IniKeyDenylist=DevCenterUsername ++IniKeyDenylist=DevCenterPassword ++IniKeyDenylist=IOSTeamID ++IniKeyDenylist=SigningCertificate ++IniKeyDenylist=MobileProvision ++IniKeyDenylist=IniKeyDenylist ++IniKeyDenylist=IniSectionDenylist +-IniSectionDenylist=HordeStorageServers +-IniSectionDenylist=StorageServers ++IniSectionDenylist=HordeStorageServers ++IniSectionDenylist=StorageServers ++MapsToCook=(FilePath="/Game/PICO_Hand_tracking/PICO_Grabbing_Map/PICO_CLICK") ++MapsToCook=(FilePath="/Game/PICO_Hand_tracking/PICO_Grabbing_Map/VRTemplateMap") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/Start280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/A280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/A-280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/A+280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/B280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/C280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/D280") ++MapsToCook=(FilePath="/Game/TerracottaWarriors/Map/280/E280") + +[/Script/OpenXRHMD.OpenXRHMDSettings] +bIsFBFoveationEnabled=True + diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini new file mode 100644 index 0000000..ad8c0df --- /dev/null +++ b/Config/DefaultInput.ini @@ -0,0 +1,175 @@ +[/Script/Engine.InputSettings] +-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) ++AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICONeo3_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICOG3_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="PICO4U_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +bAltEnterTogglesFullscreen=True +bF11TogglesFullscreen=True +bUseMouseForTouch=False +bEnableMouseSmoothing=True +bEnableFOVScaling=True +bCaptureMouseOnLaunch=True +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bEnableInputDeviceSubsystem=True +bShouldFlushPressedKeysOnViewportFocusLost=True +bEnableDynamicComponentInputBinding=True +bAlwaysShowTouchInterface=False +bShowConsoleOnFourFingerTap=True +bEnableGestureRecognizer=False +bUseAutocorrect=False +DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown +DefaultViewportMouseLockMode=LockOnCapture +FOVScale=0.011110 +DoubleClickTime=0.200000 ++ActionMappings=(ActionName="ButtonA",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_A_Click) ++ActionMappings=(ActionName="ButtonATouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_A_Touch) ++ActionMappings=(ActionName="ButtonB",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_B_Click) ++ActionMappings=(ActionName="ButtonBTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_B_Touch) ++ActionMappings=(ActionName="ButtonLeftGrip",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Grip_Click) ++ActionMappings=(ActionName="ButtonLeftHome",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Home_Click) ++ActionMappings=(ActionName="ButtonLeftMenu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Menu_Click) ++ActionMappings=(ActionName="ButtonLeftTrigger",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Trigger_Click) ++ActionMappings=(ActionName="ButtonLeftTriggerTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Trigger_Touch) ++ActionMappings=(ActionName="ButtonRightGrip",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Grip_Click) ++ActionMappings=(ActionName="ButtonRightHome",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Home_Click) ++ActionMappings=(ActionName="ButtonRightJoyStickDown",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Thumbstick_Down) ++ActionMappings=(ActionName="ButtonRightJoyStickUp",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Thumbstick_Up) ++ActionMappings=(ActionName="ButtonRightSystem",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_System_Click) ++ActionMappings=(ActionName="ButtonRightTrigger",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Trigger_Click) ++ActionMappings=(ActionName="ButtonRightTriggerTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Trigger_Touch) ++ActionMappings=(ActionName="ButtonX",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_X_Click) ++ActionMappings=(ActionName="ButtonXTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_X_Touch) ++ActionMappings=(ActionName="ButtonY",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Y_Click) ++ActionMappings=(ActionName="ButtonYTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Y_Touch) ++ActionMappings=(ActionName="LeftJoyStickTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Left_Thumbstick_Touch) ++ActionMappings=(ActionName="RightJoyStickTouched",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=PICOTouch_Right_Thumbstick_Touch) ++AxisMappings=(AxisName="LeftGripAxis",Scale=1.000000,Key=PICOTouch_Left_Grip_Axis) ++AxisMappings=(AxisName="LeftJoyStickXAxis",Scale=1.000000,Key=PICOTouch_Left_Thumbstick_X) ++AxisMappings=(AxisName="LeftJoyStickYAxis",Scale=1.000000,Key=PICOTouch_Left_Thumbstick_Y) ++AxisMappings=(AxisName="LeftTriggerAxis",Scale=1.000000,Key=PICOTouch_Left_Trigger_Axis) ++AxisMappings=(AxisName="RightGripAxis",Scale=1.000000,Key=PICOTouch_Right_Grip_Axis) ++AxisMappings=(AxisName="RightJoyStickXAxis",Scale=1.000000,Key=PICOTouch_Right_Thumbstick_X) ++AxisMappings=(AxisName="RightJoyStickYAxis",Scale=1.000000,Key=PICOTouch_Right_Thumbstick_Y) ++AxisMappings=(AxisName="RightTriggerAxis",Scale=1.000000,Key=PICOTouch_Right_Trigger_Axis) +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent +DefaultTouchInterface=None +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde + +[/Script/OpenXRInput.OpenXRInputSettings] +MappableInputConfig=/Game/VRTemplate/Input/PMI_VRTemplate.PMI_VRTemplate +bUseEnhancedInput=True + diff --git a/Content/1kaichang.umap b/Content/1kaichang.umap new file mode 100644 index 0000000..250d328 --- /dev/null +++ b/Content/1kaichang.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc499be69e211fc2aeab979e57e9a450db82e83e0de4a13a73608347e3c12ba1 +size 1393 diff --git a/Content/3583AnimationsPack/Animations/NPC/Anim_dEAh_CO.uasset b/Content/3583AnimationsPack/Animations/NPC/Anim_dEAh_CO.uasset new file mode 100644 index 0000000..adefadf --- /dev/null +++ b/Content/3583AnimationsPack/Animations/NPC/Anim_dEAh_CO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e14b14983b863454486aafe4eac82723f6bb17036b3a6eea0b91fc738c024ecc +size 1698531 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST.uasset new file mode 100644 index 0000000..025e8fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c15096081d24178190f01ad334d98ff8378a3a7d69459ed11fe356ef68fd37c +size 1618375 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_CR_BOWST.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_CR_BOWST.uasset new file mode 100644 index 0000000..227583a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_CR_BOWST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e4b3e5d54b0062522e274ddd7be7fce3cc610629f21dd9b14be5d5910b19ca4 +size 483979 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R.uasset new file mode 100644 index 0000000..2bd33b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa7856cf7f06da94f204b8264a3673cbf6ca4547bae9646ee6c2731954aecc38 +size 459489 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_L.uasset new file mode 100644 index 0000000..a9e14a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1be7cf9af18599e718195208474e3afbcff89e98d8f1a77c6e2b411b00fd479 +size 394521 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_R.uasset new file mode 100644 index 0000000..806aaf9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbe1f4a227b30875ce69f3ee68bbc45f12e2bbfad2ab3db8bf0728c57bc7d6f1 +size 383602 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_L.uasset new file mode 100644 index 0000000..fa6d4f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ccecd8b08258c81eea1667761ac60bf93bb7593d71a3a165116718e475a3008 +size 456612 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_R.uasset new file mode 100644 index 0000000..9904f11 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c95d21e7eef890a7c0f77f5bf3c47d7b5b728f91ea553a3cbe30da2060bdc5 +size 459721 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_L.uasset new file mode 100644 index 0000000..b0e814b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_R_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e55a0c33bcb760c0c94970ee9db44a6dd108544742e722466c6d198450898e97 +size 460154 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP.uasset new file mode 100644 index 0000000..17be617 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:569bd4ddd7c2995c41d378529716766d402f0eb963cd6d012a768d1b351622ed +size 382502 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_L.uasset new file mode 100644 index 0000000..7899ec9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db06640007a22dff21b3f003eca1233e91e896d6575edb8a6b6ae622baecaae0 +size 396240 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_R.uasset new file mode 100644 index 0000000..380ca1b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16eb272b4262394a490f2f2e21abf8cdcfe71fa68a6f80d1216243832e2fce78 +size 394118 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_L.uasset new file mode 100644 index 0000000..5935b90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e83a45b766dc2fcabfda81ea32084eb15c7515e7489bd00e6a74f5d74c9fb4a0 +size 393285 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_R.uasset new file mode 100644 index 0000000..3270524 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfa83dcec8922a83a4b43526a48c7893619850f564915bb9bad9db8586795354 +size 384529 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_L.uasset new file mode 100644 index 0000000..8e79447 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_SP_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d11485996c7a0cc25677f06958af912138fc8f3568d6760441b54c22e7e29cbc +size 383459 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_L.uasset new file mode 100644 index 0000000..5b420a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4e87a9b46a71d8df8cec4effb0cc9374e1756b4ddb917daf695509fd2a1d940 +size 493381 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_R.uasset new file mode 100644 index 0000000..8c4efcc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:923527a3f30f95eb4a6e0eafe6c8a1944c3e9ea6785b47ffc221967b0d26ee66 +size 508192 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_L.uasset new file mode 100644 index 0000000..97d09b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29500484865184651fe5315a205e1933c2e98337bf2338d56d9fc58b3d37c4ef +size 614938 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_R.uasset new file mode 100644 index 0000000..114ca06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0403688fe2328c0f9d9b4ee272d52292c3609550ea4349a3be4fa9a6b7dd33ed +size 488127 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD.uasset new file mode 100644 index 0000000..c30e110 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eda717694d54bc1d65a3158d715be1dca04cff95459e4bbfe8269cb633dc6ef +size 488441 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD_L.uasset new file mode 100644 index 0000000..aae5748 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOWST_to_W_FWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76818af5ed1f252f6c480c655746c5801072ad79a6f15c112fe8da71bc03b66e +size 609410 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_B.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_B.uasset new file mode 100644 index 0000000..b0d92b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2409f091a48c03441c798131e76a289a3414159746acb257e9a851170e56ee47 +size 952302 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_F.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_F.uasset new file mode 100644 index 0000000..f4c1278 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:565c51ce27ebf0a2f48e3ce01560d87731f5a2526aba8901d2314d693c608e99 +size 843596 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_L.uasset new file mode 100644 index 0000000..ee1a5c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:611970dfcc33707d0246496e3a1f550f34fbfc72b5d83a1d7bdc3f9e5ece0c7f +size 834001 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_R.uasset new file mode 100644 index 0000000..382f448 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DODGE_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3015c632140492abcd0344fca4d5901c57e01e1c9fe617990c2e500fa308872c +size 827677 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_DWN.uasset new file mode 100644 index 0000000..d940d67 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e47b395ebf2dca6a2ce2bebd24a998c709d23a50e8dc6d8be24211420321ce1 +size 687849 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_FWD.uasset new file mode 100644 index 0000000..51bd8d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bde7848ea76a2bd33bacf8609a9e2b1b2e31bc8c08e6d746c37e368d70f4e8a +size 720349 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_up.uasset new file mode 100644 index 0000000..fa44e75 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_DRAW_IDL_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5330eaf47c817f322ff1c4a85364c36d51b9d97252a3717b9d607d56c56fd0f +size 671612 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_EQ.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_EQ.uasset new file mode 100644 index 0000000..767ece8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_EQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b105f8e3a4e9c1410e8661cd4f40ed3d2eea1a4ea88273c7abd0e32aa63079b +size 490703 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_01.uasset new file mode 100644 index 0000000..52fb31c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db21d49bdc8e15562f92b994076229fe9609b00d6da77225709fccc22bce0ff8 +size 491673 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_02.uasset new file mode 100644 index 0000000..fc3fc2c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_B_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c06651f563be96cb61770c700b41d0cd5bc3835dd40262710d007196d98ef8a4 +size 231577 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_01.uasset new file mode 100644 index 0000000..cabd0fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6fed3b7176393fcea20364ad7554720abbc5b30a72dadbe2243ac6ed1f2e6e9 +size 484610 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_02.uasset new file mode 100644 index 0000000..6ca716b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34dd915177638c485c31daf32fc2d7cf570754894e825bb727109efbf854bbdf +size 482970 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_03.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_03.uasset new file mode 100644 index 0000000..0ef77df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6067b28b6718d4adb0683e58421c8652d997485d0359ba6af530117ca96f5a53 +size 479710 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_01.uasset new file mode 100644 index 0000000..73a6eca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1f5741374d843e4acbe9d0fb75d23163aa3e5fecf3d84b62a19985ec3ce3c81 +size 495195 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_02.uasset new file mode 100644 index 0000000..bbbe89c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63eb9769bf517081ff7c55e123e8b5b9d043603ab2450ae518c9ddbb881baa12 +size 495088 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_03.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_03.uasset new file mode 100644 index 0000000..fbc0749 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_L_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e39df920b859ac080c80e902e6dfea9e318278531f0e7aaa6a8926eddafcd69a +size 231591 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_01.uasset new file mode 100644 index 0000000..9c27b5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4d182a08f061425f229928f2d624679de7004873799dbfc20181aa02e6b99f6 +size 503712 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_02.uasset new file mode 100644 index 0000000..0bd7412 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2657efc064eecaf8b26a1630ba6850fb4e14137c297d2dfffe00ec4d84bd5ad6 +size 499556 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_03.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_03.uasset new file mode 100644 index 0000000..9d631d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_F_R_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a094fe514c1060af6b50f3c6af42b288b76b4357d5a80ffe2a2b2eca9d8c9d70 +size 237735 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_01.uasset new file mode 100644 index 0000000..27da3c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b36b6b283930959c7fc7587845d0c0777779ba5e3b89797b049450822a371ac +size 490119 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_02.uasset new file mode 100644 index 0000000..5822bbb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_L_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3faae3bc51e92fc2585f8c24b5bafd2683eff3ec3f196e26674f65c8178052f1 +size 228504 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_01.uasset new file mode 100644 index 0000000..3b687c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be9068614b6bdc827b419e3748b6658608bc1f3f48cc9a168f2a3ee2d837d624 +size 485669 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_02.uasset new file mode 100644 index 0000000..d309264 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_GH_R_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7d5b665fa970a6b34b771c4873f915c1eaa24142738251a972a983c4ae3986a +size 233880 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_01.uasset new file mode 100644 index 0000000..0c54443 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3636d484f361ad036fd3ba3aec75a6d9c0785e156af5185d28c54d481d4742c +size 1775777 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_02.uasset new file mode 100644 index 0000000..4c80745 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37409c58a1d74eb381210e8fa93934f7dbfdad16d553f5877b0a8290219f557e +size 1753608 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_03.uasset new file mode 100644 index 0000000..1b9043a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:746511c1c048b0d14f4fe37d1102f87d4d7d65da180788e0afbbe3b193166be5 +size 1795493 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL.uasset new file mode 100644 index 0000000..6cabb08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73e975d004efe70cb5ce4c055c7409b874abb0163edc9ef4753d73343f27c3f7 +size 359431 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL_fall_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL_fall_loop.uasset new file mode 100644 index 0000000..bc64701 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_in_PL_fall_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ca5db1e08cebc1644ba74eb87da39506451da9b66b01de019524962df2371e4 +size 540030 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land.uasset new file mode 100644 index 0000000..a4004ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00ab18ce32c84239e71e204b2c66065412753ac943b3236f8f9608d97532ab55 +size 392826 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land_hard.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land_hard.uasset new file mode 100644 index 0000000..149d99a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_JU_land_hard.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:729a19ddf7377abf3232379233350f5fcdaab9c45eb54213c7aee47ed9c63df9 +size 902417 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_F.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_F.uasset new file mode 100644 index 0000000..392c827 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e20b5ee3c2a7c6b1b14f94f3a23a41aa10d4e5e0946875404bf1527468b0ec3 +size 606620 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_get_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_get_up.uasset new file mode 100644 index 0000000..f2dd277 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_KD_get_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eeacfdb8d0b8150d31bc7f86c4a9ed94b7df3fe40d37e19adea9cb65cf8703c +size 758859 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R.uasset new file mode 100644 index 0000000..ef027a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ea7df8e79123b8e74c9c4f3daf6b8d7a04d251dd644ab6eb26aceb6f3d89d9 +size 365942 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_L.uasset new file mode 100644 index 0000000..9823ed2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c5c7828ff33d12cb27027aa0710c6232bfbd76f1e3622a0b18436c4a2876941 +size 394138 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_R.uasset new file mode 100644 index 0000000..b61d521 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_JU_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37064b4cbb5d1c3a110fbd93cf02e84df6a31d21ffd3d6a84f8d22f7b20788a2 +size 394081 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_L.uasset new file mode 100644 index 0000000..0387d3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33400718f94c0db19fd8cbbc360fc94337f8ff7f62c3d88d9c529bbd116d339a +size 538971 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_R.uasset new file mode 100644 index 0000000..6b8e950 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:113fdd26bba127a9344644c2d00871efc20faeeb51eacaa02303d26e4240e5db +size 541218 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_L.uasset new file mode 100644 index 0000000..c204086 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c30c2b3ee858a9860ed097128825b0b65dba16178aff919889493c1dfe508133 +size 412319 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_R.uasset new file mode 100644 index 0000000..2fc17ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1863b05fbeb2bae72e7b0528dc57200635922b92a808b39a1dae8615b9a694e +size 398502 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_SP.uasset new file mode 100644 index 0000000..940bee8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a84ec1e8da68a4b609d4775d757c699b0bc6251c250c1192782dc0b08f6b89e0 +size 312911 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD.uasset new file mode 100644 index 0000000..97e5ee8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:225aae49e3daf193560fc47edb5bda872b610887ccadbf0fa18a3eb033430e9d +size 446346 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_L.uasset new file mode 100644 index 0000000..b5df56f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c31ee1da6eec52735fe4c43a23c3b01aa237bb1b9b18bbac3ace558d1eb62ed1 +size 512700 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_R.uasset new file mode 100644 index 0000000..d74900e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_FWD_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b92d1559f7783e02fb3bc478098067809739bfd7f74ed0526c4706b2cf34c089 +size 514464 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_L.uasset new file mode 100644 index 0000000..9bc42c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c44a56abb999c6aa865ecb0416f9c1866c483643672ba909d3ef780813d760aa +size 753524 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_R.uasset new file mode 100644 index 0000000..d877206 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deffbea2f436e1710afd54b0c819c5473987a78acc6457ddd04c53fd88547ac2 +size 751591 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_DWN.uasset new file mode 100644 index 0000000..a752705 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80676e62bfa44840e61bf774b658cff3f5edc5555cd491c54e81214c774b3cb1 +size 683647 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_FWD.uasset new file mode 100644 index 0000000..7949c35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47f362a60e9307a4190a5ee296e0db685d9f575cc0104e7815b45a037734fb02 +size 721262 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_up.uasset new file mode 100644 index 0000000..d207f30 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_IDL_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:082ff57abaa617c98a2f934b25ec818fbe02d97c5b3378a06f5c6a09b4150020 +size 669195 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_DWN.uasset new file mode 100644 index 0000000..ced9a2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d0493017bac9183a6f6fcdc71d84de85b7ead12206658e57d813dcae573e480 +size 238651 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_FWD.uasset new file mode 100644 index 0000000..56d228a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e09a1884b4ffbf4a5c29b282e186c9c7ae2f009d23246ae1c505185109f8cdc +size 240354 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_up.uasset new file mode 100644 index 0000000..4e473ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_aim_ST_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d8a079b88e8ab075731994c781b8c1932ce04cc2ce52e014f4e30704584689b +size 243509 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_E.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_E.uasset new file mode 100644 index 0000000..f498d99 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc269429daaeaacc9c3874ca160430fc0ebe50cc7a7b8e7976875b80aecae79b +size 904062 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_ST.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_ST.uasset new file mode 100644 index 0000000..d763224 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8b9413e5800d262bafc877c76c6bae493ec02d419d27081d74a9153ab69d62d +size 782482 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_loop.uasset new file mode 100644 index 0000000..52130c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_cLEse_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64e915b33551c7e0d8ccf0033eb2357100e0ba8716c7e3552df3504cd8fdc296 +size 1028406 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_DWN.uasset new file mode 100644 index 0000000..e5a0272 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c017028164405042dca78b004c05c652509677c42b97adad0481cbe288b48c54 +size 541376 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_FWD.uasset new file mode 100644 index 0000000..bac62da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773ebd78661e153d16039e5b7468712ccdc7b9abef4d35c84c495a5b52cafc9f +size 546823 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_up.uasset new file mode 100644 index 0000000..f419c69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_draw_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf604066278c0a70dac465b63b37137fb086ca885f985dec589502ae6ab67785 +size 534147 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_DWN.uasset new file mode 100644 index 0000000..9eca66a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a74b76b7a0769933650821e8c6609568205f8a319b7315c5996d9b010ee8a2a6 +size 432115 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_FWD.uasset new file mode 100644 index 0000000..2f18902 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26adc01fa16178a32c10624a24c79aec2f78eabaa157b854e4f8e28b39515ce7 +size 442342 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_up.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_up.uasset new file mode 100644 index 0000000..9c7ddb4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_release_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da2a567ea960d0cab045ed27bcb882470d3cc09e709ef1b8549c48f600794de2 +size 443751 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ.uasset new file mode 100644 index 0000000..2c4f38c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f386cce97eb7c4a217bca2bf2afd854387a5714f6e27d95dcd2e39d8d55f421a +size 490280 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ_to_S_EQ.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ_to_S_EQ.uasset new file mode 100644 index 0000000..457ed2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_BOW_unEQ_to_S_EQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d64dcc6515862d9f92efb52206d6a151428eec59b7a396a47c841bdeed19b4 +size 485238 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_01.uasset new file mode 100644 index 0000000..42a1332 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f62bb1873b60e5107a642abe5073c685437552f99331ff39d57b17f7eaa49dc +size 1593569 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_toST_BOW.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_toST_BOW.uasset new file mode 100644 index 0000000..d198e46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_toST_BOW.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd1a7c29459f1c89e7832a598d2b4440d977eb1050365193bcab2d40eb4f018d +size 475742 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W.uasset new file mode 100644 index 0000000..d742a63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:869555c911b0c783731ba513f5b3f2508b1a4dcd34714490c90303fa03d2fad2 +size 475223 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_L.uasset new file mode 100644 index 0000000..b032c50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b5594d24e43f9364bcce616d25988f09e146501d5cdbe3a1b525788df439a16 +size 506082 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_R.uasset new file mode 100644 index 0000000..cceead7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a86e9e6ce658d393ecf4dfa5bea2bc4e963a050a8ba09eecca7aa136c4d18482 +size 509978 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_L.uasset new file mode 100644 index 0000000..d168962 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d220943d2a497ff05b0df5f1b26234165758b746fa05ad0cb439189b0ab52951 +size 549901 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_R.uasset new file mode 100644 index 0000000..a30ab69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db5e3d824920b7e8c5fc734d97c6e1e3e49c27d801a33c7cfeeabbcf9a9e4253 +size 494444 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_L.uasset new file mode 100644 index 0000000..91733bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOWST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a0f38c2b519f8ec8f53e584d2e4b35fde1f53bc2a1ebbd973408bc2050a9db +size 480629 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_01.uasset new file mode 100644 index 0000000..837ead4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3390cbfdd2baeb252b6ed36d9c60289ef759c257b7a202fa9e814a9b5f88188 +size 627903 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_02.uasset new file mode 100644 index 0000000..369221d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5be9bc22594408ff9b67672c4301910204575d36e4a147dab12b7f7d243536d +size 912132 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_03.uasset new file mode 100644 index 0000000..df257a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0850897b61bd65797383e9737dc6da43442061db08eaf90b1dc32cbedb3ab6ee +size 957831 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W.uasset new file mode 100644 index 0000000..2b8a17c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9fae5c3d52b4d454d9efa360cc81c05042f55f97103e1ffc20406db529ff1d +size 445542 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_L.uasset new file mode 100644 index 0000000..78c6f2e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171ed5fcd7c53aae0ad134f6e8978654352e91e4445ff151d85a3a4f501cc758 +size 842323 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_R.uasset new file mode 100644 index 0000000..5ef003d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc1324ded0fc4970a6662c33cde9ae8e81e541f388767a372c73214639972609 +size 846152 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_L.uasset new file mode 100644 index 0000000..d98243a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8943331005bb054dfe8607723c6da96829a42fd7e31a65e82fd17dbf33f82f2 +size 482674 diff --git a/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_R.uasset new file mode 100644 index 0000000..8c40068 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Bow/Anim_CR_BOW_W_to_CRST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a7a4a3606960d391698a3c9c1afa834ddc213fbeda404ed0f855a726db961c3 +size 489315 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST.uasset new file mode 100644 index 0000000..46f7f64 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3dd6d4171feb218c6123a22276904c9c96767d54ee693caa55f1b2878e7075c +size 1807428 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W.uasset new file mode 100644 index 0000000..75b3dbb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52250fce290fbd7fbfc733eec2a5e06c85548d52b6606ebd2dd63408794e5a4b +size 474044 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_L.uasset new file mode 100644 index 0000000..e915f8a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7476eadec2e2d7578f85f608d56519a8351f5fe43f52f2c07105678d07688b51 +size 494537 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_R.uasset new file mode 100644 index 0000000..2a30098 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe38cff306ac13cda2e30314652e93ceba502149116114a3c73310ba4409bd37 +size 503849 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_L.uasset new file mode 100644 index 0000000..1d778c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9000ac98271e950cacb12bae7b64707327ec5023f147dadc5c461d586ad044a2 +size 611461 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_R.uasset new file mode 100644 index 0000000..17c1f82 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eac0f513332537b8d098a2171b62e78183ba03593c108ebce409df4ee7fee7e +size 606517 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_L.uasset new file mode 100644 index 0000000..716cf06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RAST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef4fd1866efd5f3432e49d1fc215ba9acbf81f36ec7c4da5f6a614bfce83758c +size 480287 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_01.uasset new file mode 100644 index 0000000..54260ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:319e571c1b101409a4999701611e450f00d8e9368ef0713664b6bd787b6b201d +size 919943 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_02.uasset new file mode 100644 index 0000000..80ad2f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:642b62ed14e603db25e2f58397eaed337349240e12b374bb50ec88a51a8998b3 +size 1044418 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_03.uasset new file mode 100644 index 0000000..b7c13cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4247536abf1dac0d9ff04ce48fe797c1b8c2f31135774d012c0e1fd74a4a796 +size 1087875 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W.uasset new file mode 100644 index 0000000..1a090ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c15046e6bcf7ca33f07b43726f782ceff097b9f0b70eedef32d94ea7173475e +size 846501 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_L.uasset new file mode 100644 index 0000000..791c49a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:338ee14f7d59d7017e3928167dc49fc22f02336cfd0a58753d1fef5273a68132 +size 500722 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_R.uasset new file mode 100644 index 0000000..52df211 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_FWD_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3a01430769d7d51acd0a57b87d8949a4a898b2811b02b920f3bf4f16275585a +size 486357 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_L.uasset new file mode 100644 index 0000000..8195855 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c392db30b3559ac5ab0f8740452ba2481a1e78c7daa6b6b0bc5fa472c6e15ce2 +size 628489 diff --git a/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_R.uasset new file mode 100644 index 0000000..7e89e78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/CoverEyes/Anim_RA_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54663d3bd5688704d3919aa5af67f8f975ae897bccc80436c2edae3bdfeaaa4a +size 664685 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_DU_E_GR.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_DU_E_GR.uasset new file mode 100644 index 0000000..f05f254 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_DU_E_GR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f95f00def59bc7ceb265dae694fef2befc78fcca0a1a1c23bf663b8497bf3c06 +size 623551 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_KD_F.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_KD_F.uasset new file mode 100644 index 0000000..001f31f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_KD_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ef3e5c4b77ca6d53dec719919e01ea3966e6c7cce6d32c7d966dccbc8135e4d +size 622223 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_01.uasset new file mode 100644 index 0000000..08711bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb063a6eb34055485565d3eb418ec098891ce30b1d98ffdb908697d9646b1ed2 +size 3003567 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_02.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_02.uasset new file mode 100644 index 0000000..63599eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3366429a7fc2a063a43ed8734549ece63894cad1878bf17d51377df68cf174d8 +size 2552685 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_03.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_03.uasset new file mode 100644 index 0000000..6550bb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24718f383f8a0ae5af41f2e71af49cda279a74cfda5180e0d6eb04d6a390dbb9 +size 3107508 diff --git a/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_04.uasset b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_04.uasset new file mode 100644 index 0000000..a81fab6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Death/Anim_dEAh_F_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bf2f8a3b916a1de69bc9456272c3cbc668ec19af5a70418250e7ed144ddd58d +size 1770349 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL3.uasset new file mode 100644 index 0000000..c8a4401 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6755a333b6dbba0d3141820195d8f2ede073233c7aa44a35a4c1877779ad8715 +size 671605 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL5.uasset new file mode 100644 index 0000000..1d5c417 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2eb1131f81734a9300e4e76a3c9c6f30d6362317d67fea64f596b2cc3bf6879 +size 761761 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL6.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL6.uasset new file mode 100644 index 0000000..f4f958a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Alt_SL6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:298adc7d6cd2c8bab844f92ac1c931d72050782d5db4d6c16627a138b7e34fa0 +size 808237 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP.uasset new file mode 100644 index 0000000..46348c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d430f111af3e9b1bd351a63b86405e0ecbbb52f759dc66a49158add9fa0c73 +size 713851 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP5.uasset new file mode 100644 index 0000000..ab2f1b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df3038aaf0f82a3d9968ab74971d7595af041d91f5599e16663199afa9705352 +size 723945 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP6.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP6.uasset new file mode 100644 index 0000000..fae3e67 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea9708cb53fcd0735c9955c4fed99243a895ad276cda551aa4b3932d341efecc +size 679554 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP7.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP7.uasset new file mode 100644 index 0000000..4f230cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d62871ac2d35a6a9e505ce2312ac58dfc6f3683e894f1b56e338e8a5450e8b43 +size 761737 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP8.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP8.uasset new file mode 100644 index 0000000..d6aa9d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BP8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:338caf2a55d904a629c80090cec34266184029383c33e1b27f3b0148f6613b62 +size 914524 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_L.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_L.uasset new file mode 100644 index 0000000..da9ffee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0feb5e647adbb4b047b6e1af5d0fb872916e8953f26a325618be329bcb394cbe +size 700784 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_M.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_M.uasset new file mode 100644 index 0000000..de1d634 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4919702ffeb711fbff4810893ba38436c89e6800cc77b9c443f740ffdb6eddc +size 645211 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_OP.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_OP.uasset new file mode 100644 index 0000000..38b61cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_OP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eb4f48a338faf280544aee99898213767858458961b9e53a1fbdbd68900f007 +size 895844 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_S.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_S.uasset new file mode 100644 index 0000000..3ebe3eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_S.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98ec5a6196e2330a63d127c815ce79862a3d74efa3e2ebefd30fbc9ebb4b7311 +size 668817 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_ST.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_ST.uasset new file mode 100644 index 0000000..5ebf1c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dd7e5fa94f599f2c91c688841ac770532134bdd84cfe6923929efebaea46012 +size 1501996 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_W.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_W.uasset new file mode 100644 index 0000000..1a62607 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPAIR_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee9c191e5715dd2789a501d868fd8d0a9021159b91b06037c903eb1313159783 +size 1113654 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_1.uasset new file mode 100644 index 0000000..cc8a158 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3257b7b8c26f504734c8e4b5af589d1ab0ba829d888971099c75d0ae21b6d0fe +size 514096 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_2.uasset new file mode 100644 index 0000000..46839ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c97668f11d166c588162203a030501db82601c7953252bfbdaeb6f0a78d9bbf3 +size 608016 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_3.uasset new file mode 100644 index 0000000..dad38de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5113aeb9f74a44e055e09fa3508ae34abc9b77dffdd4ee1653c131121e83a2bb +size 501948 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_4.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_4.uasset new file mode 100644 index 0000000..3dd9dec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd8f57babdcb1316b03b423e8c4b369b2626a622b4c398d2c35d02651dc5bc6c +size 649087 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_5.uasset new file mode 100644 index 0000000..7b3716c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:181727757f6b37b2769c8fe1cd3d0c746f3e33a16d068667db53aa8e9415df42 +size 574356 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_6.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_6.uasset new file mode 100644 index 0000000..1a5705c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUB_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb4f3c5549880cc8312ce8f892eb0b8e92de05c76a5812d0493917a4d41f9cfe +size 600663 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_1.uasset new file mode 100644 index 0000000..9e576ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f59e3f0ab2daeeff166ffdaae66a7e72aa5f5e3bc9c139e3bbc1fb8032c932e2 +size 737123 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_2.uasset new file mode 100644 index 0000000..4a77ac2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f3e87d4a47dc79dadc8933c299289561742d753df51f1ab1b22b4ab36571664 +size 628094 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_3.uasset new file mode 100644 index 0000000..d496d9b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUC_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d748280e51b44bf3ac50c66ee60db1ddb9a9a498c3dd5b21d402075418fdc453 +size 905251 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_1.uasset new file mode 100644 index 0000000..5971cc9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b145b8d0206006bb057ef4d2508f12ef80964066837f92f3145586019fff2c3 +size 722963 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_2.uasset new file mode 100644 index 0000000..6de5b44 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11233fd924027d0faafd9479f458ebd186184bdf79110d95ec692cc5a4e4aec0 +size 764075 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_3.uasset new file mode 100644 index 0000000..297c03f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BPUE_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7796916a24859688bb61df2db7b54efcb19f6ff1fbbaa2b61d892466f5efbbe9 +size 561551 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BallKick_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BallKick_1.uasset new file mode 100644 index 0000000..81d8f92 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BallKick_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:125cdf74cc046735fbd753efe0010829dffe2017a1407c36c1d8c08616d18926 +size 613457 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bile.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bile.uasset new file mode 100644 index 0000000..9524e1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b6386fc69f4ea60e5ae739499251ab557b7115c54686e1d726ee43dcee271de +size 346184 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BileCh_KO.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BileCh_KO.uasset new file mode 100644 index 0000000..6f5c8d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_BileCh_KO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15780ab57b0145dae0926d2a73cf76e1ef1af68be586c8fd4dce6c077d7e8bc8 +size 629551 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_.uasset new file mode 100644 index 0000000..8d966d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f5b745f5c67604077d6f37748176cb8c0b98820bd55c66aa32f48eca72f248c +size 436569 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_2.uasset new file mode 100644 index 0000000..0dfd757 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:803642ea54fb51b0749b5a54ba9cb5f9e8c0c7add4f60b21c86b3cd268d1d5a7 +size 442149 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_3.uasset new file mode 100644 index 0000000..07a9e63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58417a031c2aceb553aad54a724efe239072a6a0b427ca571235e0955b84f8fb +size 431663 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_4.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_4.uasset new file mode 100644 index 0000000..132ffa9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c1dcd1e03b6b5306c257bf501e76235b1c6e8b5ab17664074a9073bd6f713cb +size 427731 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_End.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_End.uasset new file mode 100644 index 0000000..3fd70d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94d6545c9c92b65ceac987289842db5ff73d23624452c0084b5da9566e6cb5eb +size 348652 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_ST.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_ST.uasset new file mode 100644 index 0000000..7b8ca37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b456220ebc5da42c20578b32641113ecf7bc2336632b24cbed371c1fffa9143 +size 306413 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl__ST.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl__ST.uasset new file mode 100644 index 0000000..28ed799 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Bl__ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b9eaa92783b11c130322d141c119163df27b65e48b306de2d5c05b998c3da5e +size 450032 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CEarly_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CEarly_1.uasset new file mode 100644 index 0000000..942d897 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CEarly_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:794ef668806b5a4f13d2a08d71303cb8a253458a4383179ffe5566376d3d56c0 +size 395253 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CO_Tag.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CO_Tag.uasset new file mode 100644 index 0000000..c1f110e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_CO_Tag.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba6134d0014a1934017bdea23a16dd879d1d94a407d1a6358d09afda7404453 +size 1016645 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_BR_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_BR_1.uasset new file mode 100644 index 0000000..d970840 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_BR_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42e7bf13a5f64db6a4e37ca1a96909b21cff72e4184cfc2047ba278a3070c75f +size 460475 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_KB_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_KB_1.uasset new file mode 100644 index 0000000..6f3fb82 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_C_KB_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6feb3e48e75548baa21743670bca78c4d591ea90adeb06a8529cc066b521110 +size 644903 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH.uasset new file mode 100644 index 0000000..c8583ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a318f464f8b7ecb39b82d2da73820832821a7df86f0757aaa47d888f3160c81c +size 459237 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Attack.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Attack.uasset new file mode 100644 index 0000000..a70e299 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Attack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ea0e340852a6c52cd5de091c994fcc4d7fbb343ae20c16d84450cca539d7d85 +size 420571 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Loop.uasset new file mode 100644 index 0000000..597ce5d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DH_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6a26b81aa3f7bc868ade1788fcb02b1a41e6307571cfac9aee2dea9fd426d0c +size 403199 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DeathPL.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DeathPL.uasset new file mode 100644 index 0000000..611cf67 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_DeathPL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf25be02fb5b98d0cfc90174b5e5a767767f992792bcdd21de7af71989c974af +size 891596 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Death_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Death_1.uasset new file mode 100644 index 0000000..50ce7d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Death_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f81d2873cebd4b6624b1758417c959ffbcde256df886b9be9c44979a4d25359 +size 427974 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_EEarly_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_EEarly_1.uasset new file mode 100644 index 0000000..81b8ca3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_EEarly_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6224b130c19cb916851605274d8223d081a0207a43ee8a331b3029dce19fece +size 405128 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_1.uasset new file mode 100644 index 0000000..e62d1c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:018f20d908a0ba88371cc8f1b2be5a482b4df86897fceeccb8064701920c603e +size 465234 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_Tag.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_Tag.uasset new file mode 100644 index 0000000..f5acc3a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_E_Tag.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d822ff06715f2995f834afc1d9e46179830b20476b238d075177e17acc6d96f2 +size 1016675 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FLI.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FLI.uasset new file mode 100644 index 0000000..70255cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FLI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd64575f6ce4157cdfb091581729376a04d7ec8d772ab77d44ada04d48655fc +size 261186 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FL_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FL_1.uasset new file mode 100644 index 0000000..0d07bff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FL_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac8d36d03276999e0696f446a4de90e11d75230cec04faac50b11458807cd307 +size 379775 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FastMode_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FastMode_1.uasset new file mode 100644 index 0000000..cfc42a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_FastMode_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:402b3ff18003fe3bdc1ab965dac334d0582c7b9522b2ea1973aeb5f9a06fcb5b +size 1245203 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_CF_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_CF_1.uasset new file mode 100644 index 0000000..c6fd8f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_CF_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09e70d641bbe91d845419557fb71dc973f88d42733d2c541ada73eb49f314750 +size 417479 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_FH_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_FH_1.uasset new file mode 100644 index 0000000..64b0c2b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_FH_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e52b0c66d397a3df95692a7af244419d31a2206c26edbc008af4a169a12929 +size 420504 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB.uasset new file mode 100644 index 0000000..309351e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3efc95ba3c72cedfde27ee668d2804c81100712129074d05cc552b471903d53 +size 380596 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB_L_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB_L_1.uasset new file mode 100644 index 0000000..3b8fbdd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KB_L_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3d4f67c448cdf66e0c5bef58cbb911554329599c65e750ec2fa58779e149d86 +size 482156 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO.uasset new file mode 100644 index 0000000..96c0793 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4f1631a252dcd5ae5b04e1628ba7b72d9afad38643d34aec1b9e7ab0646c133 +size 820536 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO_L_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO_L_1.uasset new file mode 100644 index 0000000..a710cb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_KO_L_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c71f7401f7841129a393d19a01cb01605c1eb4af5fba17960d20d0df0e1b7ce +size 704467 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_1.uasset new file mode 100644 index 0000000..ba6aa19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5c6432a8a327b8fb1166cdabd420a4ff1f163983bbf9d367e58fbe0b49b2d36 +size 319241 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_L.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_L.uasset new file mode 100644 index 0000000..9e7264f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f179201723491a463ad103961e304d5633675ebb5b8d5a993795ca5b6cd318b3 +size 331402 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_S_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_S_1.uasset new file mode 100644 index 0000000..2fb09b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_N_S_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0b5d43d59ef9cb9c241c047c8048933b937cc3e14b775b78701041c5344ad68 +size 333291 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_Quick_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_Quick_1.uasset new file mode 100644 index 0000000..f763fb7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Fwd_Quick_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69f73320a216cfe9ec8038c0f50b3b9459f8cc263aa992371a191123372b885b +size 253853 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GRS_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GRS_1.uasset new file mode 100644 index 0000000..18582d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GRS_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cdb88be9ce3ec40bcebb6272fb2f285fac5fa0441434fe85bf2166c7cf19445 +size 497329 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GR_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GR_1.uasset new file mode 100644 index 0000000..8f094c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_GR_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d7dab8894182a8e2de641471930f9db468bc0c28d5a18828ff04963d971ea0 +size 331969 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_HEarly_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_HEarly_1.uasset new file mode 100644 index 0000000..13e08dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_HEarly_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37957cebcaf4b66a2b46b5c830e1baefad17603dd8c6cbad824fbf80c61b2882 +size 328797 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_1.uasset new file mode 100644 index 0000000..6e9f758 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fcd6bd65eba8ae5f3bdc4b4823119741231dae64aa9056533f569f13b7db6f2 +size 999855 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_2.uasset new file mode 100644 index 0000000..3850c59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_Heal_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21e7cd3d2845b51daafb09ebf7cbc8d4f0a8ee1828629558c68ce1acf9932b43 +size 683656 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_KO_FromAir.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_KO_FromAir.uasset new file mode 100644 index 0000000..1e85036 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_KO_FromAir.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e0f02ffa6bd0107396cd273c6d9eff856c2e8edfaf8c3892bc6dc30e6d1bb0e +size 571494 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_C.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_C.uasset new file mode 100644 index 0000000..a6b859b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:558e6e643f6b1e98fb91a7a66768c9aa8f25e735e5a968fb2c9659297a38f596 +size 450029 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Idle.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Idle.uasset new file mode 100644 index 0000000..73f95d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Idle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4a3a5f95a1d9e4be52e278c29f5e866efc2a59440145301d248cc96a0a04c44 +size 1059952 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Run.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Run.uasset new file mode 100644 index 0000000..952232c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_L_Run.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:976ba4f04de665f8a68982dc714517367f3a42f2ef0036b5944720e44ec1fdaa +size 340012 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_NU.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_NU.uasset new file mode 100644 index 0000000..9ba540f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_NU.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:573267406ee5c21869389b767804dab647dbe2398e69aeca7c54db3540c9f6d6 +size 182828 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_OFail.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_OFail.uasset new file mode 100644 index 0000000..2daef60 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_OFail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6643c5503ef3cf0bea8359feda87a9d5edd2fcb78263a4b93a086593027d1d25 +size 282420 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_1.uasset new file mode 100644 index 0000000..0e854ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:255e85632ad61d8039d8f1177235e9e19e6925682e31233e4c6f7dcc2ffbf5c1 +size 1001909 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_2.uasset new file mode 100644 index 0000000..d87548c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_O_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7809a3800b8b203c2194240456b4921aff76ae922781359417a2223bcdec31ce +size 703792 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_BFist.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_BFist.uasset new file mode 100644 index 0000000..a124f6d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_BFist.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed73c58e9654671675b30dc3a7e3d74413c01401cb85911a8f1ac13e9bfd1436 +size 828038 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH.uasset new file mode 100644 index 0000000..a37ae2a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a34eb8a40af0f2810ae37193cf9d0d5f9fb1974656e3ae2eea7f880b6b40c80 +size 460968 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH_Loop.uasset new file mode 100644 index 0000000..29eaa4e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_DH_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea471bf43b6835ac78c8e9cf11105756c9c1a39b1e54c974b9cc9d69b8eda5a +size 343593 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_O.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_O.uasset new file mode 100644 index 0000000..ea9d86c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_O.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed76696e5aa081640f3dff3cb3477485293871ea72a30e4490ebc0f71f3c3aff +size 602586 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_OFail.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_OFail.uasset new file mode 100644 index 0000000..0da03d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PU_OFail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e912cc91587b9ad4920aadc48182fba8c7fcb049ac0cade7ec1238d9bb4bb14e +size 824156 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PUtoSWD1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PUtoSWD1.uasset new file mode 100644 index 0000000..c8ef4ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_PUtoSWD1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9bfb2ca707422605a3b834bfbcfbeb498e8d945fe79889dfafff140ba72ee03 +size 1795454 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL1.uasset new file mode 100644 index 0000000..438130e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:849110c283f3882c3a2cecb375e991c4ddb6d49ca45a64f0805cef4ec4e61b78 +size 391130 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL2.uasset new file mode 100644 index 0000000..2fa27fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a718c8bb6b96ad91f815d29407111450b3dcdfe4e521c479efa8e1e6561cda50 +size 566546 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3.uasset new file mode 100644 index 0000000..bd55e4c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:769b9f50503171d9131781d45d25c0f3ecf08dfd7c820c8c7b4f33b5cd0b44a2 +size 513809 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3B.uasset new file mode 100644 index 0000000..3aa9ab2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL3B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f327663ed7e7ffdd65647656969a40f67e805a724824f4d4ca0189b7d0d3951f +size 555521 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5.uasset new file mode 100644 index 0000000..84f9af8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60507085a8121ad8704fa77437f67eada01a5a09ec96dc54349660ba47c7122c +size 669963 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5B.uasset new file mode 100644 index 0000000..d4784d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SL5B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3d06c91228802b6dc08c258ba7eb91cb7c3786de28edde28916c631dd2fe07f +size 635316 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_1.uasset new file mode 100644 index 0000000..0c92ae2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51d018aac64cf2761924d7c18e1247dfa8dd1bcfc1f09928d8bd17049c4a129a +size 643236 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_2.uasset new file mode 100644 index 0000000..eac5914 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67daf3316414d8cd1828f28a9ccbe5aa8ebf90fe8e3bd727c4c67accd5520246 +size 623991 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_3.uasset new file mode 100644 index 0000000..3eb137f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3784f817ba4f330f6f1af6c889805ef5a4b9ff330ca2f8525a9340d964081f4f +size 710262 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_4.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_4.uasset new file mode 100644 index 0000000..e39478d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59640340d72367bbe157c61a81939d70183c70f1e7bde85e2a3b892d81d03bfc +size 656005 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_5.uasset new file mode 100644 index 0000000..9a0cf13 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38b1bd14991349172a9531739bfcc73677e380811453600bce1701f82f40230e +size 745606 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8.uasset new file mode 100644 index 0000000..a9114dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbc0ef781e0394b807f3908a41bd6566584e1f59947449838615a133600372c9 +size 689697 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8A.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8A.uasset new file mode 100644 index 0000000..023d13c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd11992a7f423f8cff9bb7593fac4350f243d98441c9c1489a9a400e6bb8ca49 +size 573124 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8B.uasset new file mode 100644 index 0000000..f4a69a5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLB_8B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84434bd5db7de4378f0acb82dd8b5c004d402290cafcb036fa51e161983b8df4 +size 541970 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_2.uasset new file mode 100644 index 0000000..410ebec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e3983f1c19b6c710008a0e72347e0bfe39013712ca4624d16208ec6bbde9f7c +size 531788 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_3.uasset new file mode 100644 index 0000000..dcf6eee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6bd64e8e9107ebe9d31766f8cc7c81112af3689e52b942827159e3d75f2004d +size 556061 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_6.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_6.uasset new file mode 100644 index 0000000..ee07f34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLCRZ_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:943d6e5cd364eab147c90dc1e4a9d88ef7ef58dd83c28d07fa07ebb4f9ccab0a +size 966685 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_1.uasset new file mode 100644 index 0000000..95829fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0ccda3aefec6441b169cb5e0ed7a4851b51af4b0a46b1f925ceff55866f6bba +size 573943 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_2.uasset new file mode 100644 index 0000000..a864091 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:084f9e7e943d4b0237025b4ec230f4285637d7c2ee60131a0acb59e302eab9a5 +size 822201 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_3.uasset new file mode 100644 index 0000000..e0843cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0968e0aa2d6b9d04f4ab0b1364639c04a3b94ffdd624cc5529e01f2e0dcb1348 +size 731159 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_4B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_4B.uasset new file mode 100644 index 0000000..7cbd9c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLD_4B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c89a7bc8ca0320c0968fe4798a3b988d130f74e9fe5b44a55b46a24b19d7224 +size 759750 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_1.uasset new file mode 100644 index 0000000..99a4221 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba8c97f63b8ffedd3d2a39f3cbc3b23e288e7fb4ef1d548b52d011b2095945a +size 516481 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_2.uasset new file mode 100644 index 0000000..e049e27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7279ea5b29ebfc6765a3705c5208fb8f9334e5dfe023824377f906c22e09985c +size 422842 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3.uasset new file mode 100644 index 0000000..2d31329 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09ef67a1a0f2e8fc4023d2e8b3c0246864fd3d6103dea06f0f5c8da1e1d6f870 +size 586741 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3A.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3A.uasset new file mode 100644 index 0000000..a69038e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:984afbae15cae99c2303b97b43009858816d4e7922ce330b03943e9a85dd5543 +size 523383 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3B.uasset new file mode 100644 index 0000000..6a072e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_3B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e557ecfc83a3358014c758147d4b4172bbb07d0e242f4fb09b96ea820ead0da +size 500352 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_4.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_4.uasset new file mode 100644 index 0000000..c9d0856 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc978ff95c64ab8b2afbaf7e9015cb86c6729a135807837486df52a4649d47c +size 659257 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_5.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_5.uasset new file mode 100644 index 0000000..52b7a54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLE_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c87b34bb7084df147331829d4a9f34be6b801bf6f85be1e895e619966db94049 +size 667507 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1.uasset new file mode 100644 index 0000000..5b328e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c69d77b3e02389f4e707ff2b47ec662c723d9909a7288521075c45b3e96c7e12 +size 934820 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1_Loop.uasset new file mode 100644 index 0000000..293506f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFL_1_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:821bef9621bc50f49896e934ab4c1fe3f226a28d66ba36c4e6888d5cc6e4a985 +size 608612 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_1.uasset new file mode 100644 index 0000000..b665dc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d32c1d9563b23c1661bb6ea6192c4dc020f04e909a7567ea840b3b138bd70229 +size 466241 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2.uasset new file mode 100644 index 0000000..40f8d6b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9220e6c8dd7471cec401ba8ed4a651a284b490069932ebc9a6e2af188c0ae0f +size 493420 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2B.uasset new file mode 100644 index 0000000..8fd1396 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_2B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb4457d05bd6fea27cecb9e4387194123e6ab90f9dfda3eb712d5bfe14e065bf +size 550149 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_3.uasset new file mode 100644 index 0000000..227d6bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e2a7320af3e5b995034c4659cda615626f4be112949b0e4d20a96a20706bd5 +size 629566 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4.uasset new file mode 100644 index 0000000..fb3547a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7659648100659c429922f928dd339ca60d7f66995c41dadc6a1c8ac2434432a1 +size 473857 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4B.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4B.uasset new file mode 100644 index 0000000..9e26b5a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLF_4B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebfdfe466e3153a730d88f7dd579aaa67088a1bfe34dbb99e6e7f59deb02ab75 +size 758021 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFromAir_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFromAir_1.uasset new file mode 100644 index 0000000..7bfa81d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLFromAir_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75570cd118413ba64f103a8b70ccd3383b6a04900d2d4a0e72c95495c6af8c98 +size 813051 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLO.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLO.uasset new file mode 100644 index 0000000..6d939f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce7c826b1857a94131642ddee53a6b1ed17991cf999cc3cf2ff4f8ea33c05e5f +size 452091 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLStrong_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLStrong_1.uasset new file mode 100644 index 0000000..731288b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SLStrong_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a08d962f90364d0c30e37eef659c9a6ab34125e0bcf6f4aef3c3a75431cebc +size 442140 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SWDFromAir_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SWDFromAir_1.uasset new file mode 100644 index 0000000..7b242f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SWDFromAir_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a78a99c34717cdf742475b82f8b9cb506029d92e6c9437bc49b82c67a6104b7b +size 705007 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_1.uasset new file mode 100644 index 0000000..898ab4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a35959afdd90c315702ddb2650d3f51463b76fe5362e5f763ce9867d1e97f6b7 +size 463923 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_2.uasset new file mode 100644 index 0000000..93327f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwdtoPU_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c5ad6cc7f0abe7f43cad11cf8d6f4aa23d87c6bce4064f1d91db9d7ebba4698 +size 657976 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwtoPU_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwtoPU_1.uasset new file mode 100644 index 0000000..706e512 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_SwtoPU_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88204a699e462f00e6b86a6b4925766c68f8536c8f1b78534de03877d3fc0e73 +size 503970 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_Attack_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_Attack_1.uasset new file mode 100644 index 0000000..6a8366f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_Attack_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:015224495bc3e7a4e4868d927729a587addbd7c1b18ffffaf464bf50d02e8a6c +size 357949 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_GRPU_M_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_GRPU_M_1.uasset new file mode 100644 index 0000000..b8fad8b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_GRPU_M_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33f449c6fc969e822225bbe98bc10d88fdf6f75d3d98d0725fcc2c1ea58bf180 +size 470418 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_M_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_M_1.uasset new file mode 100644 index 0000000..38957d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeCombat/Anim_T_M_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da0b7853913a7f5f00429d35707f72d5854f20e60578e4ebcd77332a5fe00f38 +size 420329 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DBwd_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DBwd_1.uasset new file mode 100644 index 0000000..48ab1d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DBwd_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a92c97caca65223cca2e8749907665714ee98389cb6e573ee61e9658b4cf2954 +size 359419 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_1.uasset new file mode 100644 index 0000000..859c5a5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32ef18a05bcc7d3cfe15b98c41b091f87c2089a6e7e1dbe778f1368e5abc40f3 +size 722859 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_3.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_3.uasset new file mode 100644 index 0000000..2cc446f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFlip_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:751f8ebee8635b3a52d42cf80e7d38e3e4e5064bf08784732f8894b60babcd33 +size 452429 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFwd_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFwd_1.uasset new file mode 100644 index 0000000..f6b866e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_DFwd_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b6b33065b142f1bf3802e9bb99c602ac42f0746feaaae13d0615a73db3e2821 +size 393866 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash.uasset new file mode 100644 index 0000000..e3ac6fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81a00f4841fef743e02736306a8a5bf4210ba9ec634b29f658b90a746346df95 +size 413812 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash_Run.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash_Run.uasset new file mode 100644 index 0000000..8fe6ee6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Dash_Run.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be64dfbda3b2ed45c839150ee005d48d18cfe7e8a7bb1edf9cfd36dbc844fe20 +size 340422 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_1.uasset new file mode 100644 index 0000000..ccec59d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7761eb242127b015c1a1d5f15bc6fdd6330590ad5e5aa38fd1cf0bf0c9f7d4c1 +size 307141 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_2.uasset new file mode 100644 index 0000000..15a3299 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Fall_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:270e2ba45bf0c772e198563f6e625b39b56823006889e299f9a8d6aff18254d2 +size 875499 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Flinch_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Flinch_1.uasset new file mode 100644 index 0000000..7f16ed8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Flinch_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb3208f6967cc918e86efd3ca1e9a615ac1458f48a7d0f5620cbb713e44efe7 +size 234838 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H.uasset new file mode 100644 index 0000000..3666679 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4ce21299f83f831e8b2679b52a6a9fc2e5facf2534edc4867af0bb9b13f75bd +size 1538628 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HIdle1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HIdle1.uasset new file mode 100644 index 0000000..a0113ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HIdle1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c8c6e968202d9ae563dd98a2fb88e754fb8e87f25b9bbee7b49948475d7ab81 +size 665497 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_End.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_End.uasset new file mode 100644 index 0000000..0f320ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:383caa24c4aa9733762b9de85c7c4c9f2bed9fcdded2add05d00bc9725846660 +size 286581 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Loop.uasset new file mode 100644 index 0000000..b6be626 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e9c58662e1ea072c26d6f1200bfc7646c10c55f8867e627fbcd9bfb4d001c62 +size 426028 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start.uasset new file mode 100644 index 0000000..445778d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4f563c2be8bed2eea6b61c67738469944ec636ee51cb25a3bfa1fb1f19a4dfb +size 227171 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start_UB.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start_UB.uasset new file mode 100644 index 0000000..402f46b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_HJu_Start_UB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9627020612973d0026e0f5f27e0d0acbccd9d0128a0c98b3dd17c0dcecea52e9 +size 225659 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_End.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_End.uasset new file mode 100644 index 0000000..3a33665 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52f9ab11acafed67ac718dfa8ee5a4ee7b49614812f9562d4d8fb6ee2eb1cb69 +size 384872 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Land.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Land.uasset new file mode 100644 index 0000000..e38f032 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Land.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4faada3814532e8d4027859dbac52bb7f8ff0622e85679d3e14208a9c59c85a +size 427936 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Loop.uasset new file mode 100644 index 0000000..4c11e39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97956c0bb05f1ed879ef80d21f1a73ff4d698f48db4175f7e8a31f0cb1b1e881 +size 676680 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Start.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Start.uasset new file mode 100644 index 0000000..c972308 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_H_Start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbadb016dd15ca740304613cce89930cca5118bed70fa6b2bb3ff73d3794be7a +size 450830 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Idle1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Idle1.uasset new file mode 100644 index 0000000..872d599 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Idle1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0ec63eb4da08e697e7f5ff6fe6aa81c6def54a6f4aee26ac51f27368274b2da +size 639140 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_IdleL_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_IdleL_1.uasset new file mode 100644 index 0000000..541dbb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_IdleL_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ae73ac23104c91f1781510ab9c361df807535b52bd66ac76b7f47cbd425f7bd +size 749591 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J2.uasset new file mode 100644 index 0000000..3fa2768 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb7485bf17dda41d96f1b6cc98d91a49b953617caacf3655fb0e338088050396 +size 224385 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JCool.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JCool.uasset new file mode 100644 index 0000000..2eb5af2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JCool.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e324efd0563721ee197c2b1e06125ba2bec1594500a314b8396f283d413a9cbf +size 221776 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir.uasset new file mode 100644 index 0000000..095f496 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed4c70aaa65bb56bb293cecebb426f1356d6ea0a0f6c8bb907e0fae9a20b1cb8 +size 280615 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir_2.uasset new file mode 100644 index 0000000..63d56aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JInAir_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e22208350f464da72f1c8d31fa282a0f21b100d33f935045127f9453841c3a6 +size 262139 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JLand1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JLand1.uasset new file mode 100644 index 0000000..6e734df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JLand1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a724baa9a88a9e13e889dd8d657e21b0110b01f4b6ea75ed943ab0929e301973 +size 560450 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB.uasset new file mode 100644 index 0000000..241a241 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eab38b1bca94f35371a4cff6fcc8c12ca2191a2aba0733eb0f75733ba90d9325 +size 221209 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_2.uasset new file mode 100644 index 0000000..f8a57a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03d9359ff17413011b3272edbb23910b9033a18e77b9dc0e2443e42245712418 +size 220862 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop.uasset new file mode 100644 index 0000000..9ffe02d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:646afc439c91a4ea96f5148060d98c3daa4b31c41d4ab775f24f93a14c51849a +size 309663 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop_2.uasset new file mode 100644 index 0000000..9fd57c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_JUB_Loop_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:637ded9d891fac073f07c22879d1e8bce443b551c6d54fd5a71afea3e629caee +size 320384 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_End_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_End_1.uasset new file mode 100644 index 0000000..8dce8f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_End_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abe3ffd0961c51632f1bc870c111532197bdab0d162586bed8c37068a8333c55 +size 343396 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_GRReady.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_GRReady.uasset new file mode 100644 index 0000000..379f70b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_GRReady.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50eae7e224465eba5a84a01a12e8dde8444e654083bb03b84a717b03e76fe8c1 +size 655201 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Move_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Move_1.uasset new file mode 100644 index 0000000..867bd33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Move_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35f77b4fa126e1e896fd42c793525cd07b9f3e25dbff8fe8fe40943f19fdb199 +size 424866 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Start_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Start_1.uasset new file mode 100644 index 0000000..3549ac5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_J_Start_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67361d76d022207bd4f3a9cc5727c7c138baf50999c56a503087789f0bdb7fd1 +size 235457 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_2.uasset new file mode 100644 index 0000000..cc7ccc6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12e9bddcdf1b9ad0c9ea2d1e23a6fe527bb49a18c49a1ae98671bee3c4c2e22d +size 413457 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_End_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_End_2.uasset new file mode 100644 index 0000000..ba6a683 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_End_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a40c5c325f267eb93275e9b5ca9ab1b02a70bcc797d3aa3d36c01712fc809069 +size 439603 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Loop_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Loop_2.uasset new file mode 100644 index 0000000..2e50358 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Loop_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38066a41f9acebf3438939cc907c06383dd7f93992c4026cf293ea961dead5e5 +size 266405 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Slow_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Slow_2.uasset new file mode 100644 index 0000000..8143b98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Slow_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad9b196eb5c99ff667c2d49ec06c87a9fc6a43e1c7c92dc19ae101a898bd67a8 +size 662109 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Start_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Start_2.uasset new file mode 100644 index 0000000..1b52c7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_L_Start_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35256143d9cf8310220c298984081225b5c5bd2c88a2182fd16b5bebb4a93787 +size 227687 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_MoveToIdle.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_MoveToIdle.uasset new file mode 100644 index 0000000..798998b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_MoveToIdle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e9e34ec1d57e9084a3fce6e8a76f48b4a82bfda78a42e329316e8aed8447612 +size 295013 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Move_None.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Move_None.uasset new file mode 100644 index 0000000..463c2a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Move_None.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffbc61f63d4fa6c660d7000005d7ca8c1ec2b69fb1fa2c53de178a311153ddc1 +size 333836 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up.uasset new file mode 100644 index 0000000..3397d38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:629b82c8469265f829406213f6d09ed27e26f2cfeb7eefec0cdbf969c7bb0470 +size 494367 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_End.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_End.uasset new file mode 100644 index 0000000..4f02045 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69f7516b03f83396a3b18f79e9b96e524824f966eecf285d456069a8da98fbd0 +size 645385 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Loop.uasset new file mode 100644 index 0000000..9269ab7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ba6b67d3079613a8965d0c04db23b254dbe4edaae7e1dac64a8acc6eb51d5e2 +size 287887 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Start.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Start.uasset new file mode 100644 index 0000000..91a6e46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_PR_Up_Start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f482103bb070951abfc349406105afbe2b8b0d66524bf1ff7464f7652b9955b +size 252796 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_2.uasset new file mode 100644 index 0000000..8978c84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89abe17abe00ba4b374038df84452c61ccf27b3028d0b19c97cd0da9bcb1e8c8 +size 426069 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_End_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_End_2.uasset new file mode 100644 index 0000000..b194bf5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_End_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ef2ffc506405cb459fe3f173732690b8fdb0c6035722e99b3bd5bdac9ded556 +size 411560 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Loop_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Loop_2.uasset new file mode 100644 index 0000000..ab7980e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Loop_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7326912f56ed36d00bdf495bc00170d8274f5b640c688610cef6d5577528edb0 +size 258605 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Slow_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Slow_2.uasset new file mode 100644 index 0000000..0d462bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Slow_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16f775e849a06f8569bf921075855fa2cdbd3efe06af6fb53e98f1d67d11ce0e +size 665741 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Start_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Start_2.uasset new file mode 100644 index 0000000..631d041 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_R_Start_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b551eddd1cf683677e77fb9b6044b975e4bec10c4f3664a611963d2aeae4c76 +size 230550 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Run1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Run1.uasset new file mode 100644 index 0000000..b037469 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Run1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc4793ab71637ae7ebc4738f8668453be6049ad192b211b40056be0ffa20e614 +size 310135 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFast_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFast_1.uasset new file mode 100644 index 0000000..de1d2ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFast_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c392294f0e6ff7f94dfa4983870bfbc2beee50ddcea6c31c860c20b1c3f1e07e +size 635297 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFwd_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFwd_1.uasset new file mode 100644 index 0000000..a0104c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_RunFwd_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3d775f3d3c0061882eadda261328750f3bb96a0714bf8786f42ea71f96c1280 +size 312137 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideL_Sw.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideL_Sw.uasset new file mode 100644 index 0000000..15a2bdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideL_Sw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57c7035b4ecade9a425e442c1c97cb4c7304b9f1ee46806436473ab07daa606 +size 540748 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideR_Sw.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideR_Sw.uasset new file mode 100644 index 0000000..817df57 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SideR_Sw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6353d8aac423623f98bd1b0af7134a4619810c37cffb28381110a29649db21db +size 540339 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1.uasset new file mode 100644 index 0000000..1c986ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3f848c84edff03eef430cc3d6a0265767ed71dc1739e199eee96f6872999fcf +size 458873 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1_Start.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1_Start.uasset new file mode 100644 index 0000000..fa0b995 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_SlideL1_Start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:711db4f2d542823cc7ddbf6678cbe931abdbf692821bc41efa92d31b60c6a9ff +size 391806 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw.uasset new file mode 100644 index 0000000..2757ebd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:984a5424f31adb2a2b6110f53a42329fc64d97e4cdd156a8c35316784b475f7d +size 368792 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw_Loop.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw_Loop.uasset new file mode 100644 index 0000000..1e60f03 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Sw_Loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc0ffece39209428f97db7205dc61558a533a936020e52107fbc20a3cd179758 +size 385580 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_.uasset new file mode 100644 index 0000000..9d9d57a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44dba76c84f8a3b8c8ba12d9592370740a7dd28b5fc2d323e81541a955a095cf +size 3070612 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_1.uasset new file mode 100644 index 0000000..85cddea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3edfcc6072998f9543256a7a27fa7d33631c9e761810de515263b89f3ad29b0f +size 1781242 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_2.uasset new file mode 100644 index 0000000..c91d191 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_T_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1a36890b4a9e579318dc31e24c481865b74b7bd59b864668280367b2b8e5f0 +size 1883642 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw.uasset new file mode 100644 index 0000000..f2cce79 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626090cc1f4afdf883d836c8e68e2b9afb12773d08dc6dbe92735007dc800b3f +size 499075 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw_2.uasset new file mode 100644 index 0000000..1c93412 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Top_Sw_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:462e83a0beca3b51c7b3c37628277f31be22d57b9437a7d29e448e080d510569 +size 502796 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_2.uasset new file mode 100644 index 0000000..a037368 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c5f2b744ebcbdf23cd0f0ec993e4617f8da836a18d2e25ec761e6d4267acd09 +size 541840 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_End_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_End_2.uasset new file mode 100644 index 0000000..3167bf6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_End_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cfca4f068186d7b7f603486f268a7c4ccc154bd6b46e16d161f4e6c69aa5fa7 +size 424179 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_2.uasset new file mode 100644 index 0000000..f6036a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c9c0d686a04f216a1776a72b2038419acbc61387bab490f6530dfd51aca5279 +size 224480 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_InAir_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_InAir_2.uasset new file mode 100644 index 0000000..06b01a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_InAir_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03c5ba474e36824856d56012d06580d1b27dd8d25198f9f1039984b7a72933c0 +size 370516 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB.uasset new file mode 100644 index 0000000..fea59b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0fbfda9e6f26db3e6cf98bd3668af8aeee3fb83574ec8b6a241e69114da33a5 +size 225716 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB_2.uasset new file mode 100644 index 0000000..6a9587c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_J_UB_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8968a443476e32eb7026de0ca592b23a0b4719ed9b9d1967e532c6418eb1a4d6 +size 223566 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Loop_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Loop_2.uasset new file mode 100644 index 0000000..61cca33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Loop_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beba0851beed53b7278a726a3d4dfc9bf47a1ef599d982da57a6dc906ac586e1 +size 292883 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Slow_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Slow_2.uasset new file mode 100644 index 0000000..f97ecf7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Slow_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fed33b4c42467fac3435f3a39d532dadd378897dbe1e66d824549d92e575af3 +size 867052 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Start_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Start_2.uasset new file mode 100644 index 0000000..752162e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_Up_Start_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a91e4b63707c3710a35d575b3e24824a7f85ebb9b7a1a72b6375b47eb645e4b +size 252954 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp.uasset new file mode 100644 index 0000000..a9ad8dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89dbfe92068cfa849965252fcd6be3e61319a5d99ae5beda003df9fad0dd6f38 +size 346954 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp_Short.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp_Short.uasset new file mode 100644 index 0000000..9a85643 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_VUp_Short.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0fd921d9306c257472fe7ccf1207a9950b6a6175a99ef2a5169e8d0705802e9 +size 320085 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_W1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_W1.uasset new file mode 100644 index 0000000..3604206 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_W1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f19703dba02e6ab70f6c71a7c648384e73329c17855d798ad5ea98fade8f64a +size 410514 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WFwd_1.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WFwd_1.uasset new file mode 100644 index 0000000..f75f308 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WFwd_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa3807c3d18279334de22ce656bfb92490c4c5742541105bd87d69db9c21a170 +size 400179 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS.uasset new file mode 100644 index 0000000..e89acf1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c3d5adc8fc017035a9e58415e4c4770ac60b8e1851086c3870c90a2be6c140 +size 416582 diff --git a/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS_Down_2.uasset b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS_Down_2.uasset new file mode 100644 index 0000000..0ea56fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/ExtremeLocomotion/Anim_WS_Down_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83c557127b335d6723d17b62eb401c923733f6d086b05d59c00c1ae96f027ab4 +size 949788 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_B_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_B_01.uasset new file mode 100644 index 0000000..bd216a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_B_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdb9e44fe71562fbab283b581a27583635bd79f9502f41aa64703e0425105065 +size 507829 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_01.uasset new file mode 100644 index 0000000..09f61b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4136ca6ed1ee5774916289f98f4e1cfa97131e5218e5905d257baf92f785844 +size 538243 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_L_01.uasset new file mode 100644 index 0000000..511a3ff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce47175e9d1fdfecadf873672f8f690b173f8ed034d6ed76dcbbacd8c5f67726 +size 553852 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_R_01.uasset new file mode 100644 index 0000000..21a005b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_F_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dabfde63843f33bd6e9a166e5f6236e24e80b1cce56c294e5de079b89c32261f +size 507335 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_L_01.uasset new file mode 100644 index 0000000..38d82f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a7947c5ec5c5dd79d400eb2827d952c90632cea5b76cafd126e6ab2b43d42a +size 488972 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_R_01.uasset new file mode 100644 index 0000000..80217a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GH_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f4f0f6bce7843462c0404c6c9ed4f8bd9a64b75a30b160544d1ffeea9e6799f +size 489749 diff --git a/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GR_struggle_loop.uasset b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GR_struggle_loop.uasset new file mode 100644 index 0000000..ecfe830 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetHit/Anim_GR_struggle_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c62e0a99397270e0d3a1543a4560d05fb0cee05f553960686c1ea4331dfb17 +size 321172 diff --git a/Content/3583AnimationsPack/Character/Animations/GetUp/Anim_KD_get_up.uasset b/Content/3583AnimationsPack/Character/Animations/GetUp/Anim_KD_get_up.uasset new file mode 100644 index 0000000..70222ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/GetUp/Anim_KD_get_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da07aa952db6c570a498304a2b73ae0cb793f8b7a8c1a27e74319b791b101e8b +size 892071 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL.uasset new file mode 100644 index 0000000..afffe40 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fc58e42286863e6f4d29713bd72e34213310f1beddcbe653c169592252eb51c +size 392104 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_fall_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_fall_loop.uasset new file mode 100644 index 0000000..d2dd42b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_fall_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50daf92475b648e8310707de6f33b9af4d9c2b4f2e9158e15c587fa009704172 +size 542666 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_land.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_land.uasset new file mode 100644 index 0000000..b1d36e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_in_PL_land.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ddf2baa7e7b1297561e033c5fba38770dbba87c2d3231e298b4de6015bf3eac +size 425105 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_land_hard.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_land_hard.uasset new file mode 100644 index 0000000..7051490 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_JU_land_hard.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b32a99bf7cab596eb1a74aff7ba1e4dfdb5dbf36a8be65751edca1b6c61bca +size 1023676 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_L.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_L.uasset new file mode 100644 index 0000000..650485c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f0c7a68e4774578e580b7f0e8959ac862e92fdee38a83fc8c3d24eda81a0e5 +size 393470 diff --git a/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_R.uasset b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_R.uasset new file mode 100644 index 0000000..57157de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Jump/Anim_R_JU_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a8517a029e84d15c6da6978ffce3808bd3bd1a049b8d6cefb66847b9a8956eb +size 391135 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_01.uasset new file mode 100644 index 0000000..e690b29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af50e3b38d58dc26447d818b1200990fca91e5eb74fc208ec578097ab354c3db +size 428064 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_02.uasset new file mode 100644 index 0000000..a790cde --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d81cb3969a9a0d587d76b38761647f495ba17024e29545679887e14281d2938 +size 9577457 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_03.uasset new file mode 100644 index 0000000..3f269ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91ce62fbf7906a45cf19a1b632b75fa7a5dab28a0e8a0ad80a0f3773ce756598 +size 9966942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_04.uasset new file mode 100644 index 0000000..2cb1ebd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdcd694f994a7e52122deb05fc9f4e4bb07ab519f3d20164a1d0c7ddec91a2ba +size 9472140 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_05.uasset new file mode 100644 index 0000000..b8b9d1a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:187a334ac28709a19cc0be905f8dd6a69d710c27f8e3c732fe7cf84faeaf4e42 +size 9607927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_06.uasset new file mode 100644 index 0000000..bed35a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7445fbdc9faefa35aaa47c8e06a5a245739c36628260f4f1d3ce8234e80b07ef +size 11237308 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_07.uasset new file mode 100644 index 0000000..4e3c55d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3d5896544dad8af08e125b45770989e4428ed88890e54f0d1141269e1adb868 +size 10639276 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_08.uasset new file mode 100644 index 0000000..7ba16ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c707836ca9110e480d616b7fa7d8100be5bb52b28429ae7b2a9026851aefff1e +size 5828061 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_09.uasset new file mode 100644 index 0000000..fbf367f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dfefcdccabf87913bdca904ca9d3f2b227c0c2158c445128c76fe34dad1dee6 +size 9419443 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_10.uasset new file mode 100644 index 0000000..dd6a92e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39faf61424f8e78466e489861b5c31fc296c4ff87378170f40c7daa0c481d085 +size 7268985 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_11.uasset new file mode 100644 index 0000000..54d7ed5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efc4892cbb1516db846bf72facdaa5884c431bb5df0f0ef128271ea7816cf202 +size 10165255 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_12.uasset new file mode 100644 index 0000000..d6e7e3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa76da9e8488a3a27ac27a47e09ef75e728b5369172ace26b4be3406b510ec70 +size 9066538 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_13.uasset new file mode 100644 index 0000000..28abcb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a302ad31c4810143fdc69c3c49f985fb8d334a6b36814f8e775872676ccf3b27 +size 7501507 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_14.uasset new file mode 100644 index 0000000..5e5a92a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/001_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5b36d2056dd3ce151066abf37a808797db49db185b8891279f075f09daeda79 +size 5222621 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_01.uasset new file mode 100644 index 0000000..f096d43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af4ec9e65537f0c024846979d7dbe57d362f6fc2cdba1b8b08043c35b50b154 +size 874523 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_02.uasset new file mode 100644 index 0000000..6ccb12c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86d0156e07ae4666b3d67aca153e4275bae0285a2fb5ea221a4b456b88a5fc3f +size 788654 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_03.uasset new file mode 100644 index 0000000..463ef28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:902abe2cd6a517f225ab6f9382e592e85cb4c84a20dd16994ae229db3f8a7b6f +size 537623 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_04.uasset new file mode 100644 index 0000000..c93e701 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:876f853f125fe9b405f9047242751f200a9c316c3a30065535cc9d09af93c3ca +size 1194274 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_05.uasset new file mode 100644 index 0000000..e5300fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07fe49a1f0e857ac430695b63618140c2c9adaab8f3b511819d47b7691e80928 +size 4014090 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_06.uasset new file mode 100644 index 0000000..29c2e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93b61f15b161eb180ac9059d017fe2507019b9f2394ffe729e4a32e306807df3 +size 4940912 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_07.uasset new file mode 100644 index 0000000..f55efd4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:804998b1189b4e91f0425af147fa39c3f779514b0c1802b3eff81c2cc786e4a0 +size 4885145 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_08.uasset new file mode 100644 index 0000000..b13c3b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0eaf34866d3ef2bea1d92595e0e56f1c64f3a0d430c31c5c3c73aea2ddb131c +size 3348347 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_09.uasset new file mode 100644 index 0000000..b9a964b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:906db98b72f47e29ddc7f70c7b65a59dcadfe24dd76a25cf8237b952363dcca9 +size 2421044 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_10.uasset new file mode 100644 index 0000000..d6a7173 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/002_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6fa2a032949672db5acbd044c4561de70db6155de0a6faf339878955faa85f3 +size 5713450 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_01.uasset new file mode 100644 index 0000000..7c2c6c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a438e91ba64cf48f7a5c9190e7e73a693c97db084c942c60076669830aa5325f +size 1070147 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_02.uasset new file mode 100644 index 0000000..c8eaacc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:465ac603a70576a0f7ed2ae9db24586a54ef9e524c966076f1d5342b88cfece2 +size 932231 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_03.uasset new file mode 100644 index 0000000..56f6659 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f92cfe316fa470e3d2974b0fb8eccb3f350e6fdc72da12459431d485fac335e6 +size 10042431 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_04.uasset new file mode 100644 index 0000000..a894116 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/003_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2557b83f79283c0fdd7aebb9db69e6b2138f3c0825fe133245db1d5d36592a1 +size 10427092 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_01.uasset new file mode 100644 index 0000000..0bd5cc5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ab95292945658f8ed6db54d32aaa9036b7dde1b287ee28606bd5e32c83b1f29 +size 1403341 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_02.uasset new file mode 100644 index 0000000..e04f84f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f1e9dfab1a21d81f666a4b320c4d4821ff84b33d5c315d308d6c6052070173c +size 2593353 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_03.uasset new file mode 100644 index 0000000..2e484a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bf9dee1e58390383f38f3719a3b20cf6e3d9a56aeb9a5ab86cb89918d71e1d6 +size 1117929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_04.uasset new file mode 100644 index 0000000..97dc185 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bab36044bcd630be1de77e53bf1c7f74b58aa85a357cc559f0a30f93d36896c8 +size 2784853 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_05.uasset new file mode 100644 index 0000000..ec10be8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d520ada59574a1f9f44397bac5892902abf99c2c19bb79213abbb41642a841 +size 2154508 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_06.uasset new file mode 100644 index 0000000..5743e6c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:811eac1ac033c405039135bae38912b79b65b77e95de03fc16a487048bb9a954 +size 2116332 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_07.uasset new file mode 100644 index 0000000..ff20fc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59e8fc6dc58fa718e89937a42a8d1b0197ebd34c90449d0a3d32094e9ac9ec45 +size 2787118 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_08.uasset new file mode 100644 index 0000000..5d53b69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:393f4ea83249bea288f45eabc3e5b2fc25dade36134eb42fef666a1d3b0a0725 +size 1742800 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_09.uasset new file mode 100644 index 0000000..d3df761 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62236964c1cb705394804134f6c9807a3d6da5a67b1a5d1f1672f2010fdb2111 +size 2572481 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_10.uasset new file mode 100644 index 0000000..542d8d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c32222c68ecf38adbcbbb8d86dbd87bb36f68f1d80ed13d9531e176026700ac8 +size 1896927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_11.uasset new file mode 100644 index 0000000..3b4cbac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1fb5aaa87eedfe4309155251eff61375acccbabf25820d164d5af4c45b0816 +size 1433945 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_12.uasset new file mode 100644 index 0000000..b5f1600 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a689fdd5c97a77c5c9373387c36477b16c7dccd552d3b468b655cf529cf2806 +size 3048407 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_13.uasset new file mode 100644 index 0000000..33f98c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28620a5b41148c06bbc6df8cfabf6c998692a0a817a50f91042497ace9f150ad +size 2533854 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_14.uasset new file mode 100644 index 0000000..6de19c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1711baa992fbaef1bdc1e5294580f9ef21a52b2f45a09dbf6e1e4869a946eb +size 1554817 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_15.uasset new file mode 100644 index 0000000..c241378 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7684f5b4a9551d03748214ac2a80ab418128166bf8016aed70019c9dec4bf0f8 +size 1344824 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_16.uasset new file mode 100644 index 0000000..41c6900 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8ee60c6c90762582a4fdc996201f188ff880154b6cb979462ab9788bd0ec33b +size 1314901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_17.uasset new file mode 100644 index 0000000..7bb164b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9562fb4f4bde0693d1f95375d1d42808b2ee7cdc8359c37f38d5156c3cce8dea +size 2422021 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_18.uasset new file mode 100644 index 0000000..6c4ee62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9390f8926014a84195dc3f0bab99c09b5068886cd7ebcab060396d3ead532d +size 4067880 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_19.uasset new file mode 100644 index 0000000..bf3f545 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4c617f1fa720d288ed5c69cfeb5cc0da9caef50756f21954aa1ed0e0a9f7117 +size 2043553 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_20.uasset new file mode 100644 index 0000000..5002062 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/005_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cfa2ed6ba23a88fee997fbce17a5dc53973328b41c68a31600db2406829ef31 +size 2515707 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_01.uasset new file mode 100644 index 0000000..19a644d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7184ce0fe1cb866d40553f370af77dbabe1c6d71aef3fd5595a921b56c17fdca +size 1171522 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_02.uasset new file mode 100644 index 0000000..bd9061f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87459bfdaa2d81dace22c1e3024ffd606b2c117f0e347425c0ce376f94a523c3 +size 1661203 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_03.uasset new file mode 100644 index 0000000..5be7fc1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fad9f902e861636db7604ebb1d8a87d2bff843dc03b8a278b3749f5fe98979d2 +size 1253319 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_04.uasset new file mode 100644 index 0000000..0aed564 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e1d29bd91ebe7aec8bf90d51b3a4202b74fbe3b49f14d8b6c314888b0583fa6 +size 973721 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_05.uasset new file mode 100644 index 0000000..d861a63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7baf49d57dc2a2bc260d1fb90b82602704a03d69897be93ee75be3c0e3f893d +size 975820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_06.uasset new file mode 100644 index 0000000..fdd8533 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c5fa0115dd2176fc58f4005131b27150df215798091321f8169296a7535c738 +size 979497 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_07.uasset new file mode 100644 index 0000000..90b7753 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7e4cb3d14f4c0a9dffcefaedee5ee3de0a5a80c53c457a7f794d62aa52d36f4 +size 1391096 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_08.uasset new file mode 100644 index 0000000..9977448 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b5b2d0c34e85ba70110ca636af0f0cb71edaef62a4b259608d11d10101a5e3b +size 841238 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_09.uasset new file mode 100644 index 0000000..69ad75d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97fb57f2fe104f4518e0bf91f4e171575a28d51e19e8574285a6b3d2ebe87288 +size 750281 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_10.uasset new file mode 100644 index 0000000..a669bfa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1578ccb865d0137620da27a1e5528d840aa7a93e5dfb754162549ecee20ff13c +size 2586247 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_11.uasset new file mode 100644 index 0000000..1fdbaa7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:778a8f04564fcd5a4f4dd4b8b400021cc082fc1cc02d1b16e48064cac651aa18 +size 2663460 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_12.uasset new file mode 100644 index 0000000..7a22f25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0575ff54688b15c113ae11351513422630338c5398e4a818b4cb38d6ed59c1dc +size 2818519 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_13.uasset new file mode 100644 index 0000000..d7069ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e53f4502686c35b841a677e087286c164d423723322f6e7b455a9cf90f3e5a7 +size 10824691 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_14.uasset new file mode 100644 index 0000000..7b8bfda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e4d6d26a0d56deaed39252a440090e8b9fe6e6e5d29f3c56e3fe064d7cbb5b4 +size 1202218 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_15.uasset new file mode 100644 index 0000000..4f6cfea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/006_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99a966a121b28a8cc0a1f0bd7c4260c459321edbeb965a1754fcf303f4dcad96 +size 1332812 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_01.uasset new file mode 100644 index 0000000..63e6e91 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63aa60ef7eccb3ab8ac73ef5f16a895bd57d5b73ec38704eaab8b5caa452a6fe +size 831589 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_02.uasset new file mode 100644 index 0000000..5c00b0e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32d87059466c4d4ed20293f0c2cbdcd909cc99caf0786b15cf8f7023d63a94cc +size 850566 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_03.uasset new file mode 100644 index 0000000..3db911e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccda87e385948e0490e092470ea3c9ce9db8e61cbb2d5219c56e6bd0c721aa27 +size 982498 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_04.uasset new file mode 100644 index 0000000..0132f1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7a8be021011ed4a94444ce59dfd1d9c1ee9a588217ead3fb7283e2d8c5f7964 +size 1087509 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_05.uasset new file mode 100644 index 0000000..fbe618e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cc3764e4ed58df066d33c138f877f69c48d0f6034fd4f375e10de3c53ee3343 +size 1215500 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_06.uasset new file mode 100644 index 0000000..0a19957 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87e580b83abeef4b608b5a966227cbf3d76f2a51fe9e61d8a851076967102f53 +size 997155 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_07.uasset new file mode 100644 index 0000000..e47d49a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d823b7026b02b4482c84c37b6b566ad02457233b44f2bb394882409979f3bbf2 +size 944351 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_08.uasset new file mode 100644 index 0000000..4490f81 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94524fa30c0324d05996fe17d8dadc800fb5112b8d6d0a78278178065d73e917 +size 917699 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_09.uasset new file mode 100644 index 0000000..1b38395 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d0a32d0ac46cb7e32dc1231408769e052509b6ff477480487b3e3a7115abcee +size 800124 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_10.uasset new file mode 100644 index 0000000..b4408d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d4a6532ccddc46fac78dba6a2f045d8ab5257868c2dd7fc3e99e39be57e2e7 +size 797108 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_11.uasset new file mode 100644 index 0000000..36295a0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a107a81e370b83c2a54fb1a122b41bb64b39e80619f0c4a99e2a87ef8c60ed3 +size 805849 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_12.uasset new file mode 100644 index 0000000..c377878 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/007_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a731e5a97aa5af36860eb39bcf33d961c8f4fc4c480d559a84e82d046c5ae77 +size 718344 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_01.uasset new file mode 100644 index 0000000..0fe5095 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3171207a95347f6d32dff5a2a14d45adca08c67147813c9d20d24b5355d23dd5 +size 747590 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_02.uasset new file mode 100644 index 0000000..47982cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01580d426b1cc5d7a64b93de665a23128fbf7f5a7766b0b7f59326851b8370b +size 817917 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_03.uasset new file mode 100644 index 0000000..484fd0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdb5daaab4ede6b9265a312942bcde3cbc39f5f7b63c1f4d11106267ad9a2c06 +size 904530 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_04.uasset new file mode 100644 index 0000000..fb08f28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:103bb9e54b9f7f9d3d3ce696086065bdeb47914fb1d8a84b575120b7b3e81e20 +size 1174930 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_05.uasset new file mode 100644 index 0000000..0615a23 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6700c5bbf5b007c3e73722a8eb1ca087c6a096c86493bb737bd969c9d362091f +size 795771 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_06.uasset new file mode 100644 index 0000000..1002974 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25d704d6e061fec9c39993690be563de5979fec189cb159373ce137c5b274cec +size 795334 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_07.uasset new file mode 100644 index 0000000..c021f8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0df55b3ff7fe172accd49b805a73899e3c6f781f0da2b19974e27858a7708656 +size 815455 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_08.uasset new file mode 100644 index 0000000..d448fc4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a28702aa192756da48312e34caaf55dbbef19c3a36078611d6b9d85a9469809 +size 749668 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_09.uasset new file mode 100644 index 0000000..e50e5fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83d6744ba8ba54ef8e61245699523b5230ab3494ea4a9505bfb362739ab57fa6 +size 778299 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_10.uasset new file mode 100644 index 0000000..6604bc8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5feb220f1373ffc18ebfe5eaf4272e58f54acf9f8ae21b67212881b2bf35f740 +size 740237 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_11.uasset new file mode 100644 index 0000000..fdae6e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/008_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d21d539c9100d269fabed953a60fdb11c11db8cf812a299859a0499e2d8c4566 +size 956974 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_01.uasset new file mode 100644 index 0000000..c869b6e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9522e2ac21facf60ded5a8a1e27431ee7b08e95d7e62981f0401d4df7b21ff7a +size 477541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_02.uasset new file mode 100644 index 0000000..f2fef5f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25f36701abbc9b9e071e16cdd0a7258c9ce6c894cbf79d09592cfcdb44265145 +size 438101 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_03.uasset new file mode 100644 index 0000000..ee11128 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:febf799ccdd506418a5470695840cdd9a965f394df2f3a9243e6f9266b894c81 +size 438936 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_04.uasset new file mode 100644 index 0000000..285eb4d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:737fe2f4ee0e2fba4ae94985fb08d726aafa891d2109127791e67df9d71e6928 +size 463367 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_05.uasset new file mode 100644 index 0000000..36f1916 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c87b4c3b43b93d4a8513f5e49f63f10d772ee64de0fbe230e4fbd1c945a1ba77 +size 463434 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_06.uasset new file mode 100644 index 0000000..9dba0d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1e871004a9bec7d02d9a6c2a33172c11aa02d63467972ab18278dedf92ee9f +size 466905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_07.uasset new file mode 100644 index 0000000..38c3112 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54f890193394a19b9439ab979d8db6885c4ed98c05956000725ac3d3ff60c6a5 +size 462441 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_08.uasset new file mode 100644 index 0000000..6599244 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75e721c6f0ff7866e31e793edf6f5a9de5f62887f3dc1e048b2e38f0834613ff +size 440684 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_09.uasset new file mode 100644 index 0000000..5069084 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bc4934f569e37f2745b56f8e60701078c14ff8ebdc5f11311eb07abbc037edd +size 468610 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_10.uasset new file mode 100644 index 0000000..d0a717a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fdee18b3a5ab9dff600af8e635358b3d1ed8e18f7f8d788f763d8860fd35cc9 +size 453865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_11.uasset new file mode 100644 index 0000000..d076014 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00cc7d52765f29a91559d3633d104fff310c5433c2c0ca6bf8a1355a9d9da772 +size 501774 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_12.uasset new file mode 100644 index 0000000..41db9f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/009_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c0ad49709394e4b2ddcba627236fa840d3bcf4fdedc5086f7b1c080e5d53752 +size 4332440 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_01.uasset new file mode 100644 index 0000000..77a4768 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f533d3159a42f278a25ccf50b6969b464f255d1af367376bb7321719a7b421d +size 1837801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_02.uasset new file mode 100644 index 0000000..f707990 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:910029ee68833e15a9d60324daaf6359364d1bffc92cd6949b67e02b2c863e32 +size 1418922 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_03.uasset new file mode 100644 index 0000000..687f1ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f76c0e38958bd677373eb1fd709cba7d37375cb342d4f7242ecd77a7f8b7e3f +size 933982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_04.uasset new file mode 100644 index 0000000..066c88d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd85e58f7af9cc973ab2a16b3c8af786ad94dac1b41d5fecb2f2669d052946fc +size 1284121 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_05.uasset new file mode 100644 index 0000000..236f514 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:130bfc18fb3147ab7aeceb2e5cca3176420897027b679bd15049e05ec58f51f2 +size 1092315 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_06.uasset new file mode 100644 index 0000000..25f4344 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/010_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1c4bebf502416effd7fd8ca2e36747c0c1c03bcd4ec958763b68f9008ecdd0e +size 1363218 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/011_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/011_01.uasset new file mode 100644 index 0000000..dbec087 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/011_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0def93b0f61fdf489ea59fb2c7d9a21ab94c43fb64735eddc4bf60f3691b089 +size 1417509 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_01.uasset new file mode 100644 index 0000000..fc038e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32c92c31c838a7404b834dcff93f6667296c9b00ffab7310639b01f9e8c646ec +size 1223712 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_02.uasset new file mode 100644 index 0000000..3329c19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2d735db3ea09aee02ce1af1db0639690bb8a95003f222ecb126b292f1b8d380 +size 1535575 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_03.uasset new file mode 100644 index 0000000..ff9b788 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:901e762a7e1a19ec6cb2a266c412eea857efdc2d32eb3ba6019d785377245814 +size 1337960 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_04.uasset new file mode 100644 index 0000000..1b642ac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/012_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:499922adccbda4fefee37a51efd43127f2011a55f92a47e3c48d29d3b3aade3d +size 38346907 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_01.uasset new file mode 100644 index 0000000..ac35977 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88560aa6ec97ded3e04722f4e62021a041de81ab326e0db27e8716648217f3aa +size 5168532 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_02.uasset new file mode 100644 index 0000000..b499d63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2f8e4cb6b4f2e18d4cd320c5a1ffe8c748d17c2a2e8c98f89b4485e59e9fc5a +size 7645051 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_03.uasset new file mode 100644 index 0000000..e6f85f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e6079bec74b10a0138d8eee3f599357bbd6ad77e8ede7367e083f9c3c834207 +size 8090274 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_04.uasset new file mode 100644 index 0000000..29b1055 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22406fa08a1fbf6fe83d7e31b61a6f517bbac31ca211f904f20a6a38f372a267 +size 10465896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_05.uasset new file mode 100644 index 0000000..102ce94 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fc0655915316d5ca3bd9210e8ccb753331227c69710e87c65ec3f6b674bc007 +size 9729690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_06.uasset new file mode 100644 index 0000000..13cc840 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5da5a1206e26a56a3fc5f1c40fc71c71d1db5314400ff1f83d66850563b268e +size 9686408 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_07.uasset new file mode 100644 index 0000000..d84f8d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5724ca95b9ff10cb74edd695c1ac41dcb4cd139f14f499ac49ab92806bc42f6b +size 2980222 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_08.uasset new file mode 100644 index 0000000..5adf987 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90063d79e93d6216992fb0fcfe94762e7480252d940b4191eb3269eef4be17c8 +size 3315727 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_09.uasset new file mode 100644 index 0000000..bd98d12 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f3d0ae2e91de4ba74d2b1a75ba480e1e9c8c7c1915e1ec82cd3b78edd9e0e83 +size 2287045 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_10.uasset new file mode 100644 index 0000000..a865225 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00da99d9abf784e0b505d26b45339567f98faaa151d36db56450c2d3785fd55f +size 5293154 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_11.uasset new file mode 100644 index 0000000..0202275 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78864d4a2a6af883c884169cceac2175c2df2ea3c189e4a1adddf0185bb80039 +size 1015484 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_12.uasset new file mode 100644 index 0000000..3c54719 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607061424e9f0485f5754a59f25b1943ec5acc979f75b9f415e91f84a3322d97 +size 7415777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_13.uasset new file mode 100644 index 0000000..793d64b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dce8b346ca7bb66f3dad80bde7f51a5a8470c6362520f599f29655e0810c417 +size 1082297 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_14.uasset new file mode 100644 index 0000000..6e0fca7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09e7798698b5bab464942a04957e1aaf07e55c7da22a46d36edf5628f15b9d52 +size 5331885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_15.uasset new file mode 100644 index 0000000..aef57db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0333b29527bd13aca4366b3fcb0fd4dd459c387e4559219594b6200547712503 +size 5256977 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_16.uasset new file mode 100644 index 0000000..0008ae8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44aab9581ce629f857910205e55d63e1bb433909a4bcd0c48546a8ee68c0a38e +size 5083287 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_17.uasset new file mode 100644 index 0000000..16ab4e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:952f6d8190ca4661335a8bbc7440989c78b20823aee2ab1c384ac3108938e085 +size 10608105 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_18.uasset new file mode 100644 index 0000000..466b38c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb3fa555e0c4c32d22ac3a041c61cec23d63249e7c4e4ad92d8be866b0321d95 +size 6528776 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_19.uasset new file mode 100644 index 0000000..4427668 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d779ad7ab08f42dc17847fb14fbc7eca84db7d37087ea9bf14d1df758c7225af +size 1066080 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_20.uasset new file mode 100644 index 0000000..76e8598 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:418228e9ed4d9c85d47e6fc48d9cb642b4537795fb314147221d309fc0398f5c +size 12128852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_21.uasset new file mode 100644 index 0000000..583d4c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc26b943bcb6262934b7ebe1a57d369d9aa9b6280ecee1ef1126e32554d064e +size 11499942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_22.uasset new file mode 100644 index 0000000..37bbb7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d853ebd7c8e04e12af6f4c2559cf18f491b0288c140e213166df1f57543b0966 +size 10271945 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_23.uasset new file mode 100644 index 0000000..2f2d906 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:949b4660d1171700368a68c231018e94aa257a55006df5e73f9de10cbaaf47bf +size 8899451 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_24.uasset new file mode 100644 index 0000000..50ea42a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:248d7fc5c78656d74bdde41ca7b1278052a77b5002cf73b0a83f2f3dde20dfef +size 8870041 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_25.uasset new file mode 100644 index 0000000..c52b52e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0745b0000cd95cc2b1c97653ef5df0b741c84fd2dc7e6f684a226f9817e4b848 +size 8817369 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_26.uasset new file mode 100644 index 0000000..09e4642 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:413844546dd46bdb50a6e7af1d07911116faebd951dfd90af2963781ead90b90 +size 6708714 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_27.uasset new file mode 100644 index 0000000..6ec0607 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e326f2b9bf2159d67340866fe0b86cac46dec4a104a7ca0515d46ccb6c2c8215 +size 9228705 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_28.uasset new file mode 100644 index 0000000..40203ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc28309284a6ba9b09d235dd5437b062a77bca0e15aeef4d1f8cd0542557402e +size 9026739 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_29.uasset new file mode 100644 index 0000000..39d5374 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c3e594fc565af7133d621ce2330d02de25900dd0b4f73046ef9d46605554135 +size 10001697 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_30.uasset new file mode 100644 index 0000000..4f46136 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f774066f6f57b0be107fbea5f40fb4f9a322d24e35d1fed8dc8ef46e669705f9 +size 5417091 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_31.uasset new file mode 100644 index 0000000..9cb72b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e7b2308f0070d4cee309a4dbe933bdd93cadcfb8aa36ee2b65bb1eae5fb4828 +size 6683046 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_32.uasset new file mode 100644 index 0000000..8f560be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0197289232445e6877099136706534778add781bb546b72c7007b86bbf7b5adc +size 870968 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_33.uasset new file mode 100644 index 0000000..1db5fd2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34f12fe067bb8da85414a100e5325fb1dfac33a8875a391da66a108a338d43ab +size 3377573 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_34.uasset new file mode 100644 index 0000000..63c60bb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31a940e00b4cdebaaea155d01ab0f7c61d4bc55eee66956459228291ada69916 +size 3206779 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_35.uasset new file mode 100644 index 0000000..ded767d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd10ff638884465c8905e2e47907150bddc9789dfbfbdb19bd389fec7054d7a3 +size 2748237 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_36.uasset new file mode 100644 index 0000000..98c27e0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:029847efb392cab89c74658ec9ba708d44d1e9c0b4ef805a47e560c5a94a8c18 +size 3123278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_37.uasset new file mode 100644 index 0000000..1a134ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7236d23a3dbae7eecd5c4468a90e0f38b1fbda0d49571db125556add154bfc9f +size 3357910 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_38.uasset new file mode 100644 index 0000000..542a7ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97e3da126da4e7a57f02cd390787e747695ffaea7369c50925d01c0fe721512b +size 2860337 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_39.uasset new file mode 100644 index 0000000..c10656b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8866a9eaf97c78c06bdafd4b321fe880af83bd6409b059385c7e1249d0895c +size 895642 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_40.uasset new file mode 100644 index 0000000..bd2071f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c84c7148f32683922529d8ff8c4bddffeacb4908e31371b4c2ca966881e59cb +size 812852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_41.uasset new file mode 100644 index 0000000..7d38439 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a97e6f2a1ace5dca6492cabcba0e7e2d8ce9b86fb2a3f553a50f7ee06edef562 +size 926437 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_42.uasset new file mode 100644 index 0000000..3641612 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/013_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1e78174e4f488c542e9764ee90244debc9300cf5d1e6ee83d920631cdcc1590 +size 1018569 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_01.uasset new file mode 100644 index 0000000..7c5a472 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0491e6a3e13ff37d39db801cf4ac968e48a335f70293af7f61c8a91ff2e2d0b0 +size 12092144 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_02.uasset new file mode 100644 index 0000000..972b316 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1450213463b7b968f88aba014bc4364158529294b3c9a89a69af2be0bd833ddc +size 11683485 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_03.uasset new file mode 100644 index 0000000..8e285d4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92f326c79cdfee84d1033beee79355bcdde503ccd11b8fbee7cce4416670064f +size 12017637 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_04.uasset new file mode 100644 index 0000000..5287a61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54bdd1e125863ea0ede4310375080058a13de38da84259f07a8b62cb259f8762 +size 1698010 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_05.uasset new file mode 100644 index 0000000..fd598df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f22912b530516f324407cf7e023ed921b37570fc1bb62d16f0aaf75eeb38213 +size 1839836 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_06.uasset new file mode 100644 index 0000000..fc4ce98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92af24a8f810fdf2cba4a38eb82f2f980051da5f6a523a6367d72e87413e0e22 +size 11677248 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_07.uasset new file mode 100644 index 0000000..9613512 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bbb7d3978314e05a153135f47918ee0e2472d702febd08603f42d0ac65ad2f4 +size 4928414 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_08.uasset new file mode 100644 index 0000000..d0ff4bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf2f2f1e11f8ff097d5da1622c51be4c7f859e474cb6580cd13f7ef079ae9048 +size 5799429 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_09.uasset new file mode 100644 index 0000000..18e43eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f338a09f1faa34cf27870ab3e2b15fa649c625bc9c6ab96abf94d6683a848c +size 7207525 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_10.uasset new file mode 100644 index 0000000..62fc9f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:397ff131ceb2becc4a495e37e4fc588ed4e6a6956d1d78bf8fa2ad98977cd5bb +size 8969834 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_11.uasset new file mode 100644 index 0000000..aae63f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:759ece1a538221c593c4bea9138d010a782d9a39dac58a59728d5a75e4c042e2 +size 8970002 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_12.uasset new file mode 100644 index 0000000..99f5870 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa6ea29eccebfe92b5bfcc5624290ea044caeffc63a47de7bec92c101f72415b +size 5851826 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_13.uasset new file mode 100644 index 0000000..6aecd6c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d21af4fb7c4d305061c30300ab78df84791450fdf4ee1329034a77d3ec8609 +size 7242679 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_14.uasset new file mode 100644 index 0000000..3ce8005 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbc02231085a8793327aa9f05b6ed5e1d397612e8418b91c76de250113d5f9b3 +size 10091977 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_15.uasset new file mode 100644 index 0000000..b7fc458 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bd081f1b2441d287c1909a2a4df58a4b031afd00db4da118856bda2c17c5f8c +size 9959315 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_16.uasset new file mode 100644 index 0000000..afc8558 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:234502707f229abf9844bc9f0e1841975a505d9e24253d43d7beb3e372517347 +size 12432217 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_17.uasset new file mode 100644 index 0000000..bd0fad7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a28126c6d40dd1f234529c1e5e6a8007806377da24e5760f4d258ee40eb7675a +size 5452394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_18.uasset new file mode 100644 index 0000000..bf955d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8a7f074e747a318cf420e3515dd74afbe4b249a178f068ba30480c2405813b7 +size 6917272 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_19.uasset new file mode 100644 index 0000000..6a1d90f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fea9546cc3879824ffb8469ca4055410e99f7a71bad4906b3d5813b150cba5e7 +size 5988996 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_20.uasset new file mode 100644 index 0000000..3c98ae6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a3830a7497e1fdf95d0be62ee05ab5e551f2252fa17233b4a3b543dd7449d3 +size 10111228 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_21.uasset new file mode 100644 index 0000000..0861a07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90348b994b34f7ccf985f78f0233b6c9e4dff827b310b70b6b52ebbf1db2b6ca +size 2771503 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_22.uasset new file mode 100644 index 0000000..1849259 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:481a566d952992966a5ba8a8e49c4edc143cb1aa536cbffb68a0b5acb6762d38 +size 2780722 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_23.uasset new file mode 100644 index 0000000..473a2e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:076fa8ae53bd3f776e33f3da669fdad9473b9c8467f496f40a3a6be098c463ea +size 2992434 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_24.uasset new file mode 100644 index 0000000..22916cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:278ce25b1ae21ade4d912c1aa69935538c7a41d9e2c282b4d1c882b95c54de55 +size 8036699 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_25.uasset new file mode 100644 index 0000000..6050173 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d94ec573239fa681611997471626187acabb475271acacedf428f22f10c284db +size 9738786 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_26.uasset new file mode 100644 index 0000000..e8f5158 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bc204385c8aaf0c099916bcba55954702b3eee49925f5e69b61b7ce1c67cd2f +size 10349173 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_27.uasset new file mode 100644 index 0000000..bf49d70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e1ff4c1469fb54a2514765b31d20d3042b44f7ffeca7b54de5be7f051a65f3a +size 4805717 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_28.uasset new file mode 100644 index 0000000..e72c492 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:829f99a7c8823aa24d52eef26f0292ca27a50073d9d5be0e12e7e1aa1d5f97df +size 4591828 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_29.uasset new file mode 100644 index 0000000..0d27b34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72a82f396819e34d3864f011c4b292766b353c141acc757deb82fed97dfc677a +size 5615615 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_30.uasset new file mode 100644 index 0000000..7015c88 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f8cae8b027ffd51a664de973c105b4f5c1a414499650ea41dfde8722224ef19 +size 5748070 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_31.uasset new file mode 100644 index 0000000..6b68fa0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31914e5d915f34865afc8b2ea9c68e0fc028c3ffb372edef664c7c305e67598c +size 4694018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_32.uasset new file mode 100644 index 0000000..9f6fe9d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:518aa26a863f88420631bf95fe07e4f5e51522c44699513ce6bb7539a4a07ca3 +size 5823195 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_33.uasset new file mode 100644 index 0000000..bcc9374 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d50c3ccf92346a5c5d848709e7e93dcb9711f5b20fa748482a33b1eb778bbbe +size 3139262 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_34.uasset new file mode 100644 index 0000000..2ce9ecd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2930f4af69d563df3f0178db6390074a4ae6b4fa923f2d6de4df9c731d16d72c +size 3240758 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_35.uasset new file mode 100644 index 0000000..e12cb46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a39beb7fecd5df93f4f8a7e7c4588a3672fd8a45d39d735a17069b6d057452 +size 3598026 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_36.uasset new file mode 100644 index 0000000..b42d7ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a49c164942291cfbc6677ab8f497123ba961948cfabc20d61826878477f0f3d +size 4694018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_37.uasset new file mode 100644 index 0000000..bf83ea8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/014_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34b5d350d4981b5b3196ffa789927b5e05bcb8cc4b701b6b3f31b17f4f45d0fd +size 1196305 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_01.uasset new file mode 100644 index 0000000..5dcba39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8d5baff3b8a82645f8035d392c199faf7060d9688932025c96164cfe0145aea +size 12256725 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_02.uasset new file mode 100644 index 0000000..2d3a7ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa7ca5985e700a9d1e412542038817d8d64d5c6f703e87d6c7bbe26cf5f028c9 +size 49392269 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_03.uasset new file mode 100644 index 0000000..5cb049b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21cdf5a50cf30b2bf18c379d819620b960a6511f7b886c324635c74b63100a91 +size 32316975 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_04.uasset new file mode 100644 index 0000000..60d2f8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85388139f08e6134400e16d7db66572a1782e9ced7255cebce69345ade9251d6 +size 48536066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_05.uasset new file mode 100644 index 0000000..42109bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:606e6ddef3ee34ea8ff00cd1075f5f390bad97d2251cb6d13530e465fcdff849 +size 49209672 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_06.uasset new file mode 100644 index 0000000..c4dd667 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d3d08a20632ccd8706fdd4a0bd22419732124c20dedad9a96a3f21074bb453f +size 7572999 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_07.uasset new file mode 100644 index 0000000..eceb77e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d88003f30e2e51184f7fa66b3b427193a0a110595cfd8556da6827ebb0f6b5c +size 11581177 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_08.uasset new file mode 100644 index 0000000..50d7665 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22c821c66a8e4cf746f58f8ceee375f4e8152b1492ce0aa475d021d3ac7cf5d5 +size 7842278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_09.uasset new file mode 100644 index 0000000..b6a8ff8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6963fa91207db2d9c5aa8e6a17dadfcbd2a9311759a73c6c9af9c6c300f52a4 +size 17196507 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_10.uasset new file mode 100644 index 0000000..1454864 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66e9bb1ddebabde4d2a2439a3ddd81c29aea5488f89c20494a9ddc48477049f6 +size 6219850 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_11.uasset new file mode 100644 index 0000000..366d848 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:867ab1520f1e48b53c1d9f01766f0911cda15812ef838e131922c7a2992006b8 +size 18976065 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_12.uasset new file mode 100644 index 0000000..93e6d62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1ddf9b64c82ac7c1a675f46ca630b93d61767bfab13b9bc93d3580cdd45c250 +size 19378986 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_13.uasset new file mode 100644 index 0000000..5f50bdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d34f4dc0000dddd3448d99d1b7835afb3f31b472cf202da5edb2ea8c4225865 +size 20116813 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_14.uasset new file mode 100644 index 0000000..ec53d91 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/015_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8443341a83722eacc028662d63f8ebfc7080bed6f1f30104794c0052f7828cbc +size 19561462 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_01.uasset new file mode 100644 index 0000000..61e4ab9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e34c5672b041f4eaf848f7c02fe54a368c487f9f79944990861126a0c5894360 +size 812880 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_02.uasset new file mode 100644 index 0000000..05f58fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fb78683fa2f05b8de8134f2d4a6daf5fce766c073aca7576620e130d311f27a +size 1102230 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_03.uasset new file mode 100644 index 0000000..34eb458 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1922ac11408995d1ac023cdc9e88308caf3c770684f8fedd3ee22f31a759f49a +size 1013299 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_04.uasset new file mode 100644 index 0000000..b4e33fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbaffa28677c96e48a4e23fc649dca369c935d0f5b17f916a5a364120d5033f6 +size 960266 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_05.uasset new file mode 100644 index 0000000..61ae7f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6125523bb9690a4097193717068b5587df7d3054d3320b2293b26656e33c7091 +size 760266 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_06.uasset new file mode 100644 index 0000000..189ade4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:761e4aace8180edb491e85855f7d9d978c1de2e087ad6cac4bb694964406f4ff +size 999334 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_07.uasset new file mode 100644 index 0000000..0db6976 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06ff5ea0efdad3768226da4504d10f430ae95adb410465898ab5a4b2415a5a96 +size 1038384 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_08.uasset new file mode 100644 index 0000000..de1772c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e27764cbc2ab126b61ed718fe7d38bac6f9a4b22b08fd5a59ca7d4b865841ec2 +size 650161 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_09.uasset new file mode 100644 index 0000000..1e2dc5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa65473743db902c97e82a12d70bb0eb8b1c0824ba32c53195b7bdfcdcc99928 +size 1222630 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_10.uasset new file mode 100644 index 0000000..4d858d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3951b5e2a429f76c8aeafb8298086bd9e482e17dc699df9af90e432dc813c73a +size 1144504 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_11.uasset new file mode 100644 index 0000000..77e4ec2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be02fb736e072d0c5d6711bbefdf0d20eff87b470d7c098642f69749b7cdb576 +size 1286384 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_12.uasset new file mode 100644 index 0000000..7902c17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4d47a633b0f86de8b78ebac15209d7c0868a20e6898f74928ddcf4c0df67603 +size 1082815 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_13.uasset new file mode 100644 index 0000000..b2f3027 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2160fd2a13bb8ae3e82b2cbf724399d5885c86ae1aba49c5236ccefec36a18b +size 1037439 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_14.uasset new file mode 100644 index 0000000..f860841 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7d8ab9dc538b29b89c5a1ea6b34debb5e1a90e26a00ddbc0c9ead5762d6cf74 +size 1148278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_15.uasset new file mode 100644 index 0000000..b876949 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a6351313b2bd2e5201cf5169337765758e85d2f1aa148d7215f6f4bd49183f +size 1113056 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_16.uasset new file mode 100644 index 0000000..edd40fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a4585434528cbf7d6f56aa95984f0d4f2f6eb471db4fa76088dc658d16dc46 +size 1212018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_17.uasset new file mode 100644 index 0000000..8a0885b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccf5b5c841786441aa4e5d1cc2b167ec4b04cbff064f3840ff495ca7640ff8f5 +size 1282378 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_18.uasset new file mode 100644 index 0000000..84e77f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3684477b09d1fce01d5518f107cca896f18b8c39616903a21f19e44ac7d50820 +size 1282162 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_19.uasset new file mode 100644 index 0000000..1acb7a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e52bd0d2d9e8cda2a4bb39f1b2bc5d5116923fd5535ba595c0f03e32693a8292 +size 1054824 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_20.uasset new file mode 100644 index 0000000..b9eb4c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d78b16d60c5cde95e6a84e526baf13351e1d64581eeddc62092834695f5af7b +size 1236284 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_21.uasset new file mode 100644 index 0000000..75a1f91 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da451ccf308d3747158c650d7904831ebf574843117b04886a932c19d21ed8e6 +size 797942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_22.uasset new file mode 100644 index 0000000..28e5a3a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c64432d4bb243623033d545ef63dcc484e83d05595a2c3c9064c866c124fc2d +size 804475 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_23.uasset new file mode 100644 index 0000000..20adf17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec211c9ea38beefa7da83ed08e64eed6bb107030692ffeca4d30252d725660cc +size 781858 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_24.uasset new file mode 100644 index 0000000..4a4e94e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3778c36f49496f4a95e64d227d11105d023b67a38d47f06ff6513ca3c2a68315 +size 803681 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_25.uasset new file mode 100644 index 0000000..5702e19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7efb628d9851e220fde3af4f1b177b3ab82cbf633f28eb7a256c166f27722328 +size 746255 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_26.uasset new file mode 100644 index 0000000..09cc6ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c37ac0a306f62f4a6825b1d4981ef93e79a59ea728d415f579ca791b0490f509 +size 726492 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_27.uasset new file mode 100644 index 0000000..f2453c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb1572d7c0aca0a63abab9d5630f4ed2e7821664a60538c7500229adb2356b51 +size 699636 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_28.uasset new file mode 100644 index 0000000..3633cb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b102958f724ca9e4812c579f4da63fc7a6d89b0fb82d709a912406bd9b516522 +size 744560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_29.uasset new file mode 100644 index 0000000..aa300fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e35b147325809167f617923049615d7fed7e67f3009ce3c9dd8ba4f0c44f13f5 +size 768544 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_30.uasset new file mode 100644 index 0000000..b679714 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cbf0d3a1848ff95ef55b408c68c5b45de8810dd28e9a5a942d81a064a97da9a +size 742179 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_31.uasset new file mode 100644 index 0000000..a2085db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22ab68bd04e2add757e8b6ba5d28ca4ec3ea4cc85247b98079b01a0006427b78 +size 1036484 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_32.uasset new file mode 100644 index 0000000..73aaf86 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a416f53cd034be4b92ea894f3f9cb2f6d48c1b74b5d92b427d539c3560b01a52 +size 1347123 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_33.uasset new file mode 100644 index 0000000..2196aef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:748214f37fb499e67bed9aa823cadf73abbdf6a824aeaf4604ab61f2c90082dd +size 748290 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_34.uasset new file mode 100644 index 0000000..812babc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04fad8b8ec52db4678f6e947d0a312d53ff56f2e2facd3fffdb82301e4b7c335 +size 880231 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_35.uasset new file mode 100644 index 0000000..0313767 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ccbfc2f4792d0efb73f279e6e47896d63cf30364585f3661bf74ed637c616c +size 503495 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_36.uasset new file mode 100644 index 0000000..0cdf979 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:564fa9b4ea5d0cfa6ba3933fba75ee421e608cad5a597e6bc1a12868b9862baa +size 551483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_37.uasset new file mode 100644 index 0000000..77fae6e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30ab05044b43485f698510cf54dbf0fd1ebcdedc9756e61fc2c270fdbd7de43d +size 552674 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_38.uasset new file mode 100644 index 0000000..e8d3c3f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d9fa67276c529fa95258b68074c80b70b31a7478009107e34a6c6dac52ff03b +size 503531 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_39.uasset new file mode 100644 index 0000000..285b0b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9e8d5aa5e7a0ff02278290da7f23d26676f462e435749704e7b6ef1f2cb0469 +size 455818 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_40.uasset new file mode 100644 index 0000000..92d4ed6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d46ed04a03308eda5e84176640ba09d3658089886e157155108a5e699d32ce38 +size 539723 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_41.uasset new file mode 100644 index 0000000..07cbaca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:417ac813446bb87bd9d796a114a374b7fbcc61c7cf8d75e8642175cd501921a7 +size 507170 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_42.uasset new file mode 100644 index 0000000..cfdddb6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:322ce1cc8777d2ffbc810a850c2c135e542444df7b95baf346ee120edd3af045 +size 591642 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_43.uasset new file mode 100644 index 0000000..3fa9043 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ab02ecc0b75f315d09c1a3447c53141a9ee8c195c675db0ca6b016e168eb34c +size 561377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_44.uasset new file mode 100644 index 0000000..974b092 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e8a0dd46ce89f55b61589eebed8aa837c2958c752acc117310173eeccc7f824 +size 607072 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_45.uasset new file mode 100644 index 0000000..2ba77a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55d1e491f412468145d390cb6ddb404279853f51975308e169d02c9e352ad090 +size 444289 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_46.uasset new file mode 100644 index 0000000..9ef9beb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afbed0c4aa249981d834ba430fac5a463c41326f62112e9b4f8f983ff755e4f4 +size 463905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_47.uasset new file mode 100644 index 0000000..b54c92f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8540ff5ef997678ce7d78d220fb90005939081d4c094b62848b69493468a287 +size 1020245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_48.uasset new file mode 100644 index 0000000..4a0e4fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25f347bfecb3de8419ddf2384517dab9e18462a85761760135c383734fd59aa +size 437307 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_49.uasset new file mode 100644 index 0000000..fbb5197 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a7a9bb6963f77ba8fec1c68d06f522c89cc770262204c2b177edf64e4dd8f24 +size 425380 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_50.uasset new file mode 100644 index 0000000..1798d9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc9e2bf8c5a80026f339e7a3d9e3adc44d631bfca0d2cac936be79869c62f98 +size 438708 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_51.uasset new file mode 100644 index 0000000..f5012e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0982f632ed0c0748cc64a2338dafeb3f015203a922410ca2989627ca8aff5576 +size 535062 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_52.uasset new file mode 100644 index 0000000..d0ca6e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe60f1743c7ee56404a75ecbf92efa499fa4ed624742b638f555e06f8f7ac3d +size 535388 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_53.uasset new file mode 100644 index 0000000..95eb0b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c95253c57a0550fe2b5225c0e5b517a8fbc3d839c9d41d8b13a6cbf28b4d9140 +size 462375 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_54.uasset new file mode 100644 index 0000000..1ea074c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b855d4e829a57b70266e6e9b2ce1d1e96db41454de1396196d5da74d3fdc0b43 +size 443293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_55.uasset new file mode 100644 index 0000000..dfec3f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9404366e5007c914db173f023d385992502698d3d797fc60007e4a45a59a2e24 +size 552512 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_56.uasset new file mode 100644 index 0000000..da7347f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f166eea46d6d15f3abcf2f9e4d40dd8e5ac1b45065e92912952dca6013ff9577 +size 518818 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_57.uasset new file mode 100644 index 0000000..f33359b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26262af6575c164f6bf20c53beeac4fdaf3e01b869c170fccce833a7e5296672 +size 727600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_58.uasset new file mode 100644 index 0000000..0c048ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/016_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8282c38d19f26ff45b2270734ae88fab35874accf5ffb18f071fac4f9e6cd0a0 +size 857861 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_01.uasset new file mode 100644 index 0000000..9ed8939 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f72a34d78d169aa43602062ecc63486612325ad7edd1c2b3271c2627a0dd58 +size 13809551 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_02.uasset new file mode 100644 index 0000000..83eb265 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff552b9ce246244b4a4c9062cb41d7a89cadf27023a73c4ae12c8d119c7d5415 +size 13981564 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_03.uasset new file mode 100644 index 0000000..8483fc7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30ee2abc95ae1a01c2b5af6d6d6e15ae6b99b0c7cbcb9524d38ab20147b2c34c +size 13913308 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_04.uasset new file mode 100644 index 0000000..114694e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1741a6ad6a20488ddb30c233984c95865b39c6ea3917c9176a15c3ea5a1bdf1a +size 14023792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_05.uasset new file mode 100644 index 0000000..dde4cb7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e168d23317dff6c39ec50a578a3367c3936965ca12cffdbf6242af360858e19a +size 13777056 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_06.uasset new file mode 100644 index 0000000..d5b0759 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d73e5ceb4277161ffb4f9af6d711b92f16206ea8600a4f27e43e2954dc18a630 +size 13683361 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_07.uasset new file mode 100644 index 0000000..cc96324 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88fcd5144846de74e4faa969b6203c175d1ef1db0e867ddf2d432ff8a2ae0141 +size 13914538 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_08.uasset new file mode 100644 index 0000000..4a842bb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41c8ff6a70ed745aad1ddc1d49f1044c49ca95243f8253c71e05e3fd90941e20 +size 13434637 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_09.uasset new file mode 100644 index 0000000..9b4c318 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a71f9d122051bfc7ad133da13637139279894dd31ffd2eb8d3198f7db02192cf +size 13220265 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_10.uasset new file mode 100644 index 0000000..ecd2356 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/017_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41e84c58621ad90216c77989d44c7064fa67ae767ddd587e3950ad6790c911d2 +size 6153136 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_01.uasset new file mode 100644 index 0000000..b4e9826 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5486f017b691738a3ad28daef08f01cd15ff20f8b56380c392545a433850ea03 +size 801726 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_02.uasset new file mode 100644 index 0000000..975ee51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49dccf25a5a364570be835d68d3fc0eac7f5c6c54f39588cf4a64f4933b4a6a3 +size 807162 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_03.uasset new file mode 100644 index 0000000..d07d1ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68872646ee4d9d0738ba13f03c53515f3290d73e931267c2a1b09c32900a767e +size 1398963 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_04.uasset new file mode 100644 index 0000000..b2a73bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba88a78032b4ed22f93c44e6d9ecdb30e541b22a14eecc5f9a1913cea2c9a3a5 +size 999717 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_05.uasset new file mode 100644 index 0000000..c36e3db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68270d0dca522a4b7b023b2f7ae23619452ce9d323f76276a14fc4e062c0b3d3 +size 1098761 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_06.uasset new file mode 100644 index 0000000..2a8e0fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb818e8ea20cb2effec7932e3b04a321928fe3f1d5f81634fbeb6f2d17d1664f +size 993610 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_07.uasset new file mode 100644 index 0000000..9a3275d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d531ef85f4de2b9371f9d6b1dd2dc599a223075731ca57e3970df0066eeae661 +size 730024 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_08.uasset new file mode 100644 index 0000000..6b7e0c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9d1e49e0fee5f2247c65b90a0c4145457709a10d99c5232427b0e24f3c646dc +size 4561514 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_09.uasset new file mode 100644 index 0000000..d0a79d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:704a595487823445a7a490b8bf1f8c52d4f6a5c0a119471701508364fac830af +size 635650 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_10.uasset new file mode 100644 index 0000000..254160c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:842e84d927425e884356526085405e42076a40d4e82b0d304289d4badee8ad8a +size 4074825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_11.uasset new file mode 100644 index 0000000..e3d82e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126b10e10291c6c4952f7aa21c75e01bf5ea85c840526886e94f3552318d0a4b +size 4299083 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_12.uasset new file mode 100644 index 0000000..096d353 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dba78f232b1c7f6329c7dbb1c049cad884406717cbf9c7ebf5205f2c194c7f38 +size 2764495 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_13.uasset new file mode 100644 index 0000000..0d10051 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1597ed8f970162c0f3c18eaee21bb934e731b1cfb6a639fb9161225bdcf11226 +size 1181866 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_14.uasset new file mode 100644 index 0000000..55163ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:221a089f6600d9b64cd3c9ced83d6d5a1fd527553b5d894844b87ed1818b33b4 +size 797786 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_15.uasset new file mode 100644 index 0000000..d26e0b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/018_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea35e962a11516b894fc97240e488f332542269967434e301156b48e048b62d +size 3301532 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_01.uasset new file mode 100644 index 0000000..afe2a14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06fad0139a4ad543a8076350e8c7393676fcce2daf42026fa51a0312be083741 +size 801939 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_02.uasset new file mode 100644 index 0000000..27d1295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ce8087af16c02269670fedc9a0afd8fe648add39780eb531c6a49141d8c10f1 +size 813777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_03.uasset new file mode 100644 index 0000000..457f4b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ebeb049f9caa3235bfbbfa31583f07e9b0d0be51113e841e536f37cbb97e4da +size 1433050 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_04.uasset new file mode 100644 index 0000000..4e2fdda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed15b7960d46cd4a54e860709e7b741f2e1e6569e060aa07dad9cab846fff0c5 +size 1012600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_05.uasset new file mode 100644 index 0000000..fe6a606 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a253f9a8935a9baa3bea73f7cbbf8d63ebe08a22a4ce6925fbaea986b36cabd +size 1075440 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_06.uasset new file mode 100644 index 0000000..ff3e050 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83c13896a7bf8541dc2fb35959519269f3a5a99ed92dda21f3f21f3de0140df5 +size 1045735 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_07.uasset new file mode 100644 index 0000000..59b99b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35bf8b29ed4138100ed33b8931dc6019931a6729808354285462586b60a7e783 +size 759022 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_08.uasset new file mode 100644 index 0000000..954e008 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a632910683aba55f4c5bd05ce30251d61b69efa4de8e943926ee3b6d1ce5a6a7 +size 4394631 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_09.uasset new file mode 100644 index 0000000..3031dfa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67e5a860404c3a20e1af53cce337943321176dbb3b581036de833e8d3ad00e65 +size 650126 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_10.uasset new file mode 100644 index 0000000..147fefb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce51fa59a29855158d54c9818967c5ddc710943389ee5145732fe4cc4ab9282b +size 4074649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_11.uasset new file mode 100644 index 0000000..393052b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb1de37cc49ad0fd191618bbdd1f7b5c8cbe8b22c9a3b3be1c3d7c8a01550e7 +size 4299393 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_12.uasset new file mode 100644 index 0000000..22d59e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5463022a1aeab6400dffd796285cd77f2e551b1e7ced88fcf89c40fc4e543754 +size 2875054 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_13.uasset new file mode 100644 index 0000000..f682455 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cce5f5773723f975f48c2e85ee0958c3be919be332d5d24f999b79d75fb685a +size 1164562 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_14.uasset new file mode 100644 index 0000000..1ab0c27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dca1c9b22f20ae4e2727d7bea9528ae61520dfc4f18690d95f4873777e6b5b98 +size 890308 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_15.uasset new file mode 100644 index 0000000..9325e85 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/019_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73692f6940551ad1a3858af07f2c5c57f09b18bb78426be7797b680f9c253c01 +size 3461602 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_01.uasset new file mode 100644 index 0000000..73390aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e37ef668dac18de4362a7aa53e71e66f1da19abd7762dc8894c72af28cc5d6d +size 422081 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_02.uasset new file mode 100644 index 0000000..efd19ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daa98ac8e2f416c8f61ca48d3708fa74da002fa8f74a381420920b308e2c2212 +size 639082 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_03.uasset new file mode 100644 index 0000000..5abb5a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:450f5a72b56d4d5fd0500f92db1cc2797c685f17eccda7db0474cc061365c5b4 +size 738353 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_04.uasset new file mode 100644 index 0000000..25018e0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1e42eeb5d6912591067e68dfd50869317dd7680f534c67c4b0fa500d7314d2a +size 703952 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_05.uasset new file mode 100644 index 0000000..dc15b49 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af3aba53557f4a76b5c7c1e0d240a7b6a9d7715049222dc379ae0114db913023 +size 646571 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_06.uasset new file mode 100644 index 0000000..d09232c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91292df733dc4cb2530b0081e6fd9c68a4c70641f2a3f1ed78bf7d9ea4c200ee +size 791454 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_07.uasset new file mode 100644 index 0000000..6eeeb1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adacbb41dc042c5046d0b8e74da8d798ce1d4e82f3ebbda04d58febad0820b66 +size 673202 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_08.uasset new file mode 100644 index 0000000..7a5747b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb19012df9fbf325e6232806dbaa3714b41289d97db6c81ea1560305e685e61c +size 635653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_09.uasset new file mode 100644 index 0000000..df28f3c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:251eee4df472cf9d8a03de7690839cee5d55212c0a61cc90ad70a75acdcadb51 +size 1589611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_10.uasset new file mode 100644 index 0000000..be3533e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787e8be5cc9ad6bba0905b15d378cda93ee23624d0d96b1296d3c536eb5ce71f +size 1268786 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_11.uasset new file mode 100644 index 0000000..83f4d7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee1c37c2cbfb3c43c738e52eb43ce9bc22f92dce3da94578f2e35e687337b82f +size 671600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_12.uasset new file mode 100644 index 0000000..4839f74 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1c0f77fe9d5ace132dc7e56a4daa4c3fd401eb8fc81ce6af7fb3902a00233a8 +size 684541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_13.uasset new file mode 100644 index 0000000..3e9dd17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/020_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e4985a250cfa1cead94e78ca076c9eee65bcee95d4f7a7c5de376b4e9a808f4 +size 3657103 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_01.uasset new file mode 100644 index 0000000..19434b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5cb6ac913f56cee990e67d60f99ac41fe812b44dd71ea70234c2c471f682736 +size 2894500 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_02.uasset new file mode 100644 index 0000000..a396e34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6b8c452a827134e941e87ab7c6840cf422fd774e6ecc411e849a1e34256564b +size 627624 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_03.uasset new file mode 100644 index 0000000..796781a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:991bd4dbbea82cfe09ced6f759f41d1675fc0fc078b6a44fee88066f500d3ae4 +size 732220 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_04.uasset new file mode 100644 index 0000000..b5d82d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63abec5a59bcf65e7862fc5f2675693c992e8bdf675f85b212a3a5d3087f0d3c +size 699792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_05.uasset new file mode 100644 index 0000000..ad0d86f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f7e662cfe7b028f0dbd6294586f3ebe4401b244e8392b8f068110e61dd06b7e +size 650150 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_06.uasset new file mode 100644 index 0000000..2a0b0c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:475edd0fde2d24bfeeb654e2150c4a3362ebbd6bbbcb5289df738d49fb475ddd +size 800262 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_07.uasset new file mode 100644 index 0000000..c6a5c6b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9638cde99db02945e1c161af75a722ea3ab93b7088f2cec0779666e6a4365f76 +size 676806 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_08.uasset new file mode 100644 index 0000000..8eacf3e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d02c8a255f6a6c151ed157bd232ff58a5069fa7dc3af222a61e046dcfe853ca +size 629962 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_09.uasset new file mode 100644 index 0000000..a3572ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c830a64afe60cbabd8145e2a1b66e7d1eb8cb5aa035143f895ee7a527f757879 +size 1585239 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_10.uasset new file mode 100644 index 0000000..152b346 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b5644663a477ea2fae4c9c8c6940310c3a4de94e590c4884384609a4081eb7 +size 1247368 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_11.uasset new file mode 100644 index 0000000..cf67712 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fea7e0db1e8dacc9c928338e7215eb244fdeb042398df299c62681382f9cc69c +size 658379 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_12.uasset new file mode 100644 index 0000000..67f6983 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b2fbbbec4640134db46035beb2fba4fd73e87a8cd77fb0f8b893a9a7a4b5b29 +size 704533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_13.uasset new file mode 100644 index 0000000..4e8aaed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/021_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:859dec8869b5c6d62ac922aa614b999a9ba9cc22c989e1609527af5b359c740a +size 3683314 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_01.uasset new file mode 100644 index 0000000..1e786d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90f570c5dfc6c725643b37f42c031c23be4ae7e36982da1fe1cc4ad7429fe6d3 +size 1884997 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_02.uasset new file mode 100644 index 0000000..4b6a1b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d8534e4216155d43d72beebb1db3436010b31de9ceaa71b879758ef8e97fbc9 +size 1147183 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_03.uasset new file mode 100644 index 0000000..ef33e27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ebed9fbd2f3eaad12cbc58ecf8f7408de5cdb089b1337586ac32d1efbc57d6e +size 1775165 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_04.uasset new file mode 100644 index 0000000..880c489 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f5f73d50ddee61b9ea8621c7060a70bcf9e2b9ece42b0d9b834f514b89c5b18 +size 1295377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_05.uasset new file mode 100644 index 0000000..1e0c7ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8599bc560e4a28afbec7852ca718c454b4cd886cfb93df131ff310a4c658e33 +size 1266149 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_06.uasset new file mode 100644 index 0000000..1c8d075 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c07fea14fa544c8832b2e7210fea134a49cf08a539f98f33671b36610cc4b07f +size 1236858 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_07.uasset new file mode 100644 index 0000000..ca80f11 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0f5aba7da7a20c520ed9423a884b5b0b1ac728586c3a78c0d17ac1847ece207 +size 800009 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_08.uasset new file mode 100644 index 0000000..a5b452e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:245fc2b95a542bc72ff24bf8e0bce21591e7cb39eefc1a817e842e0614e6721e +size 662098 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_09.uasset new file mode 100644 index 0000000..26ce12b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:099252ceeac91c7c3fdad7584d50583e7ca4de51177a5b48740a5e873c0756df +size 1254909 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_10.uasset new file mode 100644 index 0000000..e612849 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed51554083a4223aa7a232a04756119b062b73762dd03236fb221f4034fdb0bc +size 1257131 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_11.uasset new file mode 100644 index 0000000..01d804b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:764004ef2af4f7eb657a52e720f4e6b56ac22bbd8c9dadcc0f8256d2eb251eb0 +size 1250530 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_12.uasset new file mode 100644 index 0000000..98ae036 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb79b01bb2163bd45d273b4af02fbed45e447371d9136b5b6b0ff4ce0ea30a8d +size 812596 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_13.uasset new file mode 100644 index 0000000..ab5e6d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:774d4d25dddd6a1ac7f56ad2e12c9d5a0842a4ae22c8705c46f2ad684218bab9 +size 2052659 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_14.uasset new file mode 100644 index 0000000..2c044bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaaf3d11cb086f9eed19f2572bd1b95a8c91351dbfd68bde80bdf93b75aa6f98 +size 1525885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_15.uasset new file mode 100644 index 0000000..28c78de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2f42c229259e115d34021f9d59ae899f00452e364f2bd09e129cbd1b4b3478c +size 1183658 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_16.uasset new file mode 100644 index 0000000..3d55d08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9454594007755ae8040970bb7d4d42f3feb136848a5888cfa6d952005c918820 +size 1083003 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_17.uasset new file mode 100644 index 0000000..b5e2df3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc43cb4f98b89bcf1dbd2b3d6caedc323480497fc4b791be6d7e24919b316108 +size 1849151 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_18.uasset new file mode 100644 index 0000000..673e6ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78d8247c587b1a20d70e61f113ecfb6213676f9f41dce6dbaa728541d23bf512 +size 1225772 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_19.uasset new file mode 100644 index 0000000..dfb8e13 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c631c6577b32d324c6209d776f1d4ab91d5405231f61299747b3d542f2ba78 +size 1127636 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_20.uasset new file mode 100644 index 0000000..232f68c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f125a26bcd84282154777246f502b5b278fddfd3d1f62b9bdaa7351a77663a41 +size 974513 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_21.uasset new file mode 100644 index 0000000..d2f3a4f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:506d83c0054a8622bf0cacc6f075e92e02a9bd7969209169051063618e891596 +size 936049 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_22.uasset new file mode 100644 index 0000000..729dcb6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6efa5f860c159f8cf7ea75df27ef7f938b0159c43977655269af7913deec1da +size 559801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_23.uasset new file mode 100644 index 0000000..ecec335 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:093f7e7db3595706d2dce6d04934da424ab0cc973d5907741a2bbc5b8ee694b3 +size 619930 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_24.uasset new file mode 100644 index 0000000..e676c1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99be1c56f67518b178f76592946d4659c5fd9604c7bf5795b63108bbf979c8a0 +size 618248 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_25.uasset new file mode 100644 index 0000000..b4b88d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/022_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42787d6d4f478f8ab91cbeebbb7ef65de68fed3ef557d0cc964f022d88efd525 +size 532517 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_01.uasset new file mode 100644 index 0000000..9a98f93 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01617d2194ce34072e159be82522a594cdec11d0bdf22fb4726f14b93856959a +size 1776035 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_02.uasset new file mode 100644 index 0000000..7b817c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:decc96eda62a9a2a4f70a41ad86670c838139ec5c46f4f644be4685af31c704b +size 1185944 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_03.uasset new file mode 100644 index 0000000..547f543 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97533abc590eab4c081155e06208347d3bfd760c7577cefed6e9d670edac005b +size 1905818 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_04.uasset new file mode 100644 index 0000000..341d23e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b79c5770f7c270dd678cc0abaf378d06095f4279377e23bbe9a903fdc91cc23d +size 1261179 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_05.uasset new file mode 100644 index 0000000..7c08534 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64be11d5fa1090a46deea86ee3a5d5f1cbaed901b147195c4d0c813da720b14d +size 1231681 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_06.uasset new file mode 100644 index 0000000..68e2d64 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce8d59b1f9c1be9b6ab08cdd0224d736cc03231ace77fe6b1446a29fdf57e10a +size 1147083 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_07.uasset new file mode 100644 index 0000000..38cdd2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc5b0204ae3d8c9bd5d190d9cffa8eac3c6f65d6fb2d17d4f9502d435793b3cd +size 761037 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_08.uasset new file mode 100644 index 0000000..2209b6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6371e8a46d323a53abdb71db8a0224b794b3f2b996c7787cda537661313f02cb +size 656753 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_09.uasset new file mode 100644 index 0000000..eea8c8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddcb25a90daf3e08dfdf381bc852ec6e322631f82b020d992cc900d3fba973bd +size 1275121 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_10.uasset new file mode 100644 index 0000000..6c19940 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:713c449d13ac1306d56ab4d1be4ea7fed2b1d58bf3837ef99fbf3ce161b50dd5 +size 1228521 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_11.uasset new file mode 100644 index 0000000..339c971 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:824e59853d8fa0ccdeee1b03f6cdc6d773385262534a480cbcab42a3ae501067 +size 1289756 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_12.uasset new file mode 100644 index 0000000..81ce5f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66b2fe345b09a9664c3959ee7e872cb91c26abff527b73208c13a2876dc495a +size 788069 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_13.uasset new file mode 100644 index 0000000..07612fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c9304ad83be3e47ee761e499197eaf3806bc29e84f842b91664578114e0a387 +size 2075923 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_14.uasset new file mode 100644 index 0000000..7a594fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa7b1b3f3a8ca6d585559e0c5217e7367524a5b6b15284d85ad79081f52b08db +size 1575341 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_15.uasset new file mode 100644 index 0000000..e889233 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5a71fb49e742ce9952b9ea044299f7f2bcdef11e9a9edf8fe2cf31761b2f0d9 +size 1216972 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_16.uasset new file mode 100644 index 0000000..7788d71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2bc947a40bbc7fa5a6a78073280c457bdb0e580e28b97c4ef8cd7e35c3b012e +size 1087259 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_17.uasset new file mode 100644 index 0000000..c578f14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9db2874dc2d2c28113db734c4d1d64a3393e26e7e412ca42e9e0a099426471a3 +size 1948905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_18.uasset new file mode 100644 index 0000000..7ad0cf4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:595502df1cbaa826e116e425871e20d7d5546607ac476cc74ea9659cb8ae4b68 +size 1275453 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_19.uasset new file mode 100644 index 0000000..c77fda4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d75c572308f46f64680e5b2aa92ee9ed066d0e83d2c997a5a1f8ae2c9800c22 +size 1151906 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_20.uasset new file mode 100644 index 0000000..1944245 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d75ea082b295cf40ad100ae4cec56c887cca65600c5edc204806683d866a9c58 +size 985586 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_21.uasset new file mode 100644 index 0000000..f25efbd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7142e57224f48eba0d2aa7c5cd9ac50e4b3af090f3a0d3b8aa0c74a58fdf5fae +size 988801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_22.uasset new file mode 100644 index 0000000..deb60bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85b01e23801b4feaf108873f68f82008715a8086a7c051879c33bc44b18967c1 +size 541419 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_23.uasset new file mode 100644 index 0000000..83741dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46ab6171b28ecd76f32c1847d4da49819cd1331ae68e8613674b28b4e9193804 +size 611273 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_24.uasset new file mode 100644 index 0000000..c9195b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc6c0a69a2f64cbdac796c363e387cd88253a8a1a164e2da4b5b9f9f400cec36 +size 614334 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_25.uasset new file mode 100644 index 0000000..6eb3220 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/023_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b137db83a4d0fb8ef114b75d4cc7589cf794b7685ea9df65a3e83a2655242df +size 529448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/024_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/024_01.uasset new file mode 100644 index 0000000..9c50047 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/024_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adff4237a8897c256d8425493400cb5007a0870c14a4329bd4aaad34cb81d237 +size 4550397 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/025_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/025_01.uasset new file mode 100644 index 0000000..83ac78a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/025_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91cd087c2fb5651e876c6c5a7c14588d155cf773eb03ac4b17ad4fb9f7365bc9 +size 3488969 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_01.uasset new file mode 100644 index 0000000..bac740a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f59a32264e59d30c2872d0d1fb7c2d189f3de2812dd81fb0b46ba3d36eecf064 +size 1963774 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_02.uasset new file mode 100644 index 0000000..d7abfee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b98042727847c440632cb35a0fba2f9f5d2fba123414fcf20c5c6e68c88fd28 +size 12837537 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_03.uasset new file mode 100644 index 0000000..38eceb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd2c5fa20023a555b3752f5f243dd41a4302bdb3ce3a3246dbae22ad9a992a3 +size 4931653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_04.uasset new file mode 100644 index 0000000..82b7fd8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b850a60667f3bf78985fa8c3297931fa62630011c7b169951956dd935caebf19 +size 4780189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_05.uasset new file mode 100644 index 0000000..ad5970a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19fe999e7c822b4b3428250cd7103a77d6e117bb3d9d6fea0a8fc2aba44f8a27 +size 7921774 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_06.uasset new file mode 100644 index 0000000..76b2180 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834c10209e319f713348e2bbc9ac4f84b6c109d59207921571faad37bd4c154e +size 7824897 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_07.uasset new file mode 100644 index 0000000..571669c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a5d8c439e898452286cd1822cd11782119eee5e1c5cc0893965209a2d905581 +size 16697649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_08.uasset new file mode 100644 index 0000000..5b8f050 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd1431a904e9ea3e4f1870db753660fc0dd0adbd7b12a768c7a194eb751eea16 +size 16510345 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_09.uasset new file mode 100644 index 0000000..f552c11 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f09f415dc741632e71074c8147e0968d1136268a7088c5bce8cc4d71e1721270 +size 1724250 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_10.uasset new file mode 100644 index 0000000..d1d0027 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f45ce740c466b8f0ba3dc08dd5211473162abe9d3bfe11c7100ddf3271565639 +size 1633271 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_11.uasset new file mode 100644 index 0000000..35faca8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/026_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ee0969ffd91e350f1856165bd4317c4668a45610cfcfad18c1cfbdeeecc5d7 +size 1229795 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_01.uasset new file mode 100644 index 0000000..2709c76 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9f669f7a43ca905bbfbb4d2f1214d2b06fa2574de041c85324010cbe1a7bbfa +size 2413875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_02.uasset new file mode 100644 index 0000000..04bef48 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998efc96cd2a4a7e0101001171c73e4f70399f4361d35b5a721874d80b7cdf52 +size 7577212 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_03.uasset new file mode 100644 index 0000000..f4cdce1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac6a4d1831f6f14b58296c43c63afcf3d8ce7968a172696cd5a642a7d033f21f +size 4729250 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_04.uasset new file mode 100644 index 0000000..fb3659d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4adcea77902d40467d6ba0878b6ccc1f9ba4f6c77debba19fa3d0b4822913eaa +size 8034674 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_05.uasset new file mode 100644 index 0000000..9378c5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5e29fa1716a4d5821d970cb68b9601e707be79fcc7624a32483b6f323609178 +size 16744272 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_06.uasset new file mode 100644 index 0000000..162341b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da8ce8f191e45b2065eca63f6dc9958fedabc8518eb7fb630895429088ed0d7c +size 6203956 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_07.uasset new file mode 100644 index 0000000..b7ab1bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6406d943ca93c0e1bca398b1caabcad871fad74a2d2ad6b12f0d447c9e4aeea +size 3954747 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_08.uasset new file mode 100644 index 0000000..4209fcc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e16c3bd726c7142511dfa253a40074665ba90dd419f2872e8a4fb56c8a4dfa1b +size 7714770 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_09.uasset new file mode 100644 index 0000000..d84dc77 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee68d723d2b0b3be8916fc03f80fef7a5749f16a270299c6c19afd1f527b454b +size 8160162 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_10.uasset new file mode 100644 index 0000000..692b99f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e93bb7bc806ab8b636b2e92eef39512224b3722f1039e2252d268be2fe8852a3 +size 16969433 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_11.uasset new file mode 100644 index 0000000..4f1c152 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/027_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb958b6d49eb80b6483f4bc92b1ff4deaf87c0a705b3ebeccba08c69337dca89 +size 4296478 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_01.uasset new file mode 100644 index 0000000..0909712 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b97c21c5307cd2349923db6725e2fe75d83e6570261331e709d6dd2700b1eca +size 6881637 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_02.uasset new file mode 100644 index 0000000..613dd90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8bd3a1f68db1c9c733c3cd48f9304217fd0efc768e43a9298d1a091a92297c6 +size 4719444 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_03.uasset new file mode 100644 index 0000000..04430c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aff529f709668539fa4ac872031d96ff51f92f9f58cf91da661e45b6e2422763 +size 8218721 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_04.uasset new file mode 100644 index 0000000..784fd88 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8945d2fa8ebc19d0632836862c04624e2ac2ed95d35ca3c72a63dca7865a23d +size 17246791 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_05.uasset new file mode 100644 index 0000000..0a42c32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e91b083ea354ed4ef32be855962b091643bc8c9d1e8ecd2f0a6f238402d14404 +size 6905592 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_06.uasset new file mode 100644 index 0000000..c336c69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9baa982916dde048ed982cf5a16b1252f85e9900af67e9908728fdadd71c5e71 +size 4881400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_07.uasset new file mode 100644 index 0000000..6cf09a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f267dd618d6816641fe8c941412509a0f38c0179cd288a4acff40e307ea59f49 +size 7944444 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_08.uasset new file mode 100644 index 0000000..1d7849a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e31c4332e9730ad5a28cbf1588b4c67ce761fa13e656e3bf42817b3339ea3ec +size 17216336 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_09.uasset new file mode 100644 index 0000000..70c1e9a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:899f4f8b88b9e43c58633dd030d4238b5eed6cf299c11e944f9f332e9a38c717 +size 3847358 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_10.uasset new file mode 100644 index 0000000..0d057fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:702953983e79e21718b8b257342a5e6dbfec65b410286789681266b011ae380a +size 4634890 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_11.uasset new file mode 100644 index 0000000..8d3e93b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e3d1d5acd8643a8d9ad939efa28f453288a836bf8cb6af5dae94b49a03539cf +size 14430714 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_12.uasset new file mode 100644 index 0000000..6c852cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79c41378e5d7462ecc01771ed1f21b3c49f58a220aa3997c1dbf09e6d51c46b9 +size 11055831 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_13.uasset new file mode 100644 index 0000000..680b7ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb9fe677deee3b0208aa3f4e0e1db5444736a514da888829d016a05aea97bb6 +size 12957168 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_14.uasset new file mode 100644 index 0000000..0ec4605 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abc5baebe623022f25dc1f9b313e3725e74db0fa5667e82703c3710b48124385 +size 8150798 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_15.uasset new file mode 100644 index 0000000..c544bcf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b119fae4e937834a3395587e09063f3530a2f82c9fbe317c85896321b3cf16d +size 7485816 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_16.uasset new file mode 100644 index 0000000..7a494ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbbb68363bdf0ea4b3d233f20a05a9695e1fc1a108537459f123faf8c566b9f4 +size 12243446 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_17.uasset new file mode 100644 index 0000000..3bad658 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cdc5f2069eb002e954ab27a5a5b3b51159015f1cd41c88cf01ae2dde012d7b3 +size 11290207 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_18.uasset new file mode 100644 index 0000000..b482285 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec4f7d5331c4c9727ae2478b0c406710129705fbe68d94a4a071dd94924bbd3 +size 9290631 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_19.uasset new file mode 100644 index 0000000..0523a8b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/028_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:448dc3f91056ef7bdfb0536a725a3b06441948543aad7c393a50d9b7638d5192 +size 9919213 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_01.uasset new file mode 100644 index 0000000..6c9af15 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da0faca86bc4df267b00699dce96fc0860e2e4dfc6c0f9ee577667b234c02da1 +size 3024721 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_02.uasset new file mode 100644 index 0000000..f91525f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c19ba0831fb9a0ba80dc3f4e05804c0e8aa3b86f910045bdbb995b520396b831 +size 6398505 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_03.uasset new file mode 100644 index 0000000..701f829 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80f7823b39edbb90f1d6778ed2e151071536ba4840a8e3fe4e6c51346934caba +size 4820875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_04.uasset new file mode 100644 index 0000000..c68080a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3932924f017c6aa167fd94de2c3bd8e6b3dfa7cb754cf8eee9953245563e1d1 +size 8071265 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_05.uasset new file mode 100644 index 0000000..79de53e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbd9f971c467ffdda9a7433b664f55063c215ee68edf01fb1f4cbacdbcf7aef2 +size 7804012 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_06.uasset new file mode 100644 index 0000000..7168901 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1fa959835704ea5cc8bffbe0f83e0eadece08948ce772b4edf8921bc8ef001d +size 16658692 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_07.uasset new file mode 100644 index 0000000..66c8133 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65cb9bbadad2b22ceb07cd6fa145b3c3480835d9050b9392b9fe1753519585ef +size 6437567 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_08.uasset new file mode 100644 index 0000000..b703707 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90576081323ba7812245c26fee163cba949a511bc17273b21fad3bb9bed48277 +size 4796918 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_09.uasset new file mode 100644 index 0000000..d06e648 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bba075320f834db05dec9b5b4faf04721b702958246cb6dbd316bbedcf969f53 +size 7784514 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_10.uasset new file mode 100644 index 0000000..c8d70df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc463c33c9dea67520bf8ff619314cb50db6a5862c0027427cc0bee00c18e1d3 +size 16534077 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_11.uasset new file mode 100644 index 0000000..5e3efe6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85a7988130b1f8b8b5a1ae223546fda70f28061e7011ef8bb52812d8752662af +size 7870023 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_12.uasset new file mode 100644 index 0000000..f6169c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb127e028c27f291eac0c41fddb25660ca9ab34867d56f41aff4f0f4b577735 +size 31563053 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_13.uasset new file mode 100644 index 0000000..22f1bcb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4609011a00ea86d2008d6acbbc4f6af0714507a4a34f4799db50e715d259da3d +size 30811414 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_14.uasset new file mode 100644 index 0000000..ddebdcb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73a54311de98d312d1131e575333d760f052f20de8b460a3154527eb34756d4 +size 7159656 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_15.uasset new file mode 100644 index 0000000..964f5cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7545a76b8e20e775b43a7caf786716deafc41fd93560c008361e4fa724d613a +size 9295824 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_16.uasset new file mode 100644 index 0000000..2ebd201 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9cb3916bb7e75fd1ee028fcaaecee84da0773653d93a52b0551e59b2e436a86 +size 9233491 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_17.uasset new file mode 100644 index 0000000..b1b87e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ac34af481b45abb41964567b4076676941a8e1ada671dcb57ac2c402e89c52d +size 8972275 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_18.uasset new file mode 100644 index 0000000..74be4bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:048c25ed0d1dbed905c1d68583c05d3182dc84c9a0c9f9e8f868b6aceaaebc4b +size 12445147 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_19.uasset new file mode 100644 index 0000000..9787e2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66258b09d822aa021d202c958a6388ee3a5f252ba072ebb1d8ab6ad37616a024 +size 7576336 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_20.uasset new file mode 100644 index 0000000..ed65b42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33ce780b7598004b490ea76c9d80a5752856f187f4d7ae7da5d1e72b59e3fd00 +size 7998656 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_21.uasset new file mode 100644 index 0000000..a673b85 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7346d150a3d91c0c4c86e98124fe24414fa0bde8eb672f0d15bedfc95a32ff58 +size 8399170 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_22.uasset new file mode 100644 index 0000000..ab64269 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29fe12d7430b310b6eb8b9638a0f6499eaed554af2a092908f328bc1946c50a9 +size 6738499 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_23.uasset new file mode 100644 index 0000000..5c08636 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb213f6f7521f5d499c08ef5e8f7f669cceece84aeb3ca9e5d468639a0414df +size 9654884 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_24.uasset new file mode 100644 index 0000000..973db3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db45c505390e3b5a0c127761c128ca3a3ce671c9551c854f5fcc368d5200c2b5 +size 9001978 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_25.uasset new file mode 100644 index 0000000..42dfa7f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/029_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fa5095af684013f2cdb8de2e63db00c44ff278dc777a3e6c7795be66996e2cc +size 9364621 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_01.uasset new file mode 100644 index 0000000..e5bb4d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd374837caf0f259b8ac04eb4922518dd6b769640c855df8e8d375ea46e6628 +size 6441248 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_02.uasset new file mode 100644 index 0000000..f106a0f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79d6b9dab855b65822ed5ba6ee1f7a55a24824d6a0f25b72afd3b43dd6a962ae +size 5028979 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_03.uasset new file mode 100644 index 0000000..8307e27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f23a7362f75f180fbdeb27d72a610c4c75382fd38e1a175927d52bd95fb2e5a3 +size 8871835 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_04.uasset new file mode 100644 index 0000000..eec49c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa45e3f6901e99b70c5e3c0653ec26266b539ee2e3e05433134b1b1255d99acc +size 7829713 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_05.uasset new file mode 100644 index 0000000..5c0e08e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0f0c65b548be813185179295c8d8c4014c8d94c0598bb791cf93103454b86b1 +size 2143789 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_06.uasset new file mode 100644 index 0000000..a914ec9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29a444977cb4feb8f609740b0e83a1b91e728bbce71815f3a5d839fd58758a74 +size 16980500 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_07.uasset new file mode 100644 index 0000000..c1f1c00 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb72a9abcb7dda5d50e09adb346ffd7870a1f41767c452b378e86ebf5c9dc249 +size 6352822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_08.uasset new file mode 100644 index 0000000..de81050 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc11eb2a9bde0f58c7f3c91ace4ca1524a129edd2a247cea004ef04f3183623e +size 4611671 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_09.uasset new file mode 100644 index 0000000..6414b61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f778a0d5a7747f3ccf2abe706a9cb2aa2a0aa89de3bb47714f7bf7944e10f0af +size 7975347 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_10.uasset new file mode 100644 index 0000000..27098eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:525aeea55b615790146e7ca45684e26440006015247d46a94849f089e38b8453 +size 16838426 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_11.uasset new file mode 100644 index 0000000..8b366ac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3893ba771494dbaea91503647234906327132af23d2a12e36ab81e2f0935dc51 +size 31320418 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_12.uasset new file mode 100644 index 0000000..0aa8ee9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:504efd6aac954f2f86d41f7221698d9078697bb05c9e2586ac9deb3434e93e78 +size 31129991 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_13.uasset new file mode 100644 index 0000000..2ff429c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd93311bfc5789aaaacc6891359eea6e25126a4cdd2f144464a72e7fc24ba720 +size 4245704 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_14.uasset new file mode 100644 index 0000000..08aee6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64b9d64c7e494d9adbd01f243902a9e206929cfe0df6e89ec109dc1190d7b3e6 +size 5521604 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_15.uasset new file mode 100644 index 0000000..b808d78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae46ae8f83cbc1bf792bd836fcf14f93b2ca8ed8a1b90234bc2eb22b5bdee889 +size 6829874 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_16.uasset new file mode 100644 index 0000000..9fe8d4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e7ffe5b4a54297e1fa4cad14c5caf310f2581f35ece136c0e11fd3110082b5 +size 7749435 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_17.uasset new file mode 100644 index 0000000..60904a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36a10ad314cb06a82410040f574602f531ea48e13e1a99d1da19ba410dd047df +size 6108472 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_18.uasset new file mode 100644 index 0000000..87fcb59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ece706b59f46bf3dd383cc1dcc6cef143c93ebcdef6b2e4c0f5b852e6536e3e5 +size 7519699 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_19.uasset new file mode 100644 index 0000000..7918b46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec779f584616d53854a10705cc33bee4794ec9b7b6c046cd4be73d1daf179cb4 +size 8604801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_20.uasset new file mode 100644 index 0000000..7e1cad6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d0523f077dbf10dfa1eb14974a204b0ed6bb8434a531aba06022bef0db52e1c +size 7215533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_21.uasset new file mode 100644 index 0000000..416b6d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dca8755df1788b154eb8a911894b2bd96b9fb4124800bb64b99d96f167e41e7f +size 8555971 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_22.uasset new file mode 100644 index 0000000..8d67cfd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3df9f20cbf0ede1ed6996cb5a6443712af4d0b813f422ee511d934658f3f0352 +size 7074374 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_23.uasset new file mode 100644 index 0000000..d9362da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/030_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42d3dc3557be23c31db4793945dd2a5eeeb44e688956c1b96c1a1b01a178fe01 +size 8408714 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_01.uasset new file mode 100644 index 0000000..4bd185d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc9220bbf1c509903cf11b0d1f6f49a52e5df63e14b56e5249a4e55f2821e40 +size 8033256 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_02.uasset new file mode 100644 index 0000000..2056fab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:231a26af2c437b2f5f48c11c7f594d7b67c7133bc43c8cb55066c8de53732315 +size 4754874 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_03.uasset new file mode 100644 index 0000000..4c00c04 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:def8faea0182703569d7b2d98daaf23abb7faeefc659724283476567eb99f6b2 +size 7916823 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_04.uasset new file mode 100644 index 0000000..cc67ae2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e13f20105bbdc4b38fdc4813ac01a6d39b438b7e2ba3fc941a39525598231925 +size 15481094 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_05.uasset new file mode 100644 index 0000000..58447f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efb04404a082c32e94741df4faa2ab0a2b44c2233d2ea4a3d4ffd5b4019ca3cd +size 6399964 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_06.uasset new file mode 100644 index 0000000..588adaa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d70f0844c2fb06a5bad36294505dcc685a0328128f93a16aceaec53f57ba6b +size 4425860 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_07.uasset new file mode 100644 index 0000000..d472fdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b43788a5da68787398f961ec0d2da98331ae009834454c0fc66fe623a828cf2e +size 7872824 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_08.uasset new file mode 100644 index 0000000..d985bd4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feff2ed914730be532871fac83e9e4560b36cc0f0e5074c3fb036c335afff334 +size 16730967 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_09.uasset new file mode 100644 index 0000000..33d5789 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3447f0ca124fe907fdb97fca02961309d9371f3401584df19bc19908ed9fd920 +size 30903184 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_10.uasset new file mode 100644 index 0000000..8741f23 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9d48fa01a24a1f8c8c32fa023c07c0e65ca92a684c89d2da69a261bc1e9004a +size 29034105 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_11.uasset new file mode 100644 index 0000000..9c000a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d4cf2036a7e3ef0897482663a8711b7c6cb09dd515380b2f39044300f635bc6 +size 8183951 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_12.uasset new file mode 100644 index 0000000..5b06c43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6712338a1511f385129b8468cbe1cfdc893f7636663b2d280bc8ca3259db6c0a +size 9053617 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_13.uasset new file mode 100644 index 0000000..7d9ac0a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03c51b68bf090fc3fdf61cc31bde26495a12c50e4b0305b7b76540d928833237 +size 8404228 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_14.uasset new file mode 100644 index 0000000..e6c328a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b659d94e664c76c4b890f722d0d6a473eca023508342865aa6091d965087ef98 +size 7563533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_15.uasset new file mode 100644 index 0000000..433000e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee0f5c10fcc62def49844625cc65156ba3454d74451550def4fb7bd7ff9f84e +size 7807560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_16.uasset new file mode 100644 index 0000000..c826e2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1accc3f55ab525a1735df31c440984127f71184c5be622d53ca8528b51684dc +size 8258063 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_17.uasset new file mode 100644 index 0000000..ce89baa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:705ee8b397e22d30d9b6501b2f568a0cf1f326f71207b60b0b405abcc70350f2 +size 8463031 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_18.uasset new file mode 100644 index 0000000..c67da8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62039af03b6ff57ee5c90c1213bfb22da4a7d684de22fd6089c1a3011605c3cc +size 8968017 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_19.uasset new file mode 100644 index 0000000..be72f42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04f499520683b37f092401fa4f376b908d1bb010e2c52361011225483fc9cc31 +size 8295899 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_20.uasset new file mode 100644 index 0000000..7b7e999 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feea7093444bc1637429cbde8a62a7b81ceb2084de4fc655f8e541d130767eeb +size 8396325 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_21.uasset new file mode 100644 index 0000000..40e983e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/031_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b721c436a26439881622db0e255669126ec3d1e6b3504c1d5c9832aa60e1486 +size 8687848 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_01.uasset new file mode 100644 index 0000000..22cb806 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c247c67bb442565ab8b957be45a5187097a01a1e1b3c7355236aa798394f45e +size 1198109 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_02.uasset new file mode 100644 index 0000000..1409d07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2d17183cd319d21032b8c767eda6ff02d02023df1668c089e1b94a07ea4638f +size 1073667 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_03.uasset new file mode 100644 index 0000000..7df1dff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d3e94bbce914b08e00e1e300cf4a4dde92589f1cdce224a95f5262279cfb5f9 +size 6612054 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_04.uasset new file mode 100644 index 0000000..c8d4eb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7303ee516feea1378dae8ba0f9501010e85d11e65c615e4917799cc9a335091 +size 4956447 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_05.uasset new file mode 100644 index 0000000..99c1abe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15e7a0d34e3f7d49403c38e8c2bceebc10bdd576bf1e0529384485fecac248b8 +size 7778709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_06.uasset new file mode 100644 index 0000000..4ba6ac8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76225662fc3baec2202247e68be086482702d5c3175328e81a9b964ff1583ba7 +size 16643619 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_07.uasset new file mode 100644 index 0000000..f15d0aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a80b04aff47bbe84c895023d6ce87fb701f6671d81ff56aad89c68e2b9b8b7c5 +size 6398941 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_08.uasset new file mode 100644 index 0000000..92aad6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a7509376a599fce1188ec40dc17ad66061a2765034d63fe93c3bfddbf00de5b +size 4743894 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_09.uasset new file mode 100644 index 0000000..da5f6c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04e294ba78ee40263734a9e0c9be1bded259d576202646aef184f84522b044b2 +size 7844228 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_10.uasset new file mode 100644 index 0000000..9427a7a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2632904507901d39ef9a4d4a408fccef275ce8ec58655c962ccfcfa75e4b1bbf +size 16708243 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_11.uasset new file mode 100644 index 0000000..b56a76c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:169e078efae513fb47f76aa4ad3b9bda72d10bf4838454750ef16a65b64a2ebe +size 30734792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_12.uasset new file mode 100644 index 0000000..9944bb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5758b9c11d9eacca34ea0af16967634c9c2486d4ef428ea97a46c57ea8813d +size 30894805 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_13.uasset new file mode 100644 index 0000000..b118980 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e7c130dd840df50fb9faf958b3f897ec316b94f0f3561610c70f0ecd750f415 +size 6837122 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_14.uasset new file mode 100644 index 0000000..2498148 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb13577f56702230de25d36cad3136e7ad46573f360ea006b98e8a81aaabaf60 +size 5690060 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_15.uasset new file mode 100644 index 0000000..33e454a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b8dd4b4539f81fd92d612fd7a41bcbdbd95ba5b820cc8c11fbd759a1cc30324 +size 7729596 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_16.uasset new file mode 100644 index 0000000..99d364c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53b4b5ad7c508608306a24e27f7ceecfbc0c3f03add87190a37815c5cef4b050 +size 9249457 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_17.uasset new file mode 100644 index 0000000..5086fdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60fc5419145cff12e6fdf256adc755901cf04aa7cbd5cfd3f5a7aefb34ef788f +size 7108493 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_18.uasset new file mode 100644 index 0000000..2d49421 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31ae5e980745d0057702e4a28c31dbcfd9341a42ef91827bf1ab88470d422f71 +size 6424895 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_19.uasset new file mode 100644 index 0000000..d60552e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b2d2d56ecf6d64769d1b15c88e6ff5498d5bdac4de202142ce9fc8b7522699e +size 4900052 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_20.uasset new file mode 100644 index 0000000..d688b08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1e3a851c511fb4923f2aa5614819dffcab3b17bec64eab747ef569afa87378e +size 7581008 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_21.uasset new file mode 100644 index 0000000..bb2ad8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa2cf6bc6e3f5593be5864f3c9e69845291fed5b96d6a21841cf417c5d617719 +size 4410203 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_22.uasset new file mode 100644 index 0000000..14dde95 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/032_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d55e895ee8f963fd39e32576d7d9afac056ab559ea5d01a5ab8994c7ee1352d +size 6085260 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_01.uasset new file mode 100644 index 0000000..56396e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9932cb9d72eee97fe6c40e315c4a108393c3bc411c16484852e74ff8d56f7bcb +size 6054546 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_02.uasset new file mode 100644 index 0000000..ff89eed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/033_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03d240ffacfec27b7bc7b9e02e158dce88a1d8651d723e7a2a2dc6022c018829 +size 2955689 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_01.uasset new file mode 100644 index 0000000..2934042 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4f8fbaec6854c6d7149654f4cf5478d8692af24032693ffc30b8f33a5cc672a +size 5860827 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_02.uasset new file mode 100644 index 0000000..ea87c89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/034_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c512a8689ce3a2602c285c6b5c1423a0a774d38bafcbb849a1228c72e7d3b9c0 +size 2924978 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_01.uasset new file mode 100644 index 0000000..a27e775 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0814397828bf344a580d38b555761350ff594bb8746c052f45be8223c679315 +size 886741 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_02.uasset new file mode 100644 index 0000000..1b77140 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47ce75bec4a16673d5690de47f85e927dd8d71f5eb998b84f3465f892759dbd7 +size 993382 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_03.uasset new file mode 100644 index 0000000..5de03e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f55533545d7b4464664fcdf9ac6b015e28083ca86afa26c72ce5de0e48de0acd +size 1050198 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_04.uasset new file mode 100644 index 0000000..8bce9f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:704bbfe2f35b9c6f417e0420edc46e16cea1e9a733df81dac5ea091bb0e00055 +size 1055982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_05.uasset new file mode 100644 index 0000000..810bce3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a20313166aad4706c5ee5a3cef7beb5a059d8d6e0f6d678ba28cc2772723190 +size 1043327 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_06.uasset new file mode 100644 index 0000000..85e3a51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeef0a1280748ce3b264b196b2a10ee2f5ef172797c7bc70f50aaf3b2d484b15 +size 1078053 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_07.uasset new file mode 100644 index 0000000..d51a8d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32d02a0522c3796dafd65c8aba9a3555e30a3ed7e368f8221ccf2c3782013e1f +size 911890 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_08.uasset new file mode 100644 index 0000000..eaa3fb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f22b1e42840eba46313aefa6ad689186c94087eec320368a34a6a922931f948 +size 1095811 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_09.uasset new file mode 100644 index 0000000..c0e91a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e11a865aa6adb437f9d40d2e84a781b7275c415758d79ffe18d4d195f55bebcd +size 969021 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_10.uasset new file mode 100644 index 0000000..d11c480 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39c157cfd769bdb995ee0df8ce89d59e3dd1fcf9bf911b29ab0de6ef036e04d5 +size 1052224 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_11.uasset new file mode 100644 index 0000000..fe8bd8a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2505395f481f28ccb5bce8c03fb057f4cea1ccf8c54a9a96c99eff8a64046dfc +size 969448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_12.uasset new file mode 100644 index 0000000..92616df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:817fb5c6224fbd00058797ee6de5477b3c5fad982980ca8b817fa527a48dc866 +size 984691 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_13.uasset new file mode 100644 index 0000000..c1f7fb3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62ce339cc5e439345d07f1c49fad128009c7ec57d0bd06e42567e095fe63e3cb +size 1103476 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_14.uasset new file mode 100644 index 0000000..5fd724d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc173a4976ebeecfb5e97a2eae1729fdadd7ba1479561c161901a75d12a19e0b +size 1010968 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_15.uasset new file mode 100644 index 0000000..0024f3f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef6fc04aafccdb2a6f04b102c97892cd1c0a2d33d22e63ee36779109c9b08a7a +size 990360 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_16.uasset new file mode 100644 index 0000000..71c3c1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34fb2aa029de15f2bca57421fd49f0248df995931bb39e80713cb962fce3446c +size 1054625 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_17.uasset new file mode 100644 index 0000000..47123f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f410cc9771af6a6a0305386cbad2aa1b6e57b63ae01fa10938ce83133505b56 +size 495649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_18.uasset new file mode 100644 index 0000000..a77a2a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4ae150db0c9c900b160bb2673360061122dcb17d67c822716473af267f61bf3 +size 521608 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_19.uasset new file mode 100644 index 0000000..4dc1b86 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1eee645801b26f55bdca2aae348c380037c16465e3c6c75a94278505e3e2573 +size 500981 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_20.uasset new file mode 100644 index 0000000..66405c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b09a69021d6c37b531cb3340caaac0506bee0216e8801001a4be6ebd74ff6241 +size 492150 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_21.uasset new file mode 100644 index 0000000..fcbdd18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccc8666dc9bfdbf30838ef98eab9678d4cf1daadb9b7624fca80d61917e28bb5 +size 505438 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_22.uasset new file mode 100644 index 0000000..054ff5b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46e9bbbf85854aa1261b7fa1ee354fb4ab8a6592ea523fc2f1c2b6e25dc2bdf4 +size 498802 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_23.uasset new file mode 100644 index 0000000..9e48d39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e6bfc0d743c32a9eb4ae4ff4569b48fadee2da81b52016601c534b3189c0e50 +size 500440 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_24.uasset new file mode 100644 index 0000000..a761bb2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cf0a3196137e7bac8b77bef8d05cf16bf105e5f953ef26a8de684f50fa065c3 +size 484343 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_25.uasset new file mode 100644 index 0000000..f18d486 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4441f7bce54d966d696689a23283b3c505843692428dbd7c908dddc3960fe34 +size 474376 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_26.uasset new file mode 100644 index 0000000..d7dc276 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:661587a491e9edcecd019a798103f29f4329f4f6c705d3294965506d6d4e1fd1 +size 455459 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_27.uasset new file mode 100644 index 0000000..e734f09 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67456b153f2f5a520d9a91fd3148d34c175654edd81f09b3aba191d2d2870c0b +size 21369948 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_28.uasset new file mode 100644 index 0000000..cfb762c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55e0db505f468cb8e71516d7af808704735095aff2103d8331c6def9c09fa78d +size 1003896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_29.uasset new file mode 100644 index 0000000..a862a02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c07c1e2e956d2c8d52a60d9bc85298660e07837f8804d1d1ceae5d320e6f6f65 +size 1172406 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_30.uasset new file mode 100644 index 0000000..cb7da87 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d3f7ecbcfac824978f0092550dff89076c36a481b5c901e1e13ce51bea8a62c +size 1009348 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_31.uasset new file mode 100644 index 0000000..93ea554 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6909e5fb3470787389e756c4310d7cb0e099e4ad45a99f5fc75da1604891762 +size 1018327 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_32.uasset new file mode 100644 index 0000000..034e8e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9353edb49bab08031512f08b0b5586678913cab7aac45163f01a98d757175c64 +size 959886 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_33.uasset new file mode 100644 index 0000000..6d428e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7af6ff710566f9bc54bd341739cf7cc2295e7f37e58f258fe918855b78c93d9 +size 1028491 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_34.uasset new file mode 100644 index 0000000..a8454bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/035_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8291116f58ef46dbb3f25e93e0b61eb8333d310a64352bc5b60d2ef02ef9d7cf +size 1009659 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_01.uasset new file mode 100644 index 0000000..cd34cb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da1f05dddf206f9da36a60bfff2c2dedba65159e0ec6c3b2e2ee16c0a4016bb4 +size 1341295 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_02.uasset new file mode 100644 index 0000000..c01df0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a16a20df6b4b481058ae46da092679ecddc7fe8bad0d777046e482fb76f78ed +size 9317885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_03.uasset new file mode 100644 index 0000000..dee188f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad89dddf91bb99b083096895b9dfea9b71158c30bc79546b0f2f12089a455813 +size 8451270 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_04.uasset new file mode 100644 index 0000000..892fe70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d17c5d598a8fa4548e54fa76dfc7493c78cb8b34a15ece273d4c6a35cb25b0c8 +size 8176821 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_05.uasset new file mode 100644 index 0000000..31ab365 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0551aa94d07d64d910a9c868e7084cb95b874c6d074f7bdfed15990d635ea8b4 +size 9256560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_06.uasset new file mode 100644 index 0000000..9991e70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1b67df37a94fd79e1c2afa247f4a868dbaa0e1953a9970f10661436af6cd96c +size 8638595 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_07.uasset new file mode 100644 index 0000000..e6ae388 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fd445140b69e152206409957c28d3ca994e1cc2615c254babfe9d82045bd813 +size 8280172 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_08.uasset new file mode 100644 index 0000000..6725201 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3d68e7297419bf43c536a57149fad3f6439f4efabed76ff0754e63990fd5f8f +size 8210649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_09.uasset new file mode 100644 index 0000000..c49a358 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f864dff38d8b81db951f14b1d68bdf50ca42582f57b9ea9e38d3e665baeacd1 +size 8559899 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_10.uasset new file mode 100644 index 0000000..262b327 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d48f808e46294a1020e98c2e62ddde3fa10cda901443678229f8d9f09392c365 +size 8439663 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_11.uasset new file mode 100644 index 0000000..f05bb56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4097b1d5bd4c8cfa042ed8ea760033e05ef10118483e2508aea595443ec4bbee +size 9129631 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_12.uasset new file mode 100644 index 0000000..e5ca20f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471208e9507065f3f7589f7a362057a16a07a658199ad4bb77801effccb38591 +size 10021854 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_13.uasset new file mode 100644 index 0000000..cc33c14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09b29817fa4de9bdbc4478e499a1229df68b7df21f48ce86866f88c51b44c8fd +size 9360201 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_14.uasset new file mode 100644 index 0000000..7bb114f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa194ab3875276f111789ed4e6af90f911f22c753ffa12fb8921ebbe7984e8d8 +size 9144085 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_15.uasset new file mode 100644 index 0000000..742444c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec5679fd3ad84a5ff31e08722f00b637e0020263fa2e3fb670796c583b3953be +size 9186816 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_16.uasset new file mode 100644 index 0000000..0405fac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4a914d8a61a37df6fedd82864871820940fdb8fe1106a9a04fb65429a7cc046 +size 9679714 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_17.uasset new file mode 100644 index 0000000..9a64302 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e17ebfadeb70d8fcd98be0baecb555d11de8a58433ed4286887ea54d0379843 +size 9567288 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_18.uasset new file mode 100644 index 0000000..395c505 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:812be54a768d80730fad0d3ee30428a6e8dcce1f9cad364b9f061c7ec5ba5e0e +size 9420141 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_19.uasset new file mode 100644 index 0000000..c603a00 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8217c06c6b2826af32acc167e22c45aa5dedf9d9334e3318726a3b9fc85e3d76 +size 9180370 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_20.uasset new file mode 100644 index 0000000..1b7fcaa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e93f169b62358de6ac5cf3aa34ebd031c1e2ab954e69bee5b41735a042007ca +size 9023258 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_21.uasset new file mode 100644 index 0000000..fa3f316 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c5f522277010c7ee2df8372c5d7a8f6218de1f7f5b7e2b818dbba64258262fd +size 8958518 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_22.uasset new file mode 100644 index 0000000..791c217 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0f04963ee37a85d779c2447f0e6193d5bdbdd4a79f9d99f579b19c008d52d3c +size 9507007 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_23.uasset new file mode 100644 index 0000000..d0b43ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:898dea882683871f37e86702b75dd461a27798cb2ae3e359ceda0d082c695a68 +size 9678600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_24.uasset new file mode 100644 index 0000000..205a5ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b9d9d15c92efa879cd5f724d96fff00d1ef9f8374739e476bf9b260680a7a82 +size 9127508 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_25.uasset new file mode 100644 index 0000000..ec456e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1130391c3c24ecdfac17cd07019f5c69a43d9deba12f83282d5da81967deda34 +size 10273001 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_26.uasset new file mode 100644 index 0000000..e5dc28f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42040a09033f8390ef447133378c4141352ddb624919b67545971126dbbaa2d4 +size 9309301 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_27.uasset new file mode 100644 index 0000000..ea074a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c07bffcf1cd3ef2c37ab5b2002fd9c2ac23cace5dbe7303c942edf7229c7b96 +size 9325659 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_28.uasset new file mode 100644 index 0000000..9cf3176 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3c267c0ac6ae060df83f3279679431911c88f2ee78ebdbb92a28deb79e168c +size 5332604 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_29.uasset new file mode 100644 index 0000000..d1f9229 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cba7546cc42a0cd391c338188c6e96eeb9094f67605000e19f24cfe64ec5f128 +size 9808058 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_30.uasset new file mode 100644 index 0000000..83914cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24479e388aba5eae4c516df805e3a43c27f796e66372bd28e4456f8f5ead3ed2 +size 9722537 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_31.uasset new file mode 100644 index 0000000..0a35e77 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c01d2c7198c9a721f43b973d3346b7f58dca006348a558d3aa7f24ca4ee192ae +size 8172556 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_32.uasset new file mode 100644 index 0000000..3cc4bd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ada68a1fbd96d6695e8bd2c21c9fa0a999297bb36c33317821319f69267032c +size 9772662 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_33.uasset new file mode 100644 index 0000000..c8d0a8c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:068dfc3d114a7db4e25a349da7848aadbd6a2e87d2b55251cc585c5c9619afce +size 9463295 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_34.uasset new file mode 100644 index 0000000..9eb88d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:130c1ff004353f0d9c1eded98053897581bf9221479af614641be2baacd24f2b +size 9540715 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_35.uasset new file mode 100644 index 0000000..1fc6b3e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be39df022021acda7af355317b6986dfd80b635d00c51a6de35fe35ff770ff71 +size 9567139 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_36.uasset new file mode 100644 index 0000000..90caf7c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fb7a46d8be877713079f93dc590b8bcc5c4431e1a600e4ee9321985e533229c +size 10504282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_37.uasset new file mode 100644 index 0000000..7665580 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/036_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6c019ec107739ac2d8d85a50d6f821f942afee0297524bcb3ef736ead4856b3 +size 9611103 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/037_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/037_01.uasset new file mode 100644 index 0000000..953cba2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/037_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce706901aaca710002e1f1e9213aa356073070980bea12996b37da7bb8d26c94 +size 1199677 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_01.uasset new file mode 100644 index 0000000..358c333 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48d22973c05ade80a64d41f44532d5f19ead7a3906fd0d57cd0cb4d9c8993ee3 +size 878813 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_02.uasset new file mode 100644 index 0000000..267bbee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efa977ae466340c2b45693c009eb039f1e07264e1f9c56fcd8f2c5508c3bf8f3 +size 1008268 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_03.uasset new file mode 100644 index 0000000..a0ae4f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a95893973d676d0f27567e7bf850954d334a4e3826f59dbb005939f0b081511 +size 1778614 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_04.uasset new file mode 100644 index 0000000..b536f4d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/038_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13f3e6df5aadf9ec7c3e08a4878dc8993e3e7ac810973c347fb21bc3ea551ebc +size 18829265 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_01.uasset new file mode 100644 index 0000000..8e9609c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f89e0a9d99ace79c7e1c31deb53054228de79304569290ac4ad57759e90da3cb +size 961865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_02.uasset new file mode 100644 index 0000000..229f3da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d86b4c12045ec98335e3bd19ccbfed6c539976dff54761d5995cfaf5513c8087 +size 1004043 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_03.uasset new file mode 100644 index 0000000..77a9421 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7425c89fa43a71cff8bfd6c578518acd33abb36d1e615ebbee926714bef6e96b +size 1016008 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_04.uasset new file mode 100644 index 0000000..06e0768 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9539b9ba237bf19b287c051a1d6018a276c18afe91b81f55721530b0a96839 +size 1020551 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_05.uasset new file mode 100644 index 0000000..4967a74 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:382d4ba3fd30edb7fcc555c2851f04a9ba6edd4eef5fd736b9e3afe1c1682f81 +size 991548 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_06.uasset new file mode 100644 index 0000000..9749181 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43159f163c6e6bd1bf1f2a4d00760a87cf5a55c3b30e9f2d003c7dba784767cf +size 924351 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_07.uasset new file mode 100644 index 0000000..c34b857 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1a9cfd9bee62fe06926a57be04bc133002e037b8bc0f69ce834186924571926 +size 922723 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_08.uasset new file mode 100644 index 0000000..cb1e044 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0779770fb11dbd838599115a79ad5ba99d221b1c309b159730cd90e04b672d69 +size 896603 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_09.uasset new file mode 100644 index 0000000..91b8363 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f999f174a15f09ece706943410177a70296bbdc8a4d58034c45bcb997a65059 +size 978854 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_10.uasset new file mode 100644 index 0000000..f93c04d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d59e8bc333f2c1aeb230797a5f7d9611d4b02bdb5ec41b99326d8bd2841b27 +size 967536 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_11.uasset new file mode 100644 index 0000000..b4c5f08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d74c9c3770731bbdbb9d7a328e95e1c0c1e4dd540a1ac74b62641ddac4c1f3c +size 2083932 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_12.uasset new file mode 100644 index 0000000..9592349 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e077bb218d5a1739f3a9758ff4a6d8d2bcf4cdb6fc7a7aaf9acfe087bf158f45 +size 1049987 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_13.uasset new file mode 100644 index 0000000..9582c7d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eeabacdd19cdd71d42e1ef65b5ded6d921bb0b940e0feddd42f98e3d5adf00f +size 961998 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_14.uasset new file mode 100644 index 0000000..343c8ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/039_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7fe0263bdadd436a2b767d8c95aa51bc5d6267772d53fb1ce16dbd018b8a508 +size 977398 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_02.uasset new file mode 100644 index 0000000..e7b73d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbb3caaa3bcd9a49afb28978d15c3b57ea1daa2214fabfa7f5d3580e38b45b50 +size 10936216 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_03.uasset new file mode 100644 index 0000000..e9b7e7b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02aa198da4e13963d8d936279dc2fb579dd1f444a0c143a8e6d77da3b223b5ac +size 13558302 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_04.uasset new file mode 100644 index 0000000..64bbf02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7713d4c764d3da0896ef91ecb8220fbf5458834fa7778404fe7183854aadc91f +size 12927701 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_05.uasset new file mode 100644 index 0000000..09a5889 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c18a3778b5d705ae8356db10162ebb1fa84250ee2d1c796ac0173481e492991 +size 13334655 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_06.uasset new file mode 100644 index 0000000..d041995 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11c732444b0885872a02bdca6af6e79e5bf8e6a0c0327c4453891244526bce1f +size 14510644 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_07.uasset new file mode 100644 index 0000000..af9be09 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d1522c3f7e48c7c0171d9241a361c562c185ed9c146d0e013e51cfa9d026789 +size 15108451 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_08.uasset new file mode 100644 index 0000000..7ed96cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e1c7cef292e48883fa81cc7eb99471acd142fdb035deb1d265af34be24d5617 +size 15218419 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_09.uasset new file mode 100644 index 0000000..41dcd45 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbfd984d8c6bf5e72aeaf8fc7372fa7f53c705c80bf99353c06fb78e6d6f6a5b +size 11305926 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_10.uasset new file mode 100644 index 0000000..59680d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18119f3ceab4e3257e6351df8a767a1f29b40634d11d0dcb1ae7fbac94d6c514 +size 13511201 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_11.uasset new file mode 100644 index 0000000..3f510e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c5c235379e81bdb16d6468793d011b9cdea10625bb7cceb2939969568940e24 +size 13002942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_12.uasset new file mode 100644 index 0000000..c45d7ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/040_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ab61bdc8b356d3b4f96f6383b32214d5ba97d126ff89ede93773d4bd1edde02 +size 17131430 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_02.uasset new file mode 100644 index 0000000..1bd5aea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e3178a69a3c5a806002a8e500e36954ee9a72cecc0e7423dfb39b4ecb7c725e +size 9591415 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_03.uasset new file mode 100644 index 0000000..25311bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a5af03655e7ba435c9ec73d34a0554c3f56e5e0195d528ddf315d047371fb84 +size 12953337 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_04.uasset new file mode 100644 index 0000000..c884e88 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a79d48c207ed263285ee502a995e50a17e9a9cb95e500f36ebcad0dfd2339063 +size 15449909 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_05.uasset new file mode 100644 index 0000000..5ff7451 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b43208dcaceb0a1a76cfb4123519043811e6a7ddf263b7a2c38f538f43f7ee30 +size 15796500 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_06.uasset new file mode 100644 index 0000000..67c45cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe93d03a4d40554a2cdc28b30f621f35bb3ad034f0b3c3699f6e5d80fb4b7264 +size 15423101 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_07.uasset new file mode 100644 index 0000000..1bdc5d4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1deb4cd6965bc535ba7f2cb65593eb3b85f5e82d6e2652ecedc64e98b414a825 +size 16530709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_08.uasset new file mode 100644 index 0000000..a51dd33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd64bbcda1c3706bb8125bc43af5ed1b55e1d8db6fd3b4c6ce5ece008f18f592 +size 17297199 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_09.uasset new file mode 100644 index 0000000..cd00be1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcc03c64020e5c782c0348023dd39202d5b40a00f451a9337ed36e39e7f4491e +size 16920986 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_10.uasset new file mode 100644 index 0000000..dff79a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ccd6940d1f058f3c2914c9a02fe224f2fab2cbe2a75b9807dd0330524dadc27 +size 8134187 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_11.uasset new file mode 100644 index 0000000..a6a4b23 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/041_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e79139e746d7bf6f1f8c381f18bbbc606ab1501dc17f6a032bd9c3aaa6cdbca +size 6615195 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/042_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/042_01.uasset new file mode 100644 index 0000000..027d0f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/042_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3cdc70a2b477ca09da406f5af04e3131eb88ca57d11b9df023de86c4e475da4 +size 2510825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_01.uasset new file mode 100644 index 0000000..435a8d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dfea6cf4cabee58c7b44f01d7df1ef7c60833e63c1da915290004b6391e7a8e +size 1025050 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_02.uasset new file mode 100644 index 0000000..c419a65 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de0b8b2fe12aee6b05577547ba18505e7e850feeb15440eab5db13d301672c6e +size 2103113 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_03.uasset new file mode 100644 index 0000000..e2f3e7f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/043_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b139f27d09bd4b4a3ad3f276f5fa2cbebff128b9eca90df33e51d0a3e3d94e08 +size 1937526 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/045_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/045_01.uasset new file mode 100644 index 0000000..9e506ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/045_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:533d4bc9e171b816e17d12940f7db1b168026015c5eb943dd419f262e17e50f7 +size 1152330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/046_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/046_01.uasset new file mode 100644 index 0000000..f0a955a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/046_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7571c084ed3cf13cc981c770529991835fabf6d9abf6b84b9168eda96e63947d +size 1502772 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/047_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/047_01.uasset new file mode 100644 index 0000000..ee057ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/047_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bb28e926db9f3aab958813cb28a036f3d155468f1f2be4f32ac30abc5fa2ad2 +size 2993255 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_01.uasset new file mode 100644 index 0000000..e91c66f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17bb864a999082f63a0a7e96505f951d5bb6132dd83d38debef27801b65ac185 +size 1469524 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_02.uasset new file mode 100644 index 0000000..0196048 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a93e9d34191c4ab954ac707af36b255d306dd26c5d811b7dccb504b86f8fe719 +size 4593696 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_03.uasset new file mode 100644 index 0000000..b84f724 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1637737615ddad38640451f0cc3ade69f86da68f258415bf8963cb9d839fb40e +size 3272634 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_04.uasset new file mode 100644 index 0000000..c5c791f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f719d83d49320c75df98e00ef904274cf2f8db6027ff3df4881feff4238fefe +size 697476 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_05.uasset new file mode 100644 index 0000000..413e315 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f4826dc823d4f3b11c49d97d829143e0b8f940b3a3516ff6534192bcb94b76b +size 517863 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_06.uasset new file mode 100644 index 0000000..1d04ce4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af18cbf25d806c09e11b73eefaa7311bf3a350327f0608e86090e76bd1c49074 +size 1202257 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_07.uasset new file mode 100644 index 0000000..4772e62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0e3089f0cd5e27c81c8826c2dc5a29aac938cf8338ba68dc7d0b1fa8fe5f672 +size 1189407 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_08.uasset new file mode 100644 index 0000000..e0b36a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62248e29e74a6c3591bf2341f543a23dea53509f43827e87f2061e57afe51311 +size 1423757 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_09.uasset new file mode 100644 index 0000000..bc34a08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be4e9efec14b92ccdf97614b26ab59070bd0e9918938b90b8fdac4442628342d +size 4071729 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_10.uasset new file mode 100644 index 0000000..0460652 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e83e354861c53de006fe6dcc73a83ba9d042a5da859c6a070da353bce2ed66ba +size 3096184 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_11.uasset new file mode 100644 index 0000000..8037248 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3abc3126c97c2aa47fdb133828f8bbcfd10fa27016de5ebb8d1b4fd579643b6 +size 2669244 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_12.uasset new file mode 100644 index 0000000..ae3e442 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38c79b27a7c35660b884538f8d7ab70b6d964d97d8c64a7e4ce119ba3dd4cf33 +size 2457400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_13.uasset new file mode 100644 index 0000000..2211a3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:437bd74cd6bd18484e91a6cac1ee300c74d8a7112d70b0a0bf95596d8de29a02 +size 1212548 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_14.uasset new file mode 100644 index 0000000..efdafdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf6812acc429fcbd17c0bc1e416e6bd7ec62436599176445b653409f1cb821e5 +size 1429577 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_15.uasset new file mode 100644 index 0000000..b3d8b35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a90b5845572c1e0ebae33369bc483ded771d2a776870ff49c62a52ab126231b7 +size 2003796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_16.uasset new file mode 100644 index 0000000..32ae843 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01dd8d5770f28f8006fb92c16e8fe9516eb541592c6703086667f56399f3e9b +size 2472396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_17.uasset new file mode 100644 index 0000000..76d50e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bed542c7b62fedd6ba893a45d7e75eac66a9fc2b6632a21246987c905deef1fc +size 1682014 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_18.uasset new file mode 100644 index 0000000..633775a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f97d0a9d7510fca36af1f7b328e838121207fe6a5bb3c02b5d59d98562828657 +size 2365356 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_19.uasset new file mode 100644 index 0000000..d406eed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:598c21e3f008efca2da794b195e91a8811937cf90ee9d9183a7a4afb2f242c3f +size 2142126 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_20.uasset new file mode 100644 index 0000000..72eba1a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e9cb0ff6705bb7d7882d567b47c900a43cf8b2e386bdbc18d41f916a1834eda +size 1990642 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_21.uasset new file mode 100644 index 0000000..5c0c2bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e651f9d7be378e5a450f79a7f338ecbedc9a72f4aee4f8a02987cc27e67246b4 +size 5437274 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_22.uasset new file mode 100644 index 0000000..9a08d78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/049_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471abbe838800b1378cd53ed6c90db02bbe380ebe4b98a8d416f7a91615cc058 +size 2809081 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_01.uasset new file mode 100644 index 0000000..1636ef6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c13d29348e4e4706198dac825551dc439da77144d67ff73e360e026641f2f0cf +size 406961 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_02.uasset new file mode 100644 index 0000000..819f282 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c05e9b7842ca3a7f4f7fe1e8b892f0831466455dcd2a071d09a31c2e07303211 +size 6689734 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_03.uasset new file mode 100644 index 0000000..609607f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b798dc98358fc4640f6431b26ca7bb757ade2ccdf87fbb2bd3a6826564bdb9ef +size 6114010 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_04.uasset new file mode 100644 index 0000000..5330582 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d5987db77166698b3af72eb8f53ba4273997d1c50f9a1fb1614c945a4eb02c7 +size 9887378 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_05.uasset new file mode 100644 index 0000000..5c92648 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d99e8e918f36a0632369a64b1b6563e80b54aa82971a7b98933584d5e34b1cb +size 2362131 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_06.uasset new file mode 100644 index 0000000..5b607ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b142d1708beba244ae2fe1084958406106d0da31ad9f5a8fa9158360cf03237 +size 17142615 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_07.uasset new file mode 100644 index 0000000..e2c240d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a38cabe876038e01b59694a3ee561cefc403ede2f0d34ac5b3624e9f9e2cef +size 8849076 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_08.uasset new file mode 100644 index 0000000..93718c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3f199931e97dbb8c6a4793b629a31177a4008ea5501fb127f395087080a7cc4 +size 9444222 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_09.uasset new file mode 100644 index 0000000..9048bf8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06230c4edd4e7885fe6c18be0f09e86d44330ba5f96a3401e2ae6e346b311861 +size 4334944 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_10.uasset new file mode 100644 index 0000000..6f483fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:426b0a5c7d4459d610e1eda208dc773ebb11a18214e0ece07111fe6f92b6550d +size 10400543 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_11.uasset new file mode 100644 index 0000000..99293ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5edddcf94fe6316461276d51f1f3dfa1b730e3a1b868abc5e4b8d0d4569214bf +size 7507750 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_12.uasset new file mode 100644 index 0000000..e7c9819 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43b311a8ff0e5a4a13e3d1b37b4b933bb8165ca410aa7ae093ccd2a1bce94b30 +size 5089788 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_13.uasset new file mode 100644 index 0000000..76a1f4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd4699ce7b3ff64b9b07b2a513540b5d049ac138f0f27a613904da5d106d48d8 +size 3696016 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_14.uasset new file mode 100644 index 0000000..226b4c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9961fb4828f7515e4e8dbba458ce4e33030eeaca9abdeb57b842cd08827935d +size 3682905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_15.uasset new file mode 100644 index 0000000..0ee36fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e953e281c90d4525948f28bea986443ebf8b4e5e9ff1e187b6da447b85793b9a +size 9166663 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_16.uasset new file mode 100644 index 0000000..51c4e48 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80b57664bfb12453af8c7940f0a9f6dd0048004429b8db71dc5d293871d82758 +size 8928125 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_17.uasset new file mode 100644 index 0000000..adcad4d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30210ce34f5b8ef4ad9b64e0f14fd19e6fec516bdc28e9aad9116c4a78702605 +size 6283139 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_18.uasset new file mode 100644 index 0000000..736cac4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5476bafead704fe20a54c3db9c6db69c9bc121932eaabb48166f857bbbddede +size 4514013 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_19.uasset new file mode 100644 index 0000000..ee786c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd974acca03aecdf20c4a679112a0aea29067c43b521b7f69db445b75714d20 +size 10789804 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_20.uasset new file mode 100644 index 0000000..0329429 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f79adcec5d5e269b7574b05c6b7b55bd50650abb831611a0da471dbda78ee746 +size 13675456 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_21.uasset new file mode 100644 index 0000000..5243a72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c64d5cdf99c6b4924c23c2f594ec5ffc77e8050df497f2e590a62a337b689d +size 15398817 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_22.uasset new file mode 100644 index 0000000..e5d21b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d36b01a1dcb9c89830dbc50a53b90b494b03fa55677e25db11cc91a30f88243 +size 5662361 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_23.uasset new file mode 100644 index 0000000..53f38a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6d1f681936f92e520777031dd3b7aedfcbe1a73875760b9c452cda38b928a0c +size 9093285 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_24.uasset new file mode 100644 index 0000000..c22fee5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4d424a76f0bb7911e83a8dbd361f292c806e55318e64a9fe4ed6cdd897b0587 +size 5753397 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_25.uasset new file mode 100644 index 0000000..af1be28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d0af64a6407701f79c53267e9a9d4ec95d4a2ab831fde250ff644ff3e81c2d1 +size 9889750 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_26.uasset new file mode 100644 index 0000000..ec70161 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cacd06c3ba501ae2cdb53fb8665cf02bda7117133a93bbd600e26f8d5f2ea94c +size 4300485 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_27.uasset new file mode 100644 index 0000000..c2a9aaa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/054_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e478443a7dd631f579026224aa454516d273b9333d0696d44cf9f9e9f0e01ae +size 7264846 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_01.uasset new file mode 100644 index 0000000..f25f1ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95b1c4ac96ce80670ba9a13ef47629d7721babca764d9da439e14a421a1e4157 +size 4076605 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_02.uasset new file mode 100644 index 0000000..c1f2888 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:902f5306052628ea1be697f0c9967945be110b0cb6d4cb9a98842cb676d0d3e3 +size 4587098 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_03.uasset new file mode 100644 index 0000000..da323e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcefd915a6f9f12550314c954a1e0456ddaa9af0abd8396592d05ae38fe28901 +size 9901720 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_04.uasset new file mode 100644 index 0000000..26a9ab6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3051e1acc89bc63525d39c179c3d2167da30787bd0f0cffce28847ce43101a65 +size 1234988 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_05.uasset new file mode 100644 index 0000000..80caf23 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd0db50b8a9f9fd108468d2b76708ea9043c137687d10f7f8b4ad58e1a546733 +size 5883293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_06.uasset new file mode 100644 index 0000000..1cfdb27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5fae27d393f4237aaef54a5c3066372a4c68c8c051fc39662d1bd1bb024ab8b +size 19552448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_07.uasset new file mode 100644 index 0000000..983beed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3b5f5a74c3f6f67193b553eeb5d7623c29a22f8ea1da27a57f21d6c81c5058b +size 9985265 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_08.uasset new file mode 100644 index 0000000..8487c16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2069d331ddecc1201524b298289268f20cb631e002aa24f15a8d505f124a6be2 +size 11384612 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_09.uasset new file mode 100644 index 0000000..cddf482 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc241f0a89125e14ef8389697af8bac0e5bed433f414b25fc05c78ec0c93b452 +size 9241299 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_10.uasset new file mode 100644 index 0000000..3b4bb61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e7033a658583408030762eaaf276acd78d32c4e83be6aeace52b9c436e5183b +size 2901188 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_11.uasset new file mode 100644 index 0000000..3c89da6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3716e63221e1d4f234112b1ea5474b729c64260c294665e27d0460c75b851c1 +size 9479911 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_12.uasset new file mode 100644 index 0000000..67e361a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e5efdbd3a0e29ec456b07a30d0e2e1166550dc6d8e8f291af8cae388ff9af9f +size 4469615 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_13.uasset new file mode 100644 index 0000000..6ed8f40 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:201390983c0815874903757d715d9622dc833f470dfb827c16c4f44a7f99c1cd +size 21066487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_14.uasset new file mode 100644 index 0000000..1763c07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a288c20202b90a9921274307a7a51a62c1f53fa850851a14ba75cbdbe2d7d86 +size 11465460 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_15.uasset new file mode 100644 index 0000000..d26591b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ac9a21a5d61a11f1da854ad1be76756ac16f8f06e1f34b42943ba11c945ea2 +size 21669449 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_16.uasset new file mode 100644 index 0000000..9676b58 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c22c7ef2252ad514199779b91e91685f9341d04d77ad31d604790d453cf3dfad +size 12789007 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_17.uasset new file mode 100644 index 0000000..c430387 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70e57fa8fe4660ea289f672af4343f3effadd0ec6dc6e121a08fa3c561805a4f +size 13781746 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_18.uasset new file mode 100644 index 0000000..a70e279 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a50fbb526eb8a066ea65668278d20ea01a9ec18a3af9913e018e0cf1ab2b4546 +size 11822417 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_19.uasset new file mode 100644 index 0000000..a040cc5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d13dff28f9d959f9213f2f58cc0d166b6208a5354c40199d9eb440da77b512 +size 10545552 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_20.uasset new file mode 100644 index 0000000..260228f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b27ff76a251e2c1ac21741b8756aee4b5d62533cd8912e104122f19fdafddf7 +size 9865339 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_21.uasset new file mode 100644 index 0000000..1c46edd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f7aef8a00dd57202dc94b2b2de6e9ce38a07847d8ceb3b9b758db7b8ee0d027 +size 7575668 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_22.uasset new file mode 100644 index 0000000..2d7b005 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11ec417a59794804a89c4f59de164e1249b7f77d4f84186e4d9e7b6b0fedf6a9 +size 14582240 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_23.uasset new file mode 100644 index 0000000..f57bd62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fa29bb92eacff86daddefd3c66fb62a371f5b123edb7f6f8597e226e320dace +size 13131025 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_24.uasset new file mode 100644 index 0000000..db37a41 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3867244f566988ebdfec4b73cc43885c53d6140e0634c8aebd136a50a8ffe36 +size 20830644 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_25.uasset new file mode 100644 index 0000000..9b5fbef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c43c67ea1719a4b60589352325dff3479d87d68fcb2b16a0147a80e7e844bf0 +size 6952293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_26.uasset new file mode 100644 index 0000000..ed3910b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee86a774d623e2f1d09b9e1c928d322f30e8df0d00c4df8f2db264fece68521e +size 9016280 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_27.uasset new file mode 100644 index 0000000..95e3943 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd3cbd2e36898ce719e065e42e0f0662b9b824f2803e98d8b133dbb6dd0a8c2a +size 11072321 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_28.uasset new file mode 100644 index 0000000..1d6fa36 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/055_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb55e2bca3bd404842a00df0d6d848218f171ea2747014ed5ae832a59484fa84 +size 18070996 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_01.uasset new file mode 100644 index 0000000..5af58ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57a235622b4be2357da0bf7763be2c4d8c97c6313070360406624f8707f13fc5 +size 3453544 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_02.uasset new file mode 100644 index 0000000..4d0c8ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b35ab939e96bbc51aeacc6288d7f74b01a8d2720260f931d26e3a50c8908fcab +size 7242107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_03.uasset new file mode 100644 index 0000000..79aab4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07fab820071d917197335c2c0ec513ce0653277e8f3c6dac01d7b788b8771962 +size 13577486 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_04.uasset new file mode 100644 index 0000000..4634ad2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbfa6cb484fd56a30eb631fcd1ede661631e499bc78bd517ab94d607d3e85d38 +size 14803246 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_05.uasset new file mode 100644 index 0000000..b5bd71d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a6c3fdab6fb4eac4b79e141bc17ccf4e49bd113df63968b681d294bd3fecd2c +size 16081811 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_06.uasset new file mode 100644 index 0000000..96f3a92 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c72ca91c713128e1d51330a033e00c4e2c876140cead56cd0b013ac7f357b64 +size 14792394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_07.uasset new file mode 100644 index 0000000..e11624a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bfa8f3ccfe010ac91cd7d88be32571a931a32a9e6c879693760054a2f270f0b +size 20540411 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_08.uasset new file mode 100644 index 0000000..c459854 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/056_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4f689e4f8c4849d9b7eaeff69ba5e7fc4797a8e7d656766f7a9c218294853f0 +size 9170364 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_01.uasset new file mode 100644 index 0000000..f555a19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8117a95800d682833ff346c9873392a690153153277476d06a85ced62da4f6b6 +size 5032250 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_02.uasset new file mode 100644 index 0000000..63f6d7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:945f4f0c740fa3c70b40276edcb0223255e5b7390f4bebabe688635aa36bd6a2 +size 4745633 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_03.uasset new file mode 100644 index 0000000..1a3b12d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27159b46ed45ac5420723dfa4195c7f2a03c09c7e786a2dd9940a0a1631d24b3 +size 4156592 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_04.uasset new file mode 100644 index 0000000..cd7b10e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b20f9cd5290f35ba5ec30e06c683582736c81b4b48df2f080b4fa0c6c737942 +size 4198429 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_05.uasset new file mode 100644 index 0000000..e2fc7b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04e9494e1571917796dccadb55d19224e3d11148635acc16270d60ec12e0748d +size 3798199 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_06.uasset new file mode 100644 index 0000000..91a31d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0faf2f9a7d6c755e33cff94083a6298666abbd2d188eac30f17b9478d6acd8b +size 3991520 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_07.uasset new file mode 100644 index 0000000..23249c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a91ce0c95b49dca9285685c08b34013e614dfe0ec7d26f0e39ad5c7dd9951e2d +size 4642749 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_08.uasset new file mode 100644 index 0000000..0c671a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b94fa1596b15cea90118ba354bb2d639c9865e5b65960558064ccd434e58506 +size 7607455 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_09.uasset new file mode 100644 index 0000000..fe5107e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:247e1f20d16cc83bb820325833790bd724a56e5d58368511971c19c1945ddf17 +size 5748883 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_10.uasset new file mode 100644 index 0000000..ceb1c58 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68fe88ec185bb42356fd7b7968aac0b32847ab597a63970d1397f95f9b2acdfc +size 2766799 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_11.uasset new file mode 100644 index 0000000..52189ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2078f0a922a7d62daea4398df96be00a5b9283b55d1fcdde1e6fec44434395a0 +size 4746278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_12.uasset new file mode 100644 index 0000000..eb2f27e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c0303592b159c3b4405962efa2e6e0b9b45ee254b049797d3fe48d3ead397c +size 3826016 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_13.uasset new file mode 100644 index 0000000..8385d35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20ba2f0ebcc5043e74505a872003afe781b0d5f4166bb3783086b85158dd2e3e +size 5091812 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_14.uasset new file mode 100644 index 0000000..edb21ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:883bdb316b79f15690d679f66230e6396da81527bf780491118dac56d09251bf +size 4400055 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_15.uasset new file mode 100644 index 0000000..7e8c1b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/060_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84bd3f1abcc38c24ebdc18cb18be72465f3be70ce42156cdc2368bf4710143c +size 4763800 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_01.uasset new file mode 100644 index 0000000..fca204b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2db026297a7fd820d5d844b49341f7a209533cee74c524bcc6a3ab5dcb413196 +size 4994848 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_02.uasset new file mode 100644 index 0000000..20fbee1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6909128245b96507e914926ce9e9fe71986f88f76f3e63f4a8c9585a8f20a5c +size 4712264 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_03.uasset new file mode 100644 index 0000000..eae73e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:104539404700afe6581f29eb8f26d566085308a81914364db2954627afc876d4 +size 4141797 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_04.uasset new file mode 100644 index 0000000..598cc54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7d2a029178b09b23343963d8e0ea4beb49234b99a0fae7a0d051f7e2c29c640 +size 4167704 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_05.uasset new file mode 100644 index 0000000..29b66e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b508d74a4f5abf6f2ecf8d9b60dfdf13bc902e1fd4d91581d629f9d1da2a3ec +size 3798643 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_06.uasset new file mode 100644 index 0000000..8e04aa6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1432905b3b03bae9f61196b4b7e83cda9724f0c5ddd181829caa0d0e3f0dd07 +size 3991422 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_07.uasset new file mode 100644 index 0000000..9e99497 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398cc6efff83d217de20db4e87cb4573ae31a97f8c7396b2ac690349139168f6 +size 4659692 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_08.uasset new file mode 100644 index 0000000..ad09c19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e27c7556e80ac0efc15d0578a211ddc663a1b1d8df55015dd0d80822e788d70 +size 7580293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_09.uasset new file mode 100644 index 0000000..854bf70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cff80e0143777feb080882599433a44065b21e3855708e5403c47ea27286d39e +size 5768833 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_10.uasset new file mode 100644 index 0000000..4dc2092 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa10ace20610e307435ec5179d6454e6f5287e85c0b86c256867175000894c44 +size 2747775 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_11.uasset new file mode 100644 index 0000000..d73fe2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e991ecb599be7836de1fe2caf9d2da23a5d4e501e077d367268b83cfe625003 +size 4746257 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_12.uasset new file mode 100644 index 0000000..3be6303 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11a028f34549575728ea3461c37ca2dc7cbc9bbd5a1cd895c6370e3e3cf93f06 +size 3825197 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_13.uasset new file mode 100644 index 0000000..806a607 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ee04ad55e6e4761094f7aae4e24366472893ab3b827a81d0489f5808a650e8f +size 5073905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_14.uasset new file mode 100644 index 0000000..d2a4133 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4c89a7084a9df9432f03a3a086a872b3d4397822150b462e350297fe6845922 +size 4432144 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_15.uasset new file mode 100644 index 0000000..4b26043 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/061_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1801acc9ac5255d8fed5ce886ea942b146e4453f4e9a56c36787c254cc3190c8 +size 4779967 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_01.uasset new file mode 100644 index 0000000..0d3218a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad2195aab3de44a40ede9d2ed2cafe222dbcb13a12d5f7ae8d384a176e2322b1 +size 2369775 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_02.uasset new file mode 100644 index 0000000..946f389 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d256870afc5afd4b855a79d951a2193fc97832429d6c58ed70b31b0644a865d1 +size 2305884 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_03.uasset new file mode 100644 index 0000000..c2ce69c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:032cc3177a540008e9cdb4a486d4f15589bf91e265a2fab10d4cd4d732216397 +size 3121133 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_04.uasset new file mode 100644 index 0000000..142ad72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e18e2ca547f26df90be6a2b62c66faa4d8184014f513867b59d00ac6110e001 +size 3069922 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_05.uasset new file mode 100644 index 0000000..583640b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f48577e11f2a0cd3a73b0122a8437bd5a4d13d008609fff720fe627ca513811 +size 2661790 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_06.uasset new file mode 100644 index 0000000..8a986d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:644553d4a9a0b20362bdf32869bb39fe64ed077e298838a150864cf2978a95cb +size 5806063 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_07.uasset new file mode 100644 index 0000000..e2ac62b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f70514168a60024a55367f02209add5199cdd671c7f0fb53b7ae53987644c3e8 +size 2523569 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_08.uasset new file mode 100644 index 0000000..2d3b11d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbd35389e700a7c716eeaefbd45ccf716ac97b1cd392e2d9928169cba75f535e +size 2084949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_09.uasset new file mode 100644 index 0000000..2cf7232 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38530c831e34c9c4c15a5f140b77332e998c239de785b134ffa45e4152195ac0 +size 2537137 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_10.uasset new file mode 100644 index 0000000..b9ba8c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9fca6a3da1ebb2ad8e5482982b731fc5cbc09627e6c6aeef3aae0681ad46966 +size 4474738 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_11.uasset new file mode 100644 index 0000000..b7b5ae5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c7b18c1a98602c6b51f1020b94af4aad37cdf0fdbf99785405e9da0df4f4fe4 +size 8164282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_12.uasset new file mode 100644 index 0000000..82a05fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b2f026601b0bfd1d30c2f0401e6c38cc497fa9a51cf1893cde0c47e95209abc +size 2262927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_13.uasset new file mode 100644 index 0000000..db90979 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a17ad3b6cb7afc654c3936a66edd070580cb8541138163a46c8b4af56c32a5cf +size 2933131 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_14.uasset new file mode 100644 index 0000000..61c5d53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26938228e56c52dd1b5908fdee07b9f9b826819892fc44b7a7e4c89b3b0228e5 +size 1574155 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_15.uasset new file mode 100644 index 0000000..246f9fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1af9caecb24da47dcc1ef7156c4ad6203197c72e17f440e80fb3bd6c17496e9 +size 1568218 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_16.uasset new file mode 100644 index 0000000..6289ffd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cafd0d11e8f3073eef7a6b16cd9921ff37b4b4af8c2406a2d91a7e6cb69e3eb5 +size 1503337 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_17.uasset new file mode 100644 index 0000000..c440d8f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:160a24cf08c53884193b3562e8e488438c7d1f241671d280a5c02cfdbe12a791 +size 1685018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_18.uasset new file mode 100644 index 0000000..ff093b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4312d53585654f760da790733f26354c489f4e30aca067c707cff3562f5a127e +size 1316085 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_19.uasset new file mode 100644 index 0000000..367f79e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0bdaf7e02a9f332fa58d7a2fe2ca384b0afac0208aceb7c9b3027fe4e6db4a +size 1557502 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_20.uasset new file mode 100644 index 0000000..dd4f2b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b85553fd886cb8dd6c6e5c2599eece1955c2c039046cd2b4f85864921abbee +size 2228618 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_21.uasset new file mode 100644 index 0000000..ca47ad4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:928ad8927e0e55c1c27505e62a71cadd8ba3faab9b2907700d2f7dcaf9adf2b9 +size 7501777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_22.uasset new file mode 100644 index 0000000..26a2d90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:678600f9de4db96979d8a74c36d7457ed4a1a311deebf724078dd816092f8aa7 +size 2439519 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_23.uasset new file mode 100644 index 0000000..85e5a7d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5637d77a18f26f4c5c2902e2eaa656e6fd6ef34f6a3c35774f0f2b455c52579b +size 2119268 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_24.uasset new file mode 100644 index 0000000..f5c8304 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45e2c5807aa032d3ef0a173db2176e01d25280f7902b505e6d53c0673f2c69e5 +size 6190785 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_25.uasset new file mode 100644 index 0000000..f9da45b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/062_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95de407dd411db7919844b76b011c71b489a1e29a1face57987f6f665a66ed5b +size 2860096 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_01.uasset new file mode 100644 index 0000000..d432c03 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3feea09d4003319a016291cb36c2f46c4fdc28d2dc75ced4facc03640e1d27d1 +size 1143110 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_02.uasset new file mode 100644 index 0000000..2241fd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de70795f462614a73db8b0c7ffe505f8090394a8d74fcbc05638a0d17feeced0 +size 1231533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_03.uasset new file mode 100644 index 0000000..6839074 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb801abb896a22f5b6b39f7ad5d5c3e7577e55aa933935efe5ce7ec6838d6c2 +size 1138345 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_04.uasset new file mode 100644 index 0000000..272e190 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5c0d91ff27bdbdcfe0a47930d3d57219fc3e00eb40767899b5933f21c1a2493 +size 1070293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_05.uasset new file mode 100644 index 0000000..170237a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3cd7d4948327e0e69fba7ddc1c5469300f99defb1b31a4c23c41b2519f89710 +size 1004830 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_06.uasset new file mode 100644 index 0000000..06dee31 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3d59dd38a8b342c064d327acef4e42cc83da05cae5453bb6cfb54143a4c24ff +size 1324400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_07.uasset new file mode 100644 index 0000000..64031ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b1ec9413c6f0cc130d9e5bac55e50ddfac42052359d3587eb82ea0baebcea35 +size 1000601 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_08.uasset new file mode 100644 index 0000000..ac13f0c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68c1eba785e224c687c2f03197cfc06427f0ed729066ff947fc7c45983618ba5 +size 966047 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_09.uasset new file mode 100644 index 0000000..368de6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c56e751c3a8f54ddf395c98eeca9f3d6f483b0669a58b6c2f32c56d39801b4 +size 1156057 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_10.uasset new file mode 100644 index 0000000..41d4bb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f2c52c54b01afeaa4f48fefa1f090c50c4cfe09c935e6ea109043576ceebb6 +size 1395205 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_11.uasset new file mode 100644 index 0000000..6029953 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60dc7c4a4cdcc6d9cd0ea1527c4389244abb6bc42309ceebfeadebdc86304a7 +size 1419168 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_12.uasset new file mode 100644 index 0000000..fca23ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:020c63dba8ba081738de6f15daceaee79e4fb1dc30a039b9f2488f3f6920cbc1 +size 1236763 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_13.uasset new file mode 100644 index 0000000..9c4b74c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7304540e0ca48eabac279654611b6a6a5030fc033e27caee7e28a36265f2c5e7 +size 1078330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_14.uasset new file mode 100644 index 0000000..0e7e2d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cc8889c9f5c3956dd9c0669c0fcf3f00ca7dd8d0c5a8167405527cdf8c67f24 +size 1326598 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_15.uasset new file mode 100644 index 0000000..8c48e29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f458143565425025c8e9b868b3ebe71b8bf396ff3c7e00b1d64d83499b139f20 +size 1019513 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_16.uasset new file mode 100644 index 0000000..75e9d13 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:442a711eed853bf42af851995ab52e819b8e95283a446dd432a07d1eafdee233 +size 1480156 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_17.uasset new file mode 100644 index 0000000..b9613ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb1634287df38331e332f8e5ec2429a8c2f046ac2890fea8895992b5a34187c5 +size 1297682 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_18.uasset new file mode 100644 index 0000000..2ba8104 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164f615f621294718d470343f4396ea67b7fd33738982f7974cbc8b437223e26 +size 1153957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_19.uasset new file mode 100644 index 0000000..bfec46a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ff5c2ab5c2218b4cb0b8a1b383477b98841f4e7ba801a2e0111d365c8d73d4a +size 934087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_20.uasset new file mode 100644 index 0000000..d482c47 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb7485041418732f37a05b496240568c3571d6d64841c71311ebd3a57299a01a +size 1386432 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_21.uasset new file mode 100644 index 0000000..30a84d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d989bb733d1968854d02a83d5032cee576abf2f25329b4d65b1ca0241c8b46ba +size 1091822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_22.uasset new file mode 100644 index 0000000..8894c5f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a3b89add6f43b92826733cc2fd070034b2b988854ed1949811f7e46846d4b7 +size 1284608 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_23.uasset new file mode 100644 index 0000000..349ce0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccb2108a400501c1c8b11093b3e63cb8ec64f7b1c581cf811bee5319ec34a0da +size 1268814 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_24.uasset new file mode 100644 index 0000000..45dbc34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2969e4db40ae914d255fdfc2261ae9d6b4dcb2452ac76504731103fbb66699e +size 1351957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_25.uasset new file mode 100644 index 0000000..e9fbd50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85859230c31696a43ef27dec90568b07572c3cb91099beea444dadd50cb699dc +size 1438900 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_26.uasset new file mode 100644 index 0000000..bd825a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e2aa53d83aa89cf8d1fcaf9fa71ed4c2e2a0186b3867899eca8e39b2c55c8f3 +size 1360382 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_27.uasset new file mode 100644 index 0000000..95f103e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b259e88b78cc3ddf9e1a3d11c4a6d427a56f9f19869a180cc3cf8fa70dcd55b +size 1376471 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_28.uasset new file mode 100644 index 0000000..15a8b3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1ea5f08cbb720f9b46256a584de01e99165ac62669b6b55823711c4461138c0 +size 1276611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_29.uasset new file mode 100644 index 0000000..4fceee2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc4013b55aca987e0dcdc40f7dec595e96d7e18dd20ad8a9f624175362f311a +size 1402360 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_30.uasset new file mode 100644 index 0000000..fb07779 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/063_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e34e601876791615e74a54b9dd64237efc1605c6613871c5559dee662a10465b +size 1476459 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_01.uasset new file mode 100644 index 0000000..b9fe4d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4584bb6222e8d971e7520dbc51a4e3aa2991437d9365207f3d991872d24dd0b1 +size 1143110 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_02.uasset new file mode 100644 index 0000000..dc65793 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b200f28dae923ab01a00b75455898e6c71601771d53c0ed39ed9bbcf8566409c +size 1231533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_03.uasset new file mode 100644 index 0000000..a0c2aef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb52d7813c7824503c207426f78076de968de6f291c0c1ceef94d82529ba68c0 +size 1138345 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_04.uasset new file mode 100644 index 0000000..2900ec2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2ad7f60b32e41fcee3d71546d111df65ec8e6d2a9c0373994f5f96798fea3b5 +size 1070293 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_05.uasset new file mode 100644 index 0000000..8d559a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94add6e364f43fedb68f43079ffdae225bcb29ebd2dd8ea5f00617350651954a +size 1004830 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_06.uasset new file mode 100644 index 0000000..5fa73c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9369fec3c891044dd76b4f9f71e696b911a59e40701f46dc692c3a519d901a6 +size 1324400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_07.uasset new file mode 100644 index 0000000..c7e4882 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d401dcd026ab58e5c99cd9a9e09c86b78096c265708294e45ba65c75f40ef650 +size 1000601 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_08.uasset new file mode 100644 index 0000000..b500219 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8027de236efbd6e06b6a22b8fbfe5079dafa2cca7a05bcb54038f0b10aeee8d2 +size 966047 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_09.uasset new file mode 100644 index 0000000..e17258a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62b8af84e3870772deab5645d43ad6c24c6565a7216e4e59521d636bf71b55dc +size 1156057 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_10.uasset new file mode 100644 index 0000000..c6cbf22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f4bd1d2e66626a0e80108270bc6071279cd5fba08ca4275da4b053c8b327063 +size 1395205 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_11.uasset new file mode 100644 index 0000000..0730f6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:169fefd79a8b2ed8db358612119841e98e4d3d5e99b75bb313dec72481982dba +size 1419168 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_12.uasset new file mode 100644 index 0000000..eb088c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67330bc674a7a32f77e685b30f6cf3d65e826cad6a8adcc9bd199a9d7fa77669 +size 1236763 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_13.uasset new file mode 100644 index 0000000..dae2d75 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98384d856ab6369b4445a47784ef9d4de7e7abb807a3a94127e0d94364510022 +size 1078330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_14.uasset new file mode 100644 index 0000000..c1e32c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10b4c241bf26ddac3b1d980b35b961808f0c54b73b34271e12586fa8ec8b7398 +size 1326598 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_15.uasset new file mode 100644 index 0000000..e63720e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9389412c6e017edfda72345561989c028c70a2e3edb104f78cf56b0a5b7f14b +size 1019513 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_16.uasset new file mode 100644 index 0000000..358e599 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7560d408dc63b22ea05e9a7717af41794eef62f5f829408233e2751b07f9879c +size 1480156 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_17.uasset new file mode 100644 index 0000000..45bdca2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b3678d0ad2ed1d33641b1b20b8ceeca1cae42aed5b54f203e32031469613685 +size 1297682 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_18.uasset new file mode 100644 index 0000000..cb6345d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dda1a10d915d54814cdf47f2778910621d0df09dcb07f323efa6947ee2448cd6 +size 1153957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_19.uasset new file mode 100644 index 0000000..00483c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8fecc221cf5e2ca7a00e65736f5a1ac8df6398c8cb71efeb116c3f938f9caef +size 934087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_20.uasset new file mode 100644 index 0000000..26c8efe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca0f6dd55fb946649850842d41bd891533e79b6c3bb5c797b76bca04182bf54c +size 1386432 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_21.uasset new file mode 100644 index 0000000..987fc9e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80a02b0226ed9ff7b9482ee53bb02476b2a81a3dc9eedb6522162650adbe2cac +size 1091822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_22.uasset new file mode 100644 index 0000000..4fcf0f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b6276f84bc03603181069a638db272434f309e8ae8caa7d2cb64f7aeb458e7a +size 1284608 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_23.uasset new file mode 100644 index 0000000..6d8bf95 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce8e794b479094385b8a5f45e7be46c9ecf83ebd7ddbfcf4d8f20d776f3eb26a +size 1268814 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_24.uasset new file mode 100644 index 0000000..50f9e43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5c96dbb1ca021919b24585fbf8d660cd229891e14e511890ead7a7085b96431 +size 1351957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_25.uasset new file mode 100644 index 0000000..bff3ad7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b7539a8f9ff7e524fb1666c1f7028b7fa97271680b964490114c0d346bf302c +size 1438900 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_26.uasset new file mode 100644 index 0000000..7ef797e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e4f9d24acac6204c41255c1db94d1fa2755277c47730532a6cbec594abaa165 +size 1360382 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_27.uasset new file mode 100644 index 0000000..5e533ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b019dd7d808720b86ebdb31cbc17d89cd4749af6c877498573976e2c3b8959e +size 1376471 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_28.uasset new file mode 100644 index 0000000..39f5280 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad9c8e8e14745cfb3d47e70089c4d9cfc43e29b63448121a5f417c820b1de261 +size 1276611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_29.uasset new file mode 100644 index 0000000..636aa64 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b30cb1714647872c57c284f1a9812f5abbff33eadde6da516b7a0a11fe606c3d +size 1402360 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_30.uasset new file mode 100644 index 0000000..ab2823c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/064_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b72a57b11c42c1909e9f52d4386f37d1fac366f6e94507e77e65a5c714a71b62 +size 1476459 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_01.uasset new file mode 100644 index 0000000..b1f2675 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11cacdcb601c10680e8a84297bd2b653af90785ef063d2f74ba236c8798d4b84 +size 1101566 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_02.uasset new file mode 100644 index 0000000..2fd3acb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47eacab8711c8f65cba09ade6668704f78e909f3e8a56ca996c8cba68ee3750e +size 833476 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_03.uasset new file mode 100644 index 0000000..06549ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aba9d827e4f5dc56f980abd94dcb7b834baa1bfd55f85a4ad7d75ff40ea0b511 +size 989536 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_04.uasset new file mode 100644 index 0000000..ed55456 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8afee8a9d6186c37b23e78635cefe544be12a733bbc1188f6ee9bde09242e109 +size 1009832 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_05.uasset new file mode 100644 index 0000000..f1cd894 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f0c41a55372c2030bf7c677e522312df3f8880772e304edbccc1aa11bbc54e7 +size 1077430 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_06.uasset new file mode 100644 index 0000000..2c3b6c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0118639087ab20bb97e984d7c8cc1c5b67342d3cbd69c2071e6719ae981c4d97 +size 11576690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_07.uasset new file mode 100644 index 0000000..5f29e27 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ddeb40ae05363724a3adc7cee5edcac78f1739f50f5b46d5dcf82c679958c18 +size 11468800 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_08.uasset new file mode 100644 index 0000000..37d4b78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d38f04a8b00f69d91938246eb10df2c5f9dd9e1884fc1e05c888e2925ee498b +size 11658468 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_09.uasset new file mode 100644 index 0000000..335474a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fcb42afd518f5ad6fa1747a73e1a1090d1d0902aadd68d551c5667a687a64c0 +size 11176997 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_10.uasset new file mode 100644 index 0000000..f6d1dc0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce31889e4005b24cc8fdd41acaa3cb1de030119b8314c2b0caf96bd9faf41285 +size 12599448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_11.uasset new file mode 100644 index 0000000..4af7a32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9224a8fe8a956d9282dc154a57f2f4ee687d7bd6ed24b2fed3cec5ae8bff999 +size 10907368 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_12.uasset new file mode 100644 index 0000000..a95a2d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7e04e932f269d0b739ca00bf704222f889cfc886bf29b6f27e88719b9c9389b +size 10603698 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_13.uasset new file mode 100644 index 0000000..99eb4c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a54827b4f77f2dd3bf3add50bde5f388a68c4bfeae377fa781e48a7418446a59 +size 10449319 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_14.uasset new file mode 100644 index 0000000..67424ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:297e1e4cec46cd58d92acb386b6c1a9c9b34adab22c43d876490d64c7d4e9153 +size 10733242 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_15.uasset new file mode 100644 index 0000000..31b4389 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e33a33d062ab35428a2d4fe26f3aba512e730ccd532a353266e7c94a10cf9d4 +size 9957816 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_16.uasset new file mode 100644 index 0000000..fccf627 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae4dbe581838263921e4e3d0f8ca8b03be48efa9cfd1c439466415d75f426f98 +size 2602131 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_17.uasset new file mode 100644 index 0000000..821bc30 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a660e60ab3d066d7d6ff4c304bf452480d66a28cbe3e15ef31c47dde29085c08 +size 2320350 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_18.uasset new file mode 100644 index 0000000..788f9e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e9b37dab8bcce7f37e3003aa7f2c3281cfffe82604ed3f9655fd2bbed2ea78 +size 2457292 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_19.uasset new file mode 100644 index 0000000..f2cf9c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80b2907753595a2cdb8354fc2d392c5ee3733f0ee35baa7e32a030338635364c +size 2594884 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_20.uasset new file mode 100644 index 0000000..3a5ecdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96d0e6410d96579b6f557cdc5b3b3b0935c570ca86a5a93b421639428636c46f +size 1336671 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_21.uasset new file mode 100644 index 0000000..9e1b08b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1103d896e6a77f8dcd457cab5d27bdabf0f3b05287373472ce0380044c5fb7 +size 1457116 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_22.uasset new file mode 100644 index 0000000..883bb46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91ebaa2f0462202141c1781cf414a1108bc61cfe670e081ba40bc3d7dae2b82 +size 1228406 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_23.uasset new file mode 100644 index 0000000..45a50bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff872f1ba87a96262479a09ece1021ec3937e3e1c3eb79ce0e59996fa88566bd +size 1352960 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_24.uasset new file mode 100644 index 0000000..b9c5735 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0a4472a2323f5745b4c0a703647fed3bbcbf21c162a164f4f6edb328eacf729 +size 1081301 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_25.uasset new file mode 100644 index 0000000..b224d54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2bb2fdbaf376cd16ce93c7d58be6425403dfdcd4011b77becf41fe04df2141d +size 1157668 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_26.uasset new file mode 100644 index 0000000..d6420cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac793eb639db1489fb169c350cf3bf17eb39a98b46d61639aa51e21331ceae73 +size 1098706 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_27.uasset new file mode 100644 index 0000000..22ce72b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f1e7aa77733c4cf6aac68e72fb8a131a35b0a80fa15fa656ffab59796064707 +size 1085524 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_28.uasset new file mode 100644 index 0000000..af877b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec2e2dc1e55681760517718455cb698d6423c6bc1589952c309016464f1ab2e4 +size 1157816 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_29.uasset new file mode 100644 index 0000000..6546785 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e23747ca8fbc78d84f798e22bc92916453da8660cd4d31251b822958b0c23e3b +size 993060 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_30.uasset new file mode 100644 index 0000000..a9bc2d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f5902db00cf3d29bfa42fd38d06ac65045d0a00ba28bd42f3c8003dc547b04 +size 997302 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_31.uasset new file mode 100644 index 0000000..1ac4f62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db7a4a5b353ffb9c2c6ee1ebd4eced38357f0b0994d04e9d8628135878c54b5a +size 978665 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_32.uasset new file mode 100644 index 0000000..f307eb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83b0b9ae50da307b3fb1767383e944a70cdc724fb7c53791912999b2f3ee164f +size 1001023 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_33.uasset new file mode 100644 index 0000000..f42877f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e9b8da7ce7aef1823f4f82bdc4f7925efed65e20e37e36aba6caba9444a6bc4 +size 1018487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_34.uasset new file mode 100644 index 0000000..a6a8291 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56e06573dc5d4d339a70d786fea4289a8ce4cecd67efbd040562c85a1719b6e5 +size 10453541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_35.uasset new file mode 100644 index 0000000..90ff112 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5436e729b90fccf58f8d72c20a7a2b8ca266c8604e7d011ceb1577edf5501511 +size 9049011 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_36.uasset new file mode 100644 index 0000000..7a9e7fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a582795437234868f685481f77a6d54771489abf63e2b656613372398f5343d +size 10084776 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_37.uasset new file mode 100644 index 0000000..7650dff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dd0b20f093071b7942a7aaf2b8ed27b337ecc74952cfe24c3c4aad04fdf28b5 +size 9515864 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_38.uasset new file mode 100644 index 0000000..932ffd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13537d080a7c7dc6a8a61207c0d30c72a60624905e66d83b6d7eeb6b02a8f38c +size 10820090 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_39.uasset new file mode 100644 index 0000000..1aef2dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bdbb867abebfb2169cb5ee589cd44ec575ac86ecddd16f1ca859dd852992d4c +size 9835054 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_40.uasset new file mode 100644 index 0000000..7e7ff53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe2093250bfcb933f7add0c41dbbbc63c5df8281302fb47c7a4bf69e5f98f941 +size 10233406 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_41.uasset new file mode 100644 index 0000000..2afc0e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f05f9753b3a5cfed5a3e8eda1ec6fc5c49570b719d30bccfea4f39244f8bac10 +size 10307015 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_42.uasset new file mode 100644 index 0000000..fcf97cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b104c1c72c7a19cd5f4564d0a8c1e272adaee95d5a05b562bee04ca5692069 +size 11234641 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_43.uasset new file mode 100644 index 0000000..da41320 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c76769322f609600d51fe107faf6beaa61039f21f49a4a0e7e0595e1b002525 +size 10915225 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_44.uasset new file mode 100644 index 0000000..9995c10 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bda779b110b936d1fea58a6e5ef965245b8f8f09217c46153a31a0422ab4cf57 +size 12347960 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_45.uasset new file mode 100644 index 0000000..0f5b004 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c6fb85f7bd9bf0a46a37a60364b5acbff1659067e52acc80d59d52261dea8e +size 10427942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_46.uasset new file mode 100644 index 0000000..ccde539 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee75ddf5a78472080a079d09442e2944e80fc5e5e032b0f20cdc2acd76ba9993 +size 12497299 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_47.uasset new file mode 100644 index 0000000..ab05870 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e446062f28521f8730469d2f93e430a30d1dca13733fc2fd59e8ad17091e1c40 +size 11624360 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_48.uasset new file mode 100644 index 0000000..559c5b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:612965df06f6c209766038be77ce8e4aab386c0d9115f00c036135837787520b +size 11036575 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_49.uasset new file mode 100644 index 0000000..32f079c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42ebf75a0b384f1999e52ee6bef112edb9f48991151e29a61e5cf792ff627361 +size 12479611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_50.uasset new file mode 100644 index 0000000..9779031 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7179f0b30687c11586bd5b18854a438ebbc6a65fe0905ebb849e593255b5b86 +size 1308567 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_51.uasset new file mode 100644 index 0000000..26fb111 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb804eab312c41a15570c3f96d33e7fc51c4a2c6963b7193402e55b2c9d01f95 +size 1515328 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_52.uasset new file mode 100644 index 0000000..b104cdd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04b07d083f8cf68c8032a55a90e8f5025214bdd956601b13c2e5baca5285d647 +size 1355442 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_53.uasset new file mode 100644 index 0000000..53231e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ad34cf3979c4dacae0d6a96849a62e0e4b2db0514606af2322ba47f51c55900 +size 1147152 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_54.uasset new file mode 100644 index 0000000..2599b45 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053bd9f2272751f87b345bce882841049bf479ee9c8b2a3bcc8920a4b35e8b29 +size 1203655 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_55.uasset new file mode 100644 index 0000000..e746ff9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c70c61e2086840e6810635037e6b64901a16ef4240d6260f5f2d3f4fe32b3a35 +size 1181895 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_56.uasset new file mode 100644 index 0000000..758e649 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:934e45eedcf849cb4e5b0c608db9b2ee47b362e6adbcb0dd570305dabfa635c4 +size 1784601 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_57.uasset new file mode 100644 index 0000000..7bed657 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b682de9abc7e5d601bb52b6d3e131faf09a0576918fab5370506bdf6ccf8b6a +size 1475630 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_58.uasset new file mode 100644 index 0000000..1c75198 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb1472898da1eac7ce7c8e506d3596ea54cc9494c2149b6a6581c88c14ad57db +size 1754257 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_59.uasset new file mode 100644 index 0000000..3628ca1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82ff2063bd90fbc1c3aaa2af6b1c72af0503d47583c908fc9482939ee5eda9b5 +size 1679914 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_60.uasset new file mode 100644 index 0000000..5130026 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c29a47f58fe609ad0c4248dac25eb7466a7dba7219c4ce7372b43cf6b0a07b9 +size 1522336 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_61.uasset new file mode 100644 index 0000000..f526275 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:741f8a32bf1150e567c0c7d35e81d516ee30ce9f6241e10430246247fa9d400f +size 1514918 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_62.uasset new file mode 100644 index 0000000..acf0cfd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d92f905ac8fb95bfbc2f8e2b7ec556b36a4f8b954c0a3133fd74773886e4f073 +size 1589134 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_63.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_63.uasset new file mode 100644 index 0000000..01270dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21031fef1d61522aeba6401bfeca7a930ae1821e42fca4f3b14a1d6142deebf9 +size 1341109 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_64.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_64.uasset new file mode 100644 index 0000000..0e05142 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_64.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50909ff17a316b6c71d72bc7118807bd0ea2114a41afbcac0d369e7282235346 +size 1354674 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_65.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_65.uasset new file mode 100644 index 0000000..f23f9e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_65.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c76c172c18c8a668c747b8b259e06db9ab120cc635b6f32df2246e116b962aa +size 1585065 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_66.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_66.uasset new file mode 100644 index 0000000..63ab82b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_66.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe29f13241559e2d57c7e19df05384e26b6baa6826f7fe373fbb47b48ec48e0 +size 1413076 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_67.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_67.uasset new file mode 100644 index 0000000..a817732 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_67.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8c077a9fe282f82a6c4912ed15be4c14c91ebb6a0bf57a3bfb7cb84bfc7ec72 +size 1520201 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_68.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_68.uasset new file mode 100644 index 0000000..9355f73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_68.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13489d3e817d52472438bed82f6ec21ce6e850157a3e3449464de64f3f674a44 +size 1912594 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_69.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_69.uasset new file mode 100644 index 0000000..9fb9a30 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_69.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36fa40bf7eac60ec23075528ca2958bd78aab8870bbc6defe031374e67e1a281 +size 1856502 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_70.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_70.uasset new file mode 100644 index 0000000..f102919 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_70.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8a5bb84b9d988cbed4470b70fbfa013c40c721179948f96c85177ae7ba0d9b0 +size 2413529 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_71.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_71.uasset new file mode 100644 index 0000000..fe0125c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_71.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33ad9614d93c021c19a0075c5f61f51eb56277aa040b1b1b9f1258d354f915b6 +size 3013880 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_72.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_72.uasset new file mode 100644 index 0000000..cb74cd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_72.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b241c2716ac0922c60d682b9e3ce98dbb20c21279d88582839d9de8ea3a6721 +size 2601777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_73.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_73.uasset new file mode 100644 index 0000000..d53fa6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_73.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b13ec5ec057d3a9924030a2e5149d52b168ec61f70089fa823a5c30bd81397cc +size 2551523 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_74.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_74.uasset new file mode 100644 index 0000000..0d092f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_74.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834018235ce61619b9bed715b5add0c91b6c721c456f6fd87f6e8d3bd617f53b +size 2286229 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_75.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_75.uasset new file mode 100644 index 0000000..1a60465 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/069_75.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:741e93781b0fe8e8078808384aa676ec7c3364ab34772ce76e7f4d3babe7fe8b +size 2577901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_01.uasset new file mode 100644 index 0000000..de6acf5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e139e6ccff497e94bc2c4241fa04c359b468d3c99fbcf538c80a95261a7161e +size 415052 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_02.uasset new file mode 100644 index 0000000..0756d5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32801ecbb66daec10488b5897d229dc2105c81996327e4fc162fac31456fed9f +size 1716702 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_03.uasset new file mode 100644 index 0000000..ec00f0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd19d98cf49a6ed089b472b8c22ba483c81ef1e466f8f2bafe16680ebf734e79 +size 3881929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_04.uasset new file mode 100644 index 0000000..f9be650 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe858973dbbff53f71c675ec86d17a3283907d28797018cc2cc8e9da75c6adb +size 3555356 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_05.uasset new file mode 100644 index 0000000..0a3783f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cd2b9833e263a203c30aaa61177dcbe26572443b47ec9e926a8d158adcf8fd9 +size 2029051 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_06.uasset new file mode 100644 index 0000000..380a878 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b85742a727976c0afbb0fcfe3703a5fe4bb420a9b15c5618936642575ff1a70e +size 1889927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_07.uasset new file mode 100644 index 0000000..6cd9674 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9815266988522db9af7d7e46f490fb58de4d779c899b5a921fd7f8912212deeb +size 3249736 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_08.uasset new file mode 100644 index 0000000..393646b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23c1c2d4e35123cf504c86bf516e556fc292cede2a88729e7356c2ad260bee9f +size 1950945 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_09.uasset new file mode 100644 index 0000000..d345ba3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1bd1ea50a7f695963bafc6ddcf90201bd37a1ed018e43dac6cb3a6140d8af7f +size 1918761 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_10.uasset new file mode 100644 index 0000000..f0c6629 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed35bb34271e4a5f06859f19c2f9bd0207eb6e27ea2ba0dec3b07f281f233d4c +size 1841947 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_11.uasset new file mode 100644 index 0000000..96f39e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:420700607d92e44ef2843fcd709146f129c90824e3cc2a564b5211bafe6acf5c +size 1415346 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_12.uasset new file mode 100644 index 0000000..9cfb839 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ce7f1a1aa3a03032e8293061200cd8410907664cc6d65bf57e331e9a2b401a1 +size 1797060 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_13.uasset new file mode 100644 index 0000000..4a6ef5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/070_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a506c387fbdee8cece4f18d8d944f456e3f80d34b08a46fb43316da253367a7 +size 1530879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_01.uasset new file mode 100644 index 0000000..6e778a0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a41a12ebe9ea6e3e801120ef6a75360916ed6496625f052c4e15b028ea5d328 +size 1610479 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_02.uasset new file mode 100644 index 0000000..f466290 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21598113921d248ebcd77a0ef5d5b64f13d17493fd4f8cb000077753fab9d7a3 +size 1716702 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_03.uasset new file mode 100644 index 0000000..af2a7fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eef9494dfcffd7ea903a2ccc2d24dc2fac3ba879af7a23aec230795f87037ba +size 3881929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_04.uasset new file mode 100644 index 0000000..dad4c0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:badc34ffdbfb47d53a8821beded5dff7cfad7fb4a4c90d29fd72a3031ae656f1 +size 3555356 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_05.uasset new file mode 100644 index 0000000..c88c051 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1da6890d3165b0807f82488d4571c6ebe441bb2853256a77b400b71c4a7f7f91 +size 2029051 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_06.uasset new file mode 100644 index 0000000..37507ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62e046e29b04648ec752f7614af61fe95f6732f93a35033c527ecd3128113926 +size 1889927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_07.uasset new file mode 100644 index 0000000..9a9fff1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e739938d979fcaf0cef7ed3f2d54bfcc6314277edcda4124f0d2063db274686 +size 3249736 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_08.uasset new file mode 100644 index 0000000..89b1690 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e706c881aea8d97613a4f253bf597085bbfacd2088a92c74533aabc1968b0520 +size 1950945 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_09.uasset new file mode 100644 index 0000000..d909fcf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa04125be4064515a43126b2b0303ee5708124948e5a1f803ef793b01bad1b76 +size 1918761 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_10.uasset new file mode 100644 index 0000000..aeac38f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a71a32f8abb4ddaed52b5ea3137a012d69ca52ce314411f49db221a7742d0b7 +size 1841947 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_11.uasset new file mode 100644 index 0000000..a306eab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:779390db84ca58e6ec04f97109bf84b6b9521d0c7b201c761fb0dfd476a251b2 +size 1415346 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_12.uasset new file mode 100644 index 0000000..6357c96 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d26c471124153574dfc6e1ad5f02221b11634767d937f5a6b50ed676b3c3f5ed +size 1797060 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_13.uasset new file mode 100644 index 0000000..1f020f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/073_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1f133ca1ca37c15e75378bcfaf8c169a6a8360f5073128e56ccc059b0d6fb9a +size 1530879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_01.uasset new file mode 100644 index 0000000..579a655 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd0fde4b4120704bd6e7f1a70ec7fef5cf7e64444b3c89ac827617db10b1d94 +size 1150088 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_02.uasset new file mode 100644 index 0000000..20f26f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64391f4b91950bdb9e643339a6149ce3499a5bbe860a06eb2ac459cc5da8e393 +size 731728 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_03.uasset new file mode 100644 index 0000000..ba7dda2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f58eb9ecd869a832acb2ad5fb01ad20c10f508201d5b69746bb36199ea23583 +size 1031534 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_04.uasset new file mode 100644 index 0000000..cb70e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d31c3cb5460f48983bdb0434efa02d323ddee57d0646297381b63f354d50b6 +size 847403 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_05.uasset new file mode 100644 index 0000000..b702aae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce199ed036280c29cb2e8cd8f3227fdbe71176832ad48d0541589e11796694a4 +size 857327 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_06.uasset new file mode 100644 index 0000000..0ba9f3e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2118354d36ee95c58bae539d1d7e80b87ed62a5e9ceaa3a48048a949e5a56671 +size 874221 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_07.uasset new file mode 100644 index 0000000..f2035c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79fa4f6769126c241b98d2170a42d95bde9bd7d3f5d15c7a6aadbccf112507bc +size 786519 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_08.uasset new file mode 100644 index 0000000..c065588 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e950c23a642ff79120e2da812b93362e952cdd58b567b04d8f02d71b3cbafd24 +size 499534 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_09.uasset new file mode 100644 index 0000000..9536992 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:294b62d22bc0862cf8f855b0052958a8ac8c6e7fc7ece1285f95459e959ea90c +size 548793 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_10.uasset new file mode 100644 index 0000000..f13390e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9818f81ed2430525dbbe6c6825e1f859139c4123b0f795ce16ae899b368463a +size 786170 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_11.uasset new file mode 100644 index 0000000..2ee8c69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94c761493f1e1030b624bd27b48ea186924ce5a7b508c256926bfe28d9f94a2c +size 810263 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_12.uasset new file mode 100644 index 0000000..cbc3a46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a983f785e7bc54a9bb186c33a5119462238862cd15f26285970527970160718b +size 773809 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_13.uasset new file mode 100644 index 0000000..1992468 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c24ed526da731209394878b0f670c2cf2e470a1c0ff084ae5d22373f0ed0f318 +size 5542554 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_14.uasset new file mode 100644 index 0000000..3652026 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b7dc0871f5a8c1dd4207c096f0c3069597a0133d0db26e68ece61177aeeb441 +size 1116227 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_15.uasset new file mode 100644 index 0000000..a562365 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80894aa351ec4bcdf9c8d8a2fd26a7228558238a9afd89b3368acb3026bb10ab +size 1103262 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_16.uasset new file mode 100644 index 0000000..7def3eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a72a9b3bb7c475e4e3c8168cfe65658a2d7950fae78d73c2c31ee76bea74931 +size 1232545 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_17.uasset new file mode 100644 index 0000000..dd8f89a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a3305371b56fcc490e1ec23740d6853a341685549ca36add767a23d7ae1f45b +size 1279107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_18.uasset new file mode 100644 index 0000000..9fcf499 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d69f11b87a9803a707b97a5c5c2cd2de3920552cb8103d8bd274d3d21c4d58e5 +size 1227535 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_19.uasset new file mode 100644 index 0000000..b1309ff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:645fd8f78ec2c6f8fd59975bc463e8791e9f6f8a3ab32d5b8a6cfe4eeb6bb849 +size 1199222 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_20.uasset new file mode 100644 index 0000000..582d224 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/074_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7712fa02586944e3ebd520afbaad056ce8431881922efbc4d9ead67a300e116b +size 1325531 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_01.uasset new file mode 100644 index 0000000..0c32a7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff19553ccf724d90482769611ad3e66381e91d2e4135c5d34f89c8a944202486 +size 984110 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_02.uasset new file mode 100644 index 0000000..a5af15c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:737580cd12c29cd4c91eae1e72093bc7874a1dd6401dd420ae61bc50ac9973c9 +size 681066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_03.uasset new file mode 100644 index 0000000..68d8b97 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfea89b4e4822953ebc335c9f43240abe224f930739cbe93f51496d0ca79107b +size 600785 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_04.uasset new file mode 100644 index 0000000..9359251 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed6ef67603c7ccb7438e7c63a4dec2c17813db1364626b2f83d05e855d4b9c0b +size 774950 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_05.uasset new file mode 100644 index 0000000..573effa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b4f89489aa594fcd60105852fe07105be10c85e2bae2926f56c75da809689a9 +size 798831 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_06.uasset new file mode 100644 index 0000000..0ef1f46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4709f91aebeeb0c8d3bc036706334d88d74616979af770c0aa08524388cd3173 +size 1765629 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_07.uasset new file mode 100644 index 0000000..31c02fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dcdd255fab0ede551609dfbb22069ca2b877cf787dcb5b10de5f83d288f7fa3 +size 2585848 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_08.uasset new file mode 100644 index 0000000..8972355 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:936ac9c01a8b92cec72964da354d568ff424967c5705d038f8395ca1a690dcab +size 2586369 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_09.uasset new file mode 100644 index 0000000..1290c73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a03830023967b889ebb6b2812bb8cc421413c4a743dfad0b5a2e333a7e8c25b +size 983065 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_10.uasset new file mode 100644 index 0000000..e9c8951 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38c547285985c7b2ba4de947aeb10559cedcbbca59559ec12dd9daedfb7a7755 +size 752033 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_11.uasset new file mode 100644 index 0000000..efc87cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615495a7d6b7eb54657695f8677e1abc38e42e6374d05469987c4988a9aa5dfa +size 545641 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_12.uasset new file mode 100644 index 0000000..deefaa1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1db6dad4d59f0a303918fc5d098431cdb8b6e6001cf5cd9679d31ffa3ec1704 +size 1182540 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_13.uasset new file mode 100644 index 0000000..5e4048a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b745636503cca5a5ce224ec5656f2403ba2569f3ddb4c356ab83106d6e6a75c +size 984622 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_14.uasset new file mode 100644 index 0000000..8b020d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8b1bfc8ec5aae96c1e740fc90dd41cf5607baa829885de11172311c97e82c3e +size 1133997 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_15.uasset new file mode 100644 index 0000000..eb78845 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2a7a893f7b04f2762e285fa12f92510a5b8234a7f843c2a9f9ca0b318a692d8 +size 3860892 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_16.uasset new file mode 100644 index 0000000..b0faea0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fc53c21fefc0f667afa61cc3642a5f5a4e56f94c079219234f35b3b4f3fda05 +size 902396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_17.uasset new file mode 100644 index 0000000..f5b6bb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01caa58de2a79d21cb84f1b68ab14d8740fc6617435890034a50c6aad491306a +size 851509 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_18.uasset new file mode 100644 index 0000000..b6df577 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec0a34cb2b328d1289d834e9b46c8ce608a27ed31ac22971ee13cb676643d327 +size 807660 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_19.uasset new file mode 100644 index 0000000..16fa8a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c4a79a8222edb40990c26ba1d0ca3aa7da022bcd06938b57cb65af9996d1398 +size 1789840 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_20.uasset new file mode 100644 index 0000000..5fc64cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/075_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12434a6667cdfb3ce4d7fcf81e2d604cd0d2f95eaa9ed225a669d44fc5c5db48 +size 1237291 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_01.uasset new file mode 100644 index 0000000..7a913a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a19eaed0c8c46b2d64c23ca04d383b8042ac58542d4605e02317ddb2593d29 +size 2159784 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_02.uasset new file mode 100644 index 0000000..9ff206e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:add73af34cfb59de5a0bafdbce495337764ad07393c04640845cadcc8c406eba +size 2650693 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_03.uasset new file mode 100644 index 0000000..3f2e323 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9a735ee9caa9a0976f1b623365d7bc1119fb23f73a9f7d3069efa6ccb09dba5 +size 2480709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_04.uasset new file mode 100644 index 0000000..c1dc2fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f166a40432a9b80454297582e1b9687c85d8bbdade00fce3e2822a51e3db530a +size 1003531 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_05.uasset new file mode 100644 index 0000000..eb2f171 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50c705cef8052c7ca12889164d68750a64417b65eb0be3bf0d3230f8e7cc1383 +size 2024516 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_06.uasset new file mode 100644 index 0000000..4d01175 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af37d8883efdb673d1f9287c9fe5afa9320abde88b17dd6100fad16a895066f3 +size 1605717 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_07.uasset new file mode 100644 index 0000000..ee91dc3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdeef1b4f2efe79dd7c123a6f63907feeee003f4193a0f8fb3c6505256cf0914 +size 222423 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_08.uasset new file mode 100644 index 0000000..c2ef27d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5b45f206e7c3014a3006ee87927b23f444222c4db069ce722774b735f938ebd +size 3264185 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_09.uasset new file mode 100644 index 0000000..45feb73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f56dea59078c74babcce64811047677372a5ecae3799020d11cac4a9c2f075a +size 3487491 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_10.uasset new file mode 100644 index 0000000..3ae1d18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f399d5d64993154ad70e48d52bc3ef94f15e918e95c5e68f0b140d72ad0e1cf3 +size 3073425 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_11.uasset new file mode 100644 index 0000000..b67ed04 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/076_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8208a3330421ca28535c302f15f80bc1375aa8f61b4d7e3430981c238b46ba65 +size 1265845 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_01.uasset new file mode 100644 index 0000000..70e4c1b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0c5a76460b7be8cc514072312df1a05ac1993d48304e2f8f37dedf1d3e11f53 +size 2499025 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_02.uasset new file mode 100644 index 0000000..8db7f22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d752214b1e8c24b84fcf3456bc64c645342040a1ce194e6e9c2c79c75409bd3 +size 1966762 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_03.uasset new file mode 100644 index 0000000..30942e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66fb61722d6d4f2d11110be5d879194d1031e55d3ba8bbdb09eb696263a6a52 +size 2089270 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_04.uasset new file mode 100644 index 0000000..327492f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2797c405681543527dfb936a04e4d4aec9b5cedd05f718ba9a889dd74ab5eb8a +size 2079591 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_05.uasset new file mode 100644 index 0000000..97e9de9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca5c9308e6b56163e0719d78003c444446008b62a9863ce58a6433a8763850f8 +size 1155112 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_06.uasset new file mode 100644 index 0000000..bc9fba6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c074654f647bfbcca6e1a8c5dd902670f63a464d7d9e381113cd9537ff76a9ff +size 3090683 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_07.uasset new file mode 100644 index 0000000..6306325 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecbf54c1ef23ec065101d313561fc636797a4d96d36d369339a4112126fe2c7f +size 1191257 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_08.uasset new file mode 100644 index 0000000..c7f46f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:639a111c05245518c1c8d110e6afed12fd73e3072d10f841e433937e9708cf98 +size 2199715 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_09.uasset new file mode 100644 index 0000000..83132a5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b735e1f905d41b52fa55199017589cb5773ae51d5ab578b418ab09763095063e +size 2270947 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_10.uasset new file mode 100644 index 0000000..ba138d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b1ee14bf44a3ebfc1f1a2734606da476b5ae6041c3a231e552b764f200b1eb6 +size 1678577 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_11.uasset new file mode 100644 index 0000000..3477146 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b12a37ed52f33060b0f054e8a124f714dcd9a7606ecb6eb5566e7ff6b328f8a6 +size 839413 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_12.uasset new file mode 100644 index 0000000..eb74fe3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18f5ab4d0e0e88b39f8de273a7d9e589187ea09f53841338eb223afc743f779a +size 2301796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_13.uasset new file mode 100644 index 0000000..9e7d52c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49dbacb8232089c575ed9181d574c0b5f77c295f2a78da4742a8ff9c88ce551a +size 3182210 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_14.uasset new file mode 100644 index 0000000..6b5052f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b4c7d808c3193db2dcf8aea4392407fde7cc72287076ecae44b0f31182cf49 +size 2294625 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_15.uasset new file mode 100644 index 0000000..92cb297 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a3ac5bd9de1c3981f3a53b8192120ab23fcc98cacb3da4a6b9129eac3f2dfde +size 2447835 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_16.uasset new file mode 100644 index 0000000..38adb71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8dca9e54e63008795168e28c59c687aa73b0e8730f8c81f174de99d2e62d049 +size 1572431 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_17.uasset new file mode 100644 index 0000000..3531357 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65787a4d4d527a7ffa6954e314e428ff545d83964bd10993f1d9f2e9e82b5f7e +size 1691082 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_18.uasset new file mode 100644 index 0000000..205912a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de86f2b5c311cd440204f4d1d388557513eec040003cb93437b79f220d360d02 +size 2024931 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_19.uasset new file mode 100644 index 0000000..b6c96cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4919bb24fbe3f643a93c2afb221f178069b12aa3fddc2234c77a813fd362c31 +size 2312092 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_20.uasset new file mode 100644 index 0000000..a160749 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c8104bfd65c48abe6b1dff10c670496f07e1e8b64adbf491961f8207d8d3e07 +size 3592374 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_21.uasset new file mode 100644 index 0000000..17795d4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2997f1dc03267df7116eb8dfb8e702a131f3a5b926f28db082c0ab1dfe53adf7 +size 2913337 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_22.uasset new file mode 100644 index 0000000..66801d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc362cae879ca89cdb1872a288b1184bbc03972c8b95a79794ae60c88bc73d68 +size 3279733 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_23.uasset new file mode 100644 index 0000000..422c221 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca236e91f7b2a9ccb420165bb72a49dcd5d3a762018c49af3999e3875a26c755 +size 3630367 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_24.uasset new file mode 100644 index 0000000..80ae642 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1166e518254428819a9034192c551c3a446ebeafda142cb149c280356dd1f884 +size 1716332 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_25.uasset new file mode 100644 index 0000000..ece9961 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be44927115b3c81d6de52724cd557fb58fd70b03748167caadd0808ea633da20 +size 1597169 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_26.uasset new file mode 100644 index 0000000..90bed2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ef18731eef8b9eaaf4fd9a84f82ad0a3d5bb804d6099f586f503472f920d99 +size 1575949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_27.uasset new file mode 100644 index 0000000..d67cb57 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6404446a9150e86f0dc951c4d7e68411ecc7e5ed627181d12ef42d3c0867903 +size 1733028 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_28.uasset new file mode 100644 index 0000000..43204e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be14569cce5a1153916bcfe6a2b4c62c56bf6ca38e0d2f9b3b510937a92ff871 +size 6580232 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_29.uasset new file mode 100644 index 0000000..ea5a9e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2708f7e86879d05da5e4fdbfb538c9411b9f61108dc91a7685421f69236a8bbe +size 4737001 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_30.uasset new file mode 100644 index 0000000..201457c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c03357bf2fae74162330feb3dc76cb65054bc15a3f78f27ac912a75bb0ce6d0 +size 2913703 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_31.uasset new file mode 100644 index 0000000..a2ea91f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d34faf58dbfc9c4880fbc6d49ba94c347a796e252c9171ba9b03a4190ec902 +size 4754601 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_32.uasset new file mode 100644 index 0000000..d1d5d3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76f3847143a70895ea0e9d6bcf7c287c4ee476b409bcad2c3d84bd44dd9840ea +size 4279026 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_33.uasset new file mode 100644 index 0000000..f7592c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84d3327027c5cd12358ff3f90bbd49e0d526e4eb3221d2002af27b949824aceb +size 6664554 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_34.uasset new file mode 100644 index 0000000..1e28ac6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/077_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aae6966f0a5343571232b41e6800a33575172723ae033bae7acaaa6f9046a4ae +size 2449965 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_01.uasset new file mode 100644 index 0000000..de4611d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4015dac3663db2db8baa56b76db1ac0b70a22d650adc6a63d6dd374d262b280 +size 534587 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_02.uasset new file mode 100644 index 0000000..7d78eeb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:833e7d49aa1defe516715f9b31ddceeba5ef0e0583495b9298923eae2b524e4c +size 763537 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_03.uasset new file mode 100644 index 0000000..7b3727c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b30e5598f91b00958c8d71bd2e791b00d97b18d9d757ad05db010555dcb10a4e +size 531082 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_04.uasset new file mode 100644 index 0000000..a637884 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d135aa1b8a156b328760f3b9f9d79080ea5e529a0dabc9b761eaf35bbac0324 +size 506035 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_05.uasset new file mode 100644 index 0000000..e7499cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c86e0b72747f5056f6f6f6b6a87041bc6b79f48f15aa5a4b9056c17b6b806a95 +size 515716 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_06.uasset new file mode 100644 index 0000000..df5c6f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bacbde9bf99ab9b08749193a93b0875ec4313c01dd3ea01814129bae3d07104a +size 412901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_07.uasset new file mode 100644 index 0000000..bb09062 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5648c37ff6be8cddb8389ec60041d28358e27057d2c7559781d3a696ecdad47 +size 477754 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_08.uasset new file mode 100644 index 0000000..50acdcd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53ffae3e5a80f2e05de529c8406a7ac182623f68e59226a84af9d8de24aa516d +size 388830 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_09.uasset new file mode 100644 index 0000000..cb3210a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea2d879ea3d1d4b4a7f3f68ad425ebd4425fa78453f78ddbdbc55d3c324fe97a +size 499832 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_10.uasset new file mode 100644 index 0000000..27a14c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68e46efbff5114aec6c2259ac0d3fcff4fd9b7e986770594a14617ef1235b44f +size 475295 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_11.uasset new file mode 100644 index 0000000..d112033 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e280aa4390f300a92c9b52f2a48870a51629b10e23874a176330c3a07502f894 +size 263903 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_12.uasset new file mode 100644 index 0000000..5cdc9c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f1aab4df28eec66c2a0754d457f86e1b53db78c8c3c8f4e70594027d8c3e93 +size 382335 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_13.uasset new file mode 100644 index 0000000..77cd8dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f65681182e295bff220aa61daa0715bd0960a364e822b054a8c24a367950a0c7 +size 558229 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_14.uasset new file mode 100644 index 0000000..1faca2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23ea0ead7d8018f75a5a8aa94ef815089b4b27909cb5f33732446bc66ede941d +size 547664 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_15.uasset new file mode 100644 index 0000000..67cdd50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e956c1e38dd33744a2187104b61004301fdc7611422aa210d5c5dbd791d4b2d +size 503016 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_16.uasset new file mode 100644 index 0000000..2bbec00 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a567fab9bab54de3915950e6c957dfbde56ed266d6e3a3e56dc677760144c61c +size 591025 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_17.uasset new file mode 100644 index 0000000..99c5851 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:068e56f177b3047a4788b27d612f245622e84f8a0e2f0817db49e94af4d978d4 +size 564442 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_18.uasset new file mode 100644 index 0000000..6c1b632 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26070343499918ad0898937bdfe6382ca1e7ee3d6fbc46694bd1eb0112b41b2e +size 641205 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_19.uasset new file mode 100644 index 0000000..c67e03d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d8c538f48a9e0e7b22ff7235fbfbdf7acf7e6e87bdedaa9248bd5ba482068c +size 540045 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_20.uasset new file mode 100644 index 0000000..bb302e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:928d0aa189a9b5df5e4ed5a78de509d181be818f48c9930a7ea8d5377d0b4058 +size 653823 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_21.uasset new file mode 100644 index 0000000..4d9c076 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e12a2d71e954b005abdf1e869f62ef230478fd8242a5cee0871c7761bb7cd33c +size 666628 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_22.uasset new file mode 100644 index 0000000..abc7e2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4d1e116adb4c3e7a30654f8a5752bc99a3cdbbb653afd1bb3f3513cb737f8e7 +size 1473456 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_23.uasset new file mode 100644 index 0000000..bd21473 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aab8d5fbf3c099e758c3f33c17388460c3b4c5a8e7c92c475cb178e96b3f3f26 +size 1294023 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_24.uasset new file mode 100644 index 0000000..369b9a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2fc26e1fb7ec053f995acdef14d9e0f2ba74fbb48209fed0f40077a4b84604c +size 683790 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_25.uasset new file mode 100644 index 0000000..a06c16b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc6649a5bef5f2cea416bcc54ef7cbd1413920bdfc0da7e8645c48b3d4642982 +size 906865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_26.uasset new file mode 100644 index 0000000..48da5f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b4b134951e35fc9dcb5d5867b5c19e24bfd25d26222194746fea22d1452172a +size 847752 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_27.uasset new file mode 100644 index 0000000..a665eb6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14b6a5232048fc2ee062aa28a0c6a20f46341f9554e432f2e688b8825be6dfd9 +size 761762 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_28.uasset new file mode 100644 index 0000000..66e9730 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b373bfd136d2593623e6a76171fbdfe9b218295d7080c1e4d3a695344ef2caa7 +size 1102348 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_29.uasset new file mode 100644 index 0000000..efc64da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd5d8ab06848715cde6cdc8b861f3f67daef56f8bad9e6c61ad850b98bb3eff0 +size 537302 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_30.uasset new file mode 100644 index 0000000..ace7594 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89bad48e746ccb68b415499b88e0b404c1856000921fdd189aed319da53d738b +size 1670891 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_31.uasset new file mode 100644 index 0000000..f5e65bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:457162afb96cd40bb7f62ffd94c93df9e46ccdbaedc8b71f2f23a1da6b9695b7 +size 1904792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_32.uasset new file mode 100644 index 0000000..9048879 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87a25a463007cce16573b5fd79964be4d8cafb1ab9e85e42e821d4cb55ac0064 +size 621927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_33.uasset new file mode 100644 index 0000000..16f2918 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c22d35538d758e6ddd4cc62b3a539835f08d01da940478d1b7f90f94adf7e3c3 +size 666801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_34.uasset new file mode 100644 index 0000000..af71bc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e2635eb2054afa54c62a0447ef8b12a046c591184b2d42cd8e8663bc3e0bee1 +size 831292 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_35.uasset new file mode 100644 index 0000000..f95a32f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/078_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ac067ad7426d67e4f403f76783aa7afd5c9f019af11f59cccf3938172d240f +size 652397 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_01.uasset new file mode 100644 index 0000000..da81d13 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00d25ca1636ae56a3232f7079264254361ce49ec6baf56d98035fb4a2a68c9e8 +size 1368970 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_02.uasset new file mode 100644 index 0000000..912e9c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:448e15ce3a55930ead9c0cd384d265ffb347849efa00628e2018db939f364fa3 +size 1742854 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_03.uasset new file mode 100644 index 0000000..74f7b1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5284c0e00609dd0e2a2c1cc1ed232fbc20f64730a5149f36a02918e1b42f2e20 +size 1865281 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_04.uasset new file mode 100644 index 0000000..9e058e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82a79a6df22e5b0802d6b2a105b252249b3343873d05bbbb61c8ed3f35fe1297 +size 2007041 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_05.uasset new file mode 100644 index 0000000..f6a674c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:502b150ea0b9431c28d8499f79be3cde9b4e4c435f861a08b7e24aa889548ea7 +size 2089697 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_06.uasset new file mode 100644 index 0000000..8432afb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a76a68f57bd8a67ed7f84cf35ff14ba7c11343b16020e236acb8d779fc1957c7 +size 1339789 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_07.uasset new file mode 100644 index 0000000..2d66548 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed78dce004ecbda70267257ef439269716023e92a242a3b9ada18fbe6575899c +size 840539 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_08.uasset new file mode 100644 index 0000000..4b72ad9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96beb00550f734239ff0d308c66e09ba7278a3832355b7cd9f1534e20c6dbc8f +size 1072386 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_09.uasset new file mode 100644 index 0000000..6658dc6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9577a537a692f46e31f259b140b8518364d8e41603b8aa8c6259a6d555735618 +size 1790447 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_10.uasset new file mode 100644 index 0000000..f1ef86e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866c972c25323f69fc866ada1638a60aee9219b8a1042d2db5a57e4ed0c18eb2 +size 1541748 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_11.uasset new file mode 100644 index 0000000..1791660 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83404451971172a2a5b06746a51b68933ec175a006e7d52a1ab44eed63e18a3c +size 434518 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_12.uasset new file mode 100644 index 0000000..49e53f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf61aa2857db09193b20b5e45051d16aaddcc4eb248de856a403be6582c15c43 +size 2182408 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_13.uasset new file mode 100644 index 0000000..e773227 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:794aa363dab35b48da77ef043c0a9e1fcd2f70103922e820a27ed30344980cec +size 1466474 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_14.uasset new file mode 100644 index 0000000..ebd85b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de5cb0fc0ef8df56357d21cad1b0d5451de9659d764969d5c2fd35059a8b6abd +size 1615282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_15.uasset new file mode 100644 index 0000000..de458d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45917aa3f9be5a007f7d63bf8bcf95ce54c5439910f89ac0bac78b137a906b81 +size 1873894 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_16.uasset new file mode 100644 index 0000000..418d364 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2118aea65730ab1ced66bb7e08ae6eb9fd0717620279df7b391ab4d36a467579 +size 1550763 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_17.uasset new file mode 100644 index 0000000..0491260 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de3fa779976dadaea37e203762485d3240461c405297f4eda782e4f817ad72c9 +size 1729843 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_18.uasset new file mode 100644 index 0000000..deecd04 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65e58af824bf3cd206f04a9a64eb85efb7adbd9ce263a28c57b8475ab1fd83be +size 1741752 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_19.uasset new file mode 100644 index 0000000..11f89d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46419413e09f85aedc48f5446ad1093fdf9bbc824043ce67f3a04cf4348764cc +size 1524146 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_20.uasset new file mode 100644 index 0000000..6f0d82a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a834b7076351d4905837b85ddb6d58f524523c0f03cc2d012575217154ad434 +size 1603396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_21.uasset new file mode 100644 index 0000000..d40a33c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25596c3efca144e9ab9ea977b04f2424ed64e52cc1778eb625c14e053792059e +size 1818373 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_22.uasset new file mode 100644 index 0000000..f4303a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7e7c60673cd3338317ed7995b5378572180b637f4fe1e56a9395b8560714dfb +size 2036247 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_23.uasset new file mode 100644 index 0000000..104111b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787c45eaabb4810747e1de3b55c4115b44f8f936e53b4fc737f8dcc94beb1f29 +size 1619377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_24.uasset new file mode 100644 index 0000000..39803ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63d7770d38729e3f95e4ac5a1bb1c13699159e5c4c249eaab11efb079e2e2646 +size 1668852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_25.uasset new file mode 100644 index 0000000..95cf147 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98c9b786f4ee8838ef863446b8a4132b04a73b4960e193774300972973f1b148 +size 1387082 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_26.uasset new file mode 100644 index 0000000..ecf3d5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92826a08ee4193183e43c156413d96a6fb0e2b9a00d92de91fd9fa482c8c8c0b +size 2239673 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_27.uasset new file mode 100644 index 0000000..baf39ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30e0b97c60935501b7ec781666c1f9538dd44ccf9108978d6075d2693de98b0c +size 1895680 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_28.uasset new file mode 100644 index 0000000..6266f14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab9aa1ce64b26e61349529fcc457fd03073d7dd8997967dcd0a702b1fdca97df +size 985822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_29.uasset new file mode 100644 index 0000000..11e18c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b791f1819cafe0787992e769b0e33b4fc8bdbd9f0c0018389cfa7ef6f2778a77 +size 1506253 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_30.uasset new file mode 100644 index 0000000..e4f8dc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af25228f17352dedff55407f4a9ed1fbafeb7618fb526d5da563230764ae9d24 +size 1778859 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_31.uasset new file mode 100644 index 0000000..47d1216 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1b1878cbf76dda4b27a5bd3d987bc4844dca68916d71a6022642d697a11f88f +size 1303481 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_32.uasset new file mode 100644 index 0000000..39abc9b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:838fb34ca085aacd461fc15eae9ee2be8eeef3246395a99d5fbebac6b752779b +size 2090088 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_33.uasset new file mode 100644 index 0000000..5979e7a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0479e2b1e74e13979b97dd2c6158db58ea3144637b4fdfbd2da1888524dec8b8 +size 1315276 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_34.uasset new file mode 100644 index 0000000..413e013 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4158fb52480d987bf8aa604ff14976d1140de0eda322bf44cfdaaaad8d36dab +size 1688057 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_35.uasset new file mode 100644 index 0000000..0a7cd12 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0d1738cfd409458c081ec8aa1810f7b5046e7bbd6fea8d3e8d65be8920cd400 +size 2605408 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_36.uasset new file mode 100644 index 0000000..efeaf2e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:704cf6663cc862fb531b7cacf62bf3084bb74c280d8f953bc01ab7fa56979e80 +size 1195515 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_37.uasset new file mode 100644 index 0000000..2ea2181 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28bf3a4db0608708897cc7d04ccaff89a8837292d0e0f307026533049df9cbe9 +size 1358964 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_38.uasset new file mode 100644 index 0000000..efbbb74 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ec61458a56583a6552ced8864ec5d702ee78200f2564751df1d564ca85a8018 +size 1212408 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_39.uasset new file mode 100644 index 0000000..1728c4e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac539e030f181d92cf2f6b6706a2f41f4d3d14412942251d183e359d0250d95c +size 1737560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_40.uasset new file mode 100644 index 0000000..45caa0f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a712c5010a065c2eead46fd185bb5a077908b90793d8cffcad23540006fe7b +size 1900046 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_41.uasset new file mode 100644 index 0000000..4bdcdaf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d848150e412f3dc500bb98d012cace7aa06adc3a2f69e398a293f53c6333c757 +size 2319922 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_42.uasset new file mode 100644 index 0000000..67cc372 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66ef0c7596f40b7d62b94e0ce3298d437a132be1ca370cca2d0102adad418954 +size 1725723 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_43.uasset new file mode 100644 index 0000000..aea7861 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16f378dbf824b289880f648c76db7c5647ee470f273e4d535b349ebb55907d2a +size 2113425 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_44.uasset new file mode 100644 index 0000000..71aa5c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b76a02e61e9ce72abec32cff913e178b1146cc8b7ce73d69f043b50473ff21d9 +size 1862799 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_45.uasset new file mode 100644 index 0000000..05c7856 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b663b9e37cefca1dd55726625f16eec68c05e7204e6b4e7adb9db72d9ac66bb +size 1920735 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_46.uasset new file mode 100644 index 0000000..0019313 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe62bd7150f61abdb27cdb290f64429a4a232c310af26744a73754d383ea1d1 +size 2785759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_47.uasset new file mode 100644 index 0000000..8dc392f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d5d1728094f7d1d59a3965502a6f29ea1c9e5d2921ab3682100041d4a4f2609 +size 2655885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_48.uasset new file mode 100644 index 0000000..253ae24 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:307cff53b287199e6c46c3781ff59666d6922be0e3d4053932b046a727675fa3 +size 2752750 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_49.uasset new file mode 100644 index 0000000..900f156 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d95a0903b14bf495ea8dd82219bbf0578cf0f739d0f824846f14e9f8c601d9bb +size 2289852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_50.uasset new file mode 100644 index 0000000..65bce22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:997a426b22e1a6a7ef94fa431bc6ddea6ffdba9be80d7a0c0451882b50a2e73f +size 1667609 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_51.uasset new file mode 100644 index 0000000..f78b661 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77207afdaea317922eb29dfc79bd81f6c8eba637521f04d151c1d45ed342dc15 +size 1903076 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_52.uasset new file mode 100644 index 0000000..8417360 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e8bcd9b9217745972ca74677b51751bcd3113e0054fb4ca95501e966f808bc +size 1983511 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_53.uasset new file mode 100644 index 0000000..3daa671 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74e734fd5556cad254c686828e63b524f7784685a080b02d0615901dc03c1abd +size 1692415 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_54.uasset new file mode 100644 index 0000000..5279709 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7451591eccbf89f68b343f7cad9bc34d98182af7c0c4b0bdc6fd2b63399b5e86 +size 2529278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_55.uasset new file mode 100644 index 0000000..285483f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1ac0c2e26949ac983c40d74f045c649628dd4887f08fa2d68c6d161d6814fb1 +size 1440769 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_56.uasset new file mode 100644 index 0000000..c5be528 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87e5c7dac7607177fc2ddcedefd275ef8227e9c345400dc1abbda1f2abc87249 +size 1924591 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_57.uasset new file mode 100644 index 0000000..a29bbe6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb6cbe0aa5a8101702c43524cfad3da753984eb2640effa5679d8ba6b3d608b3 +size 2120032 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_58.uasset new file mode 100644 index 0000000..a676a89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb75e29b2015de2e653fb6445f4e013299d4a0202f56a098c6459e545a6b9ac0 +size 1875210 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_59.uasset new file mode 100644 index 0000000..33700b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acaa33563c6c9f36d58ec2ba942611e3a394e536e40605623fb79c18632f692f +size 1881111 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_60.uasset new file mode 100644 index 0000000..348e09c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:847f91b363b3fa1653f3b41e702c83335f8780ed82fcb2dd37d7e51e5a24ed8b +size 1746865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_61.uasset new file mode 100644 index 0000000..4e862a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5e4861d2229c5587dc9f896f47db591e36b3a1e3baabc6690f5aab8c2aee044 +size 2280921 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_62.uasset new file mode 100644 index 0000000..424f9d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b839412aa69fcaf8b77e69578d9ac71663d189c5a1ae4a6115e1e014ec7a193e +size 1799150 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_63.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_63.uasset new file mode 100644 index 0000000..41c3881 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22a3893eaceac814a7bed8138522579e02f5b4adf5780eef84864ed36de4b30b +size 2384816 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_64.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_64.uasset new file mode 100644 index 0000000..9bac13e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_64.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f52e28c76691789c8c6153f084584b9509b6b2eededf66ab56fa8c4484ea3e0 +size 2292693 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_65.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_65.uasset new file mode 100644 index 0000000..951b488 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_65.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a54cbab6c9752356f047311f910230b2b1bdce5ecb2904991cff5d822af06d1a +size 1496696 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_66.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_66.uasset new file mode 100644 index 0000000..770410b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_66.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:340e91de2715d3fea05a5b68ee3623d5a6b1956ed0a4fa647188a9e33edb39b7 +size 1600168 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_67.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_67.uasset new file mode 100644 index 0000000..4b4eb6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_67.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3fecf26c8408af89a5d6c855863438deb745b1b2ed6d45ac48228420f3eb538 +size 2681091 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_68.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_68.uasset new file mode 100644 index 0000000..95e27f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_68.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e0147fa9dc2040b7c59bc15ac2cdfea50586361feb3b83970507f300fb797c3 +size 2560866 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_69.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_69.uasset new file mode 100644 index 0000000..8a28582 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_69.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:951d82e64fa722dbf7c5e9ad686cba4dd6704eeb693234632c57f8fa6c635870 +size 1838259 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_70.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_70.uasset new file mode 100644 index 0000000..647d4e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_70.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d043accfd9ce279d9df343f3b4b74e4a1a07fb9fdb9088211a706656adbe1b63 +size 1737550 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_71.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_71.uasset new file mode 100644 index 0000000..6da6897 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_71.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68364e199a37360a0ff643ff45adcf366c9a512a097b84205c4d7e714e5d002 +size 2292975 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_72.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_72.uasset new file mode 100644 index 0000000..d660e72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_72.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7b263a22f4f7c93b45f44559db9e05112be7fb691f0cc4590ac9b66eb297e35 +size 2041871 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_73.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_73.uasset new file mode 100644 index 0000000..385cace --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_73.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76cf054d60a33f681f0d33d0ea7b160b3eaa02e7d1d7dda277ad81aa529d88ff +size 1967225 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_74.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_74.uasset new file mode 100644 index 0000000..4348f6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_74.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:909682a7f4dce3f60f895a21e47fbae4878ef376dbc0059054dd6212790e216b +size 2048618 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_75.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_75.uasset new file mode 100644 index 0000000..b3ef4ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_75.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9be01606fa86f1c2f7e4654ca6ce03fdc6862633fc5a99f58bb92a9299b1309d +size 2737507 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_76.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_76.uasset new file mode 100644 index 0000000..8124196 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_76.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48eecc4b61f4b31206ec76e803738e558ca33e6883ca0c2e4fb713cd9054682a +size 2686181 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_77.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_77.uasset new file mode 100644 index 0000000..52a3495 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_77.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfa76d2aeebb167a48905ca196b1159331ee9c669e2cc178419bc9fd4a48e72c +size 2479788 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_78.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_78.uasset new file mode 100644 index 0000000..1db83d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_78.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b098ef6bbc19a58e0a66adb63946eb9e59f4f2c87ae121aad1ffc0cb682130b +size 2708325 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_79.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_79.uasset new file mode 100644 index 0000000..693b815 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_79.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e477fc56889d559cc068b79fcbde365220c41ac2be7785b0433fd85f7e197c8 +size 1798082 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_80.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_80.uasset new file mode 100644 index 0000000..1d72be9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_80.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baf2bcae8286b2b9086158a3227781a4d0cb6e85aaf8cbf6baf0acc23d264ebd +size 2088909 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_81.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_81.uasset new file mode 100644 index 0000000..91358c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_81.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d5aad8b9aeb902582fb204c612ef3c8954c07037759a0c8243dbd7435ae13d0 +size 2057257 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_82.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_82.uasset new file mode 100644 index 0000000..d7f39da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_82.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7873480a974cbe6b2974f8978e955eb605e5badf6cf191d151f2802a87dd5b6b +size 1683734 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_83.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_83.uasset new file mode 100644 index 0000000..ab5df25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_83.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39bd0cfeb162d79c14f7dd98e63958fb4ae41e7bd8473bd1a172dd3f940dad81 +size 2526661 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_84.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_84.uasset new file mode 100644 index 0000000..0c4a8c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_84.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66f32d9f43f4e59aeddffa87b5fc6ec79ad4d5b153410c19a23788da37c3e7c3 +size 1895271 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_85.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_85.uasset new file mode 100644 index 0000000..5af7396 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_85.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e2704a0e6232fa14afdd83db542ae1a4a2b85c545aa6fc78bcc011136a4ef8d +size 2228777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_86.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_86.uasset new file mode 100644 index 0000000..dcbe4a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_86.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2780ea4c6a4623c027673f7ef6299fbc7ab8d4741ae5397aba79f1d0a21b871e +size 1546125 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_87.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_87.uasset new file mode 100644 index 0000000..411fd15 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_87.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62563a8eb0231bbdc5d657c871e650669578e0efc69e7337f985c1d83e371d33 +size 1787191 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_88.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_88.uasset new file mode 100644 index 0000000..8a867c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_88.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f5b8034dbc32aed951d99fdd9aa965c24dea1050ca5379f6aaab4911d826fd +size 1963782 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_89.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_89.uasset new file mode 100644 index 0000000..0f666dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_89.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f85025ed822d589e6c61baf575dbd80189c85b313b31e508354b8ab6bf599b03 +size 1917836 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_90.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_90.uasset new file mode 100644 index 0000000..89dffa1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_90.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3310277cf786abdb5accdb9412e3861c578871ed65b7c5deb098a4147025d30 +size 2871358 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_91.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_91.uasset new file mode 100644 index 0000000..8a181d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_91.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0754ebb290a2260d8fa47d30cd2d46f07be0f1954b6d39a298e1be51524a5e36 +size 1197423 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_92.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_92.uasset new file mode 100644 index 0000000..54e32cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_92.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9e613aae52fb12f56ea8901a9b256a54385ab477bbd4b7419203bb569bbc3d5 +size 1474338 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_93.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_93.uasset new file mode 100644 index 0000000..519a325 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_93.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57e2934163ab5512165e42e7dbba19dc39d537fd3968da903f82ec0ce269541e +size 2473964 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_94.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_94.uasset new file mode 100644 index 0000000..13981ff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_94.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b4818c63ef5a119ec44fe05bcfc9c10312eafd416b047e41e1746163018d1cf +size 2079135 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_95.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_95.uasset new file mode 100644 index 0000000..e28684c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_95.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1340c8d370829c021653546efdc72753a3c4cde0f8146433aa3072dfdefa68c +size 2080747 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_96.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_96.uasset new file mode 100644 index 0000000..04949bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/079_96.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310f93e94f299d4451fc5128ef792d7104655c6826895b2fc286649d2b6e9f8a +size 1276905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_01.uasset new file mode 100644 index 0000000..d0b133e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:577998c29e3e9bb0324e3a378f0c8e8174342c3331205810adde287d39296bda +size 1867173 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_02.uasset new file mode 100644 index 0000000..c9e25c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a28e8e04cc8c27f1f59f4d38562efdabe72a54d07b934b4d3157f383b99b2b2 +size 1571368 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_03.uasset new file mode 100644 index 0000000..c9af11e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6b6d8325d9a616eabc9d1e4f5e02b44cd85f5bce8e4ea7514cc5e7a494ea62b +size 1548657 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_04.uasset new file mode 100644 index 0000000..3be2822 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a98bc978f32dc708254f4c2a219c01e40b183c6eee60ac1ec95f26b291efb805 +size 2348016 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_05.uasset new file mode 100644 index 0000000..3c35bff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eebdf520fe79a237b0dce8d2a4aeb68f0daf1964507ff2bb96c203c4cc8ef7e +size 2604796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_06.uasset new file mode 100644 index 0000000..9bee535 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbe288c9b1e6773d8c3e7ebf466949311ff92aef3383326c436e07ce07bdc092 +size 2119901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_07.uasset new file mode 100644 index 0000000..aecc2fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20e34deddf51d13e3fd9efa76d385add1780620579fe95f08015b5c669795544 +size 3416611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_08.uasset new file mode 100644 index 0000000..1cc89af --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bf3c5741a25cd494b937278fd102289f89592566744eede5a44b855b935cb44 +size 1993520 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_09.uasset new file mode 100644 index 0000000..3593e4f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c215e64c139844bfb961afe2227d0d2f53dffe5554b953307930c4821f7bed40 +size 3429522 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_10.uasset new file mode 100644 index 0000000..db66c8f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d072a7df192961bdbb7137a38f29381f5d5d5304e0ec36e11c39d25f4eb447ae +size 1755183 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_11.uasset new file mode 100644 index 0000000..ba9754c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01ce82498ec78ac9310c2e9f97521c52136430fd64e921eba593eff69e3cdcc1 +size 1575387 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_12.uasset new file mode 100644 index 0000000..e5b0d17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec86b5de3c5ed9b5f8540db94558096f14be325af62817278876ad4d664be59 +size 3537237 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_13.uasset new file mode 100644 index 0000000..4120a5c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72994e3580dd8373cb588e9e6c4f0178a40549295971087e1c484a87a1bc96a5 +size 2290128 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_14.uasset new file mode 100644 index 0000000..060229b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39f2e03d8920689d42c1a0105cef5c235b89d009448419770e4324b0c74fa056 +size 3738720 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_15.uasset new file mode 100644 index 0000000..1084a41 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:393a2658685c4e341b7d4a092e6033a5b91db163d74758ed9b3d8ed224146cb1 +size 2703675 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_16.uasset new file mode 100644 index 0000000..af3f55b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db02d5978215c06916758d6c5055e76ce47339763b5888501babc570a86c165b +size 2623556 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_17.uasset new file mode 100644 index 0000000..fd004cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1c61389ecf8b65be6b6aac25bd3ba380d9c23b4c770515876bf9f1339ebaa6 +size 3040776 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_18.uasset new file mode 100644 index 0000000..9a28739 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a448725f7a9b75fc0d8c0c15595fe1761a546a46fe3e99c96a9f039975d50f85 +size 3292909 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_19.uasset new file mode 100644 index 0000000..9061883 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f020aed956ed6d20ed0393706cb09400f11c2e86e55283c2e79ea781ea759e85 +size 4015120 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_20.uasset new file mode 100644 index 0000000..98176b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1b804d3e878b895b68741bc37c4acca486e43d996884647ff67f09c9fc5da08 +size 4279617 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_21.uasset new file mode 100644 index 0000000..ab9b2aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5fc07a48a6e3d6b06d2fb1a7f0de4e698a798186d2786999fd881d9d2a111cc +size 3039106 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_22.uasset new file mode 100644 index 0000000..7f06e59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a682c007745f583b28fb019ddcea3d62fc8a66dfacd75af76fd1c6dc4b86a77e +size 2279698 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_23.uasset new file mode 100644 index 0000000..fcca9b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ad411026d3529d1d07039ab51934962688b660bd4617924fcf48a82aa4618f6 +size 2289012 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_24.uasset new file mode 100644 index 0000000..14076b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de5b355c98178b1d3b6f0280ef42d4bd5933296639032aebedb85dbbb40294b4 +size 3609450 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_25.uasset new file mode 100644 index 0000000..bc18beb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:732ef20a6f625fd0b05c7279ccc478b5c63d0b5af7dd9ce10d09b15cd8b1be7a +size 2461990 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_26.uasset new file mode 100644 index 0000000..ee4fc39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e36bbea2f5c0ae489cafd25b77ccba9919a233228570121c92bcd37b31547f5 +size 2586551 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_27.uasset new file mode 100644 index 0000000..08ba9cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6fd9e5b10c3e27c7fb6dabae8f909aba453fd0513254667a1093f899db49f64 +size 2333396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_28.uasset new file mode 100644 index 0000000..57d0074 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a1e6d44200ffde581b032fce059a0c50e7f1313ff5847c5c4b0e824bec08c51 +size 2632071 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_29.uasset new file mode 100644 index 0000000..4e3a6cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4121ae584630fc46013c3bf99d63859dbdd3c80fa8b171ba2af2a1e480287de +size 2386334 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_30.uasset new file mode 100644 index 0000000..ba2a62e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:848bf14c955271bb0916b44eff08554c0ae96678446a1049a2c6622b4efb1e77 +size 5534887 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_31.uasset new file mode 100644 index 0000000..a427e1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:584d5366f19f591e353618a6a0a37f886151e83efadcff663cef5b0a7558a094 +size 3249215 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_32.uasset new file mode 100644 index 0000000..7f7c530 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2deb7ef45d09c119358539814cfe46c49b3256115357f57abfe29836912649df +size 3338563 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_33.uasset new file mode 100644 index 0000000..5545f73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d23f18840056fedadd5a998cded40c9af9855778cfa2d96ee00bddd700790643 +size 3971483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_34.uasset new file mode 100644 index 0000000..e7fe9f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1de9a9e29fd1d200d98227e1cc273cda1700dc88e49efc9a82bcc2bad8e142f +size 4651822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_35.uasset new file mode 100644 index 0000000..9f85885 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adc189284ecd4446d51719677094fcb77994e4767ea5679b50427d98490c8cef +size 4056318 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_36.uasset new file mode 100644 index 0000000..2e01d1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f93e28b1ef9a7b7b3a476bbe09d4a58e245702fec17cc48e18d24befbcd7cc2a +size 3581938 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_37.uasset new file mode 100644 index 0000000..cc2b31c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e5a996bea4a5c8ae438636bc162db013dba55bdb4b5ac48c89fe42fde2763ac +size 5632446 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_38.uasset new file mode 100644 index 0000000..9e63747 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdbfc94ad17117fb56dc1f320bed82fb27c68a6d215ad70c97e39e6531577fa9 +size 5100286 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_39.uasset new file mode 100644 index 0000000..b030544 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:432e9d96b10afcd3d78fab1298cde924edaa0867d3b2d8c6fa395aee28013ae6 +size 3971943 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_40.uasset new file mode 100644 index 0000000..9a255a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af2f8fa796b16ed22a5ec445ce23d1a0225cf5dac36d9f24aceb665d2822a04b +size 1950181 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_41.uasset new file mode 100644 index 0000000..a04a9b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a74792c1a8271761ebc0decb1c52e2b51048a0ec28890e96e93a8bfb91ea4a49 +size 2251688 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_42.uasset new file mode 100644 index 0000000..f0da1c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f433a6469fa7f2725debe76449e718e8d9222198ac08e808de870bcc936dab2a +size 2603949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_43.uasset new file mode 100644 index 0000000..91ece51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7648b24f16d55141b01fcebd038684d25868abf6bc4a05fe2215e1c80cc0cb07 +size 2151652 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_44.uasset new file mode 100644 index 0000000..b38719e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72aa628db3510890b9215da0769977e2a9d78f1290492d77eb10c43a6fcefb16 +size 2085746 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_45.uasset new file mode 100644 index 0000000..07c3a6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a3930f4cdc9dee6c36a8a4a41f896d15a20e6fa6d5b0666168a822c170a621d +size 3297087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_46.uasset new file mode 100644 index 0000000..4ff9a78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06dbaba31004a4cb7ee31449fa14733340c6e6d028b605d3b662bbb21841276b +size 3176685 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_47.uasset new file mode 100644 index 0000000..f258140 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126073421fdb53f4ef7b7e179d56a4f66ae1e26c6a78e43dcfd0f286d382b7ed +size 2191480 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_48.uasset new file mode 100644 index 0000000..c38fa70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d69854098847c207581ee9c284e36d10ee1736c8ad72dde994dade58fa270e3 +size 2562185 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_49.uasset new file mode 100644 index 0000000..a64c443 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb732d99ff5959087ea329722a6654e32dc79e6d0fa2ff0df5172857ffbd20b4 +size 4040063 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_50.uasset new file mode 100644 index 0000000..24e7e8c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6cbb98af512c24239f816d65fc20877c46db07b398eb03b6a50affce005a990 +size 2696152 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_51.uasset new file mode 100644 index 0000000..1a58d2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7808fc944d36df7c1127ffdb931a98d06c1071eb1b6c259925a8b05f6ee8d01d +size 3192601 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_52.uasset new file mode 100644 index 0000000..3a4247f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4afca326d3f847192cc6d4047847eef92cf7113c6d143612739e9fe8492d4a +size 3429579 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_53.uasset new file mode 100644 index 0000000..9476801 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef13b0469e1345d53795975d5f5e1c6eded97aa7446eb52a9a20367a55f55b4a +size 3987876 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_54.uasset new file mode 100644 index 0000000..28b5227 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a6a720b32519e50b857d2049454789ff57d2cb860a9d1af2a0476d5b1e198c1 +size 3609157 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_55.uasset new file mode 100644 index 0000000..7de1710 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fc7a6f6c71ecd57ae15968e9b5222ab6b389995abccc8dcc11ceaab594cb549 +size 2957864 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_56.uasset new file mode 100644 index 0000000..656341d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c29e8f353c7de074ef0e94f68454ea14a8c136e8a1b2504a2c28105e72261620 +size 1622284 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_57.uasset new file mode 100644 index 0000000..bcae998 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19e1ead453eaa6fb6e7e8ddc5620788a2dd913a4a295845989729e3454b7d290 +size 3653018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_58.uasset new file mode 100644 index 0000000..dd1999e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21fbaf496b9559184486034423b8dfac26bb45c4f14460b53b5ff4c0d4a2413b +size 5045833 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_59.uasset new file mode 100644 index 0000000..58190b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc0f686fae2f1ef05107a2f6ece70467725040f846f870115a693414e90bf956 +size 3424621 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_60.uasset new file mode 100644 index 0000000..0f6fcdc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083c312e3fa5dcf7ae39745b75ff6261dd250f89adda1486b760f25c64927878 +size 4567933 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_61.uasset new file mode 100644 index 0000000..aa5ab0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0924d9401508370436b54a9d58980463a3d160f293ed358c6795e851a173252 +size 2354331 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_62.uasset new file mode 100644 index 0000000..a26d3a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:411c28fdfceaadf95ecb11783b1c6aa44da8a005fd58d32f3802b4c57a9a8826 +size 4823203 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_63.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_63.uasset new file mode 100644 index 0000000..3bbfd14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de171ad591b6487bbecb51a34bb8b16d151718848e708c55593cf5638d4aac14 +size 5081065 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_64.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_64.uasset new file mode 100644 index 0000000..bbabc00 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_64.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c12819a8bc899be224c5f10a0fd28b5f56d071fc85fe6e68295b640588402d01 +size 5231152 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_65.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_65.uasset new file mode 100644 index 0000000..1473f6c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_65.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf1cb1be24235e3c6d3f6b9b1b7fcec9ff80ed66c7f84b376df3ae7ca5d92f1 +size 3867836 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_66.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_66.uasset new file mode 100644 index 0000000..df6ce3a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_66.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7838ecce071d6edc9d84be20b478f542f37f577bdaee63082636f3e7d5cb99d9 +size 4576782 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_67.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_67.uasset new file mode 100644 index 0000000..5cc8b68 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_67.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8d2a76d69b4cbd2eb537b88b42d75e8035dbb9e1873bb7a7b56c4aa9a65822d +size 4556718 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_68.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_68.uasset new file mode 100644 index 0000000..e2aba63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_68.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c573ad81e4d1c27817d8f9babc075ac5e659edc6297dfe27a9eff6fe845be0d3 +size 5868683 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_69.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_69.uasset new file mode 100644 index 0000000..cf92794 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_69.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afdc0a40c977ae3dec31bc07c5ef8987bcd42d7e8fae0a91bc038e40ebc0a459 +size 9332792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_70.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_70.uasset new file mode 100644 index 0000000..3d1a829 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_70.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807bcae29b40badf828318c6ecd76a0de12943cd08c30c4be20744b5821a1aad +size 3769178 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_71.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_71.uasset new file mode 100644 index 0000000..d7b12fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_71.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b196719fb1837ac88803ae3371e95e33bd03663911eea2e9308c8e54816bd08 +size 2394302 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_72.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_72.uasset new file mode 100644 index 0000000..d57d7ac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_72.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb80a044c3feb58110527632b63e62b22a03c3a27b31db7b164874d79add1adf +size 2499673 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_73.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_73.uasset new file mode 100644 index 0000000..eeb0f05 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/080_73.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2842d8c89af2ab88ddbfe457ae5cce1d28898e2f7bcbfa7278eb352a930955aa +size 1780186 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_01.uasset new file mode 100644 index 0000000..d7fc3cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9a01e57270f5c46391290a2139fb85382eea0172b0a2acf014e4a5437cc6374 +size 420374 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_02.uasset new file mode 100644 index 0000000..3ff3321 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0aa37d2c0068df1e52306d03fa184446f37420eafa14c1f92b8be828e322274 +size 1279217 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_03.uasset new file mode 100644 index 0000000..5ef5994 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79293fbe0b692e6ec0cfa01c2dcef1d511be62c5c1fe5e017ad3aadc062c7db4 +size 2456990 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_04.uasset new file mode 100644 index 0000000..9277493 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0af890ba51912ed52b39fa1a6bb9f023b4a9c23b6e9324e2a586375ff9193ed +size 2228349 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_05.uasset new file mode 100644 index 0000000..57db60c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49f4e415fadb97c1d592ccbe25244eb4a20fb85e48631612badf04814974987 +size 3115887 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_06.uasset new file mode 100644 index 0000000..1667fb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33e85a4179199ae390447b3806201f76faed8111cd30d797565586dc9d8e8ffd +size 2878441 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_07.uasset new file mode 100644 index 0000000..7aceef7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb1bd2c79748a8c42f654cb9e44702a05eec3a6f9887dbee7199efbf63f5c6c5 +size 2635846 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_08.uasset new file mode 100644 index 0000000..8acbd5e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:492999f90c96fa272729e4edba07039de141078600f5ec0bbb6d17196b619893 +size 2950959 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_09.uasset new file mode 100644 index 0000000..f84f694 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5bbe704e62ed7aaed8d73de6ff44cdae56654fa7d71d067e48a56c4a953c7d2 +size 3161860 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_10.uasset new file mode 100644 index 0000000..1d515bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af1667a1d9ade2e5f1e2824bb57583be6a5ac2f5e91aae77f53dd86991af7e4 +size 3980878 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_11.uasset new file mode 100644 index 0000000..f0e194d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e2c1b35b42feeededf276eaeeb7751379a9387dbe20cefb67fe4910fe50d8b +size 3731313 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_12.uasset new file mode 100644 index 0000000..820323f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7518b3411484dc603744c73122dae7b0942d20819118d5dd0b28ce51393063b +size 1242858 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_13.uasset new file mode 100644 index 0000000..2794da8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c29c656cb2842f06bcd3d2a9acf020ac6fe1c4c190d7d2b3f99b05889999cc50 +size 1537441 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_14.uasset new file mode 100644 index 0000000..5f64e06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ce4a589ae8cfaf9c7879095de7afa27b8794328e7f8b4db47a5cd0559eef75b +size 4721402 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_15.uasset new file mode 100644 index 0000000..8127912 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1340cb5c5b1dd225c1998cad11957d3097068bc1aa709e11f2bbe24cf6fa0e06 +size 4565102 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_16.uasset new file mode 100644 index 0000000..a4ae680 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88b1838d1a3adab9ae85d3b5b29eb5ea1677cf07931e69e7e2241a0dfad6cb0e +size 201103 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_17.uasset new file mode 100644 index 0000000..058a75d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee86ce13347eea0d79655633c35a2036f0a0c7adca1de16ef182d7e5817e558f +size 2052900 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_18.uasset new file mode 100644 index 0000000..8e7e292 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/081_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae14539316aca90f6de3ca1eefcb23a73ad48edd14e90a174bebdc3a8cb70bec +size 2636248 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_01.uasset new file mode 100644 index 0000000..d8319a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eaf14568c4152d5999c958151d58ea9c01b97229057a5e290df74a11b0a76fe +size 200512 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_02.uasset new file mode 100644 index 0000000..eaf5a41 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c85ba4625e04ab8447cdf3af210b18183db181f039a9171e541ca9bbcdc2fb51 +size 4070770 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_03.uasset new file mode 100644 index 0000000..3e8c751 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88468d3a77f22b35ec1247c7400bf7a2e1735830c4850cd5c2b923bdce7d1b2 +size 4273658 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_04.uasset new file mode 100644 index 0000000..7080bd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:365d0f088aa99cc2839e1b912f1f9ed574c00013bd7ccab2eb600dda083ed25d +size 2123881 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_05.uasset new file mode 100644 index 0000000..67b5ef1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:012ac7f6c57f6239f3e9bfd8ce2151eb675febd8398e2c6acbd92e5d7b44274a +size 4857873 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_06.uasset new file mode 100644 index 0000000..e70a7b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62657edaeed4c20bd9363b835d961eb1ffa0066bf818488253ea944e4279389a +size 2516520 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_07.uasset new file mode 100644 index 0000000..36133a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cd2806bf8a3f12e7ebe97be71cf0d610803986851dec3323d34c1fc205145ba +size 2717940 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_08.uasset new file mode 100644 index 0000000..827c691 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fc773f6137d54b4835ecc4f7bf8e7739671854e01ec9746af2d16917c0276bd +size 3774051 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_09.uasset new file mode 100644 index 0000000..05d1ac7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d23bf4a51cf914f953e1aa7518705804d9ce986b8b9ca468a2a5910e7e20a139 +size 2858791 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_10.uasset new file mode 100644 index 0000000..0763101 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8db62365d2d4e00475b8abdfcacfd787eb8962dae34fa27ace344304999c6ba4 +size 1398234 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_11.uasset new file mode 100644 index 0000000..bf862c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e521bd8fb37bcf21411efe066adef8d79114a7498d14e77df76aa25a66c432fd +size 1620490 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_12.uasset new file mode 100644 index 0000000..6b00a6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8ef8a0dca14fbc54a443abded512bc2660e9fe5027795e2688213108a036b61 +size 975550 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_13.uasset new file mode 100644 index 0000000..0ee3905 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b8188520dcc9421940f836402ceed31e8681d6ffc2d114815ef359ee8e0ef6 +size 1002754 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_14.uasset new file mode 100644 index 0000000..3b36757 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb55cc64de83aa7470157aaf59fe29c2ac40419904f911ad2b3ad3783a58d07c +size 2051911 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_15.uasset new file mode 100644 index 0000000..bef0d65 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a4648c67a0cf89bbc61823a96130819754443f1f993330fdf2e24b994f55c73 +size 1676451 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_16.uasset new file mode 100644 index 0000000..cbf3b96 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f542cfe4eab27c0d1e7d5bd76241c3d29211f8361260263502c3d4097b01b40 +size 3005942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_17.uasset new file mode 100644 index 0000000..86cbcbd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8e114663b84c4777391cfb13ed8090cb2f553ea0e871a895d6243d5cb2f3992 +size 3517952 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_18.uasset new file mode 100644 index 0000000..cf321be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/082_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a0bcf49ff66ffc6f9b4c8785ebcb85060e76039ba763c16783ba5e5352b917 +size 203853 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_01.uasset new file mode 100644 index 0000000..ed51a92 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5d46b126fc89d80c25466fddd7325dcdb8897004bbbda5127d06283b273fd9d +size 1534249 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_02.uasset new file mode 100644 index 0000000..95cda89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773bb086103c0dfa89163c2734b4fa647ba5fbb7a75351e92d071bee7882e6ae +size 935921 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_03.uasset new file mode 100644 index 0000000..1440297 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9417a83bae47ffbac09f86fa42cfca0c6e954721dd0325abafb83df11f6886b5 +size 1598895 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_04.uasset new file mode 100644 index 0000000..618ecf9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdae1db049a48dc94b2c3507f4447494d94c3ae76adfc9a1e56be2e87b71d4e0 +size 1180326 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_05.uasset new file mode 100644 index 0000000..a7e984a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5aca59e0c7d9d914d7a1143daafe682afef3652eab7ce643ffdaf7478c39c88e +size 1207055 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_06.uasset new file mode 100644 index 0000000..11b96d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e00d565fe866e8f43ec5d6e67f53cafe46e516817a119e2643c7ca0fc40b80de +size 1041957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_07.uasset new file mode 100644 index 0000000..1bf56e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05df8c48a9c6aa705cbc8731689c4a14e668456528c4b664b992892c97270105 +size 1060372 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_08.uasset new file mode 100644 index 0000000..305932f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2771788b8ab9d501a6d0337fb8c4f237d1d2281a5daadd0d1c012a2c376d1a7 +size 1150189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_09.uasset new file mode 100644 index 0000000..a9d1304 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2475b7f4bf70b304a1cbc53bc705236ef5b8f693ea22703ad4520e42f7f778da +size 1114381 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_10.uasset new file mode 100644 index 0000000..51008e2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6d41166ab4c4516046fa509528b22d1b93ebe983dc2f838ab7194a8385f8622 +size 1186724 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_11.uasset new file mode 100644 index 0000000..f0ee114 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:595fbf215549b765031b3a922bc69047ebb21fa0cfdd17cde7d2c6849e9b2c10 +size 311736 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_12.uasset new file mode 100644 index 0000000..f17aac6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e6bea2f1762e4fb51e7ffd8cc216f07ab62c5686595b4c1268b9e332c109038 +size 1249771 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_13.uasset new file mode 100644 index 0000000..93ed20e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:055435e224133124191c93b91edc268f779d9e45a1feff56ab463b8af20bdecc +size 1249078 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_14.uasset new file mode 100644 index 0000000..886cf85 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e9464c7fdfe9a32313d61e2dabd445757fa71cbbc36bbdc4cfe18390b8ba80e +size 1073562 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_15.uasset new file mode 100644 index 0000000..66df06d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f61f275666f6742720b612dff5727a701134c182692368c13f53d1515b3f8164 +size 1282461 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_16.uasset new file mode 100644 index 0000000..278aff9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5f396c873a2aecfe8430d8ae77f1af3c550cf1fde5163b1984b8a41511d7e23 +size 1261870 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_17.uasset new file mode 100644 index 0000000..6c75538 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:055b9f2d09e2922b1500054d33b42b07d5c9674e947d1cedf4a67bb523a92966 +size 1295275 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_18.uasset new file mode 100644 index 0000000..ecf7267 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb84bee80f5823f8a39cca7aa89a5b7ba3eb97643e78bf77b0ffbcedd4b2d43 +size 1139904 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_19.uasset new file mode 100644 index 0000000..f91e164 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53611dd0e1ca1c37c9fe079e64a3e620102b7af779f68b7e28398ac4dbb42179 +size 1250113 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_20.uasset new file mode 100644 index 0000000..95453f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5459eb3e278a0dddeafb820ffb09286bb0e84aecc991339b647cbb7c9a0953cf +size 1278109 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_21.uasset new file mode 100644 index 0000000..85c4d66 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dac93f0f948521fcdb634095c2e1c8f5a9aa28c724480c3de44d46fbe70ffc81 +size 1278296 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_22.uasset new file mode 100644 index 0000000..4693be7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3ab1431204e191fb34e546af28e480aa46e8e8ad8100ab74d4f1857a805bb23 +size 11530049 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_23.uasset new file mode 100644 index 0000000..34a7924 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a63ad898304e5216f3693dffae240dd0e919add3e4d8a10c72a73ed44340528 +size 1298521 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_24.uasset new file mode 100644 index 0000000..b830097 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb325dfb23e74c8f62a75efc564b30f1a012def8cbeb547f7ad3a3dac155dcd +size 1307182 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_25.uasset new file mode 100644 index 0000000..3d4c218 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71501983c74351b64fef849f9feb07dc79fc2c2d908b5c3e31d60a63c49cd47d +size 1323996 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_26.uasset new file mode 100644 index 0000000..dea8d4f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fed2d66099e445d9bf259c3876c41afbc7494d17e2797a7fb34905a4278ba4 +size 1294626 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_27.uasset new file mode 100644 index 0000000..33d295f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff251e6cabfcf47bd922ad74eaecc10c76e1d2a65030350535a764f6daf0165 +size 2254738 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_28.uasset new file mode 100644 index 0000000..4dce027 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ffe64d7fc42d2e2c435fd7ff882470f42062db02e5cdb10cdf6bc45a27c8a8d +size 2152344 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_29.uasset new file mode 100644 index 0000000..c494b8f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71509eef92a735f39152b1906db66146fd23896ebdfc8685f4d31423c81f68ff +size 2186409 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_30.uasset new file mode 100644 index 0000000..b1d7938 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:678940492833df0acf1a9692915b6a4562ded4b3efd7b202bd3da398f0935ac4 +size 2322479 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_31.uasset new file mode 100644 index 0000000..14f36b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56c5c7deac743f1c8c5ebaa911de73c1e0cabf9c1d8108c8a94baa29ae974a5e +size 2146080 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_32.uasset new file mode 100644 index 0000000..53ac3db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7966f83b67e37d4648035eb13a4c9b5d7f8c766bdbd7b68258ebf4ad98620fc7 +size 2381117 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_33.uasset new file mode 100644 index 0000000..32da0bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbfafa602ce31918dd3153229b500f61fc3e61158f8e032896b388e07f115c7d +size 2903400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_34.uasset new file mode 100644 index 0000000..5d74177 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc3838a9950ffc3e0fb2234baa9dd39536a39d5dc80dc4fb40564d6ea24c6f7e +size 2236521 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_35.uasset new file mode 100644 index 0000000..1e1958e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:434361f7111b55b162ab551cc07a06633515e8b374fcc11fb19e56e1b03b38c7 +size 2430920 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_36.uasset new file mode 100644 index 0000000..da9fe07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986e9f74bc8e3e8fd598a4c3512534801715217afaaafd7778909edb4ff60ed5 +size 2457092 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_37.uasset new file mode 100644 index 0000000..98c9b9d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:587b759d3503837b0174cc565d15739fb9b85517d2e62126d9da8dff342ad0c8 +size 2242459 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_38.uasset new file mode 100644 index 0000000..9ba152f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bf34374b7d72056e963323c4e6f10aa02b9eb854d89e64929404de1da38e779 +size 2329394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_39.uasset new file mode 100644 index 0000000..3d6d5c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a2f6a0771a7b172a810eaec1c87ce8744004a47bd47f3022f52db003f32d685 +size 2283755 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_40.uasset new file mode 100644 index 0000000..14a9954 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b138b366424a6dc50ddca8c4406a824bc85b17065b8262e646215f086c9c50d0 +size 1299938 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_41.uasset new file mode 100644 index 0000000..49893ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89786ac4ed2d594db623b027a144b6601328a7dfab550fbfaead37978b9c079f +size 1162545 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_42.uasset new file mode 100644 index 0000000..06b5bec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c68b36899617721d3e4a2387be1658320ea91cf565dbc84e1a9057088f50738d +size 1316083 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_43.uasset new file mode 100644 index 0000000..0904f4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0922e6d98538b6bb6aae305fb4023fe922acd59d4ee6303177c944ecff55b91b +size 1460089 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_44.uasset new file mode 100644 index 0000000..a116ba0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ebb66cf70c1b2da24f6d716017e3cca6b9c60e6d077657f6d18c0dc396ee965 +size 1566330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_45.uasset new file mode 100644 index 0000000..a62c9bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ff42a72954c95b9cc5a395d8c39400b1423373f41172663979f150900bd6ec +size 1232775 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_46.uasset new file mode 100644 index 0000000..e37d1c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f6f16c958ffe9dc5e42b183f512a8bc3b2caf06432076dcffff949876fc4ae1 +size 1247807 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_47.uasset new file mode 100644 index 0000000..b01f82d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f63128e4ef1e66fefe76f1318b09e973b3e63a1ce3d4c37b1bfca9c59207a30 +size 1527929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_48.uasset new file mode 100644 index 0000000..4e47e16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c91693d6c016bc4a4a8419d3cc39dd56345d62e7eb41e10592e38b4b0953fa +size 1116831 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_49.uasset new file mode 100644 index 0000000..615c01b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de142b2950058a58a386c0aecc970f45240230d494983a2325afe8c3581ff27 +size 1162845 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_50.uasset new file mode 100644 index 0000000..f525374 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e09a601c63ae7341b40471ee3374baf566b00fdbe7d372e16842315a6ea4249 +size 1311237 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_51.uasset new file mode 100644 index 0000000..f46bc51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3880a49b56242ca6c1b3369495a2f9e6147faac31276a0c93b1c34bcd34f38a7 +size 1434588 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_52.uasset new file mode 100644 index 0000000..a3642ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab062e281f612601cb8a70d85874ff3d86de1f193d02d0a92dc85ceeac43996e +size 1270281 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_53.uasset new file mode 100644 index 0000000..effb2b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f7ec91dd3c6ce630f9e471a8525b0e870b53fed446d00a7a50b2a3ede540d01 +size 1324398 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_54.uasset new file mode 100644 index 0000000..10adcea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80adcf553faba748bcf70365b0029331b8aabf037b75c7945d2950b86fbfc283 +size 1079643 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_55.uasset new file mode 100644 index 0000000..59dd80e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b09760ad03d600ea030ef02410d0adf8732b67759d3bac79eeabef26ee2f573 +size 1730377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_56.uasset new file mode 100644 index 0000000..fc63fec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5d6d3f790a223ccb868c99660128cb85a81e0804d81e9dd3b3b49f174d2af8a +size 1252210 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_57.uasset new file mode 100644 index 0000000..d26c1fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c1bdc5c1248dde425c2d037856367aaed431e0b1051e4aad7b26836d436a46 +size 1054972 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_58.uasset new file mode 100644 index 0000000..696d06a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7de794b8375b107e829b6a9dfe36fa7f2cfd5d19c2bd2b959512083feb9e2c +size 965850 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_59.uasset new file mode 100644 index 0000000..22f48b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aefc01eb363a241c1550f2b7690757935afa95370e3f477f8fb2b805bf51b65 +size 1455769 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_60.uasset new file mode 100644 index 0000000..b5047ac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551541a17779db540443d385bb4f0b788cf5905e91c0571040f47f5970714c12 +size 1060966 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_61.uasset new file mode 100644 index 0000000..398d389 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9468fcbd7fafd829c1a49070be5c79933e240534326b8a1bbadc8843fd201189 +size 1250196 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_62.uasset new file mode 100644 index 0000000..c6c805e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b12a14da7de0a3ce927490787871dab185e1c7fcf118e99e0ad0fed53dd66c8 +size 1208801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_63.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_63.uasset new file mode 100644 index 0000000..46ab934 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eef3f1100fd6ca1e3d01238b5c48ac27b058d260490ea4c06d028d4d5908b8d +size 1616909 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_64.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_64.uasset new file mode 100644 index 0000000..d1eb735 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_64.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f990ad273bf1a88d63d67174e6b761dcacc5f55c7f20b4effb894caa8e41ef8e +size 1423847 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_65.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_65.uasset new file mode 100644 index 0000000..e251bd5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_65.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb5e548f0a5e64a67c5d6308c97b675d13fcaefe7cb71d024e16e2e9b993868 +size 1050876 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_66.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_66.uasset new file mode 100644 index 0000000..09bdb08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_66.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e8b093c584cc4e6002b1f7f0b0f5183a32aa3feb29d9ccaa9943e343ea2e086 +size 1574554 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_67.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_67.uasset new file mode 100644 index 0000000..749282f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_67.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74056003b74a3b8866bd3af4d63702440419fe1b1ffe0556259b3b9381290249 +size 1602486 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_68.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_68.uasset new file mode 100644 index 0000000..4ae283f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/083_68.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71961c592676994ce8474852c333595e5ecdc5514578fa5e7823a3ca2d359a55 +size 1572050 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_01.uasset new file mode 100644 index 0000000..d9853a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ead441cfbe2c32cc3e74b4bf290ae4dd30792cbe864538076ecd17306791ee4 +size 1153835 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_02.uasset new file mode 100644 index 0000000..1baad75 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76a7e67f63f1f06e1022168d2fcfdd2933e758ea334b85c11ae52aa37d464eab +size 736046 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_03.uasset new file mode 100644 index 0000000..7e78f32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb5ece0cb0ea8b0bf7a26598b24ca4eac639e04025518d78ce4c2ec2e856fe8 +size 1024945 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_04.uasset new file mode 100644 index 0000000..bc8efef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73eaf2de36c3c7c213dd5ded067838eca35c725f98b4f3990faf6a032ca7a091 +size 857627 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_05.uasset new file mode 100644 index 0000000..2f05c0a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08c1bd95c0800dc9f45ecdf0e2b477d49dd92927785025fd6e1f586eb66cbfa7 +size 865091 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_06.uasset new file mode 100644 index 0000000..ea4783e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b83bf63359301a1650f83e1ee5b1d6f113a70339f9f7e7328568c8af988d7d29 +size 869091 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_07.uasset new file mode 100644 index 0000000..74c26c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44c5669d540667af4cce89f6d66f89d43e29adad43a84a588b55fb809f0dd27e +size 799084 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_08.uasset new file mode 100644 index 0000000..ef518e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b36f6e7bbd842093c29294bc612dabb42016ff6d5913e088ab8e3e215b7df3d5 +size 500905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_09.uasset new file mode 100644 index 0000000..1c06f35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1de6b5205c243f311b35c71338cbe824604a45e5ebca8e65faefe659228617a9 +size 556585 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_10.uasset new file mode 100644 index 0000000..1f132a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd53cf93611f0ce38298182e88895f12865e4b932849f56fc77e05f69630a9d7 +size 791477 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_11.uasset new file mode 100644 index 0000000..f70d13a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc43a47d7292144331025ea683cf6b51a9bb5aaa0a34776b31c8d9ec9751e910 +size 835265 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_12.uasset new file mode 100644 index 0000000..7087c25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46195e834661621eddd72c91bc3fd43b549cb84661f733e84ef6382fd4b1cb61 +size 785801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_13.uasset new file mode 100644 index 0000000..654d956 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a67c0aa403352eba7cf9698fcd85ebede9c77527e0842a30ded5fdbfb00bbbde +size 5562572 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_14.uasset new file mode 100644 index 0000000..ce44b18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b33476b8d70558c2b056ebf93dfaeb5f555c4eb25854f8cc331420b40193a2f +size 1116105 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_15.uasset new file mode 100644 index 0000000..ab20aee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba348d5285b0fe380f5760dbe061efc7168634decf6448badefc7950f3b593a6 +size 1110476 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_16.uasset new file mode 100644 index 0000000..164e63e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:600b5ea24b9f20beba09ddd696ea54e6f576e826acbeedfb7379cbbe8d884fc4 +size 1216551 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_17.uasset new file mode 100644 index 0000000..15dd04c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52f74a06893fdaa86c7dcc6f8df7145005c0c4c79f6476296a8487a3a0d3757c +size 1279331 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_18.uasset new file mode 100644 index 0000000..0b300f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7dcea34871bb8f5dd9ed216022cfa5bc92dedcd061a91a31eb85e17df0ddb2d +size 1219503 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_19.uasset new file mode 100644 index 0000000..abee9a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4061f5ac091762eeb27a73e9cba7362a45aa233d251d0dce6b72b74d7ed68b90 +size 1195488 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_20.uasset new file mode 100644 index 0000000..6cac4dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/084_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d06e5e05b1164160665b721a8ac4449c2df7b49c4e88f230816b7468f88eb0 +size 1335037 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_01.uasset new file mode 100644 index 0000000..55617cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e80b77ad3772b289cd4fb39776a893710a349cf44a4271e519605cd9bf72ec1 +size 2336037 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_02.uasset new file mode 100644 index 0000000..6e6a2bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:689b33d4cf283b9cdf0e5c9852606ab5438629f8b3e6e7e20360a43249a59a7c +size 1944393 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_03.uasset new file mode 100644 index 0000000..bf0c6ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0606b2c54000d1012ce82869f92c5d7ff6f762f04a88a6752152a96dbd54ba52 +size 7173321 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_04.uasset new file mode 100644 index 0000000..49033b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3e64570362cf8ceaf2b5a1407b6e92681389cfe4e1fda0d14d70d600bc4655b +size 5704541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_05.uasset new file mode 100644 index 0000000..f118b84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9f139940763e8e71190f03730ebe46c167c92d25f6cba12d55220496cf01081 +size 3718517 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_06.uasset new file mode 100644 index 0000000..fd8590f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb4c797445070720c24e8bac7bc951d323e5a05d2c96a549fa91f7b4c1f0662 +size 2240638 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_07.uasset new file mode 100644 index 0000000..0f3db70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95356ebb253ea8b0238ae7b62a35e60ca1ac9971afcf56ccd9a1c43f74363c4b +size 2250505 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_08.uasset new file mode 100644 index 0000000..e9e51a0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52122d15688ecec67e555607cee37ea35f1256061e639eacfbf6ee6d0b5d221b +size 2368845 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_09.uasset new file mode 100644 index 0000000..7f55103 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d32070a56e6f5fa4a0c34bfb3100d04197f1645c8892f35331149affc8224feb +size 624383 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_10.uasset new file mode 100644 index 0000000..6454a64 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e16c94d60a29ec3c1ff87be777a74fb5c94410f673213ac821293bba5905ec98 +size 1864769 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_11.uasset new file mode 100644 index 0000000..15b14c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4efad58bb2a6f9645c95469641929da3989ca1f7447219fa3b5b8df40734d9f9 +size 4051179 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_12.uasset new file mode 100644 index 0000000..f9554c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a322e46a60fe5c85c599e78aa8cbe822e3d2901d5006c5169be8908768262ac2 +size 9937611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_13.uasset new file mode 100644 index 0000000..f5c9d2e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09824bd749415310a4743d1f643d1c3ec3f593bac4b52691c1c0dd666bfb8285 +size 3324896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_14.uasset new file mode 100644 index 0000000..d9f6768 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:371c118a49c5f400554871766dd225c2de3121af9df69cdf576d275386cef536 +size 6650442 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_15.uasset new file mode 100644 index 0000000..4c92a08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/085_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a0c119356c0f2f819105a89d19cb6697ab3b9eb53bd4be5522270eb4052faa7 +size 3050511 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_01.uasset new file mode 100644 index 0000000..7ef1cba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc78eb84b916bfda9afce1e528930273c3209a6b2f1d132eed8e4f286b0b79ef +size 10076682 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_02.uasset new file mode 100644 index 0000000..2e1191d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f89ea67d21d22d4ab658be968a703183fdcf0e3ab729577f3b969e34f140939 +size 23208199 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_03.uasset new file mode 100644 index 0000000..5156422 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbd88c6899872648f7827145d3654607db44164c7e22aada7d42122ddc0bda7f +size 18470801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_04.uasset new file mode 100644 index 0000000..39c3359 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1479af707ff7ccdf45180115b6ea88f32de658b0f7678cb89412736942d609d +size 22038016 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_05.uasset new file mode 100644 index 0000000..e09b6d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866286327f32e5a7fd1d1cc4c7fd5e796ea77e24c9541041e2fa816612d2bf1e +size 18207147 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_06.uasset new file mode 100644 index 0000000..3263121 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:223ff244bc9256bf97454de7f45aa1f505ca6d5e991076e16a3b4f1be7b860b6 +size 21814117 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_07.uasset new file mode 100644 index 0000000..4e33d03 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24ac9447b54298f8357a3ca6a033ef13dd021f5542b4f38b6b063423e50f3d8e +size 19055042 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_08.uasset new file mode 100644 index 0000000..412555f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbded6dd7c0179d2d7cecb6895735e2c5082583476120ba5ada09a08a0cb44c4 +size 20146110 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_09.uasset new file mode 100644 index 0000000..63b2743 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:837e15c940b38684d49f1365e2bb1c601d9fdc5f48ad1242c911d6a873f627fc +size 10542699 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_10.uasset new file mode 100644 index 0000000..4ea60ff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a3ab0f114340f23aea6ccc0c9baca09bd853fc3e8dbfbbc064eef2433720b5a +size 16626801 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_11.uasset new file mode 100644 index 0000000..06223ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e2d90d0642a9005040ba9b3d6d50feaaa8fb59c48941c9009c08325ac92b9e9 +size 12444340 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_12.uasset new file mode 100644 index 0000000..6f28c24 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cef54ea6af1fee825ead20c5ad37baed3bdda043f12983190a93312063d86e3 +size 19319456 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_13.uasset new file mode 100644 index 0000000..545dd08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a800877677542698bfd26d67bdd2fa151a19e3f478e1668231bd77e14b8da2f6 +size 13628820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_14.uasset new file mode 100644 index 0000000..4da1e6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67270ca69c2804ac9f0f144c1fff32a3f2dcb5bf59e1ff71bb12541b24a6cbe7 +size 13216356 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_15.uasset new file mode 100644 index 0000000..bdbce5d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/086_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6fc5638f0e30dd1a5e11b46699f39661329546dfc8d7356abfa8312dea1061e +size 15452982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_01.uasset new file mode 100644 index 0000000..9fdf12d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffa8c7a0725cdb1efbd04e134a641dfb08ced59f71652ba35ca4f40e25d33bc9 +size 1516270 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_02.uasset new file mode 100644 index 0000000..7eeec68 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87513af10a78f518d17058f468b082edc89fb643c7272a1e621c336d9c23e602 +size 680955 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_03.uasset new file mode 100644 index 0000000..008d1cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f58f0b18be6293348a37539eb76bf60713105c459b094e6d7eb5905907047252 +size 700709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_04.uasset new file mode 100644 index 0000000..365707e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2af37a2e95dba6792157bb5239f6b734f6116b986942aae796737b2d8008e23b +size 650453 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_05.uasset new file mode 100644 index 0000000..56c5a73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/087_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd19d598677faa478644f77be013b4cfe7314f4bd86276c54c0473ba2cf774d3 +size 1292558 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_01.uasset new file mode 100644 index 0000000..4a0b743 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:037a9609699e40640d7750dcaa4a22179ad8c98b4252eb11ee7d8fabec004746 +size 622577 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_02.uasset new file mode 100644 index 0000000..90d1802 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd90745242f8b92b6a1572c56940c71c516658d72551f44db26895d15dafaff +size 7380663 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_03.uasset new file mode 100644 index 0000000..9fa02ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe209f48ffdf7002951612c365bcf3d8a7fb846359eba9d97f5ad1717885a55e +size 861896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_04.uasset new file mode 100644 index 0000000..0ce4403 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d205ad67aeb604fa30118f534a3f4adccb164e65281096181750826d2bc8760f +size 2880197 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_05.uasset new file mode 100644 index 0000000..e4e396e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f758ddae6008cc8f4ae833041c75898d048acf4d67ee7285eec10ed32beb798c +size 510446 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_06.uasset new file mode 100644 index 0000000..6e8b380 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64e1eaf86a33017bfe62c0fe60c9acb0129ffd051cb8b721d0249a6769913dbe +size 680691 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_07.uasset new file mode 100644 index 0000000..dff0c22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0f1889964e880683b22bad9529fc162164c8d56abe1b3cd03c35783e23bffe7 +size 523818 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_08.uasset new file mode 100644 index 0000000..a9ef8f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bfc48b7103c55c313971bd54854a3429a6092fe5e11cdfabcc65e689f44fd65 +size 808860 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_09.uasset new file mode 100644 index 0000000..483a10b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7084c34c026db9cd8153c8112eab988864fcfe5bc9eba8317733f5b612124239 +size 998341 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_10.uasset new file mode 100644 index 0000000..8af1e62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8380d799ef2c85efc27709e50b61ca98f9ab2745355f40b73f163b6d2c5186db +size 1187527 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_11.uasset new file mode 100644 index 0000000..6c7beed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/088_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c36378fe92512302464d2565c64c071b7203866eb2362a8a70f2c716d5d09b2f +size 4515940 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_01.uasset new file mode 100644 index 0000000..5b07f65 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef59bd81de1938d81c116f290c277984bff33aa9e6a1cee3c9d0d3cd312f21ef +size 5033725 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_02.uasset new file mode 100644 index 0000000..7f9fe17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0d4a603f50057db3b79f59ab11bf4835ce95ef2f3bd2407f13dbb351395fbe +size 631086 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_03.uasset new file mode 100644 index 0000000..ef6a5d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c75c3374bddcc94e8e4b6ceb4e22fbcf8749aa55d98a2145dc97a07514b97f74 +size 763750 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_04.uasset new file mode 100644 index 0000000..17f82f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b54adcba8c45d755676f9cef0a941dd0b69a9b0a4f2c037f023cb76ef0b72e52 +size 4345532 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_05.uasset new file mode 100644 index 0000000..b4f0711 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4641e11e52256f393f69b9ac45a76dfa0a3323f3c56ec5d5378f675729e95a89 +size 9802241 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_06.uasset new file mode 100644 index 0000000..47daa2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/089_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14340643e7c1ad3aac88c8c4eb30a0f3bd7c6a2185eea3de4bfebb785a13b230 +size 9016879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_01.uasset new file mode 100644 index 0000000..e798ba6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d72288127a81e5320b7c140914c847cf3391d748260aa711fef412ad19c26d72 +size 1891593 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_02.uasset new file mode 100644 index 0000000..a9acf9d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a562ecbae6660d227b0523a2bb9a353060945bcb95a6bc5263351c1c4fc6839 +size 1875622 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_03.uasset new file mode 100644 index 0000000..451a9ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0860022f0622640c98412b1055d1c696b5e360f2d93d81edd486dad4b958a8c6 +size 2101392 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_04.uasset new file mode 100644 index 0000000..3d83e21 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6766b21c0c528823170dc57ea4bf98ddc185fd452fb5d5d97843bb4fbf733c97 +size 1706484 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_05.uasset new file mode 100644 index 0000000..53ae198 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a47aebd27b21a2095696ad966728c5c9552c1b312387b9ab1f7add3f076e01f5 +size 1303573 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_06.uasset new file mode 100644 index 0000000..a88a262 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b1c08c7e4eda5b4eaa7dd025d954d3561e7da36afbdda835abd4ba35899b827 +size 1540269 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_07.uasset new file mode 100644 index 0000000..e8968d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:521998aafc73623da7a564fdcb9651916874d7401871c09d411bb5e64de1d7e0 +size 2105904 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_08.uasset new file mode 100644 index 0000000..91061ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62d385f3d0521e965ba9843e07871feb06266c3ff1ffe13818c9459a47a358a3 +size 905510 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_09.uasset new file mode 100644 index 0000000..0228997 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27dc698a0d44f2c9c425e31bc800859ebfd6b179a24b286ed0830f18692491ca +size 835792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_10.uasset new file mode 100644 index 0000000..5e84d21 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e037822a34c1633a1f43a7c4aa290b04cc42c9eddd98e6bf53f87929b133f5a +size 192872 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_11.uasset new file mode 100644 index 0000000..05d16d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f27592022f1e37e7eaf495531b35f01c7fa7e5ac7b7d94bc2f13ac33cd361bf3 +size 570984 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_12.uasset new file mode 100644 index 0000000..436e4a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bddf284940e63d9c2cc9087e32ae11541e0ba1f9d153044bf15bd60a8d9bbab +size 1960730 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_13.uasset new file mode 100644 index 0000000..d91bd30 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e3c1ad1169c65af55fe77bf9afe6782db33d76d39849459cdb47f9ea8b0b1e +size 2152577 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_14.uasset new file mode 100644 index 0000000..8dac71c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6be9937e207402088c434838e62340ea7e562ee0da2c627e8e2b37731b7e6963 +size 1988642 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_15.uasset new file mode 100644 index 0000000..46db370 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:871a06ef2cb11d866e9406f155f386bc64ed9d6e2e018b82c790933f289851e1 +size 2751887 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_16.uasset new file mode 100644 index 0000000..c5e52dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc1e62d8ac5937c5cdce5fbc81a09ccaf095e6f625733103a3ea330cdeec2284 +size 1721396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_17.uasset new file mode 100644 index 0000000..20283c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ace518662bca529c2aa0f5bd00a828faf0ac72fa841a295059318c8d4cc55d19 +size 1493067 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_18.uasset new file mode 100644 index 0000000..ab9acc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70e731637ee1028e87adbc6793f17f14f7f1dc9a8fd6f98d283a78a88d01d2b4 +size 1023987 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_19.uasset new file mode 100644 index 0000000..676eeae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eabb7de9803435e2e9fabc943f8597d2be91991c07c0611b45af8f81a6bc3e3 +size 2437478 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_20.uasset new file mode 100644 index 0000000..93e951d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aa8c475362ee66e6955a3689749b80d1629a02fe99ca2909c71108276649dd6 +size 3985755 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_21.uasset new file mode 100644 index 0000000..eb6f412 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37c2b4616ef1740c593884d717b16f4eb742dbb4cbf3f4dd57407f2512d556f2 +size 3112122 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_22.uasset new file mode 100644 index 0000000..915e394 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc799b252ac826c9c8da17ee52d2ff71e6bf1fe4105ba4f7bf1011e4162d0b34 +size 1576833 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_23.uasset new file mode 100644 index 0000000..3311330 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5ace04fab83e9d68c69ca2fcf21b1ab81d40f83b03007922aceacc09609ef6f +size 2560463 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_24.uasset new file mode 100644 index 0000000..3f3f407 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f5e3f4d178adb32a68d750c6937ddd95a0315fafffdd4603e188554b5e5b57b +size 1786718 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_25.uasset new file mode 100644 index 0000000..9f662ac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a81f4f898f82ac26266e9db93bb0665739469fc12fbfc8e629e0e2b39ceeee3c +size 2833803 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_26.uasset new file mode 100644 index 0000000..31d6503 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4abb9eed2266ee7075d936b5b2b3e75e6c8eff869af5fd6c6f2de468382a0e4 +size 3084481 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_27.uasset new file mode 100644 index 0000000..dfb66b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9131747ea66099d6478987d867c5a551262ef182e656d71673d0fbe3a8b734b2 +size 2681439 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_28.uasset new file mode 100644 index 0000000..b7933c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af325e558b096bf9c7764df2bcc0c4414ab9f54a4e69622266b5ad7cf95a5bad +size 1843154 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_29.uasset new file mode 100644 index 0000000..8cb32f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da2f3592e0143e0fe14f8a05d6fba608c36e850c79febfd13fe791f233c9543d +size 3401087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_30.uasset new file mode 100644 index 0000000..45c992b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfc9bc72e36cea2a863cb3bfa0a9fb02b59edc5eee8f849f6d6a4488606a71d8 +size 3215776 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_31.uasset new file mode 100644 index 0000000..eeeefa2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8498e4a0f5fd3b95c347dc5a477e9e3bc8e4383212d815aa2ac76425d381fb5d +size 2244978 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_32.uasset new file mode 100644 index 0000000..2e4729e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47130097532726c3353cc3e6aa7354ef9b6c43046954bcda8ec1a18bab57f7fe +size 1690961 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_33.uasset new file mode 100644 index 0000000..55077d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:823f1aaf97f6dde9794e9652f32a109971635c12c5e4eeec02e415428080ce1d +size 2117875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_34.uasset new file mode 100644 index 0000000..872e60f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fd8b8e367b6117430235d93ea6834f555d2f1d162bb1a83a1ac4f307c31985 +size 2004187 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_35.uasset new file mode 100644 index 0000000..be8249c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6d5035c43423304b7707d98dc8b38f47baf51c2491d3135e112f1363c3cc1a6 +size 1674795 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_36.uasset new file mode 100644 index 0000000..2af84fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/090_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18e0a574d002b58db9c53e403a5db810551d25b077db4f52ee3ca4c92069c404 +size 1599078 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_01.uasset new file mode 100644 index 0000000..e215f05 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85317fa5f6e3380ee9d0aaf88e1615be789450b3ffe44abb32d08ae1e2d8bbd0 +size 6102714 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_02.uasset new file mode 100644 index 0000000..e1002fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b98ed55abed4cf11727ea6aecbe750dbed12d68a092b83b6ad061a6d76a0da49 +size 3953712 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_03.uasset new file mode 100644 index 0000000..be525b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad7cfbb59b30e4b5d94603cb4037def1d51012a04ca6a770e63a16322dd282a +size 4204071 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_04.uasset new file mode 100644 index 0000000..9e0f776 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:408fe0e1507c01f015175bcc98ea7d962a8761b6780611ec643a9a304b330499 +size 4857757 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_05.uasset new file mode 100644 index 0000000..88ee42d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c080a37089c826f33fc405b69419f26345b98f8309c2c718a7dcbc0a773620d +size 5938536 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_06.uasset new file mode 100644 index 0000000..363f935 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81d64e38b1032b8f563eb84634d1809e2729751d020f1698383633bdd5f4a15d +size 440288 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_07.uasset new file mode 100644 index 0000000..4b9939f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc4cb7757e3987ae3be160c18a977ef2c0ee62479cc0bcccd4c551e06c7ec99 +size 5744994 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_08.uasset new file mode 100644 index 0000000..27fe2cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2834561b935850de303295ee9f67beb1a0d7188788e4684fae8903eb19d2817 +size 8771887 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_09.uasset new file mode 100644 index 0000000..a2f8a28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6145fe3067ba7505a36842c8b4be21003f49862f8081092eeaf8d6cff39064be +size 11856920 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_10.uasset new file mode 100644 index 0000000..2512479 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f4ba3060e6ef43dd4b42d7b83d9676e50bf50423a5b81a7dada9b2223937cc3 +size 7018440 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_11.uasset new file mode 100644 index 0000000..11933a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fa072758d038c944d71b7c46198d0531afa37d1a83d2d6f38a61e107a34e929 +size 4194712 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_12.uasset new file mode 100644 index 0000000..90a6725 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:022c1700a8cabbb9a61c86b55164855f76d3f4062e7d94231d4a08211d503531 +size 4988401 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_13.uasset new file mode 100644 index 0000000..8b68c70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a50e4d44a07efd97e4386939ddc8a51f2aca0ceededde0a964bc12247626f0b +size 6609857 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_14.uasset new file mode 100644 index 0000000..a2f5ebf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bb952b7dbfe2e8a26db50aef9a703ca19ea7d18bf55fae1608aec696b9a195b +size 6126532 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_15.uasset new file mode 100644 index 0000000..7b9e8f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d127041de361553ded4cecd7027ff31c9571950a9873ebe2ccfb47c9715e775 +size 6813677 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_16.uasset new file mode 100644 index 0000000..5815760 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b13a42e82210d7ed95013b8053884e6f59ea5e05b5792478f6d30318df1e500 +size 4263332 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_17.uasset new file mode 100644 index 0000000..c658cc0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ef990653548861b6d79e57e08b1fdc16dd4cbcf52f1800a12d8972ea1e7d5cd +size 3438522 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_18.uasset new file mode 100644 index 0000000..998e677 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44f4ab9c05021c5a23f7a6406faa612dae94e1b38359fb494934501483281b72 +size 7423530 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_19.uasset new file mode 100644 index 0000000..1009f94 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5c224938db43672babf6c22988569451e7ba1106a2cc0fa66df7c9607476e2b +size 4217477 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_20.uasset new file mode 100644 index 0000000..5bfdb42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a6d7d2d3d8e295960f484b29839a646d0a57fb7ebf9873c415154e9585d6a19 +size 6045939 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_21.uasset new file mode 100644 index 0000000..3eef7ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0cc9c451143b84154722d8a1efe400ec8981df135bda2bf3f8af11f3f55845c +size 8486249 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_22.uasset new file mode 100644 index 0000000..dac6398 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:206949bb43efb39b9a2e2d57ae8df48e89479cca102ea63ec46448250a255c8b +size 4704146 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_23.uasset new file mode 100644 index 0000000..c9e70cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643300d40c7573d71aaaebfe5a5465a406798186d2628bf4b2116b2f0e8e9850 +size 5913017 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_24.uasset new file mode 100644 index 0000000..3f067c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a56dd234ccc0771c1702554e53dc0ec7fd736b124c4973316a044b70166c7c1e +size 8349070 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_25.uasset new file mode 100644 index 0000000..90b6a8f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5108261f1e8f3cf0b5569ae5dc7949b4e4be12e1a5dc353421a232069989739 +size 6942180 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_26.uasset new file mode 100644 index 0000000..1d8d7bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c35b9b30531f18689f9741417266d7f0c795cfe421990c22b585b1fa43738909 +size 4651120 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_27.uasset new file mode 100644 index 0000000..a7e1eba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4d0d2d4fa7e8ea5e752c59a00b40329457bcf7d1efef2af79ca357a1cfc5a47 +size 6392796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_28.uasset new file mode 100644 index 0000000..f9c7a84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2a7a32e801e8a31b69fcf562358e0de902e0ab24df1c422110ac28f1cac7025 +size 7277068 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_29.uasset new file mode 100644 index 0000000..d55c82a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74c9e4c640961867172d8a4fbd985d9d8c02fc0087632627d8c26d3f3ef30fe +size 4847881 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_30.uasset new file mode 100644 index 0000000..178411c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5b557ee2db9bad98ebf83c919db8316571f5f38e547266599b5b8a47703f792 +size 6966620 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_31.uasset new file mode 100644 index 0000000..794a7de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b12a3c677def23afab2c81b516df460d61673bf5791f800459c43f949546226f +size 4462901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_32.uasset new file mode 100644 index 0000000..97b3902 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c448282a0a10cdd6b6c7bc4ef8e6c7899da5d2e817fe3b8b427bb2bfc0545d9 +size 8117167 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_33.uasset new file mode 100644 index 0000000..3ea5565 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67258d702771057bd866cc6eb235dfbe91646e522f4ffe39af90bdbe4dd10187 +size 6016157 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_34.uasset new file mode 100644 index 0000000..6072c0f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce889716e69f0991f442957c6b16f6d6286ade4ee03b93db410c4117907be032 +size 4927050 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_35.uasset new file mode 100644 index 0000000..9f9ec35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a7e89a103ae48e82bb0d48a3c3bdc5fce378dd6334a22dd0c3a146e83088ee1 +size 6711872 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_36.uasset new file mode 100644 index 0000000..1ab9da0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:423dbc33f1d6da9d0faae16501b305048cb53d366af50d9c0eeaf2c576b6658c +size 2024929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_37.uasset new file mode 100644 index 0000000..48565db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63e0fa711f61a029141d601d0dcb302cc48f6cd5ffaeb8a0d0d791a26adea2b2 +size 836469 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_38.uasset new file mode 100644 index 0000000..e27aced --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:326070e62cd71bc45041c5c4bc54ca643c091a37c63b674c18d1ba969811da6c +size 1115341 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_39.uasset new file mode 100644 index 0000000..63d7d98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61f6951ce91b3091d7d12cab65dd9c1537e096821bdc75f52c499595958790c6 +size 1141209 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_40.uasset new file mode 100644 index 0000000..c865cca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1139a4b59c44e312a7a550be0869f078a2e4004bccc08562fba5a5ba90d88b7b +size 1200677 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_41.uasset new file mode 100644 index 0000000..3fec07d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3671707109a6a59864aafcedcb0535a04332c7d944f710ef6f95ea63b71c36b +size 1234902 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_42.uasset new file mode 100644 index 0000000..f5df573 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ebe0c7abd69e0acff080673d3154d6030b2a58beb244e4e4706d20e1e321010 +size 1394366 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_43.uasset new file mode 100644 index 0000000..1e15c7c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7870e01f35ac0e9522df6279b165f90124ee623f65200a3e7ebbd437ef62113a +size 617536 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_44.uasset new file mode 100644 index 0000000..7a53684 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b069f0cbe22078eedde1e835a58dda118508d018f6ae9b3b505dba1d783fb17 +size 850875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_45.uasset new file mode 100644 index 0000000..3000152 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:070d63d240cac6d04a94c52263513cec801106efabdca2b58e39806a12e9d28c +size 979017 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_46.uasset new file mode 100644 index 0000000..48d4924 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:673be2cf2607c594ac2873fecb3a8124958e4f2602aff3234a7f7950910e5457 +size 868875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_47.uasset new file mode 100644 index 0000000..b312adb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c03bf22dffed2d992b7775fe2a03f077df96261b5f3352cec8dbfa94cbeabe7 +size 1185936 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_48.uasset new file mode 100644 index 0000000..2235b6e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72169a636a958e8ba08aa7e5e7678b8ec945c6e1de48e940ef0b814919095290 +size 1114260 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_49.uasset new file mode 100644 index 0000000..0b822a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25463efbd832b4db098ce8b33889e410f14790672f6b451deae42403338c816e +size 1206365 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_50.uasset new file mode 100644 index 0000000..31077ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd3bc365ee1780f41b88ee31a6cfaf02b6f8faa497d3a8fe7360628355f843c +size 1606482 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_51.uasset new file mode 100644 index 0000000..a3c762c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98bf6b62792310a853e5337ff98fc8142186bcdcf2d26e825140ad7c81ca0788 +size 1206749 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_52.uasset new file mode 100644 index 0000000..7566704 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9af97e3a79f050d3006d68667ec076dfd9760aa677f9f7eef291e16c1dc5fb1b +size 1262444 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_53.uasset new file mode 100644 index 0000000..9dd9dfb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48b4780459e3f77529ca2343ff7635762fd88f16dae9645e460c89928d48f666 +size 1372486 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_54.uasset new file mode 100644 index 0000000..ca1ce78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e98de708c31c4e63159c9324ba5f55b2b3231be9b6771f4858571e81874e66eb +size 1621073 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_55.uasset new file mode 100644 index 0000000..7990060 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a39c58c39a0ee1ccd7d04d18de1e406ae9d37f1fcbde890917110ab81bbd7dc8 +size 1176218 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_56.uasset new file mode 100644 index 0000000..7247b4c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf6619591565ac1bfa4626516a0c334d4fd251e59735c65247992cab311013a6 +size 1248630 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_57.uasset new file mode 100644 index 0000000..3572923 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:319ea1d2208abd207ccfe8f7ccc38887a7d89dbe61c9d6872cb9659c4f2e1010 +size 2695081 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_58.uasset new file mode 100644 index 0000000..5072c2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e05c84c5ed3a26cfe78d375973dda41da9c14c30830d4a177440c8e022310e +size 1243578 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_59.uasset new file mode 100644 index 0000000..29eec06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b91a2485e41acf6499cbb9e4e2c3174bc41f9c2ed9508c811f230ff288d32996 +size 855595 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_60.uasset new file mode 100644 index 0000000..653b5f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be997446a5819afe29111c33172e2192d89ca6a002ff6127bf5a7104171ab03e +size 965889 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_61.uasset new file mode 100644 index 0000000..04c1158 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3322a99953a1f87df1ebb91ae7ec1c254693eded5cef0263f39600d2b61aece9 +size 954878 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_62.uasset new file mode 100644 index 0000000..6b159b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/091_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbfc7de940183f7bf77abaa45f244379c1ec053c24dd37549e18939c368757e1 +size 4184282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_01.uasset new file mode 100644 index 0000000..5e3d81d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:355202912034a29eafdc7acf27e541ac872536658abbdf52b323b01e7db1439c +size 222564 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_02.uasset new file mode 100644 index 0000000..ec7d7b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911dd5520be9d2dd767e946d54b1f458ba047cdddca400d2efa7d1977e11a1bc +size 3379428 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_03.uasset new file mode 100644 index 0000000..fb941c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7843f1d141d81aefb810de4decc9b648fd66de3f79465dcd1d2152c74c7dd257 +size 1125522 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_04.uasset new file mode 100644 index 0000000..ffbc5eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b46c1f3593b23b6294e774437c50ea85eae8a18f450bc5b9a7bfa82f775ee358 +size 1228649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_05.uasset new file mode 100644 index 0000000..f5ce16c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12411cf124bad3b59719041f75cf17fe5031c204cc30dd2b3390c414629e1a53 +size 1250219 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_06.uasset new file mode 100644 index 0000000..63784b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74bd0aad26adbf6e550b1ddb0ad1bad7ebec968464cded05d82ea6da4313851f +size 1044917 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_07.uasset new file mode 100644 index 0000000..26e028d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40d78c346d941dd80b1639d5f19f2237153b0c13026cd00592b505b18d535e14 +size 661395 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_08.uasset new file mode 100644 index 0000000..c5de107 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/093_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37fbcda109cd7ab29a657e4f1d4e669614cc81bb30a272b6ebbb129f2891d0af +size 1366499 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_01.uasset new file mode 100644 index 0000000..26b42bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27878f93b769c9459e40ace5837d792f039f466876e746ef8b3f76624412fc76 +size 7969944 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_02.uasset new file mode 100644 index 0000000..34aa40b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd578307b62dd9832d1d7fc090a25bbcb945a77da4ec75240f45ba5e57014c20 +size 7328251 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_03.uasset new file mode 100644 index 0000000..fb9ef36 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6a108efd71240c0cea27436f93e2ceb494d7bb7462c1f568d18c2f9ffd29c09 +size 8224806 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_04.uasset new file mode 100644 index 0000000..577a423 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fe33316dea4547d20f1ee118944b4fea6bce8c4b0e67f5dbf91499fbc9224f0 +size 6951542 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_05.uasset new file mode 100644 index 0000000..2652e82 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa887cc0791430173ac175f8f91a75dd412e8b977b73180fb91e0c2031ef9f88 +size 11538017 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_06.uasset new file mode 100644 index 0000000..ee51ec9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e43ee65273682123f82d5a25c2b09aeb7aa52c0215c20356cef13065e69c2297 +size 5619670 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_07.uasset new file mode 100644 index 0000000..173e66d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0330a5c8190d82bef24e93bf00454ef65fb185f9431af10df00b3b7f429606 +size 5131229 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_08.uasset new file mode 100644 index 0000000..2290f84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d6bcdae48a871bf450418e0ec0c4178ae61874594225bc10f4f66099474730b +size 6128564 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_09.uasset new file mode 100644 index 0000000..0873667 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a23a7e67feaeef282e38af7b30aa531d637a1166da749ee59ce985b1cca12a9 +size 8740663 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_10.uasset new file mode 100644 index 0000000..837101d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25bee7ae3ef0ab3ad41d57c1ab7c03abfd5c135a34070ae005c85805806b3ae2 +size 7684506 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_11.uasset new file mode 100644 index 0000000..3702c5d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42eb1c0fd1d305f53e3ef4f0cad3f974127cf2fc346c43476ec9bd04ee9fd48e +size 10577773 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_12.uasset new file mode 100644 index 0000000..1ff4d89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415cd3d87dc174a6ec7e16be511edae9ba95ce40de112ffa95d7a1d3faa57206 +size 9840277 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_13.uasset new file mode 100644 index 0000000..340e31c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b02b66f0bd176e8a299bcf1126c979c56a2dbab0c37dee2fb2deb54b67d8b494 +size 4398420 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_14.uasset new file mode 100644 index 0000000..1983205 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cb5e661f0acb963ef5535a4686042ec79c6f19e1922c49a8f7704fc27507a67 +size 6653929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_15.uasset new file mode 100644 index 0000000..700f7ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb7f994edf2924acddaadc52ea7d3250f13dcc55fe885976f64b8f75b4c4743 +size 4961600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_16.uasset new file mode 100644 index 0000000..7574d2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/094_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfa3acbbf1be6786b4875dcc65cbebb2f7091f71e13a11f77689678c03e49fc4 +size 4540709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_01.uasset new file mode 100644 index 0000000..0878fe4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3f0d5a05836fbe49c4fa8a43a0d801341139c315d9f4f6d051748f79f235b30 +size 418018 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_02.uasset new file mode 100644 index 0000000..c840d4d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c9c0d477aa74cfb37b23097fd93b58174d548cc13298c2cc76037de0e03ed51 +size 538298 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_03.uasset new file mode 100644 index 0000000..4eb92fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48aaaba7797e6d9755aea709dacc0f124d7e8c1f3b37c6c8dd43ce134b8e3a69 +size 503592 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_04.uasset new file mode 100644 index 0000000..863ecdd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a57c631fdccf50616e4d8b936bb1e46e8ea23ce0039513b83e4b1c0d56267f +size 517072 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_05.uasset new file mode 100644 index 0000000..17b9266 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9b28d9c23e9caa70327f6ff4e20ec03b1d70865a6d7ea2e139af18c21d5b2a3 +size 402934 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_06.uasset new file mode 100644 index 0000000..0e64e4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:654e5e0f88671bd1e877a81fc6896150a3448e2523ee54cf75c87d0e82c3d94c +size 478483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_07.uasset new file mode 100644 index 0000000..afa71df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af4c03b3da0ca0d2fe94efcb14d40c7698cdcd68b1b7b097584d98f527624042 +size 390145 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_08.uasset new file mode 100644 index 0000000..ead4c98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfaad3bb867a642d7dfe5e33145df969bfa600dc303acc124470b364d8bcafa4 +size 466870 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_09.uasset new file mode 100644 index 0000000..0acad7c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ae021314fac3221afed8eb07e07320a2e5145109f9f96ca827b8761a35a92f3 +size 263031 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_10.uasset new file mode 100644 index 0000000..c9916c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb78a2b279c2029da6eb3efc2d9c5d82b6bbc6e6527e5616068a63eb83cf365c +size 385872 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_11.uasset new file mode 100644 index 0000000..d33b3f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f54b0635ea6af66d28f69297965a844c26003e0b9b0850e5ed693631f075294e +size 559852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_12.uasset new file mode 100644 index 0000000..999b2be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27439b44af14bdeab5422cc2f32d6416985167219bb780cced943507a6659d33 +size 546420 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_13.uasset new file mode 100644 index 0000000..4e1b39f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:771db47a1a11a8f5e28f7c140ef8b9cfbb5cc6070481b8f41cb33e01330162e5 +size 504308 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_14.uasset new file mode 100644 index 0000000..f35b2d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bbc53c42573851be5c60997cec2677d350c06dad96393482bdb7fb794fdc999 +size 563820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_15.uasset new file mode 100644 index 0000000..f79bd7b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d779cecd3a39d2a810313c20e4d23ae47a60e21b6b18c088e1145ec461fc38ac +size 552949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_16.uasset new file mode 100644 index 0000000..3255865 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:764cbbd31fa75ffbc0edf6d32e2c8115c9d0c1cab81d48da2c35dcee624d5c17 +size 630855 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_17.uasset new file mode 100644 index 0000000..5bacf78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7bbe493b6a5d435437920420812fe27ffc087209277635c9e04698089c2b4d3 +size 535506 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_18.uasset new file mode 100644 index 0000000..0e61cc7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5661fc4122474bd032eba6a0a57d0e34c299be36b3a945fd8030bfdde837bb3f +size 648384 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_19.uasset new file mode 100644 index 0000000..79e0e15 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62f3a99be1477e4bf844894c011cd7ea90ef66ae02a25644ad4723ef994d3e3c +size 670201 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_20.uasset new file mode 100644 index 0000000..19ef3d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d6bdc0cb6c86b67e244acc209bbd30c2e3cd13ce015ae114c75da4aa23b62f2 +size 1473442 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_21.uasset new file mode 100644 index 0000000..773123d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc2820641aa1771ed9e6b815c160afc9abb6659d5c17a7386f244c9bc5c781c4 +size 1273248 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_22.uasset new file mode 100644 index 0000000..2b43a9d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e4af7ee44caddffe8cbfbe43fb1c91e033c7f328da3bb2b0531373dcd25c5d2 +size 691509 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_23.uasset new file mode 100644 index 0000000..2fd5113 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62f9eccd1cafbd44fb66cd78440cd7a375966991ea269c518392a965c3ba635e +size 895394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_24.uasset new file mode 100644 index 0000000..8c3443b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1818e4c388e9ad62232732c096dce371b4a52e6502670154e9fbacc4a3c5cbbb +size 850167 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_25.uasset new file mode 100644 index 0000000..5350dd5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415e92ee642fb214b93c1035f32bfaeb42d118174c79c36e1bf2f7fa7da0b487 +size 757039 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_26.uasset new file mode 100644 index 0000000..5c7a626 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b973d006392719457bb8f4239187668fc452f95ce5ac78e430805db4fac7958 +size 1098795 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_27.uasset new file mode 100644 index 0000000..529065a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19ec1815e4870f6bbd5549fbe479181a6495078051a05b2383d8c7576ad200c8 +size 536259 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_28.uasset new file mode 100644 index 0000000..efd1a13 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c8a8bbff947129bb6fad9be805af1b65624cc298dafadb5e4eee1bbc810c69 +size 1682144 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_29.uasset new file mode 100644 index 0000000..a909aa2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c0f2f5efffc69471b9fd2ed28e4c6ee6062a7ece55f4fdb0d89c9167948dba +size 1905029 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_30.uasset new file mode 100644 index 0000000..02e0da0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5508e6c960f96a029272abf26c3457b6c5841a5f2e8db99cfee3bae6cc0cc39c +size 637429 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_31.uasset new file mode 100644 index 0000000..e57ba32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c84c6ac1a9b0262b4235e58e5d8f19ea9f319fb68d078dd4afc22c21461246fc +size 661458 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_32.uasset new file mode 100644 index 0000000..48259c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba7d1eae3d7d997f4f611fd888d76ef7794c4bf94bd063503cf659f409b155e3 +size 834077 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_33.uasset new file mode 100644 index 0000000..c96f943 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/102_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7afa44fa84f8c6a211c37f0f92a7d83bdfe21ec4fdc6576791ec328727eb211a +size 652253 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_01.uasset new file mode 100644 index 0000000..82743c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa56aa74e571512a6021b0b3302c66e6a97cc8d71f352c968de0dcfd28d86a93 +size 222717 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_02.uasset new file mode 100644 index 0000000..da80eec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fd7a9be2ee20f77d786852a8bfaf821dd96c7d1042ea1bf4b71fd547ab8b331 +size 3427264 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_03.uasset new file mode 100644 index 0000000..645d757 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de01a97a0af0284d48b5a4b59326882733dce108cc3799a720ad763d9331a089 +size 1118467 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_04.uasset new file mode 100644 index 0000000..fabf732 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62a2c1edc675e7457edeae856c49d870c3accc5fcae6db5e4463a0aac089d0e6 +size 1216310 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_05.uasset new file mode 100644 index 0000000..a34c540 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8646886c23182e106201abc5a0baf59461df19077acc7e2a02882e996850ed4b +size 1246104 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_06.uasset new file mode 100644 index 0000000..ede1a4f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e90e101dbdde29dc3c7564bfb3df5e01925dc0c6341419c3a763d626106bfd43 +size 1022123 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_07.uasset new file mode 100644 index 0000000..5db8822 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08225d3246ad630ce618855b7719e62e9d5f15ba27b7afb0b68a01d6fd71e636 +size 669089 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_08.uasset new file mode 100644 index 0000000..1e75960 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/103_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b28dae0d8282d2f4e5506d181125505711191e1bc30b943c3a201cfb5bb5f73a +size 1366342 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_01.uasset new file mode 100644 index 0000000..5d9be29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a74128b3c58a2ea72f06b3c19ce27ad2cee15b89faa0184098cdc1fc49c30db +size 984993 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_02.uasset new file mode 100644 index 0000000..279955a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a48f68990b7ac6188e12c56d338237b9a604783df09de03d34a5b74422d5750 +size 2025191 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_03.uasset new file mode 100644 index 0000000..4facc28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae8591461fd0cc742a13ff9d3581dc45c1be357a0f85093f6f74b490eef66cf0 +size 3436686 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_04.uasset new file mode 100644 index 0000000..5d95740 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d11ef4b908b57d526ada5abdd9bf99e3dd58e8e25424103ad9c813ce2dd9672 +size 586908 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_05.uasset new file mode 100644 index 0000000..0f5c7d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3d4cc218225f63144793e028930aad620688f02ed527394c454f968d5a24ee6 +size 1211818 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_06.uasset new file mode 100644 index 0000000..e643393 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74986e984a670552ee422d9c4adbfd1a44dd07e216265d903f2ccee95b51aa2 +size 889078 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_07.uasset new file mode 100644 index 0000000..0dee3f8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52a8eaa0b0a8dd1756d2f021016351baf8885221031f9a19d00cdad2c8190751 +size 5075483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_08.uasset new file mode 100644 index 0000000..132d818 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d0629dc40654a11b3f1ca850a26f2de1e218fb172b8ba55f657f631cb55e11c +size 836759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_09.uasset new file mode 100644 index 0000000..b0f2c4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89672865c5c919f596391cefcb0eaf97d858151ed9bfe14a4a8520097fdf409e +size 910936 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_10.uasset new file mode 100644 index 0000000..0b6d631 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:342120c9eb817c6c6daca32499386ab7fef78db31a4d8889970e8220e09d4f3b +size 880765 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_11.uasset new file mode 100644 index 0000000..838cf59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7183352f2104946d458856b2b12709e0f602a0c9bad257211d3b8569dd03308b +size 1345491 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_12.uasset new file mode 100644 index 0000000..6f0145d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:884760c567f4727cd149c74cbc4a2895631b6a7407929bc34390bb19d6264087 +size 1099679 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_13.uasset new file mode 100644 index 0000000..294cb06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b65a2f3be908d0b80e16233d94940d119543701a9351db5249ff8aac17e2d9fb +size 1364632 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_14.uasset new file mode 100644 index 0000000..bf63923 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7582f5c2bd10f959841502f23b9fa2bae5a79a3232910c326e454f9ee418bf50 +size 1716588 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_15.uasset new file mode 100644 index 0000000..21fd3b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e9d900d338d5b84d7e69e92f5fc3e75ba81af78ab55e3cb30c6b516ce88e3f +size 539644 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_16.uasset new file mode 100644 index 0000000..a3d15e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a414edd76ed9f942011cad234ece4ba90371dfb0321f50911424d1628668ba3b +size 888808 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_17.uasset new file mode 100644 index 0000000..2e2b5f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:929cd2fbd41512d5b504aea6dd475123357c4035eddf0bd8d6e4f5cf50df54aa +size 1186695 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_18.uasset new file mode 100644 index 0000000..a9515ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83a6f79e6cea1306f57d7a6b34e1a00934a65e070bc7b43186dda41f9ffe9f73 +size 1624305 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_19.uasset new file mode 100644 index 0000000..6b858da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6787be97b9dba7a914cf36b431b2c466e055bc14f0508c08057e2b8a875d2d30 +size 2091397 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_20.uasset new file mode 100644 index 0000000..914dde1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efca46651522d3c5d158b701a58c3922d0665163cdd868d438448b5579e77188 +size 1659965 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_21.uasset new file mode 100644 index 0000000..affbd9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e3f8b441d8d375474780432f7be660ed0a55a7138a0402f9e41d3e154082bc +size 1845549 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_22.uasset new file mode 100644 index 0000000..c4e7e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9fc056a219f154fc2e7bc40cdd9b2c37d72790b8f96b612834fbb4cbdae91b6 +size 4159087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_23.uasset new file mode 100644 index 0000000..74ebd78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f0dbfc69dcaa7e4b851ba1fd80730ad56a04ea7c305476bbdaddfe056cc4ba8 +size 4136666 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_24.uasset new file mode 100644 index 0000000..f62c733 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61020603509613a89c3dc4648f6e2e41dc0703901532a2858a3ded6ead854940 +size 4288712 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_25.uasset new file mode 100644 index 0000000..e1a7e07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c48bf9885119b3ad8a816d7977420b38a1dd1862269e4aa462eee11eb4bff836 +size 5481496 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_26.uasset new file mode 100644 index 0000000..8b7ed44 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c712899935b527e6d9ab9b77d12ed9da2eff06b29028b21c55063526a86365c +size 2548933 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_27.uasset new file mode 100644 index 0000000..c26b187 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76cfd571dbe1efe8efa867284927a847d66ba3d4a10751ab5d51201c15e1ae09 +size 5406894 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_28.uasset new file mode 100644 index 0000000..c812b31 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:321364e3cd3099a78d57d3441e05efaf46bd95b1c71a9e3ab01f484818a07980 +size 1374692 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_29.uasset new file mode 100644 index 0000000..8a2b9fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d04ccf9fcf64c19a3f1c88424e5748c2b5188e235556d797862d8335446cce13 +size 1191376 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_30.uasset new file mode 100644 index 0000000..c697484 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63df5fa2a52be374f488636e66228b170e746683db1383047087f4faad6c9235 +size 3127516 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_31.uasset new file mode 100644 index 0000000..d3edfda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13c0d6d6f47bdb67fd5c78649eb5283fe5ffddfe98119fcc7f84d85fb3cb84d0 +size 2955827 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_32.uasset new file mode 100644 index 0000000..c887300 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3bbff3d816f4cf519c9ed054f436bdf4bd3b1025d9d4b4ff440b269622b63c1 +size 3559104 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_33.uasset new file mode 100644 index 0000000..e95f478 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff44c61c05c538a035ff050f58da33ab1e6b81da7a00285fec178ed06a92ff0 +size 3399023 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_34.uasset new file mode 100644 index 0000000..c1e7018 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ae7f5d97b47185e1c21eaa0118484e20184a3316acc00167cd05190f7c02fbf +size 2515613 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_35.uasset new file mode 100644 index 0000000..5aea637 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c057afb183d2aeaa653989d283effb69e27a0c671ca032a82399d6179540a98f +size 2414905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_36.uasset new file mode 100644 index 0000000..57cdb7a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be408a3725b7de042c002a585119976dcb48fba936cdd51939919510793c10f8 +size 5167511 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_37.uasset new file mode 100644 index 0000000..4e89727 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f612491b7514f5ce6377bdc300a4e970589e2825a7849c8a7bd3466a4ffb67af +size 494916 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_38.uasset new file mode 100644 index 0000000..2d5bcc4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8292d93e3d7cb5b5c9f6e168908a353e92865c9b564f393726b68fb39403b938 +size 5956067 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_39.uasset new file mode 100644 index 0000000..863e8d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1998eddbf91b55b970fc2e62e9348061a273982de9e2dc7ba11975df3d4d0eb3 +size 7130154 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_40.uasset new file mode 100644 index 0000000..d55cd53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b0296c40a6f8e4bc4aaf68ba976346aa620096577ad661acf7562c62c45d5e4 +size 6750009 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_41.uasset new file mode 100644 index 0000000..f72dd54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c27c722f9bdaf85f3a6eefa6120cd100c434e177daca65703b05f96392eb8a61 +size 3417260 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_42.uasset new file mode 100644 index 0000000..22c5286 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:627d786dd63de6789d3fe5710e5c2eab488436d7673e736c6c172d69be9b22f4 +size 5835775 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_43.uasset new file mode 100644 index 0000000..c2aa7c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9fab23e8e43b917042b00528f563ce5f5c1fd8efe28b0de7ed18b196f6cea52 +size 7484420 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_44.uasset new file mode 100644 index 0000000..d7ffdbe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56bb0d25e05697003b7290e5f5621cd55d16cd9816b1331cc39b2c29790fa3d5 +size 2439077 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_45.uasset new file mode 100644 index 0000000..cd573b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74540ec9826409ccdd0f37719866368da6792468d9a2e2cbeb2b7a31c7fc4c5 +size 4954234 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_46.uasset new file mode 100644 index 0000000..bce7aba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6301a79dfe83791031afa53c3945408e5cb6fe086c234acc0a4e55a219e8a0b3 +size 6174891 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_47.uasset new file mode 100644 index 0000000..6f9b434 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f08daca82c9c02d69a7e73ac44792f942601ab7e6a7307c8612b0dac09fb871 +size 3820733 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_48.uasset new file mode 100644 index 0000000..2f14f93 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bb46438eaa5008163e55a18a71d0cd6d9d2a78fac41e5fd694784b5fff6e5c7 +size 434350 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_49.uasset new file mode 100644 index 0000000..9f6c04d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcdfd628e4e29bec234a62385bcf6315935dc5ebf3a79d8dee358583360f68ef +size 6120546 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_50.uasset new file mode 100644 index 0000000..712b40a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b396d5abb66aab25fee212a2131e7680bf8390c06824e2555dcbbbccd0623576 +size 7139375 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_51.uasset new file mode 100644 index 0000000..432d926 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:074edb26e1d34d4ec5e2d978d17b6fafaf1a541b65b897f047596b1b8dfad3e5 +size 3118282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_52.uasset new file mode 100644 index 0000000..ce1016f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9899ba0c8f7875f2f56278662e055421373a2c5340dd196fe4552e3e3d9e63f6 +size 6042142 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_53.uasset new file mode 100644 index 0000000..2932824 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fd0d2aef13532aa5e0ff3f6ffbf1203d3a18e3813850b3cb493d2cc681886f7 +size 822245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_54.uasset new file mode 100644 index 0000000..bfa36a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d86512533a87a9973b72ba85dee3d5deb2f4eff4f9c75c5637504730c344bc22 +size 706266 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_55.uasset new file mode 100644 index 0000000..62b9779 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56c0376d44cdc675fe910a9805a004769864bc865f789a96bcdcf94686284761 +size 1236503 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_56.uasset new file mode 100644 index 0000000..41ced7f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:172c70a732eb47302bce15867638e75fa6b71a1444285d95d2790245c4acaa97 +size 961098 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_57.uasset new file mode 100644 index 0000000..b23e295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/104_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9dda51db14b5736c70c5742e4f5bf357c1b03d2c581e1bf0f9214f20d150d23 +size 995099 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_01.uasset new file mode 100644 index 0000000..75e2f8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d359a52a4b69be9436cdc3d0aaa5327bacbc6929b25667f8f397436df436a7 +size 6102734 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_02.uasset new file mode 100644 index 0000000..ab8b26c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8401d04a59d4e5d60d893d1ecefd102a09a2eeb55140142289719dc432c50c2 +size 3939619 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_03.uasset new file mode 100644 index 0000000..c6b793c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5daf1892bea135a311a7358fb2c410908602b3b2825b006160fd86720109423 +size 4219068 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_04.uasset new file mode 100644 index 0000000..5fd1b50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82affc9797999513eae4de1bfc45fa882fcd6a580055cfdca0dc91e38f93c1bf +size 4892253 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_05.uasset new file mode 100644 index 0000000..4ec95e0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05eaceff92d5fd277766f84308c56f84ed0504c855446d747849884ca76081b7 +size 5960236 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_06.uasset new file mode 100644 index 0000000..885909a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7cfe5aeec02d8776ff408d78221d0c75ca06115891a46d88a0ba4d5d399e722 +size 439348 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_07.uasset new file mode 100644 index 0000000..fcce891 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b612ce7cb27be4d28c5061b801dd4fd74836cdaea21199056580103a1fe54d4 +size 5765975 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_08.uasset new file mode 100644 index 0000000..73ecd3c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8b0811a3f9c8262ee1902570b587b8219f12be18673a2c17d107fcc3867a9ff +size 8803722 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_09.uasset new file mode 100644 index 0000000..e290f7b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac5a5fef21f77938dece613ecc43e4c282b8131f7834608e79b9fa9f15f97e30 +size 11986649 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_10.uasset new file mode 100644 index 0000000..cff4ea9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a882ffaa8035cc127032968954ae1d7ee9323ee5da6d5df7bfe9bdfec6b65aae +size 7018410 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_11.uasset new file mode 100644 index 0000000..2d13158 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:763bffa9059080d343a8f164111098482d4f85ae138198b0519e6cbe815d26e8 +size 4224276 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_12.uasset new file mode 100644 index 0000000..5a976cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0752642b1fa3764770c2bca389e7fa70b3ba3a81c12b05dbae7694edbac73f20 +size 5041479 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_13.uasset new file mode 100644 index 0000000..a81823a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed85c397ee2e788e9e31332d6e5bd3e1aac0443a57b680df15eed3558255b375 +size 6562333 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_14.uasset new file mode 100644 index 0000000..e1f1fdd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e05ecc192999b67ff2835213763d1a424c3c8425628ea4e168bb3b356b258ee +size 6148653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_15.uasset new file mode 100644 index 0000000..e6cae1d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b70e8ea51fb225327a8004fc880ff0688441e0ac52028b964967fa4b893d0331 +size 6863011 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_16.uasset new file mode 100644 index 0000000..9edc188 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59b4c14384e9bddd12a73b7e44cc0d9ee3c8f94258b089a2fd06f430b5ad4b0e +size 4278625 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_17.uasset new file mode 100644 index 0000000..e459791 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13b289e588bdbb6843da339d801dfc09d1a2deeb621196ef675616a80e7acf63 +size 3474923 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_18.uasset new file mode 100644 index 0000000..9b539a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:562be3ccc3a746f50c55ee645fa507cf43af9b4b5db96997ca731ba0a764cafa +size 7396564 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_19.uasset new file mode 100644 index 0000000..e70f446 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9772611ead285fcb5c68d380c323ff24366a77284d1c5ab6cf3a10d13c5fa096 +size 4262869 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_20.uasset new file mode 100644 index 0000000..277bc66 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:267ef938206e3d6291e2e7d9063bdb18901f5064b0b965407665cd95943c4a2c +size 6068011 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_21.uasset new file mode 100644 index 0000000..06d5504 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a77a112f5a7cca1948600cd44a01107855f631fb1e4158a160ed551cd981739b +size 8548262 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_22.uasset new file mode 100644 index 0000000..e7dd3ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2968b4e6a2329f298bdef8304be86ebaa10d5d63b4a3bfd407e901d72d44368d +size 4704198 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_23.uasset new file mode 100644 index 0000000..48a857f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff975fee4cbc83fae8ee21ae1d067d8d0a72b5ef57990b02e3a821a308fbd60 +size 6019865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_24.uasset new file mode 100644 index 0000000..15f3e02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50cf3a0eeea4aa99415b6157b5dfe634a473d207cf1f422e6d2a278ca5c28e06 +size 8379605 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_25.uasset new file mode 100644 index 0000000..6a420c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75ad124fd8aa3b786a7f7bddf20660c09af13971fddad0c9889009cccb7f493a +size 6942319 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_26.uasset new file mode 100644 index 0000000..4398e2b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f0e1f278b4cb7a4e69a579aa55f6b2192b5ec8aa01186c4d17865c5ccd19498 +size 4701218 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_27.uasset new file mode 100644 index 0000000..61a9b95 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d09a3fefd9ab8358e22c2ee3a1c257edf340fa98fcfdbc6d3e493a956abd37ba +size 6439129 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_28.uasset new file mode 100644 index 0000000..58b3fdd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eebeae256f2e13559fa56c8fe322ccd1c508769976fe3dd09d8b5f1c3263fabc +size 7330279 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_29.uasset new file mode 100644 index 0000000..7559af4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cce9fdc901424649833fe9376bbeb1f2d622b86b7e873ebec6cdaa4638bec94 +size 4847826 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_30.uasset new file mode 100644 index 0000000..fe310cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee2f3ea7c9a4e0c50789200677a75b025d2194600022d440e4be12e687b4d313 +size 7016760 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_31.uasset new file mode 100644 index 0000000..e1fa729 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b83a8fd760a7eb640523c68ca49e80db610cbb09787298f14dc6f73cbe0d3daf +size 4478682 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_32.uasset new file mode 100644 index 0000000..ee723c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4140aa23dc8cdd5a76f95667a8cd54676a2b41951b17a397446d20bb49b413ed +size 8176730 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_33.uasset new file mode 100644 index 0000000..709df17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ae6a2984c4b0d1bfbd7615a7266be304f70c8b77b7b67713ace37be4ea3672 +size 6037693 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_34.uasset new file mode 100644 index 0000000..78a6e4b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42816e2085cd54345ebe540056a124a0daf02bbb252087e9663e2446e5ab3aa4 +size 4926838 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_35.uasset new file mode 100644 index 0000000..dedf8b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deb78d195d4943e9bada908d5c7dbed38331ff3424670d6968cdcc037c23db88 +size 6785217 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_36.uasset new file mode 100644 index 0000000..386cce9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2234cb4234e5eec42a81e26538c04601c045d22ef3aba83f41383e8afa35e9b7 +size 2032000 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_37.uasset new file mode 100644 index 0000000..c3397c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86ae3cf7005fbe9e2bd5ee5f148cd5be8312eb73b3c3a818924b72ca22674efb +size 829056 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_38.uasset new file mode 100644 index 0000000..96b852c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b080db5bdb2fc70427a2642408b2f548a4c99a58eccee3cac6c20c4913e6805a +size 1107827 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_39.uasset new file mode 100644 index 0000000..c849b28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55e4ee2ff429c33b6c21e62e3f8ec37b27e8ecfbc3da51da62ad93bf6ebe8c6b +size 1144402 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_40.uasset new file mode 100644 index 0000000..c430441 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:663152fcabd0f48d3ce3be45d8478c716dc06f2a55f706c5b1577f61a20c1acb +size 1192981 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_41.uasset new file mode 100644 index 0000000..82e28b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e7baac7b54196c20a865795217fcb194635c92a5b50d16be10655ae418bc511 +size 1251396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_42.uasset new file mode 100644 index 0000000..adc3bc9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89cb4e8a01a8ce43055b57206eab1760bd909b00cdc00b6a69314ddfe5979773 +size 1389796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_43.uasset new file mode 100644 index 0000000..a84df9f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1392a24eaacf8d277f0b6a6bf8a4113ff33cf3af784a1a8c608fbc35c99a114 +size 630346 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_44.uasset new file mode 100644 index 0000000..f018adb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9843e5089f29155c4a7ada2d56a3b8442734e441d0edb26381252578d8564c0 +size 853501 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_45.uasset new file mode 100644 index 0000000..e48ee2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01f39be9a5d5fcaeb02d0d465a86a5bc814ef230e1ae76bd1bcaf5bb665b4bee +size 975740 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_46.uasset new file mode 100644 index 0000000..e118080 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c12fa5f027d08d80a330088be568aabc4927bfe0c9f840f520b869aecc35e24d +size 871287 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_47.uasset new file mode 100644 index 0000000..a9d2ff8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d99b60926ecd053b8c08d62f4211e2c849662c17febd7ad85aeb623f8a17fe33 +size 1186083 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_48.uasset new file mode 100644 index 0000000..333095e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecebdbbe3f87ad33fbeb5702271206bbbca78dcff03640677d49aef50feb3f06 +size 1121093 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_49.uasset new file mode 100644 index 0000000..36ff095 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6240cff9af24a8f12e1377fbbf2d1bf0de4fa3b8b23d1e6d8264714e8394e78 +size 1214129 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_50.uasset new file mode 100644 index 0000000..060a053 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:422680e919aaf8e1a8ab274dd3303971cf40fe9b03a9f1c5fb999a2ec0b9ac59 +size 1595939 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_51.uasset new file mode 100644 index 0000000..61b1c87 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e92a4276826a6e8827908ea2ad8323e93c66bf23896be89d11cf6711e7fd804 +size 1210797 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_52.uasset new file mode 100644 index 0000000..9eefe63 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68e3867637d7365d069725dae5a7ce0091312d6a388c5bb77ce42c6227964521 +size 1261993 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_53.uasset new file mode 100644 index 0000000..d8cbe73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5120ba3f6685592437d0ffb32ead80a6d1b39ad62279f2080229c55c6a8e017b +size 1377022 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_54.uasset new file mode 100644 index 0000000..ae39b6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:868cfcd9598954b96c8a80b04667e30a7eaf6e516441f2e681643d42742edb9f +size 1631996 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_55.uasset new file mode 100644 index 0000000..c337a37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3012401368b0eeaa986d7dcdbee3341a222415acc24a56719f9422871841d5c4 +size 1176241 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_56.uasset new file mode 100644 index 0000000..f3ed9a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d07cdcd5417ae947fd2df9368719d0301f5807804928b84a5cf03321a20bbcd +size 1260797 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_57.uasset new file mode 100644 index 0000000..18d0212 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fea91337b929bc70db485a06184602dcbe48aaae76b627a51598cdd07550a51 +size 2694938 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_58.uasset new file mode 100644 index 0000000..07132f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e68cde2f0420cde1b893696faababb293f67a8f9ef4e06b9962359055b377e3 +size 1243314 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_59.uasset new file mode 100644 index 0000000..25f8e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44bb7b577827474fbc07afedeec2a884ce9ce168dfd27f4b7d0a4b694c7ea1d +size 852865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_60.uasset new file mode 100644 index 0000000..b3ed87c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c3316d81b52345cad28023c34cbab6bf081b2df88e70ddafd5f2c800f49c137 +size 965875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_61.uasset new file mode 100644 index 0000000..c8a6c5a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cfefc6c270e3193e83e0c47069a2366aad601c0c75c8dbd665e03dce3119a10 +size 957881 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_62.uasset new file mode 100644 index 0000000..1e5affb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/105_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:901b96f719e2a4c39e7179b9f466768c6a5b10d371d33916812de6047fcbaded +size 4184407 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_01.uasset new file mode 100644 index 0000000..63535c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4d8d0a125192263aecb24670e026c54ddf969ae1b0d6f43abfb91ee3482cb62 +size 326586 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_02.uasset new file mode 100644 index 0000000..55f9bc3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:412c6ff0e9d403cb764e0e7c146213d458fbea607120e8a206882b38b0266e2e +size 406604 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_03.uasset new file mode 100644 index 0000000..5e3800e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0856e81bcf01bc324b1046d4b3f843b130483339dc4c787b6ca3b660c7410f54 +size 641286 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_04.uasset new file mode 100644 index 0000000..8f4eedd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:716449640251894f468c09be69856ad370ab23cc387a57ffaa6254cfc99c0b55 +size 1332897 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_05.uasset new file mode 100644 index 0000000..5964502 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56e3b3f14a4579b955243f605bfa0fbfa1211ddd92e57d2f110098ba9690f7e4 +size 655659 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_06.uasset new file mode 100644 index 0000000..c330e01 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b42a7ab8cc240ce4f6794787f884fd8a740d66bd98eb52faacafb9595e648a11 +size 1586143 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_07.uasset new file mode 100644 index 0000000..d0e7671 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d6ebe7a1f11ddb90ba3119696cb5dbac85efcd935365befcfb311d71647b4ac +size 797637 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_08.uasset new file mode 100644 index 0000000..f010db3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7386feb3829e0b414f23c37c8b5ff73674f2a0698a3b79e826ffff028760e77d +size 875489 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_09.uasset new file mode 100644 index 0000000..5627494 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:734b8893cb9c1d7fafe5d68d3dff1947319516a9baad85bde32a2300c2818889 +size 614702 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_10.uasset new file mode 100644 index 0000000..95f7479 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9dfd24b210af06a26d30d2a83c4077e3b9f456bb4fdb06e52b27f3cece29dbe +size 1241220 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_11.uasset new file mode 100644 index 0000000..1ae85b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a718d1fff69358f7d915d35e76b1f526b7c6349cb204039b1e53b67a1caadea +size 1632281 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_12.uasset new file mode 100644 index 0000000..ff707bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3c64d49d20390f91008b017c2f03e9596d45b76a3a80aa42760ccf3e62dd566 +size 1368821 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_13.uasset new file mode 100644 index 0000000..77c3e34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9daef40942e27b9875e5144f5c4df625530cd256993a9ecb223b4bd365da0882 +size 952358 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_14.uasset new file mode 100644 index 0000000..a620809 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2335df9eb932bfbb30bbf6d0ce27a1ffb549e732c03ffb76a7201140f6c279d4 +size 1418058 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_15.uasset new file mode 100644 index 0000000..a174885 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e092d43ae0b9bd55d7799c234e5b2f0c84424092ff97a42edbce58ca91f58335 +size 2622094 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_16.uasset new file mode 100644 index 0000000..8c90ff2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0df335f13ac2d80d4fc81a482befea01410895640581325ef94da0d373682b62 +size 808825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_17.uasset new file mode 100644 index 0000000..3ea17da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:343ba2170c9d9fca0b880f4d115cb3578a072a7a60b084a17b0f2ea85aa04980 +size 1367000 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_18.uasset new file mode 100644 index 0000000..f872ade --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cea364c9122c8ed092ca698fed9701a7ab69549ae372089f14dcb36d9b39420 +size 1005978 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_19.uasset new file mode 100644 index 0000000..f7a0784 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:259dbafbe788abf04032fdf35121504523dbd7cac2a0f407de37bbbb942a5c84 +size 2777629 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_20.uasset new file mode 100644 index 0000000..6bbc75f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28e68d9f89f919efca460cc65d8adbb3bb793c510a8a52377652ed8435009f53 +size 1817598 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_21.uasset new file mode 100644 index 0000000..5133d89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e00c5597535c0173d98a5cf64b38af916977976a87eddfaf1e9ceb019d8212c +size 723621 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_22.uasset new file mode 100644 index 0000000..aac96d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2279a43e19cb22719f885435b4af8c366e4fcd414fada7d3dbf762f86536e655 +size 603129 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_23.uasset new file mode 100644 index 0000000..d0890e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b23ead5a6e0bdc805cd19f4852958b6ea0e5d5d7a7fb2a440f47fb4f9764981d +size 696045 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_24.uasset new file mode 100644 index 0000000..974b9fb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1559b35f2d3ee3998fb186be671f93485974cd76b595fd0b0281f7ecf99e803 +size 745491 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_25.uasset new file mode 100644 index 0000000..13d3848 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3793f5dd93a4c91fde2e8d2829afba1d910974a480cf5a8b0e859abf8ac475d8 +size 1500789 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_26.uasset new file mode 100644 index 0000000..63d9bc0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d238fadd26c9161c9789c9c8f7b890911cfb59798eccd3b49c53bf2f6680e58 +size 1002428 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_27.uasset new file mode 100644 index 0000000..0701538 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:721982eb703f9a3891d6f44f4d2c4636ff20c3bd8e568d7495b25e29f9654a2c +size 1358727 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_28.uasset new file mode 100644 index 0000000..e9634d7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de62507ce466d6f4c9aab86b84fc68b5e8d90484363f920ce19f1f3d09d9e2e3 +size 944298 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_29.uasset new file mode 100644 index 0000000..57aee83 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e7aa2db22ae353ba203d7b130de5a3d3575e4c006a4a2911a735aef88cc4bb1 +size 2698070 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_30.uasset new file mode 100644 index 0000000..01b46fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1093d460604d1eb1e93f9d135748370596b792df64c963e99c0c8a89ce680d1a +size 1747516 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_31.uasset new file mode 100644 index 0000000..3d2399f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c4679428337e185ee685ec1d62257758f792de65bdcf9f2030a4f707f4df454 +size 1592176 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_32.uasset new file mode 100644 index 0000000..d192a49 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aac30fbd3f3ee01861d98a9fe4d1c51abb5dedb88bed8d5b5eb196d42bb96ab2 +size 2054666 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_33.uasset new file mode 100644 index 0000000..6fd73eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c62d4d9442e5976d030cb2a42780b90476df466e5e6ba8a89f9b270dd20c59a0 +size 2380653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_34.uasset new file mode 100644 index 0000000..2a04c86 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/106_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c508ea22f9b8b00bc1c6c3aa93111a13f3d686a7370802e6bcd799af1f00a94f +size 850235 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_01.uasset new file mode 100644 index 0000000..5e297b2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f83892e76322c6ac6e61df28669e320861f8662005a8fd8f9bada3a63edcb1d +size 1299297 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_02.uasset new file mode 100644 index 0000000..78563f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ee194dc0edff1974b8dfef743d5f3c6c812a16d91d4aa23327e3e7fc09241c4 +size 1656383 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_03.uasset new file mode 100644 index 0000000..a158814 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a30842fb9a7afb1c708a69da3b72908c263df8b1d0ef850395d6e4995c84076 +size 1265943 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_04.uasset new file mode 100644 index 0000000..0a00650 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12385d03991581913040fab0e04c7735d32859632854f82c82af313842322006 +size 1113605 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_05.uasset new file mode 100644 index 0000000..532e963 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebed6289fd302856b0f51961228d1d8abc5cd4a14e5cf25c87b3ac14fa60e3cf +size 1108623 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_06.uasset new file mode 100644 index 0000000..8cbc696 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbedcec87bf298152de0c1e6427de36a4fe42e458d82b175eadb6732ca6f34ca +size 969843 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_07.uasset new file mode 100644 index 0000000..a57afd4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc31189693411d3f23225770e762f982f318dc25bc7d9376a461f5ce30567d1f +size 1274660 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_08.uasset new file mode 100644 index 0000000..d8e950b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a403ee6f03b4bb1212d2c32132144af5aeab8eb58de0f50851ca9af88b224624 +size 1957546 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_09.uasset new file mode 100644 index 0000000..d7546c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a53e088a4d8968b05880f04ad62311002b25217c154c77ddbe95851de68398f4 +size 1526333 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_10.uasset new file mode 100644 index 0000000..efbadff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cb20c5009032bcb9e90bfe7adf5c1acfbffeab78ee95762ebdc5d08cc186909 +size 1351798 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_11.uasset new file mode 100644 index 0000000..80ff4eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66c195ee9f4ffe0f2c4d98cb79ab084fd3b9a279208daa77167d2aa1ba8d8393 +size 1468066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_12.uasset new file mode 100644 index 0000000..def9b67 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac28ac1d723ae0ed7ac91c85e3fb5cda5c626817455db1874df82b51c12bd835 +size 705961 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_13.uasset new file mode 100644 index 0000000..d63ea80 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6de4028d48e064da39f2f94f8138a21ae85dab9da2782cd7bb30591639f67e2 +size 627137 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_14.uasset new file mode 100644 index 0000000..18bb89f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/107_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44058d75d4aea564163043af54dd5d1f2ed90677bda2560756e1048926156d4 +size 1090212 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_01.uasset new file mode 100644 index 0000000..ad10d3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3113c9881a80aac62c4d077149dda5e747cef003dc41f4d1449254d86cadb8ca +size 1678944 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_02.uasset new file mode 100644 index 0000000..0d39490 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f57e1114273c88fe60cc233ae4772ac15ee8bf0f41aaa7c180a86ba5186706 +size 2599499 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_03.uasset new file mode 100644 index 0000000..84206be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c361cc580e630aefca4ef761928f5b6013479279edb32b00bf8b49a89280a089 +size 2738861 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_04.uasset new file mode 100644 index 0000000..456cf1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbab888b2cb674df21aaefa452a328c64c589653fb42485636f80451103d6bbf +size 560572 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_05.uasset new file mode 100644 index 0000000..3ce7f2b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fb5dfea0014c3a1c52b053eba8cf319106bd2690a1cb57b1cc20389093d6f0e +size 548625 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_06.uasset new file mode 100644 index 0000000..d555f89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c4bdd3e3acdca0d58a6620627c4d1404e474fe2dd1a1baad91084679758e859 +size 559942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_07.uasset new file mode 100644 index 0000000..0298638 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39fe5773babbe729b38fea5eca9674b4ac3e67a95526fb1e30d32f0903d00395 +size 630180 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_08.uasset new file mode 100644 index 0000000..ab66f3e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f52a7a1eedecc557f81849289b31b4eea7707e40d581dd4ba83d2291e2328f63 +size 660477 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_09.uasset new file mode 100644 index 0000000..7e9f488 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c98170e956b6e1d8a3b211ea09741a0cd28426ad326eab115d28ce1343189f4 +size 705606 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_10.uasset new file mode 100644 index 0000000..d86cd4e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da5ec37369c087749203fbc24a69b252b166016b83108a120d1eab57a5494bec +size 677778 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_11.uasset new file mode 100644 index 0000000..67ff316 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1972c681370da36c3ade3ee1302a5e56f0d2974999cb891df70c57267245642e +size 702264 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_12.uasset new file mode 100644 index 0000000..b27be3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce24d0f74e08e500cb8cfae3513d02aa1695d5a8860b4affcfa61a51216e7759 +size 456060 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_13.uasset new file mode 100644 index 0000000..b889bf0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:953eca73ccb5067c71e73ba9621e8612fc110def15fce5c516116fd6990ef4da +size 507258 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_14.uasset new file mode 100644 index 0000000..e625b99 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33747514fa5d0586e1d0150d8555facda5bcb50e2736e32218471727d5769bfa +size 554887 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_15.uasset new file mode 100644 index 0000000..131f53e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d2da67bb07fdb7850d7176ae92e5749b5e1b32f06890ac339de46fcce5249cc +size 946371 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_16.uasset new file mode 100644 index 0000000..e6d44da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3678d42de824cc7c68ef8464f27619d3ed01ec7fb444c21519f2234d3150721a +size 941307 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_17.uasset new file mode 100644 index 0000000..9e73395 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b223b8961289e3e304823a7382f1e8591f31418a236ff7a0e1539ca136d20951 +size 671898 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_18.uasset new file mode 100644 index 0000000..a8aaa11 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e8150e2d8580fee4a668fede3bea5848c0b0ec77f61d11e2da5e7c7f8e780e3 +size 692470 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_19.uasset new file mode 100644 index 0000000..e51a073 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:339bc5d72894d87cfefa221f11389e34a9d90f8a892db627d806afc8136f415c +size 718580 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_20.uasset new file mode 100644 index 0000000..1bdd684 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75c3e5bdedb6526ce47ea2755d637765eaf0b25d42ff3790fe5427e61e74da29 +size 768817 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_21.uasset new file mode 100644 index 0000000..d71e1c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f889b5ad2b08467a6abdca93b3d290de93918a2eef3c0a82473eb35f75a0b0e +size 1250640 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_22.uasset new file mode 100644 index 0000000..683453c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3654875c7c5e45a6ce09b75974e42df91e4b8d1bd41b7ac16898581db9f0e739 +size 1177066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_23.uasset new file mode 100644 index 0000000..066656a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c2759f267685b9a9c6875fe8d9cff377890bfff4070a1ae1379a7b186aeb7b0 +size 1576921 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_24.uasset new file mode 100644 index 0000000..b993c45 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b06e68c21f5020b77f3e56b1361a1ed4356e4b60bba32655333ff76e17ad6e7a +size 1306189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_25.uasset new file mode 100644 index 0000000..4505877 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9037fe9bd80e9d563c62ecafdede406816861862c4e3ca0dbd9293a5164afa1 +size 1488368 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_26.uasset new file mode 100644 index 0000000..2d60361 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c462dc414a9e6ee8c8b432a530a176db21dac4c2b72c66f1b2e0b405634e6c0d +size 1337115 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_27.uasset new file mode 100644 index 0000000..36cb110 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0984ef09452ddf68b91a54bfd1c1d0a155d934a5798c97a1dae31e216d05b8d +size 1058091 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_28.uasset new file mode 100644 index 0000000..35e1236 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/108_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a46bfc37228bd5218f967647fb6a9bd8577ea9b893ada626b6a9fc4af7a400ba +size 938899 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_01.uasset new file mode 100644 index 0000000..f2bde38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb568fc0a66d148defbfa7372e511edcb1847f730998c3f174eeea77428cc665 +size 2199812 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_02.uasset new file mode 100644 index 0000000..a88120d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f4fed9d3a9fe7d2d3ac47f91a5be5c1ab44e9eed20b59f67f6083a32ea7def9 +size 1044727 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_03.uasset new file mode 100644 index 0000000..b09e3c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b0166db11a6f75526d2ff8d88836b45f787f90be422003f188845a2dcef9282 +size 3420675 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_04.uasset new file mode 100644 index 0000000..01a1b15 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3223ff30d493c99c48e3523f17980246ce9f5a096c4462db3b9264dc8ebc7351 +size 1564057 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_05.uasset new file mode 100644 index 0000000..b1c3e70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5923268f79a02fd65a613beaeef1da92c12a89023d72e126633f86b8fbdf4e1a +size 2092216 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_06.uasset new file mode 100644 index 0000000..f01f8e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c200e9e1c3c6b7bf204e8edd9c3621a7b7927817780551b36a574ab8dd18cc9d +size 3456524 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_07.uasset new file mode 100644 index 0000000..13176b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2815bc67e92d6f590c910657adbc7e1b14c06224ab53b38cbea4243ba567b0f3 +size 4402006 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_08.uasset new file mode 100644 index 0000000..2b16179 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b76cb88fc58eb64a4903452d0e4337542d33a9d38175fd5078107e26a682eb2b +size 3461873 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_09.uasset new file mode 100644 index 0000000..e7b3081 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbb0bd28115dfe39e28f66e008555f3cc88b1e4067cb314ac4930ced14449fab +size 1777338 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_10.uasset new file mode 100644 index 0000000..8e4e0f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3a2a86485205d0e93e3dfb87a18b5d79fd9a3e939b014012f4f387f5b9f49b1 +size 1105783 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_11.uasset new file mode 100644 index 0000000..45fb83e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee620b11242b8532c29bf776cbe22eeee4dd943b71ab5fddb05d8dfd4225c7d5 +size 1335914 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_12.uasset new file mode 100644 index 0000000..ede1f5a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61aba34efade19496f817ee0a756feede59d74ba2d5e447597d6e62b527e6df9 +size 3615330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_13.uasset new file mode 100644 index 0000000..6ce45e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:701c2ab4fb6f954baa672e485825f868573163b85961ac88bdc93fd2f97d87cc +size 2957976 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_14.uasset new file mode 100644 index 0000000..98d3f3c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4174832fbf99bec28d2bcffed617ccfe11099525b5943c15a8433b887a66c51 +size 2953982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_15.uasset new file mode 100644 index 0000000..c08d760 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2509f73273f4f3dbf521c20d2c254b40d868b3e70092db73350cfb38ba01d53 +size 686387 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_16.uasset new file mode 100644 index 0000000..cc6b713 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b40e568f7f1b52f952b6e1ba0e38bdf232eb8238d256d88aa4e468b765558707 +size 1058021 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_17.uasset new file mode 100644 index 0000000..3bfc4f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f74e47af737cbe38ae35cd061d5297d4022bda14512d6baf4673845c730bc6 +size 1355543 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_18.uasset new file mode 100644 index 0000000..b79787d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bd1f7181774590de217e420b8bb7a5ed757c372c132e027660090ed6ac82e41 +size 1342635 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_19.uasset new file mode 100644 index 0000000..d37f917 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce7ae6dbc369b9843b00b23f4fcbb7043c6b9884861233056616ef6aa73433a3 +size 2388267 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_20.uasset new file mode 100644 index 0000000..3ba0c01 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5692f8f0be0bdc4b08bba4c94b2d73211b215f062b21e6233443e8bba86f8074 +size 2473462 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_21.uasset new file mode 100644 index 0000000..d837db9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3635b83d4fd1094539cd344fb093e39bebe98a30b270a7145d791b33f940857c +size 5115053 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_22.uasset new file mode 100644 index 0000000..981be97 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5f0e554e0c993acfd5dcd98d0717a1c18aad7efb97da54e8191655ba8d354a3 +size 12505694 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_23.uasset new file mode 100644 index 0000000..fcd699a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed0f2525915aa64e9943ec6e424dd35da5810567c4ec8eea62dce7c91c7a6eed +size 2601727 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_24.uasset new file mode 100644 index 0000000..1e67652 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4561a71b8679d016e853d674adfa569b2346f75a606236cca4034ae3dbb44ec3 +size 2035099 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_25.uasset new file mode 100644 index 0000000..6958e6b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70e49a9a18aa360e3381a3eed9bf979cff67cf5069b33da856c3553cdb176881 +size 751208 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_26.uasset new file mode 100644 index 0000000..a5811df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb5e9d6d15bb2acd8cb0708de398a18d219422021e61a1c1607fcee74a495c3 +size 5872510 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_27.uasset new file mode 100644 index 0000000..6cfad0d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72024a7be4c162eb649e3fa1a2f9937bf855f251d05c044e0a25c7236295930b +size 3317037 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_28.uasset new file mode 100644 index 0000000..87e68b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f9da8666faef50d38cd84b32ad2ff5db4028cc19408258c7df1c58108faebea +size 4183859 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_29.uasset new file mode 100644 index 0000000..070f572 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c54ea84a3bf3d552e3d452b901f4f4d6619fa827f984a7cf44e3ed272f0e5a7 +size 1336556 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_30.uasset new file mode 100644 index 0000000..96e42fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aa56ca96b9987f3cca564489fe0ff67eb228799d3657e6773467b4f2a620453 +size 1174917 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_31.uasset new file mode 100644 index 0000000..97fe8c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d24ae26f1d1c37ed491c8fc07ae7a45adfff10828e8a3e533cc813738ad8f91 +size 4968828 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_32.uasset new file mode 100644 index 0000000..d7e803d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a23583f265cf20cbcd11de9087471c44dc93ff84d32552efd071e597f4bac43 +size 1736285 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_33.uasset new file mode 100644 index 0000000..ca6aff6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a98e247cf9697a515b1b2b022b9fbec6b13dd66b143a5a623179a614e2ce44d8 +size 4410690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_34.uasset new file mode 100644 index 0000000..8864e1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b76cfa1f3998f7bd2dd40271c4530b9c01c2eeeb037c65bbd9d5140f12eb7e8 +size 4173578 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_35.uasset new file mode 100644 index 0000000..9febc06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d4f40edaaacb34f69887bf82053d59292eac641c6543bb1cabdf40896c84e4 +size 3444983 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_36.uasset new file mode 100644 index 0000000..a008628 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:772a067ba8d89ee1761a2632213213274d160a6547036f009adfb93d60ef818f +size 3237856 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_37.uasset new file mode 100644 index 0000000..cb0ffba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c39e9042a8b1afbd622263f8017604333fc2bd249f815f35bf0beb2407583925 +size 805142 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_38.uasset new file mode 100644 index 0000000..74697b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a52a6982a2ca74795e90c0eeb1940e2f1e32ae8a58067e56a8be4d721aaebcc1 +size 5892469 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_39.uasset new file mode 100644 index 0000000..45fb39a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eb49d046db6ad370c4a316b4a87d987c96602baa174effd5e1fd0efd800c99e +size 9128974 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_40.uasset new file mode 100644 index 0000000..3cfe340 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55ecc29ce25b304c2a2ac3ca4cac2e04b2d7ac5333febd4d9076aaab2dedc63c +size 815307 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_41.uasset new file mode 100644 index 0000000..0b99ac5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/111_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b66fdbcbcd948e23330ed21fc141b0b2cafa47af2706daa5454a90860ee072e9 +size 8203305 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_01.uasset new file mode 100644 index 0000000..a1624ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd22495867c3fc8d83d1699a91e4a613a45a5d9dcb850930b34e080e4c11dd21 +size 1916803 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_02.uasset new file mode 100644 index 0000000..1fd5fb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c8a534331ccd0cbda049a7fdee048d55593fce010e1b14c1dfa6fc72983989 +size 1302853 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_03.uasset new file mode 100644 index 0000000..4fbe8e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df1d5fa47f6cde9b05468809922568cd9ba9bfd9ab5aad061e31e42149143064 +size 1128480 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_04.uasset new file mode 100644 index 0000000..b34a721 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02552a64fc74e88b5f12a8c60e01630a06867f76e76e513c1e572c5a86652431 +size 2276541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_05.uasset new file mode 100644 index 0000000..55e3fb7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8d520cac9f77f9ffe0748b9eb5a6ac1533f9068d8ff7f1e48bfdbb385c90899 +size 6002173 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_06.uasset new file mode 100644 index 0000000..fd03e0d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8011d2ae1e9e4e582864f713e86014aeb8d6166277910bfeb06be4a2ef5ddcde +size 4565099 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_07.uasset new file mode 100644 index 0000000..765c06c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cb17d935c989ba8f5a4463e8500d4f2058734c41befc82d18c16cd235cd2082 +size 1379426 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_08.uasset new file mode 100644 index 0000000..bb1bca8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b65d623cfaa8893d55d97f533fe0c91bede48c5723f9880cc88d3a6e6159049 +size 4246084 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_09.uasset new file mode 100644 index 0000000..341d18f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3a037afe327ce69bc59add3e6cc493904573b6bfdb8106effa458e2ea8367c2 +size 2756346 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_10.uasset new file mode 100644 index 0000000..1b11eb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8123540e8f2c1a1bcbed1211eb969f9815fb606466a2ecf6dc635ef2f09a260d +size 3144141 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_11.uasset new file mode 100644 index 0000000..32e7f3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73fcf9595733e437881d4f98ab8be0d01bff136e711df83846303c15d6f0f123 +size 684928 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_12.uasset new file mode 100644 index 0000000..1313248 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c8224f70c4295e730137f0f4cc590bd3d35bc7ac39d13f8177e53b40f958192 +size 968437 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_13.uasset new file mode 100644 index 0000000..7c63475 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d3b3f0fffa00ba6482a640dce82174bd4b87fa1f2af13dad15a6614eee51310 +size 3023790 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_14.uasset new file mode 100644 index 0000000..3ae0ec6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91554fa887dbac8da3a1e6f8030fd66976fde114ddfe05fc362b90b54aaee2e0 +size 2393652 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_15.uasset new file mode 100644 index 0000000..bff7fd7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee328130114162a8a5b9ae4d82837f11c7cfd39f252748af0e71f7aef44eb34 +size 2179327 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_16.uasset new file mode 100644 index 0000000..203b795 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63da94ac65dd647c5371984ce6d85d5c96bad977dac87dd09cd39e4fa370b0fc +size 1545319 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_17.uasset new file mode 100644 index 0000000..e55e6dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:403d856bc909c31e32a925e7c0a95d2586e72b67e1a175f0c542076635570b42 +size 3896497 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_18.uasset new file mode 100644 index 0000000..6e8b8e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:613229022556b40552c09a19c3ebd37733b73ea254a94ac2c99bff7025ebdac7 +size 4565497 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_19.uasset new file mode 100644 index 0000000..f95158e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1072401113cccecc264246a0b50dcce8a1c668a9bcf3eed0deacf685f4de8f5 +size 1915884 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_20.uasset new file mode 100644 index 0000000..a2b921b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692d4d11a23e5cfb496a0ce60e3d1b3842787df12eac4db795b7c9b83d119510 +size 3297754 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_21.uasset new file mode 100644 index 0000000..2ae8ad0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aca26c66d9c22705eb3f87217e930c45b1b0840d183fb803668d5d90e31ebf21 +size 2876208 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_22.uasset new file mode 100644 index 0000000..4085b47 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9061a1e5680655808616d29ec20088ecaee0d480da2df0e9037ffc005027cf55 +size 2728868 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_23.uasset new file mode 100644 index 0000000..d0da861 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4a9ed823eba206374b5ec022b97b39b22734d379d1a9ec9ffd430ce48e4abd3 +size 2257533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_24.uasset new file mode 100644 index 0000000..50035bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e4c58d5ff35333419eea40ed45b97b68ad12cad85c299e2019a435f905a0bca +size 2470913 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_25.uasset new file mode 100644 index 0000000..63af2be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129e45b2aca5e935a29b351a9e022d69485deffa4cec0d0b761637a8f3621c9a +size 1612371 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_26.uasset new file mode 100644 index 0000000..ccababa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf4c084b914a3a3af65b873d3fea05b849e595724877ffa360d4595cd98aea4 +size 2971395 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_27.uasset new file mode 100644 index 0000000..bb67985 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bd8a15eec59c320021a83b9510710e271856e23b2418ca9234018ea4bbf9232 +size 861564 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_28.uasset new file mode 100644 index 0000000..f421517 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b707082461dd0235c8933143db86cf6f08139c88ad480daea9efbebd58846f0 +size 11318551 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_29.uasset new file mode 100644 index 0000000..e1e3158 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/113_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03380453b26dc5c953d0434c16f47864cd3a52c8dabb94724f8fe8902fdc6def +size 9549233 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_01.uasset new file mode 100644 index 0000000..a31e414 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54f5a4f26c6f6796c11f503d3c60ba9eceaf24aba3f5714fcfb93fd2f59fdbb1 +size 795610 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_02.uasset new file mode 100644 index 0000000..de00ea5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10771a7a5cd19308a70d6d235890c0031fb9a9815c7602ecac84c022bfc8f47e +size 3921260 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_03.uasset new file mode 100644 index 0000000..f72eb55 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e696ee07390f28662e339359af1f30fbd2f03a06e277d1c6c4ee5fb40a26604 +size 8051965 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_04.uasset new file mode 100644 index 0000000..80d1d8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b40b2fba90aec1b23f95b1ea82431180464778aba9ecc4fd97da8b4e7ee70372 +size 2112634 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_05.uasset new file mode 100644 index 0000000..53ba4a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb94a5a12ad6974a6b0d34f5f6b426a3b27afcd329d5dc2f1c4641ab2b734654 +size 5900911 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_06.uasset new file mode 100644 index 0000000..cf3a228 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38cc515161ba1166b6576f7f8c47ee002505848bee02d7cf0db82cbff630e85e +size 2363453 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_07.uasset new file mode 100644 index 0000000..18d7310 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aab971bb6fcb583e11b8f197f452d2d85f7ccddcf6ba01a55ba13f30e58b99b3 +size 3644544 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_08.uasset new file mode 100644 index 0000000..0a8de32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f87bd24d5bf0fec936c05d1e6ac9cb5bd3319da351e0d5913d8ace6d80107a02 +size 3666369 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_09.uasset new file mode 100644 index 0000000..00fadbc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14fa3307090d756f6167e816cd63269d19abf399363252b1cce2ee08b17670aa +size 5107986 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_10.uasset new file mode 100644 index 0000000..9cdba16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:732fd6242bdc7493dc0537aac149a94e001934f9eaae7d651fbaeff4a5d4d419 +size 17592791 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_11.uasset new file mode 100644 index 0000000..00ef861 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d92efadc78372d63ea257bebf426943f9dda32b18b256efcbb99601089eb3424 +size 7706874 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_12.uasset new file mode 100644 index 0000000..4cf1c68 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f66ce5c2ad89f850c45355d1bff773caca4e681c070660e4d5b9eabee97c56f1 +size 2468372 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_13.uasset new file mode 100644 index 0000000..542beed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a84766ff6dd3a3c70b4e07d5f77385d21671a8a7d7358a994ef897eef1d7e3c +size 7158182 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_14.uasset new file mode 100644 index 0000000..75c2984 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a086f7849d12b3e587be3463a015c0d5d19cf58b2e1e12d2d4716833ae659996 +size 12927164 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_15.uasset new file mode 100644 index 0000000..7af3990 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3bd69875a0607bd473fbb7a5e018f212aae04e0a9dc72da4445286a0af4bcaa +size 3181912 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_16.uasset new file mode 100644 index 0000000..7e2f2f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/114_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8fb27fb899adc33426274e5f6473661be79640544e5fb580b3e63d0dcf032d2 +size 3839153 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_01.uasset new file mode 100644 index 0000000..f9c000e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9adb160379a4ea14b5bcb0fd76e8bdbf4cae37e94bd7c0bd6c336ddf038b7609 +size 1177035 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_02.uasset new file mode 100644 index 0000000..05c8ab9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc549a628731870932aa6c7798552ab7864bdae92e577e7723cb5f8526ae6657 +size 1001507 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_03.uasset new file mode 100644 index 0000000..14e4096 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41cd66290f18bd71f2a20f7f3530c74c5c6abc3c194f61782b3b2888e50b278d +size 1095783 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_04.uasset new file mode 100644 index 0000000..d1a9d8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cae4b5b7ca7ea513a25b13acddc3918e953d24fff896c230b62c7a3158d6129 +size 976848 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_05.uasset new file mode 100644 index 0000000..7df77b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14006fb504113ae765bc58786c66cc3bbc60a5173ba0ffd779903f69a49135fc +size 1402857 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_06.uasset new file mode 100644 index 0000000..9c9cabf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdbbef0e3cd694039c2c783b1d738e896a6bbc0219730ac2fb833d1818dcbfa3 +size 904236 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_07.uasset new file mode 100644 index 0000000..b4b00b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16eff55071018d583395d02207fbc37e057f59bd5376924c3797afbb1ea2fece +size 1040770 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_08.uasset new file mode 100644 index 0000000..ae33871 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e45fa4798c021e7ef56050ba7929950cc3f0554512d2306e86ecca163ed52d2d +size 1199088 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_09.uasset new file mode 100644 index 0000000..aa9e7e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7837f6ec888167f893c63e0c6f52d51248fdc47ecd2bad892a4ec130d28838b1 +size 980904 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_10.uasset new file mode 100644 index 0000000..6f06415 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/115_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a10821262886548c0afb964a7d54a7483b2419869ac3c2751495e233fde190b0 +size 934951 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_01.uasset new file mode 100644 index 0000000..3cb08c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7294440c8d4486ce4c7fdcf1a10335e41866f8d567d5b740917c4ab296630f44 +size 415031 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_02.uasset new file mode 100644 index 0000000..7ef110b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b371934005276c70d6d52181cfb3d53a0959e6a16fc64e3108c87fd02cc7a9b +size 1944264 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_03.uasset new file mode 100644 index 0000000..f94071d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dd0594759d1126765f417a2c7539d941b8578f0aafc595386142e9e07f5eb12 +size 7147449 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_04.uasset new file mode 100644 index 0000000..1b2f2df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d56f95dc6495ef5cc9592fbe61cd810e531b77933187d73d54f460cb6497b8aa +size 5704617 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_05.uasset new file mode 100644 index 0000000..2caf3cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a620798bce2f0ae350615ab4f578d3f1a80b629593c5e333b30340185e79e8f +size 3731288 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_06.uasset new file mode 100644 index 0000000..2ef79f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:460331446eaadea4c86a5815579c6a6d0eff7071241e8c76c95d439337a7746b +size 2210278 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_07.uasset new file mode 100644 index 0000000..26ff25b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:133f682dda90e4b5dcbe00305f0c4a11374a4730e5ce63c71512e7476098de22 +size 2250421 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_08.uasset new file mode 100644 index 0000000..a0a7c48 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70350fe02c5427dc9b19e7a0226fcfc85a16758126057194b77896fb34e4c660 +size 2385159 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_09.uasset new file mode 100644 index 0000000..9b509cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb1b57fc5edbc567923513fbc3675d2c07ff19b0992ab3e065822b90a95f30a5 +size 595929 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_10.uasset new file mode 100644 index 0000000..d62a025 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ea431e1b554f0bee5a6177586bddf8b7caceb4cf683499e8e3c05607593dd9f +size 1864661 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_11.uasset new file mode 100644 index 0000000..1de2d52 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11c252ee23b6632a1706dbdb6221a96d3cbcf9ec4aeff63cb52878339e15bfcf +size 4080125 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_12.uasset new file mode 100644 index 0000000..e64f684 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8492ba61729a5578445383c2cacfdc7436071e675dee1d8643ce824a5cdcf09d +size 9901702 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_13.uasset new file mode 100644 index 0000000..7521b78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f55f756c6636a69db78ff974c632dcae866496fb95001b1745c28e5b0eec6e +size 3324935 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_14.uasset new file mode 100644 index 0000000..31eed6b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:146aa31c71d07da7c4e1cf61ccb902275105d0934a145a47fd7075313f247c04 +size 6602895 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_15.uasset new file mode 100644 index 0000000..5ecccf2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/117_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eef1b84076fc07587490563e200397d5ef9ea5cc65570e4024afb2d565d5cab +size 3050431 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_01.uasset new file mode 100644 index 0000000..18c2176 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb85aafa017fa870e0b6e1398bca507c0683f12933b34c178cf13d554be5f36 +size 1626159 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_02.uasset new file mode 100644 index 0000000..a3bc77c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:288927e587bca143fda229a959171e5120466a5e86dcf39a0a3b9a9ede6a8132 +size 1588578 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_03.uasset new file mode 100644 index 0000000..09ffe6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb3f980ce2d80e36ac58c4b6375269076fca95d3690516c5648567ee6694b73a +size 1188627 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_04.uasset new file mode 100644 index 0000000..3149955 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:451a22ebccb23085fc6c96b9479e7ad9f6fe1713f65f5ebfb843b08160e7b5a6 +size 1501014 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_05.uasset new file mode 100644 index 0000000..090a61c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f8dc6351c176f9ddeab6ee077175b422764524b35e288868d1202aa3b940bbb +size 1670461 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_06.uasset new file mode 100644 index 0000000..7b9d750 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:799383fb207a401c91f06aadb1b5b90e098eec47ee3298673fd0118514019190 +size 1246295 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_07.uasset new file mode 100644 index 0000000..2f6d893 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2de24a2c8509b2e4f545a50e7601c7c8ffe8890059a33c548271be3f8259536a +size 1596187 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_08.uasset new file mode 100644 index 0000000..bec4fa5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e2f6bdcbdccacf278e2a186e4bf9c72cb6bd8bc77f0fa5633a908a50fce686 +size 1463040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_09.uasset new file mode 100644 index 0000000..e769edc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1449edb1a95fa88d98a2d259acb37bdfc19a265e099bfc0a5572fc1b5bd28c1 +size 1159680 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_10.uasset new file mode 100644 index 0000000..e81bb0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766acf0a6da2fed815fc8dd329922f4c008bcf6e01cf5684872967bbaa9f2a2b +size 1228272 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_11.uasset new file mode 100644 index 0000000..62c2ae4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:744a80bf2f2de1cdd83c3e6e394569bcab97d3ff67c0859562051d9ba10a9308 +size 1586205 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_12.uasset new file mode 100644 index 0000000..5b87295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b57bc983e435be0839aec87b570585253dd90d7e9646c1f5b4fed11597eb7a3 +size 1589878 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_13.uasset new file mode 100644 index 0000000..a6a09e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:348279bc52b799ed34640d5e14978e2eb8b9a90080495226f4836d753aeebcb1 +size 1537067 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_14.uasset new file mode 100644 index 0000000..c30a9ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df7c5ce1b646414d9caec7106465c111a884c2293daa8f7e2fca7b857bd55322 +size 1746024 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_15.uasset new file mode 100644 index 0000000..c7e8a3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b87413fe9a8fc1ed381292225d32aedf33d3880824b0f3fe74bfc029398386f +size 1497145 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_16.uasset new file mode 100644 index 0000000..a1f9085 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c1442e822ba35398a7151771c6dda93d04b65325ef9a52b7db3d0af98ccaf4d +size 1506374 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_17.uasset new file mode 100644 index 0000000..95f2b2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d8cd45041ac1d6927125b6cd424fde31ea4019da2af78a4d2a28148549fb69f +size 1508066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_18.uasset new file mode 100644 index 0000000..1ef0e02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e71eed79ebc28641a705c15bc65de491ebe1b99810cf1183aa778d595af79f2 +size 1385669 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_19.uasset new file mode 100644 index 0000000..73f3ccf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d70ae08b7e7d707c372b250f0c96ed69171ab72bbab2f3da29b841349fc2e7f +size 1386371 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_20.uasset new file mode 100644 index 0000000..5ce8167 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f3d70530a0f3f70082cf8ed5366fcd295e8fee744cfd9557c04e31d90d37a58 +size 1274377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_21.uasset new file mode 100644 index 0000000..db971b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08800b5df8783669e99004ae7de00f3f6d80b4783a68069036d093da68bcf2e9 +size 1748880 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_22.uasset new file mode 100644 index 0000000..7c86378 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c907363e62bad98f19ed45d8a58308efd84d3b5ac8b9e917c996f7b3017f4247 +size 1515169 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_23.uasset new file mode 100644 index 0000000..67ecf12 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d4876bfa4f44b21e7244a8ef669ec96509ff2647c140ea4c0e40caebb4feff5 +size 1480314 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_24.uasset new file mode 100644 index 0000000..a0fd16b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2850f702a90f63c208b22a83fac09c17e3346736637c2a07c4a8b4c170c0bab2 +size 1613330 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_25.uasset new file mode 100644 index 0000000..0a4e54c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9980c856e375b293638a2c3e11143c477e6029355fecfbeb94ec4e6beafc06bc +size 1360217 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_26.uasset new file mode 100644 index 0000000..c8b98db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d0e9e04407db70d88892761f3bef2e95d101ec25a839bb14f8f57433361f96c +size 1510247 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_27.uasset new file mode 100644 index 0000000..69a76be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8abc5d893ddf99a131d2e36e0494e35b5cc248c6b1a00abd207aa760fe52740b +size 1506591 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_28.uasset new file mode 100644 index 0000000..12c0044 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba485dcef2d1b4edb0cfb655ae6dc1f91c52de5c33a3a842a0148064bc936d69 +size 1611236 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_29.uasset new file mode 100644 index 0000000..e33ee71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e3dec2f83232206fd9de3b73ed4b2b2e7e02d1dc8a0b413fe9ceb8a41d311f6 +size 1339118 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_30.uasset new file mode 100644 index 0000000..dcb54ce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e9839aef27ed4cef1ee9bc367033a88a9e91c9a64b821bef172932d8c1be8e4 +size 1847108 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_31.uasset new file mode 100644 index 0000000..58c3ba2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65e161886a46d73e5c75646dd30967bbe728e75a81fda3d62c6f34a933e047d0 +size 576991 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_32.uasset new file mode 100644 index 0000000..10a1a90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/118_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cfb85ed3d959da4af70e827a411dfa8aeb1fbaf17279b1d54b10d1d5957c6da +size 4139485 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_01.uasset new file mode 100644 index 0000000..c2398a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4fff1237ee858b22fcebd657ebc707c2d335640dfe5af09af84098ee67671da +size 2778279 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_02.uasset new file mode 100644 index 0000000..6ff5942 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d72fd7b923080a186adcc8b7ecb432545ce090e0ca4a84f97c842270d03af4ec +size 3291115 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_03.uasset new file mode 100644 index 0000000..86e864a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c70d5d550e87a4a3cb661e76501bfc7044ca86db9e583376bc55d1fa0099e1a +size 3395851 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_04.uasset new file mode 100644 index 0000000..09c728d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e82b4d8edf7161238a0bfdf3c1426526e5fa860af43ad2b4587f9261bc7d7c10 +size 14180459 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_05.uasset new file mode 100644 index 0000000..23d5295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a219ef6ee8ca9bb5cd2aebdce0084c46636d15b78fe280925a513b5cf456596b +size 3036324 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_06.uasset new file mode 100644 index 0000000..4b3888e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f45ca801636768a9773ed2e9da5de7c65fc7e37b100cd9325c89367b89511b2 +size 3251381 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_07.uasset new file mode 100644 index 0000000..f319d06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77611c47416a652bfd87984a51c42d0c25c441556bd602c9f91329c6872401b9 +size 2531787 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_08.uasset new file mode 100644 index 0000000..0d45ec8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:570d8b83111c00c8ac0cda8a6165950a23d5320465ef458077d5093e747aaf38 +size 2658879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_09.uasset new file mode 100644 index 0000000..6ceb4c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18fe8c2bac451dee5d97799745f0b9128e11ea744fc49e913a3b511194e63280 +size 2774388 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_10.uasset new file mode 100644 index 0000000..b15077d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f928de957729894226b4b88dfe1f79ac49cd59d35722db9f1158c09fafe77df0 +size 2639496 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_11.uasset new file mode 100644 index 0000000..535773a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6d1058bd6ffd5a66bc5cdbda7d66f8cf7e8b502fd87c0159922bb5fe5a5a530 +size 2690221 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_12.uasset new file mode 100644 index 0000000..51ec7bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c29b01e668a19ae05381be4585a6ceadead2e93eeb6cdadb4c0304b8bd144dda +size 2329666 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_13.uasset new file mode 100644 index 0000000..3855391 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1165273c85d70aa200a8fef28c811ead27fa2d3eee7448228b4f44cb38ea2887 +size 2199189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_14.uasset new file mode 100644 index 0000000..69b503e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3547b5dae058e64571454439863be31c64091b8a7b8fbbb091736e588bb81a3b +size 2792658 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_15.uasset new file mode 100644 index 0000000..67c9162 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9fecd83ddc40439857ec15366b31b328b8ebf9907ace7b1600b3bdf2150fd7 +size 3352315 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_16.uasset new file mode 100644 index 0000000..3e183bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf6a52659869d009931dd79abfd04cc0f7159b7792ab0ac44be7a1e2bf1324f +size 3441865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_17.uasset new file mode 100644 index 0000000..a2be7f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f37d0f84bff5e2289f01ac5a8d51acb9ca4f3541c7a25fe0d435e0af2fcd818e +size 2598011 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_18.uasset new file mode 100644 index 0000000..d46870d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e9718edf3ec3ce0568be750b5d40b27b68cfddb9f7c40fb455bc88faf1067a4 +size 3037189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_19.uasset new file mode 100644 index 0000000..4b1791e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7f8ac6fcf88a4fb2de36a967017e2d39e81233f346ee80b03397442dc58c5fe +size 28028511 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_20.uasset new file mode 100644 index 0000000..7c2d3ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b232f354279d000227b498da7690eaf3cacc81cf81b5bb88626cd92f34031bb2 +size 23717822 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_21.uasset new file mode 100644 index 0000000..da12d8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15b95d3c63c34c87dc7416a21a99ad0c01ec59e1c22792148478b34415308c7e +size 6890234 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_22.uasset new file mode 100644 index 0000000..bb4792b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/120_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4959b9b0e8e8f6e925956e8fbc5c626e0f9a93ebf8ba0da5d9c7f714a97c61d0 +size 3030863 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_01.uasset new file mode 100644 index 0000000..19b755c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398fe9617dfebff4b69e4b09c6a6702073c1ad2363ae55f399ed6efa222b2baf +size 1891416 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_02.uasset new file mode 100644 index 0000000..59f1ead --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19788e5aa96cc8c91f144bcae510ade354da1751b152334f7b1a49ba8d590dea +size 1869414 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_03.uasset new file mode 100644 index 0000000..71da83d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce87ff67a2d1469604b00afa909e37e2dad3c5f645aeaaa6c980d002b0d1bba5 +size 2101242 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_04.uasset new file mode 100644 index 0000000..d7781dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fb18f089e9e2e9a554237f4cc34162e29defe55cbf636b7fb82d2feae871222 +size 1706548 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_05.uasset new file mode 100644 index 0000000..db6d65e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe5d7918345e07bd3161575af2b151cb0649c35ee05fef7855d8c2cf41eee575 +size 1291331 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_06.uasset new file mode 100644 index 0000000..3a9ed25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50532e066685dc6066f95e85ea43b4d362b66cf7e970992bb47d61263d34b4e1 +size 1540245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_07.uasset new file mode 100644 index 0000000..ec77773 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b29ddfc792d47053f0d30e812869fb19f8514d08fa6e72dc9d724b4c3cea3ecb +size 2099022 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_08.uasset new file mode 100644 index 0000000..9d3c7c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea13a5fd13a7657a347dafdec0656ad09a97499a4da66ece71239144132bc13a +size 910984 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_09.uasset new file mode 100644 index 0000000..17f2390 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:072e798dcdbe134e6a82bf621661836fe4d950e5d4785bf9b04dadb26bf33a1d +size 835889 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_10.uasset new file mode 100644 index 0000000..87621d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27ed4577fe898abddf8eb73021d09b8eb6d69ca73458568560ee30e6e1936098 +size 191118 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_11.uasset new file mode 100644 index 0000000..e44b19b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ccbc00679c410defa2fa8eafa41b5694f22c2b96a4050cfaeb4e59c69eeda91 +size 567959 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_12.uasset new file mode 100644 index 0000000..40573bf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db9fc7f0d5b5c5dbb3031bf1696fe7760a78025b84a0c7caa93b60cfebd40a00 +size 1960694 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_13.uasset new file mode 100644 index 0000000..2a007cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5efc42bbc638f9f59b3c1a34e5e3bca3e0c18318b438779900334374ab742cf1 +size 2152645 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_14.uasset new file mode 100644 index 0000000..3a595cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:760b9c0d1219b118cf3a999dbbd695701a263fb005131372f23991c515f4a3f2 +size 1988726 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_15.uasset new file mode 100644 index 0000000..ff94885 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4bf6badc14c41be9a7e1b95c6bbf6cb11c6e6a73f2ff31bfbdf1582aa4206c5 +size 2742487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_16.uasset new file mode 100644 index 0000000..4f40d1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dad36bff02f0cfba4bff3a60d54cd8080d3c08e2d4828f379a8197020e1eccd +size 1733053 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_17.uasset new file mode 100644 index 0000000..a349e37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53cf9f2759fd45eec8683e6387813a7fcd131300c9f9dabcdd78009cab1a0441 +size 1483607 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_18.uasset new file mode 100644 index 0000000..bc5b88f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2231d34f6578b9fb08757930eccc6c4b7e123588393d1c38f5e757f3efdffc93 +size 1020682 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_19.uasset new file mode 100644 index 0000000..004c918 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6061a1dc4778e557cf7f66333ed5102c21951d28e222be7b12e6033d67af5f53 +size 2437430 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_20.uasset new file mode 100644 index 0000000..edc35d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ce4894658469bb3d2e2880fed7b69c2ad1450fd9e616f184c32052a89441c42 +size 4028378 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_21.uasset new file mode 100644 index 0000000..2721c97 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5c23509be3a8c67ef5bf279892bfaa5cd78f9b00eee14b78126b154d6f9e231 +size 3101068 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_22.uasset new file mode 100644 index 0000000..0e8bb78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:784e192244927ddc85dc1f0c612c31fbd5bf60a6abfd47873e0590ea15d3c92a +size 1593540 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_23.uasset new file mode 100644 index 0000000..f5c246b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3db830d22aa076eb0c967bfb20adf7a6bc0b33d4e88deb04d800d942c6153458 +size 2569842 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_24.uasset new file mode 100644 index 0000000..0fdbad8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1524f135cd1ea58e1d6356401cfa276f8f04f5b897f3ecc03709a65cfedf1ad6 +size 1849980 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_25.uasset new file mode 100644 index 0000000..d05bd02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fce616c75b9e8ee2d1635f79530db7b74de57604241ef6871f9ee88dea5fe42a +size 2823756 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_26.uasset new file mode 100644 index 0000000..e865808 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34365943429221548f18266368b24229fa685e806cbc7d51945a15b46fbe8f05 +size 3061375 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_27.uasset new file mode 100644 index 0000000..3d3ca38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc403fe46e5566ed21f47cb77985de30092712ccdae353e19ed44f089edb7800 +size 2662000 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_28.uasset new file mode 100644 index 0000000..52191a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:538438949afe594b13cf48e6de17ae0208b994305d7b03455d3bb4e34478db7d +size 1837087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_29.uasset new file mode 100644 index 0000000..dbc26c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643e07479e64d62b04278af2c52fd302f0486c1580dec5fba3f12e526b3494dd +size 3400906 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_30.uasset new file mode 100644 index 0000000..99efd45 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:662a7cfd9895d5f1ab030d0deeeec83d76f149fe8d74896ad19083550219fdc0 +size 3226957 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_31.uasset new file mode 100644 index 0000000..8494db6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eefa23c8039ea65ec3a84246ccc874e6f11eb171c865989a4deae7bfd71d1ef0 +size 2244987 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_32.uasset new file mode 100644 index 0000000..27bc1e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9edec5028504e9b3947265f3d347367f4c6d91e5f23158ce925dadc64758bf79 +size 1714075 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_33.uasset new file mode 100644 index 0000000..11abed8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a0906eae788588130e6ab353830227613ff710871d9b27533b68823a796a69a +size 2117820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_34.uasset new file mode 100644 index 0000000..5f96d31 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20b1e51ff17dd8d4f54bf172a1debd8cd0098b8c07d032c146aff14ce263447c +size 2004324 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_35.uasset new file mode 100644 index 0000000..2967295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:835d3601c1a5e2d50e4bb31b325d6b4712f9e971e4bd104bd1d1110baaf0023c +size 1685955 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_36.uasset new file mode 100644 index 0000000..479cad5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/121_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d9a8e512685ce6b96f0514617e09f0f0a6432e78c95dd987904f1d94ed2d3c2 +size 1599086 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_01.uasset new file mode 100644 index 0000000..0332055 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52e89f330875f6b4a931a322b2690bb643e142ae2502cc23876ac7eb04aa3dcb +size 1539604 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_02.uasset new file mode 100644 index 0000000..e2cfc33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a61a4c4915931033817c15b28d3b11819727870f415a1f7bd5bd799d5e08330 +size 950625 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_03.uasset new file mode 100644 index 0000000..e119836 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c5d3eb77febbe66b733de5234678dfcd23e7eeb43bb778f4e112df8cbe4d90d +size 1598852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_04.uasset new file mode 100644 index 0000000..2a2a3a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca2ebb557981b38aee4f1963833e6e7fcc8c6632b615506540d1713abd146053 +size 1183976 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_05.uasset new file mode 100644 index 0000000..00506fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd47775f02bdc6a1003cb84152f4c24d186f7d23a6ef54fb044cc51307a9b2aa +size 1211000 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_06.uasset new file mode 100644 index 0000000..0dedb41 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30476d315def16626eb537e0cd53494f3f8d7f8b9e7a148e1faca10b710601df +size 1032134 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_07.uasset new file mode 100644 index 0000000..4449a3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67bd3bb0b3f8cd6cc3f3a9a4d67ff1f2b6d79ed4531ead0759480c0c63308a91 +size 1053579 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_08.uasset new file mode 100644 index 0000000..cd7cec2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e24d2939f8169b860952aee0f039bbcd55629f2bd3325ff60b612ce94a04aae +size 1150215 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_09.uasset new file mode 100644 index 0000000..0ccc124 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3afc4b1b6712e2bbc8239751c42d7e5bb1a66f3af3302515b84a0c9d0e26164a +size 1099788 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_10.uasset new file mode 100644 index 0000000..15e7abb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:318663e73ecb84400e37c4e5242870b1ff60b88ae2782b0a552f0a551325033d +size 1186532 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_11.uasset new file mode 100644 index 0000000..48c7810 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b1d56b8bfec6e1f984e184bf643c0f22a360b1fdf57e7a98229daf592bb717 +size 314845 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_12.uasset new file mode 100644 index 0000000..c2a7b50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bb08af4a9419c8a7cf2a7d56e832c03eafb5621b304fadf2656cd025ba3e005 +size 1253850 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_13.uasset new file mode 100644 index 0000000..cb4c6ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e3b27c57c98f46d25c11e8e0f09b50762f73a136fcc06d735bedd8f28edc545 +size 1240896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_14.uasset new file mode 100644 index 0000000..734c4c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d782aee753b313daf3ec5757138bce2f3042e943e0928fd3009cc43b639bd5f6 +size 1080384 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_15.uasset new file mode 100644 index 0000000..2e1af20 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e75dd2559289ab88917fd8d1ef5d8a8f00bc6c44851586af9ed4773342380a8 +size 1274302 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_16.uasset new file mode 100644 index 0000000..5e9b948 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddcf46bd30202e44ea07bb9f43ffb436f3bf612a8aedcff5522e4320527700fd +size 1257845 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_17.uasset new file mode 100644 index 0000000..38f4d70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9b1ddb573c3dc47f9e33638167c557c3c862078c7af6f33e88b9bd8d8591792 +size 1303779 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_18.uasset new file mode 100644 index 0000000..3afbc5f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43539c2d6631c1cbb2f77f8eebc3d28289db9d9be01ff68c4d5d340d007bfe6b +size 1132526 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_19.uasset new file mode 100644 index 0000000..2133897 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aa7c94786c54a815ba498ad7493b6c73b0902e2f255b23e2c2c1efdea04917e +size 1245916 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_20.uasset new file mode 100644 index 0000000..c465460 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6fa7330aac97bbb80bfdb6e64272a4c051aa622c8a0efeb2095e26e07b0c0eb +size 1278040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_21.uasset new file mode 100644 index 0000000..9dd9efe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d49e3d50d0e5e7ad3f5d208958a49e1503f925de5282d8c5e3173e84b27d8098 +size 1278472 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_22.uasset new file mode 100644 index 0000000..4d26fb5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70f485aa8ba7a7854c1098d2db1220e98502313576cc6e70facfc4c7759d20c4 +size 11572865 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_23.uasset new file mode 100644 index 0000000..1347dd4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d00a354bec7108f132676403858e542cba96e4842ca708b2181ed78a64bb2d07 +size 1324561 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_24.uasset new file mode 100644 index 0000000..0a8c5a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b08f6116c1ec97a188aca741e990242db96462206e046e96ce61933015caa88 +size 1302896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_25.uasset new file mode 100644 index 0000000..3bfa2b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa4b50b87ebe753938515d0a73be6992b685435651d7b0bb7c42c2d8df648cf2 +size 1315403 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_26.uasset new file mode 100644 index 0000000..6dd492a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80563c6094603867cd3650ed7714ca9c7b96618993343878286e52d17b283eff +size 1294690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_27.uasset new file mode 100644 index 0000000..6adec32 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee956f39db2a56aa965b50b5f5466eb5c9730671c1ae0e6dac60e629eae45299 +size 2294204 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_28.uasset new file mode 100644 index 0000000..9cfa11b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52b6fda50fa7661708fe0bfdb056aad9af39fb87790e23da0ec6bee615bdb591 +size 2145103 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_29.uasset new file mode 100644 index 0000000..9913cfc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:851d4563cb16461c1f2219063513b9bbc65288164e6d82d9280001094dcac8b1 +size 2194123 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_30.uasset new file mode 100644 index 0000000..92dd216 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e169ecd10479be06e877c4907c820b2395761b9e76deac9bec75103041b41791 +size 2314363 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_31.uasset new file mode 100644 index 0000000..c0ce099 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b92d9ee231fd964868429949bbf9475a5f8065e6e6733aa29995bd65360ecda3 +size 2168533 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_32.uasset new file mode 100644 index 0000000..b74aaaf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba79c105d53196d488021bd4f5dc7da42c1bffc3c0744e52a7df3ea41cadb971 +size 2389390 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_33.uasset new file mode 100644 index 0000000..8c95415 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6acbe6d9798a3662dcf4f6e3c2190f07028659fff80a3917a1a0573a830c42d0 +size 2924061 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_34.uasset new file mode 100644 index 0000000..ee4b32e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:351eb68bcf915f3c713f095ee2a5ffc72a63bf2ed2eed856170ac15309ef5262 +size 2229000 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_35.uasset new file mode 100644 index 0000000..3f7dc25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb31efc1363de7ddee7a51be081d9a30cd24fde1e57a38a4a2c1d558585c4236 +size 2414135 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_36.uasset new file mode 100644 index 0000000..0daaee8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35df7167fdd14e6c2a60b4b7d7529042d405fb8eda37fc1d149a0addb2f1adfa +size 2491117 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_37.uasset new file mode 100644 index 0000000..b1f5f4b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0d76fa31968adb54ce7f9e62e7eed4406d41736a845f5d5d1e93da88bf94ee1 +size 2234888 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_38.uasset new file mode 100644 index 0000000..10c5b14 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ce4666a273e9b8ae5557a81c4112643ba368ac6c53e296f69242b0fe41e957 +size 2305187 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_39.uasset new file mode 100644 index 0000000..6f3b05f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfd5226a17fdbfa965a98dccdd560a12dbfcd666e4de2da3902a42516eea26a4 +size 2268343 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_40.uasset new file mode 100644 index 0000000..e795e2e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0872274da3de0d7c157d413746dd6d035b21d31579e25e758cf20b4ae55f3f +size 1300137 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_41.uasset new file mode 100644 index 0000000..2da7cae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff79afcd6496dfe3bb7023ba76ca9532adb89cd103f442e908bdfb13a61cbadd +size 1162465 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_42.uasset new file mode 100644 index 0000000..6a3d445 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a1d1dfc54d0c914f5d6288daafd53609b4020addc35642077dcd8b59f028f9 +size 1307470 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_43.uasset new file mode 100644 index 0000000..c0bdfed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b652ec6e340f3b0b9565b892bce16e0f95fdc341d2a4296ca19f94d9cbb7194e +size 1455292 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_44.uasset new file mode 100644 index 0000000..6dd2f19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2697bff43a97eef8c7df25f666ea50105ae83002fdb51aa679a029c8ce3c1b2a +size 1561309 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_45.uasset new file mode 100644 index 0000000..31cb14f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:707b5dfcf8239a5a9e481c5374df9cb1a3c455f61c59bcc89c298c23d97fd81a +size 1244650 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_46.uasset new file mode 100644 index 0000000..78b6531 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:565ed7f3bfa45ea17cd81c014514ae39ad69e1db81bc57409a68434326e97132 +size 1247897 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_47.uasset new file mode 100644 index 0000000..82327ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:548f4264dbb96872b59478e47cd1c19dc77c8b06ee344bc3007ec8be8eb8f467 +size 1512808 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_48.uasset new file mode 100644 index 0000000..73d6f15 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cb232558bd94f024dfb19b02c46653c3a2e5c865d0ab7e08172822ad5b84f2d +size 1120591 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_49.uasset new file mode 100644 index 0000000..42934c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52fc58097b696cc0998dc3068389c02a9f6c76bbe531f59c6d4cef2f6b7d0bd5 +size 1159383 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_50.uasset new file mode 100644 index 0000000..523b51c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78fb0644bc893b73c9852562ee085e6945f778b66e4b3ae5cd7283e9d4d14828 +size 1319787 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_51.uasset new file mode 100644 index 0000000..f601ff2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ca3d7029583f4abac5204d5768c56d019bb1ec53be595b620a877cb271c819 +size 1434746 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_52.uasset new file mode 100644 index 0000000..72d1c2d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97ce393c1f17f98517cfbef7b7aa73e96b69e3904c27d5dbe33a7fdf84e9e52b +size 1270180 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_53.uasset new file mode 100644 index 0000000..476a4cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de776052a98da4cb726e778e253acc968899a9241eedaf69e6ba26377d88e8c5 +size 1337483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_54.uasset new file mode 100644 index 0000000..49062ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feb136d93071eb689baf6bbc2071a091dd8149d24558762a6d0751a01945b738 +size 1083213 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_55.uasset new file mode 100644 index 0000000..b9db247 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0632737be5e3b0d19af7cfadcac1f4339b40caaeb4e23d133fb5f6e335103f2b +size 1724350 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_56.uasset new file mode 100644 index 0000000..4d709a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f46aff79e082779e56593797e583fe56728137db206f6fabd5782b1917bbf87c +size 1252121 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_57.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_57.uasset new file mode 100644 index 0000000..393cf05 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_57.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8349b4248c30546a32873c5c55f4f03c2eaa03a149fc2e581094a4f45f3c57e9 +size 1068047 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_58.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_58.uasset new file mode 100644 index 0000000..d855c17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3b0f9b528b2c462d6de188adb67e65153ba4f5d6842da6f04173da8d44fe97b +size 962902 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_59.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_59.uasset new file mode 100644 index 0000000..95fa5ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04c1a65eb94706ca5db303992e5ca37318d31883a509a484858a03b7ab540ff7 +size 1465526 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_60.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_60.uasset new file mode 100644 index 0000000..7108370 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c5b6994ff8b285764b2c355f4eab1faa3592e3e1a0003c21e409cac304e734c +size 1067476 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_61.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_61.uasset new file mode 100644 index 0000000..eb1f7e2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_61.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5c3912442d45905300e0b8ed8d7a52f53bd18d620a8ea1dbbee53f95e63516f +size 1246047 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_62.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_62.uasset new file mode 100644 index 0000000..33b3784 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_62.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70b658b7b9f9a703d84eb2993144604ac62212e8d6c41893f3a53964661fd210 +size 1204910 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_63.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_63.uasset new file mode 100644 index 0000000..134af1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9031e6b1f804cce202fdbc4e26f3230bff9dec67ffa341ce6612db92c65bd339 +size 1627820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_64.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_64.uasset new file mode 100644 index 0000000..9fcaf2b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_64.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac9deb5007dc203750c90d5f73d0fefb5e4b56d15c12c507f6920fb7b5682909 +size 1428300 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_65.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_65.uasset new file mode 100644 index 0000000..379ef03 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_65.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31c1be2d3feed1c35c70c43d24308196553e2fdca07878d8eaece2010e08537f +size 1044574 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_66.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_66.uasset new file mode 100644 index 0000000..a21f723 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_66.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb92bd8c6c5c0588f0394a257ee12ae91bb73780ad7fa2052cc5c90f83a3241 +size 1579949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_67.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_67.uasset new file mode 100644 index 0000000..8ed441c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_67.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:783b10b9d8286c5c7c102fe28b1b1bb35657032c49be01dde8f10721bcca99ef +size 1597366 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_68.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_68.uasset new file mode 100644 index 0000000..de840fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/122_68.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b77696d7183c37d90b4bae720e11b0f01adde7aa50eb06e0a2de8c69557e2032 +size 1561478 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_01.uasset new file mode 100644 index 0000000..2f7c869 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7901c8f1e14dd7969e72077062cc036621cc649efea8af3c9218aeba9c32de92 +size 1621940 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_02.uasset new file mode 100644 index 0000000..cf67905 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bda824aa093e31fe89560bd95af9ddc079bd212c153c877e0b836993078732a +size 1710987 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_03.uasset new file mode 100644 index 0000000..59f5c73 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e06dc807ba299b9d1baf9fb928cefb035f35bd49dab16585209244676e7a8011 +size 3881852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_04.uasset new file mode 100644 index 0000000..ea45a9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:664aa74c945601048fc5211662c697feda641c90276585ffdd07eaca24437b9c +size 3568863 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_05.uasset new file mode 100644 index 0000000..da13490 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ada29a077a6a4d39ffa84d40758995aa40b03beaf51ee519ae90033a220be68d +size 2014339 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_06.uasset new file mode 100644 index 0000000..685f8ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:492105c3f35c36a361f8e0b23c79d8109ecfa266e057d935a48ad4a1c49c742c +size 1856199 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_07.uasset new file mode 100644 index 0000000..c0f7eb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f0d3fcb45f1934eda9fa78b88e703fda67aebba1149c1255ebd1c24c5287ab6 +size 3262543 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_08.uasset new file mode 100644 index 0000000..e46ab9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b594510f55079f8934414c6b49661e257e5f2c5ec9d43071ee625c32d4fba0d7 +size 1930560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_09.uasset new file mode 100644 index 0000000..b7a02be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:089d425b9c06b6eced47b2df515dcad41f04323fac41d539bb3ffcf3fbd83e37 +size 1932619 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_10.uasset new file mode 100644 index 0000000..1983631 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87654e840e39cbd7219c5e32c93768216898826e57ef9631015efdf320f30d28 +size 1829261 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_11.uasset new file mode 100644 index 0000000..1e2037e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cae722a65798f6a30f71662f4385678d526e1e3f83a01ca9e3569d501c19c71 +size 1435435 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_12.uasset new file mode 100644 index 0000000..3f7032a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:614f93c5c7187c5ec7293fd559ca24fabe3ce597e550ae23a0877092ced7cb46 +size 1803377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_13.uasset new file mode 100644 index 0000000..294ac1b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/123_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129e3ce84c3f1172c51432d5753b6125accc1fddef6fa8f0c672bc8c034d390d +size 1536243 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_01.uasset new file mode 100644 index 0000000..58daac0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66745e50b5705434d4b8e4af32e6c39a204d3a824ff45b195f52d67acb3152e6 +size 1538560 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_02.uasset new file mode 100644 index 0000000..902c5ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:919a5da1262ef868f7d9ee87313cbea95c2d96b35c777f4bd6f4f6b51a6c46fd +size 2971594 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_03.uasset new file mode 100644 index 0000000..482957a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ab351a6380f00779d097c6d75e0bd0e5a38334d2ba10c741ee5da6439d61bc +size 2205853 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_04.uasset new file mode 100644 index 0000000..1efcd46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1643cf70a85349be06a039eb27fbafaf81c9d84ec6ed1694895df18a816dcf73 +size 1691854 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_05.uasset new file mode 100644 index 0000000..47721da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef8dc1ea7e0da1edf04fcf09d5e2f2b664800e251ec8b05b7e553a353ca49402 +size 1866813 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_06.uasset new file mode 100644 index 0000000..ee4152f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4004598f24caa14e4b9921b8ffe22430a75c39d5be9e0343843e0decd6b10c0 +size 1675464 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_07.uasset new file mode 100644 index 0000000..46ae45e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0efb8d465df468ce6d4767a61148d7a8bed9493fd97f27bed0dddd672ffbefd6 +size 2940274 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_08.uasset new file mode 100644 index 0000000..1e4820c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21f2cc5908397f8ed9cba64fcd676313940cbede766745f2c7a425ed9f49cee +size 1785139 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_09.uasset new file mode 100644 index 0000000..11c85ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e09e28c8893298652e778ffde142f4d8373635528c615816b01165c680403d0 +size 5277115 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_10.uasset new file mode 100644 index 0000000..7b80c76 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d328cf2fc98f478412230bcfc722d3c83c9b211f8c2dceeef67d53911982137 +size 655990 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_11.uasset new file mode 100644 index 0000000..3485670 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dc76986e513dc015e911736b87f4cfbbfc3bea8c5ddf71343d3dfbe4b97102e +size 2241063 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_12.uasset new file mode 100644 index 0000000..c8e7f4e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e419c935be55bac5918c41609128a13699564f2cb36cffde11e30254be45714 +size 3219581 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_13.uasset new file mode 100644 index 0000000..012526b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/124_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74c10268aa6a0a9949bcb0243875d957180533a7d6f502455482f7d03309cf02 +size 1983657 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_01.uasset new file mode 100644 index 0000000..4d8cb06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0968a97a353cb342f14818359acc8853ced218ed4e4809975793b109afe01a8 +size 9417985 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_02.uasset new file mode 100644 index 0000000..ee99509 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eae5348c9a13f25b8177066e52069a674243503034addee6a08ba93117da4de5 +size 9391185 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_03.uasset new file mode 100644 index 0000000..660a7f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ad8a913a9fe7b8f251283c0b9fe5d9b432ae4222ac4c9b900992360dc6cb9a +size 9710992 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_04.uasset new file mode 100644 index 0000000..6726f98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79ec5f43f36e1ebfeb0ae25a0cf654685eddb5233e75269e24a804c476afcce8 +size 10583210 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_05.uasset new file mode 100644 index 0000000..afc8797 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbfbfae94948c0d6b09b93174f61af0dc502a75f9ac90dd0f0b5a00350245330 +size 6056196 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_06.uasset new file mode 100644 index 0000000..b4d6832 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a67af0855fdff6aaccfd6e4d4dcb9d2273e3aae057b329c09538237e326b562 +size 10816731 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_07.uasset new file mode 100644 index 0000000..55485c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/125_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff4b8635fc76d5f25f2c24f37283fbcc407b8fd75f9f90e98269f5c5ab638bf +size 924422 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_01.uasset new file mode 100644 index 0000000..6b0455e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bfac5d8bf537e380c353f6957a54b81bd4295d86d58f52f695b91ac905bf83e +size 5705052 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_02.uasset new file mode 100644 index 0000000..cf6fa06 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d9bd073b6b186146f8fe3921024e4a84dae17a3d4bbd6caa0074ce61f46831f +size 3927595 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_03.uasset new file mode 100644 index 0000000..6653d4b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6df0442fe701ac567375ee0c2ba149e5e8e8a28e3a11c10d215c3c9b68cb69e5 +size 5742342 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_04.uasset new file mode 100644 index 0000000..551f7d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c82d15af968a41e0a1280b8eb1e066e1f8b3cd7a5720f1c420973493ff8c256a +size 3713065 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_05.uasset new file mode 100644 index 0000000..1743fb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:395adf97c6cff0a35745b2069983263d1193025d6048a722c2facd3f9e0a0914 +size 3463716 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_06.uasset new file mode 100644 index 0000000..83b3455 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:509317857d06282820f9af73ee8787cbabd68c7c54c31f04f2614399358b9d58 +size 5478693 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_07.uasset new file mode 100644 index 0000000..2eebdf9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f909ce860c3d53661a992d4714ceaf500481e0329182776d8eb47bfc41d4c865 +size 5583672 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_08.uasset new file mode 100644 index 0000000..0c00054 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dc6e9be6c8a977c1e538b4cf2052d02d5f36629dbf91393da23f071a2fac5c7 +size 3359347 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_09.uasset new file mode 100644 index 0000000..cbd8459 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624505a317517f798a5458b4a29dedb9e4d351e8b04109609f4d42abd302739a +size 3991448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_10.uasset new file mode 100644 index 0000000..d3af307 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e84b91ef4147a370f5ac73d42aa0dc37ed0ab8484dbd19153a97c2db1b41e79 +size 2873852 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_11.uasset new file mode 100644 index 0000000..fd4431b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39c72d4ccce25bde8cccb48e3d5059e489aeb999309c0beda039dc5f7d601263 +size 4035321 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_12.uasset new file mode 100644 index 0000000..ba4d521 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d5b93b5f874d77be691ee237fa8f9abc71bfc91aa8b4a9ed75acc093bbc3bf3 +size 5408304 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_13.uasset new file mode 100644 index 0000000..2a83645 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fdf9e4927acb7e7f4fce25c8161c60ddefb9447589370e11f689dee04596879 +size 394653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_14.uasset new file mode 100644 index 0000000..6cdcaed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/126_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a20271d3d7ebece81873aed891ab82c3ab902f902a00b90a1846392de558a8 +size 14516440 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_01.uasset new file mode 100644 index 0000000..1566167 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a770c9aced81fbc1128d303b891a596772643ebf520dc1538747eb5942258fb +size 680273 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_02.uasset new file mode 100644 index 0000000..77a5a47 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b17e4032d7de0d9b0b8f49c997ef7f14d556ab5d47502364b699657fafc146b +size 3838905 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_03.uasset new file mode 100644 index 0000000..1463ac8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08bd47d2742821cb9647006988781e282100adfeb1f9949f57c43d7bf11873d6 +size 891136 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_04.uasset new file mode 100644 index 0000000..33ae891 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0568e1fbfe9b3d4283920ff38690e1f60a1e114c12ca2f75cdda23216005ecb9 +size 1138135 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_05.uasset new file mode 100644 index 0000000..8fe1229 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9da45e4b0c452ed15c5b0c05a0783b9183b63a40cf0e851db4dd66392b9aa303 +size 992153 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_06.uasset new file mode 100644 index 0000000..ab297a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfc7ebb5e3596065c91a61f028a51e1d53ddff440772a5b0d83ac59cfc21342e +size 554340 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_07.uasset new file mode 100644 index 0000000..d4655dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:440d185d6331e036b920261902c7c8bc62b6460905d4adcac481dd14168afbe5 +size 495406 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_08.uasset new file mode 100644 index 0000000..9b42d1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72cfca1fb8c1db3b30589e704591ebeb86ebff2176ab5932c430533b9ff2b1a6 +size 480916 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_09.uasset new file mode 100644 index 0000000..9946943 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3fbbe2d6fac993b54d0d94edb977a977c2ee82ef79d7ca442a5c0375970d775 +size 599066 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_10.uasset new file mode 100644 index 0000000..c3530ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cecd1e1a680c0a1c980640a65444295923fefdf7f14413591199593b36d433d +size 517110 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_11.uasset new file mode 100644 index 0000000..d3ad372 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41c19ee93dc53469defa53db7cbb415ef0a8fb6cb6c658cef68c8fb2004baa64 +size 597759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_12.uasset new file mode 100644 index 0000000..e848a5d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2413f54b71988b1b6978c9856ecacdb42894e79ebb43ba5900a13ee1b7521794 +size 544135 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_13.uasset new file mode 100644 index 0000000..3fbc96c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8beb50a83d541177dded1193699fcdb73677e656f2fba3876479d9fc4b174e96 +size 572307 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_14.uasset new file mode 100644 index 0000000..e0d2385 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f240277ca82d1e1ed81e658eade7014bc5b69c5ed26bb43fa75837559b45da +size 491146 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_15.uasset new file mode 100644 index 0000000..52aedc2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a90d618e42c77850172c749acaba9b8b659673f880015bb4f64e1fbf03defe +size 517985 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_16.uasset new file mode 100644 index 0000000..3aa11a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5878990ac20d50f7da47a7423759166f7468f069cb9327a5740147fc7c79a0c +size 739486 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_17.uasset new file mode 100644 index 0000000..f94e9a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0efdc87c0a508be728677d7f0bf888e0e4efe45a933b4b5f2558b14d542638d3 +size 998683 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_18.uasset new file mode 100644 index 0000000..97ab295 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c855d6fa02c51c5b5b27e1e03a50555d96b31c3cf9d127e1884a5186d3bb6aa +size 1027308 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_19.uasset new file mode 100644 index 0000000..18dd231 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:886835c40534868308584c5e93b3cc299590d84ed2675f95c3ff70514b9d537b +size 1125709 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_20.uasset new file mode 100644 index 0000000..9ada126 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cdd43efe7e5f7db82aa4030b134fa2c9e9d3cc4688b81f58575725ff4ed6d0d +size 956028 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_21.uasset new file mode 100644 index 0000000..5387c3f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3bf9a6efbc3ac08e8ac98ae404e5f9ebb3efcbd5568b14e270e1a5ea2902637 +size 929216 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_22.uasset new file mode 100644 index 0000000..356e38b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de855e0f818a4d14204d2b026f2c5f5f2f3927ceaf264fd66240c8fd906f3fac +size 914539 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_23.uasset new file mode 100644 index 0000000..4f0de66 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:836db8122b1c70f3496a4881d62fc47c876873175301ebea0f705a0f01a15fb8 +size 939411 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_24.uasset new file mode 100644 index 0000000..402be0a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c76695ef7ec4f21ea7d0b343a93a6a148439442557bbcd222d68a7d08d5bea8a +size 910611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_25.uasset new file mode 100644 index 0000000..32611bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b12e1187477c9555549dcef83347dc20b3bb3f730887b3691ad8c5910da7ccb4 +size 674015 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_26.uasset new file mode 100644 index 0000000..7c1f603 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4b454beeb57362f9d0603e748d3c2b1a28ac93d9e6cb52d93de2dfa618b455 +size 716245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_27.uasset new file mode 100644 index 0000000..9359602 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f75b95e02f20ca3e365c9a34097a3a81c624c804b731095532ec4fa2473c3557 +size 718751 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_28.uasset new file mode 100644 index 0000000..263d27f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df81f62e046838e84ae6a4dafc68c779b72d512cff2f354b937ebaa85e91eaad +size 644051 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_29.uasset new file mode 100644 index 0000000..09d223b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d8e02a13c3f82f1538ef2e2eb6d1a665b94ff5d51d505d470730a0342187692 +size 627487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_30.uasset new file mode 100644 index 0000000..77013da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:140bd756ca366c3e23cbc51e4f67356c292258db829f1677f9026ba5ba050df3 +size 666946 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_31.uasset new file mode 100644 index 0000000..668c15d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6104726d18e9aa60f4feed8976a71ec079754a6abd8e9da0d197d5aa28d9377f +size 1280659 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_32.uasset new file mode 100644 index 0000000..0e693dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e78045d512ffd71b2f23596576d7365a06977da1e6ffe8158a6f85cee1035ca +size 851339 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_33.uasset new file mode 100644 index 0000000..9861f44 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdf11b38845ce302396de5af4e4e19da741df540237c33009090168a847a6f8a +size 606606 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_34.uasset new file mode 100644 index 0000000..bd3be2c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88272dcb1666fd96e1defaa1627282400ddbc7cba60e313e41e4b199c54180c7 +size 598885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_35.uasset new file mode 100644 index 0000000..136cacf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25cb49515b4ecd8f6aa7318c7d2680ee509aa8be36f9669451e8472187d81419 +size 694954 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_36.uasset new file mode 100644 index 0000000..9be5682 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c140098a7b44b7c3f629e705554ce5bba95b57eddc21297ef2a4c66461f0b0a +size 636876 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_37.uasset new file mode 100644 index 0000000..85b1028 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fcb831e165e4b9aa7019ea42bd4b7eccdaca42b0ed73103b99a579c047f4cd5 +size 918673 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_38.uasset new file mode 100644 index 0000000..e6b9380 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/127_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb89d64bf370134a15cced2d092f321e353839691a1d739450251ec439a74a46 +size 593279 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_01.uasset new file mode 100644 index 0000000..1aac3a5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a82793a7a44029e73c516a357039a364254e8e300007c942189e527010037eb2 +size 819997 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_02.uasset new file mode 100644 index 0000000..ca3a183 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b59710347560d0a73498e8d3cf0b8fecede5d76bc27c1bad7870c3a01f005fd5 +size 513976 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_03.uasset new file mode 100644 index 0000000..6ae453f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92f8e20a84036f379d182218bc201f531fac3bf953f9bd116554d71149ba48ee +size 504322 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_04.uasset new file mode 100644 index 0000000..ad2bd89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34b47a1b41075e9e76a47810b594d5735d8258c2a202e995a17c4fd802a79e3 +size 445804 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_05.uasset new file mode 100644 index 0000000..e1f6ceb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ad1747b919ab99553520b93e02671d519f32f5557951dead1b9afa006ef4edb +size 610141 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_06.uasset new file mode 100644 index 0000000..b6f34f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0368f5bc82da0ee1a984f17dbff5d952728a8f00f75fae2962a613d09eb32ce8 +size 586949 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_07.uasset new file mode 100644 index 0000000..5696878 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28829be4a43c1c79bcc044e2ebfeabe76bc503e9afdd7cf11415df46e8710102 +size 899775 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_08.uasset new file mode 100644 index 0000000..99f9e7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eb399a1543f0528f6443bd6ea87ee8323075cbbaf40bc0382242ae72d053461 +size 829545 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_09.uasset new file mode 100644 index 0000000..01c735a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebf89f1b33774e86a460cb0d9f552770016199ef3f131d592d1a7264e72e324e +size 548363 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_10.uasset new file mode 100644 index 0000000..a7fd347 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60ca0bb9848ef1901535a6861ccb70849dd4b39c296a788d6a7974e2825a2ff5 +size 1102600 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_11.uasset new file mode 100644 index 0000000..bf890b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/128_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5961cd5be0a9ac066c615ebe420767301e86140432061db813168793cad392f1 +size 997027 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_01.uasset new file mode 100644 index 0000000..fcdb10b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11d92671007d561e8a2e7226e515679cc95e0e9e33d8da4e4a632ce1f984a323 +size 423190 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_02.uasset new file mode 100644 index 0000000..440afb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c91f74fb08e6d22e7f33e19e18394392337ba26e08253bd0d88b7ba9ec9782 +size 2739768 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_03.uasset new file mode 100644 index 0000000..87919d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7fffe3cc2836214b41909a0e540261cc0bfafa50a315575de0687b290912d30 +size 2551713 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_04.uasset new file mode 100644 index 0000000..4c49f42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab6e433d36233e4449ac5747471a93f8b35567044eb0e347a3c073eef023af58 +size 2551575 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_05.uasset new file mode 100644 index 0000000..2c50900 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16378236804875bd667b3102f8be43b863a6f46238d3bb1071e95eadb2de60f1 +size 2901680 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_06.uasset new file mode 100644 index 0000000..8d4b998 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a23019fea599165c9410e53cb71cc006c0b215d9bc0f9c3de0df2e04f03d1ec1 +size 2721165 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_07.uasset new file mode 100644 index 0000000..0b0157a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70b381848c79a163d7dbfeb5ed0efcca4bc124c4d83b2295a389a3999fcd63f2 +size 1606940 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_08.uasset new file mode 100644 index 0000000..9e78139 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1764aa0f499bc300a6ea0eb77d416e945fa62e58f0628ac1fb2556345622a177 +size 1816650 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_09.uasset new file mode 100644 index 0000000..a5f911b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe127121d7d662f841b477e459ffde26de9f70ec956724aadaf69c963b4290d3 +size 5070398 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_10.uasset new file mode 100644 index 0000000..49421a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bf433c784eb2e8b05eaa448fe69acec9e858952dbd1fd9feac723b7ce967d2a +size 4000812 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_11.uasset new file mode 100644 index 0000000..733b09e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb6cfb6e1c34113a87f7af67c9fac96cb00bd4e40bc05a2bc6f094b1a37db24 +size 2678352 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_12.uasset new file mode 100644 index 0000000..2c1eb58 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd728decc00f435b4076186757ecc1486d582dea12c5fcbddada9819a1b687d3 +size 1819040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_13.uasset new file mode 100644 index 0000000..11b136c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29330d1e21066754e510960d07db296e038c19302d09e776162882c69ca0f564 +size 3035191 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_14.uasset new file mode 100644 index 0000000..1bc3556 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/131_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb02271d7feb474c70a7cb9d2fb7f280a8233229e4447ec962e23d3272ab2a39 +size 4350640 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_01.uasset new file mode 100644 index 0000000..400ee0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c8d3636fe9cb136d5e1d61981995d97a04aa9f25a7a431d034899d4f1b178a2 +size 3118214 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_02.uasset new file mode 100644 index 0000000..795fd29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b32c3b2c6fb328225c0b66779fb904a8628b74b4119f50e1031bd6e666833a1 +size 2563429 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_03.uasset new file mode 100644 index 0000000..5e4254f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b008a4f5e8066eaabf9c27954854e94cc886545dff92bde997e63633e70e74c7 +size 3275410 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_04.uasset new file mode 100644 index 0000000..9be322c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a41058348b0a8dcbc55d28534ea4fb56aafc17d2e246dfce2ca8e5b21448d76 +size 3007336 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_05.uasset new file mode 100644 index 0000000..e5f9ad5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5633af94601687ed36d10fb8238a2bc1a7faaa58f0c23926a77757a8da9a9cb3 +size 2899076 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_06.uasset new file mode 100644 index 0000000..1d4252c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:392be600897bea288f20de8b7769051997333eae271a7ac1739ec9824572ca11 +size 2912109 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_07.uasset new file mode 100644 index 0000000..4a5a087 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39e3d3e636b3fa0027e47ca889db8e4047b1aeccc80a2d92647d2d2f05528fde +size 2000688 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_08.uasset new file mode 100644 index 0000000..6ce4cda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47e3fc6e8db811ffa791b7e90c5824ddd16cd194b1c77e87f7714e5dff3f4432 +size 3189759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_09.uasset new file mode 100644 index 0000000..2f0c935 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e9e5ec7baba8323a45c5db0fa8eca20b8965681d3da0705dace7796d275bf64 +size 2609217 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_10.uasset new file mode 100644 index 0000000..eaec11d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0251a35177431d179ec56c0d6eec18c41c996964d7af14a586cd5250a12f30bd +size 3557638 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_11.uasset new file mode 100644 index 0000000..63ba9b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97ed042c7eecfad1a9d394ff3b8041bd444f7ec2e2311ab05a89e0b0d98f9155 +size 3563777 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_12.uasset new file mode 100644 index 0000000..3f9df10 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37cce8ef6850621c0d2c8425a7093d23575027422f08dfe1670d21ac186f36a6 +size 3428768 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_13.uasset new file mode 100644 index 0000000..709c24e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:904fd51cf81fe1869acfd741743ebe63014415bb307bdffc83fdfac7b65daadf +size 20891638 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_14.uasset new file mode 100644 index 0000000..cb14644 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b59aa06e7b8a9ec7af2df2790d2ec7805736abd96ead954e5097ddf5a3467db +size 14563664 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_15.uasset new file mode 100644 index 0000000..a504b48 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:842c1aedc6fcdd29e0bd4afb501a863fdd0e22a469f6db098af6a537bf9071e8 +size 14485294 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_16.uasset new file mode 100644 index 0000000..ecf9162 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fedd1de7a34e9e76b562c5c6f365951784bc8d0344c2da1f5d394c090d8ff27 +size 20513152 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_17.uasset new file mode 100644 index 0000000..4eac5f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0aabc6f52a2044f0028170de45481849b29fbb97a91437d85211ee5c28ee2b1 +size 734463 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_18.uasset new file mode 100644 index 0000000..f8691df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f97693bb3566c863e304188f63594e8d42dcd886e76fbfd11f4d8b9189ce87ce +size 1064555 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_19.uasset new file mode 100644 index 0000000..b3de446 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3311a96bf04e02bd594690a197ef5144fb63e3e2988690ad125b25c4917d3c9 +size 727825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_20.uasset new file mode 100644 index 0000000..9a38f59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4594ce174ee0a505e6bb16c31629a1f8ef73f1649b159713a7f3e5da0e4a3fd +size 888688 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_21.uasset new file mode 100644 index 0000000..1880fe9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f61007b91f6fd22d18fe4cce0494c38b8022d0fa433b301436f7cf8525eb2a4 +size 893435 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_22.uasset new file mode 100644 index 0000000..1af2161 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6000468c35ddec71689e224b3baa9bceb861ce767e3e5f06b003cfddbbde79f5 +size 933973 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_23.uasset new file mode 100644 index 0000000..f34aeba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:259dd1004ba9db9fff80322b6fcabb7677471629b7eb5a12ad51a0e8c9c00f34 +size 1715995 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_24.uasset new file mode 100644 index 0000000..bae96e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ab107dea9c9c1207678f3eed228da9135e9992babe28b0e6a166616df46db3a +size 1688092 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_25.uasset new file mode 100644 index 0000000..5ddd8d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71917455e5cb0a2568d7cf38a22a9642977ed8972c2126cfd19912ce6f843a37 +size 1321838 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_26.uasset new file mode 100644 index 0000000..555a01b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f2a358df3bd497f9f0e19697d756751d63a1d051659c1a20b5418239fc3bb33 +size 1449238 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_27.uasset new file mode 100644 index 0000000..54d2cdc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8073e9923bf895a56c106a5078473370e1eada7879afe3588ee82a980c8fdef0 +size 1640824 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_28.uasset new file mode 100644 index 0000000..c80fdf3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b708c8baa319ca63cb157c1097421bbc2e926f9d664bc6ed5b8de96ffe9e78 +size 1629896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_29.uasset new file mode 100644 index 0000000..12f988b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c988c713941c3143d022c2dbdf451f3ea5b98c99654ba117fbb9df1f27608752 +size 1800967 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_30.uasset new file mode 100644 index 0000000..1cd8676 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd88ffe34eb7743ce551519a4c4f1fdd8a83b2e7d0f488d07ef539aaf80a5cbf +size 1815891 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_31.uasset new file mode 100644 index 0000000..1eaadff --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cab8eea23aad0a62bc141d21f380acc8778e248d5e3c8412ac135fd5aa272684 +size 1675392 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_32.uasset new file mode 100644 index 0000000..a754ebe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e943cf56112cb204ebf3b2e6e4aa8bf22f235bfebede73f33a3ecfe90d5942a9 +size 1504985 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_33.uasset new file mode 100644 index 0000000..260ce1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f10cde2d19ee5e6bfb095c99105d38457ee433c76a8d26c8ddbcc329b07baf09 +size 1012145 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_34.uasset new file mode 100644 index 0000000..299bc8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edb21403f6006c46ab5a944a50ddaeb6561b17eb4fa63a58b689000ea803b6df +size 1241310 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_35.uasset new file mode 100644 index 0000000..d4d9e99 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6495c65e00a21cbe9fcd4a166954551b34c82b7d7db32ee7e9ce82cb50de1bbc +size 2811435 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_36.uasset new file mode 100644 index 0000000..3b51b16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba10582e87afc6abec28e6b08f1952136b552581415c32f394fb4cc07dd7346b +size 8724728 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_37.uasset new file mode 100644 index 0000000..fca5421 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf70897a853fa6747e1c8a6f2c489d38e81bf3c480724c40d1d61a671a1f2b8f +size 14833121 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_38.uasset new file mode 100644 index 0000000..8bdc92c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7c911662abb7c398a28dcfc78d27247b9151d59588d319393c862571db7b59a +size 538902 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_39.uasset new file mode 100644 index 0000000..d83d8fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de1e4f57cd6e55389d0e50f65dac8d702e68731541d5a3527650b858ce0117e9 +size 13939230 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_40.uasset new file mode 100644 index 0000000..8301c05 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e7098f53851146841fa4f36020e857feb24d6214756b39f5e02fb8c2397111f +size 1894300 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_41.uasset new file mode 100644 index 0000000..d135246 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ad8a008a3b376b4a5081c11355338c7ed3ac9f01637593140f47e5d84c57e6d +size 14126183 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_42.uasset new file mode 100644 index 0000000..9aaf70c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ad4f5e4814561fcf65a14e23ce04d24d0c45f1baf2088758895bbcbca1b242c +size 1612690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_43.uasset new file mode 100644 index 0000000..71c9b56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac951d3c22bec90e62f405a9536cf7c7891936251ec73b73281806a229ca6e9e +size 1831523 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_44.uasset new file mode 100644 index 0000000..6b5e498 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04233be1bb15af895f0fcd92ebf22574acbad69d917e7facc3b69accc2a25197 +size 11550260 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_45.uasset new file mode 100644 index 0000000..1a28a6a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07187bd075876fe2d4687d2c745e75fef37a0314f14f87e4092f5292a4610150 +size 3296512 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_46.uasset new file mode 100644 index 0000000..0f79cad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:437f24800a434640cf60eddf0c969d5b095e32b52b29faf64078c38172bb5242 +size 2671684 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_47.uasset new file mode 100644 index 0000000..2e72d1b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48fd2db3624c0ccdafa559f4e28d943fca24f56fca6ba12b910072cdf4a7fc08 +size 3293394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_48.uasset new file mode 100644 index 0000000..325488c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42022be250832bc8c78b9c5e54404e1d00ee4fee51b6824dda7307808e04177e +size 3505087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_49.uasset new file mode 100644 index 0000000..e982528 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d24e08aec77fd2d5e02464f7fa44841f4d738a2d22f72ff2c643c8d7e58bbdfe +size 3786185 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_50.uasset new file mode 100644 index 0000000..9a3a897 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eaba18de790a6219ae2781fdfc92b1a6df4cea9932737daef1013b7fbeedb05 +size 4703996 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_51.uasset new file mode 100644 index 0000000..177b2aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4cbfaf355deb01316dc11740864b28a3e82a4effd9a25892b179c1ecd53aa8e +size 446648 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_52.uasset new file mode 100644 index 0000000..b40d40c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b00ced950fffd4b4d00fda98645415ec3c12741636ebdf31a6380df51b689a7a +size 2985094 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_53.uasset new file mode 100644 index 0000000..c132d90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:796cc589049d9485ad411229fd7e341507ccdcc19aed30cfe106eff45e4fda28 +size 14285814 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_54.uasset new file mode 100644 index 0000000..5db8630 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f6f7d9930f9f53904324273123d613eca06dbca0686fe4a32ad6f69936db2df +size 13407146 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_55.uasset new file mode 100644 index 0000000..8841fd7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b4f2e2479d31daa2d968f9f9dd7d151a18843fd9e673252daf1e294cd1f019b +size 6995350 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_56.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_56.uasset new file mode 100644 index 0000000..38a17b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/132_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dcc68f18c757857ea80179737eac869ac7654b5912f765594a400302118f726 +size 15834707 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_01.uasset new file mode 100644 index 0000000..808425b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a538e4fb1691f90374f664ccdb7576b7c4b614ff2b1cb38527fd4f08414fa24 +size 3066813 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_02.uasset new file mode 100644 index 0000000..b59362f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d40c49591f603961182ffcb0720b3ee2d222fcc270851f3ad7720c484871f602 +size 3238107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_03.uasset new file mode 100644 index 0000000..5bd3bf0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1af6fd71e8fa2880fea81c02e291351743dc8fe86f965fbd68a8f196d33995d +size 2885927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_04.uasset new file mode 100644 index 0000000..c5dc59e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47244bf1cfb06016eae8b15ad56d32d04de42d661cc5deadfdff6bcbf6a97365 +size 1833876 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_05.uasset new file mode 100644 index 0000000..c4ceb53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27556af3bf53605f85aa317abd7860e044d3a198258d5c1708c59b602241c87a +size 2230821 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_06.uasset new file mode 100644 index 0000000..c230ef1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:878fe6fd2980cde19db7527fd8288398994437a2e4a81e1056dc05859317d03c +size 2079190 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_07.uasset new file mode 100644 index 0000000..d6be882 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1b8b041b7af93e3d7d6f75f693f6addf6a8ab369d284b2229170940a8a001d0 +size 2177366 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_08.uasset new file mode 100644 index 0000000..dbc6780 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:101f38cf23c5c33aa37a6157013c2e93ebe4154ae17a3da1ae25d7db3c7ff0dc +size 2846117 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_09.uasset new file mode 100644 index 0000000..5198cf6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbde656582f7c3d8cef2b3341b489ae8d95c151b6416c2a3ebea2cfa6f0ca6e8 +size 3925437 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_10.uasset new file mode 100644 index 0000000..b92d9dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1c647aad016a4bbd807d4d53b61e9810c5062e2caaa3fcb5793fd4ebc87e81 +size 3022377 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_11.uasset new file mode 100644 index 0000000..da7aa5a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd562e3c448c05bbcf0b10afbf0426797d7e7151fe13703e5f478c0cc860009b +size 2413374 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_12.uasset new file mode 100644 index 0000000..ccb3489 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ef2ef70c149dd7ca52b2343f1d34a813325df84d7b9e5a5ae37174bcc2479d9 +size 2237321 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_13.uasset new file mode 100644 index 0000000..9ab153c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b9de2e87b7d8006b292f08e06ce48c9f0b9e62ed9261adeacf1bb18e9a7b3aa +size 2600288 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_14.uasset new file mode 100644 index 0000000..be67cbe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21106f2091df6570bb1cf623478cf4106bec116448c76624f150e4bd4ae6dac8 +size 2082040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_15.uasset new file mode 100644 index 0000000..2c4bc05 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b99470b162dc7d004c3c55c9db67a1fcd12ee9ca71fcc977502d714432a72554 +size 2075040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_16.uasset new file mode 100644 index 0000000..f18c619 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab342462cb89ec155dee09e23b48ef95014076422f447ada7c0564b14fdf250c +size 1244464 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_17.uasset new file mode 100644 index 0000000..d39bfce --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:059654c0fbbe65e008e6f6a65f3e6b18d03e513cd73fdbb9e16cb96cf1b0ce9e +size 1405080 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_18.uasset new file mode 100644 index 0000000..72d3262 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b89c037ea0f4a06bc30e245418711d5a601569593968d76250806be299dd80 +size 1155448 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_19.uasset new file mode 100644 index 0000000..9706d8a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b357a8204cf8c40ecb4f44001401ba803b2a1d25375164c7266e1804a2f237f7 +size 1883646 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_20.uasset new file mode 100644 index 0000000..cfda82d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2efd3b28e448c23af674e5f101b0bdd7022ff59218581cf530f95583491e952 +size 2490511 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_21.uasset new file mode 100644 index 0000000..e663bfc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15665bdb34d23f2b965721af63e62c69513178b57d171d2f0d02a454ec3b29cb +size 1785797 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_22.uasset new file mode 100644 index 0000000..0df34a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e23f3033b28812e9a74074a6d0795712856329613fbb097884c18734fa20978 +size 1771236 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_23.uasset new file mode 100644 index 0000000..eb68c62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d48ac6d2a785d1b9492425318576f99aad3469d7291710ecba8f91fbf65a8601 +size 1942540 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_24.uasset new file mode 100644 index 0000000..ab8f54b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea11d58fe5401ac0f1f1518467f68e05b1824d869e5f5b8e3e42b029b1fe539 +size 2171580 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_25.uasset new file mode 100644 index 0000000..a8509d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd8dc009daca7f096553ff9df9797076b615d9c1affda1240b210aed3a3fe83 +size 1011989 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_26.uasset new file mode 100644 index 0000000..7d5464b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/133_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97b104136ca08914cf033496997b6e4faffa9069b99ea53f84ec6878a51dcf66 +size 2814685 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_01.uasset new file mode 100644 index 0000000..0519b84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceadf21403c6b4c69d38aafc04682d7fcffb87823670c9ddf7738b84c7d35cb5 +size 910363 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_02.uasset new file mode 100644 index 0000000..028863f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1368951c665c11ffdf3b3ba86715db6b165bf9ba2ec3f43dac6a5a1e58831395 +size 710130 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_03.uasset new file mode 100644 index 0000000..d262b25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ef999a66d28af2d5664a227e48d0213a3fdf0ff008efaa41ac5606a3b9095f +size 987827 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_04.uasset new file mode 100644 index 0000000..368a1cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bfd5d28e72a80508880db4831ed18c146325c80150ac8b482cbdf7dbfbd7fd4 +size 544487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_05.uasset new file mode 100644 index 0000000..70dc25c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5716144cdd3890a0d90b975ebf601c4f45521a50a28742b424eea36bae7ab11e +size 869738 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_06.uasset new file mode 100644 index 0000000..21b7db5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13419536c746d9ae942867320dc725b3e7dd0eae6c0f6ae4c0bfb22cc76672e5 +size 801285 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_07.uasset new file mode 100644 index 0000000..09f73e0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:165dd0245e6dc1f3f73b267bd8b2efb6971d291398f053c41a684e038ebcf311 +size 816973 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_08.uasset new file mode 100644 index 0000000..3121ff9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d02f13ae86e0e7dfe3f55d2c8e9ca336808d9a1c22d94a523cda58d1c2d67c63 +size 706490 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_09.uasset new file mode 100644 index 0000000..0212745 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44a7c1cae1d891ffa70c30e076b6e19305f59cee0c6f31980042b94536eeab72 +size 588397 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_10.uasset new file mode 100644 index 0000000..f37d7c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32f36a0e46daf35c97a383e9fbe5d70389d40171bdaf71b6e67db1974c61b78c +size 902297 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_11.uasset new file mode 100644 index 0000000..de4dba7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18a6b8f02d4ba61e41923328091c71c66561b626f8476c107d9b2db0d65ada24 +size 907167 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_12.uasset new file mode 100644 index 0000000..f97c1fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b1e0873a26639fb78ee770910e24d924de445599fd2cf43fce97a51eed9d455 +size 946211 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_13.uasset new file mode 100644 index 0000000..2e4b7f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7356715f6ae9fe612c8512233591e531794bd89e9058de14b69bfed0ac0912a0 +size 1090353 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_14.uasset new file mode 100644 index 0000000..9dc08c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cc020795b5402a53fba1e10c5cc3e2da39f95df24e97dd095f1018a3407f696 +size 1159404 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_15.uasset new file mode 100644 index 0000000..40f6030 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/134_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e928d69379c8136415a071e608b25470286023d6d2798b7fa24fe583ffbb9b3 +size 723899 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_01.uasset new file mode 100644 index 0000000..82570c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d3352ef492961b4488a9b127d1f211021e3a06fff9a4a48292c52f1dc36adbc +size 13450930 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_02.uasset new file mode 100644 index 0000000..8159968 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:225a6d05c553a6b7fe5af7b1591187f8044335c9e1fbfab574e673a676bc7f86 +size 11508227 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_03.uasset new file mode 100644 index 0000000..9241a6b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:605eee899d678056cb1c6f0071d8df68b36351e053c7d568055eaef647dad995 +size 5842234 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_04.uasset new file mode 100644 index 0000000..cf4e801 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a424a7b7c5dff578ea9681fbb11e0df0df87bcdd0a12d75972e1f10c8f3bd9e +size 3033859 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_05.uasset new file mode 100644 index 0000000..0339e22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e7f2f40984865e67c873996e8b469c0d23c0f6b65953a8c428ba44518d5ecc8 +size 5328014 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_06.uasset new file mode 100644 index 0000000..c6e262a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f83cc4d535cbef2d899f7cf2f0acfc06a841bfed412c79f9ddf53130eabe809 +size 7260892 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_07.uasset new file mode 100644 index 0000000..1425fb4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fa7f0cbf05b14d5920fda79f0da0a263ece50c77c4cf7f884c1c8e6a7b1f77f +size 3359118 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_08.uasset new file mode 100644 index 0000000..09a99f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdc42241608f3546af757461d85581cffd195bf35b213fc892d7e878cb9f1255 +size 742088 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_09.uasset new file mode 100644 index 0000000..e33568b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1057e7835f1c7bf74802f25de31c9f3c9e8b5806aed2a3277e49d45078a68bae +size 4692421 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_10.uasset new file mode 100644 index 0000000..4128ac7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34d455abbed086f96857e97ab8759b235a358c96e988178b3c8734837081c32d +size 4367196 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_11.uasset new file mode 100644 index 0000000..aae7f6e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/135_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0903b8b38161cfbcd83a8dbd0e1d9049ada268ac97c694872575772895614023 +size 5470465 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_01.uasset new file mode 100644 index 0000000..2dbc1d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea1180100afc87c61bb34e4ef532c6d26481eb0b2a4ff275e5fe9d0a716dcbb4 +size 1838081 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_02.uasset new file mode 100644 index 0000000..db1c13e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485cd52a00b6e7923d7badb521d2dcae4d8d3d3a1a37cb0df9f4c710cb53ef8c +size 1841982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_03.uasset new file mode 100644 index 0000000..5d4344a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69de28694c4d00e3f7102bf25947a0d0d397710ce8eca0f9b211786faa059c59 +size 2518704 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_04.uasset new file mode 100644 index 0000000..26a4ad5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93a769307ef018cea999a49b333a929efbc6441c101d4de356d9f7fc8bd5c89e +size 2554794 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_05.uasset new file mode 100644 index 0000000..9fa151d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5ef3cce6d87c38f25d1143fe9d88a6ba1e195105fb10e12b2c85d88fc60aadb +size 2142693 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_06.uasset new file mode 100644 index 0000000..1379ee6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7cac42e4cd3cd8886932bfef76b174ea9b46e0422628da18ffe0c715eb402ec +size 2094437 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_07.uasset new file mode 100644 index 0000000..d55321b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6875f32aeff89243fc1c8d1146ad9565f02eab5899b47d0f4b2a3c0d52108b5 +size 2391604 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_08.uasset new file mode 100644 index 0000000..3a169d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b70726ddbf2c26afe0ffbfea6b46ac38d8c709d44b99b9eb013bd6065fe79dd +size 2760132 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_09.uasset new file mode 100644 index 0000000..657658c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d48285d683de23eeeacca1cb43d2759bfa900b970eb59988a0fa4a48f0e4abf +size 2474229 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_10.uasset new file mode 100644 index 0000000..7c8e3dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:721a9b1e5c67a28b223e4b3d627f0a2e7b8c11b2e029c0c6fb951f7fa31dc19d +size 3024569 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_11.uasset new file mode 100644 index 0000000..14454d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74d46f6bf33f15cfb1b384e0f37d28d1551251ad1ff711743e296d4ebb664ca8 +size 3086880 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_12.uasset new file mode 100644 index 0000000..6f2e616 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb49e60fae15ea3d3d2a78914a05d6b3ac5330ab89bf7b5e08a3da22a8cac928 +size 2642879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_13.uasset new file mode 100644 index 0000000..9fdef71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3d3204b168858a1e484f17a95c3083c5fc462674a1ad8264cda42b8650ef1e0 +size 2585056 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_14.uasset new file mode 100644 index 0000000..2b0f5a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:322c7aa40cbb9c7e3062bde39437f5f825e38f4c1f592ea7b7b75fd203aa8187 +size 2327359 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_15.uasset new file mode 100644 index 0000000..ba7db1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d47f57585b04766b595de41b30870af2c58466b220a0d08e758e0603bdcef1a5 +size 2877315 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_16.uasset new file mode 100644 index 0000000..31b31cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:098a5d4fa5262b1d8a07b957e8f9524c81fa8945fb066917cf5f885c4da01c17 +size 2673379 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_17.uasset new file mode 100644 index 0000000..dd9954e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2acca18251bd18b4742775a69af01b17cb99dd660570efc94bfaf9538cffbf95 +size 4534503 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_18.uasset new file mode 100644 index 0000000..5afde88 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299e8b9c54f84ed5ce46c05cabab7b86667f27aee72c0e38b4507aec859bf37f +size 3403792 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_19.uasset new file mode 100644 index 0000000..f52ccfc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9801c8e09e30feec09b4698c0ef856eb3355b956c552d408eaff56472804eac +size 478264 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_20.uasset new file mode 100644 index 0000000..3e3bd42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0cc468af6d4da79deb08a3480838ba66ed1c96eaedd7dade618245fc983834 +size 2088611 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_21.uasset new file mode 100644 index 0000000..fc6ac0e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bdc2b071e2670b36c33f826d77b65cf0a1cb8ba308b546444055b1ae74259dc +size 1397924 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_22.uasset new file mode 100644 index 0000000..b0ab27c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f41b2ebd0387b72f021c1d29057fa66d2ef7946b34fb1e44f2eaa63e71c435e2 +size 1924759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_23.uasset new file mode 100644 index 0000000..ef5a135 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e5acedce2f639aef3b30c725e24b8fb6f2f246d5bd63cf4d6c18691e184c53c +size 1659825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_24.uasset new file mode 100644 index 0000000..56c85b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1a98eca159943ce8c2e6244c6b885cfa81ebdcf4e250f953d1ca4a60fdffca +size 2275930 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_25.uasset new file mode 100644 index 0000000..b11f4fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:305372a2abe30833b5a0381a865083044209467bc2978d00ca10bbdfe44e9f24 +size 3696639 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_26.uasset new file mode 100644 index 0000000..8df9234 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:045d8f8f3f1f9be1769be2178134adfd11d3e75e9bbca5354a08aa3fd34a4ede +size 2861820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_27.uasset new file mode 100644 index 0000000..fc8e06e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1bc8e5a200476dec31ce38dfeb5afec3adea6a4958035f9519b72008b8d1ab +size 2291226 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_28.uasset new file mode 100644 index 0000000..2e234d4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b516a8f0616cdaab24e0a4f990a17749e7f5894d91b5f2b050102f0ff16b642c +size 2513936 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_29.uasset new file mode 100644 index 0000000..ee6fb18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e3da08e06a3597fb7425dd079ca403abfe3c48fce435afdb6a5ff87a118f88f +size 2505177 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_30.uasset new file mode 100644 index 0000000..332773c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8164a6820d2722b03eda6d698c5c494ee8e639872cce35222ecf1f9cb9d21f7b +size 2603906 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_31.uasset new file mode 100644 index 0000000..fbf5b96 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a24a6061cbd2b48532d89cbfad59c653e117e1b9a4102ee3eaad7e864aec8087 +size 3271457 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_32.uasset new file mode 100644 index 0000000..b1d89e0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc658e3f57667e26bdb24075e77490e3f14f59824980e1b4e45e36cabba81fd8 +size 3267200 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_33.uasset new file mode 100644 index 0000000..9c75615 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/136_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0bfdcaf2ab7c383c24c18865a7c2ff1ac66d466ad4a4d6f20ca19dc7bb639b2 +size 2262058 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_01.uasset new file mode 100644 index 0000000..334dcb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5637ceca8cd8e01281f50d531486fbf621c0fd838b6baf4f8e6391095c7f65f7 +size 4754001 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_02.uasset new file mode 100644 index 0000000..3a25777 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1c356533a619f871a8a38fab2a8743af9aaac5dfa4cf7948ce19e942226ddcd +size 4711087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_03.uasset new file mode 100644 index 0000000..eb87f3e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f35b53b6dafa57955335b169cdc7efe3585627fc642920779ddaadad10bf83b5 +size 14266759 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_04.uasset new file mode 100644 index 0000000..dc45e8b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be1d4e829146823b8fc578fa19dd566edd220cf63601b8f1054471d037fde742 +size 4374086 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_05.uasset new file mode 100644 index 0000000..1a76696 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be698f7d7ac51bd127c9629ff04a68c3041cd886cb4048d43a872c17e0286603 +size 3789095 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_06.uasset new file mode 100644 index 0000000..b245966 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94882194b8513a098b553157a3b4a242ba775b7bee0c97d75fecaf77ccad20f6 +size 3655904 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_07.uasset new file mode 100644 index 0000000..7cf1a90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c44e2559643d2cc67f4ff8c5b7383a954d8e806cae6295648a1722983fb4bcf +size 10537674 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_08.uasset new file mode 100644 index 0000000..da41fb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85066266a503b053707cfa8edce1b3f6fa6cf10832e0691a9f908275db7aa476 +size 4358673 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_09.uasset new file mode 100644 index 0000000..a0aa61a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3177876604b193192371cd5018e229ae0d4242eb1739ed7248d1aa8bdbf9990 +size 5523362 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_10.uasset new file mode 100644 index 0000000..268b441 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:241f3c7a52086f26eb432956fa00d1627dca49f47e4f9d30ce2e31ac6795af77 +size 4750487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_11.uasset new file mode 100644 index 0000000..2f57cbb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18148142a5839b2a9a0a0b133bcc6d72658b19d92560740b5c80d635cb42a773 +size 10836686 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_12.uasset new file mode 100644 index 0000000..7ac2e33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ed1ad69aec5ecf01a274e6d24ab90262f01f5cbbe7450ddf89bfeeefff5d614 +size 4396637 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_13.uasset new file mode 100644 index 0000000..3b8df89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1168f9ca87f63cb9840a67e4d1b4db0c12392ed01c78670553a35bf346de4cc4 +size 6562948 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_14.uasset new file mode 100644 index 0000000..948e907 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:997803b5c4421ccb08ec215870b4ddfbe950d78f826246b8b5a33f5e556a6b30 +size 5044811 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_15.uasset new file mode 100644 index 0000000..e310e9f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39bbb7af30cab11e085f713d93a2ebd56c6917537ba86afb83d33bc855b6688f +size 11728037 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_16.uasset new file mode 100644 index 0000000..0a4f9cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae5ff08ad2e1474c214f1831d2f06fc48a1da00afe0b300963cb364794ad45f3 +size 3488935 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_17.uasset new file mode 100644 index 0000000..8ce2542 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c81d0ef7c92465e19bc5f77ffd39b7964ad5eee908492036d0b49d22df5a366 +size 4305896 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_18.uasset new file mode 100644 index 0000000..89a86e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ecba5afc8efa528f6d5534381701e902d3d37035f6db331ca66e7c7c8bbbcbc +size 3121400 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_19.uasset new file mode 100644 index 0000000..4317985 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eed40459ad635ad8e4f5420687114a79e616bf59bf442c6e9dc319c411a8a35f +size 11515034 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_20.uasset new file mode 100644 index 0000000..9a4c434 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaddc819e25abc89e5ae6214208d1215dcb4392836efd0565be3b490b2f9153a +size 3609931 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_21.uasset new file mode 100644 index 0000000..31bbfde --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca7e4016e5556cfdf3364b838b97bec4af8e390978ba83ab0b89296801340edb +size 4215487 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_22.uasset new file mode 100644 index 0000000..85eb00b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a1d7261c21e2ce329cd5223469272015d6bf77d92dd1502df63698c45479815 +size 3694253 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_23.uasset new file mode 100644 index 0000000..70e6a9d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed9a0a149f70aaf6c7080a5817f6a025dc05a766e8b0bf6d63b6b4f53dd957fe +size 9870224 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_24.uasset new file mode 100644 index 0000000..8d1ce87 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e48445d830a6a50407134a41533faa049a5cf500346b4a9332387050fcba426b +size 2729391 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_25.uasset new file mode 100644 index 0000000..8187cfe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c409ad40afeff478e3167257aa4e166bb933908da354f27057de76a1f5c3d46e +size 448684 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_26.uasset new file mode 100644 index 0000000..d8e2b66 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e441a4b351cf1f5cab5460fa3bae598e7a6cf96926b8ae5b915fbea471203bb +size 3450171 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_27.uasset new file mode 100644 index 0000000..eeb0378 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02826d31584722f5d1da99c21c57a8c359edb9c60a8910ee11cc3550e4c50197 +size 2661660 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_28.uasset new file mode 100644 index 0000000..45c3f9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4b0ff91efb29ee8789182b39f92ec63008abe5438899c73768bcda59e4155a +size 8138680 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_29.uasset new file mode 100644 index 0000000..50b842c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d2d2345436917723a3ecea938f4825746d292ea5d1048c85331e7e64675b6fa +size 2620001 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_30.uasset new file mode 100644 index 0000000..c1efa56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef196255c440cc16c59fc5364117232c39d98e9d9d099ffd49c9ab0a06e9e011 +size 7645939 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_31.uasset new file mode 100644 index 0000000..567c458 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34a56f2cdce76b54516e8e0c51afcbff842c76daeffa78681684de6dbb704243 +size 7331189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_32.uasset new file mode 100644 index 0000000..01fca83 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36bf817991bb59bf9715f33f7feb9b4c5e9560286af975c4c0060c9d16008061 +size 10825872 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_33.uasset new file mode 100644 index 0000000..c6f6dc5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f937d093273f4d4960cf119408d97e4fc4d4638993cee2cf15865c2000a1dbc +size 6760607 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_34.uasset new file mode 100644 index 0000000..6fc72d6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbef5b7350a4de8a6514b89eeea4e451e73cc65c4f8875b13f6ec5cbb20c5e09 +size 2070005 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_35.uasset new file mode 100644 index 0000000..ad9cf80 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e60044e1a45bf5d8e94d8c56f8b2c287e3bf7c39634c0b893110b1e655b69755 +size 5455188 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_36.uasset new file mode 100644 index 0000000..f6b992b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8e3ff4fde79a5ac2948c69dc965d92f20fb374a45f14f099f93eb6952178c8 +size 5609864 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_37.uasset new file mode 100644 index 0000000..4875355 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16fc1f08438ac8d63084c4ab0ae4fcfd7a2fdbbe98120d70c650eb2e7d343cc3 +size 11243072 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_38.uasset new file mode 100644 index 0000000..2151c09 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53ebc970ca9b6855bfa74874766d650605c8c52adc2314e192361201b56d9010 +size 4498405 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_39.uasset new file mode 100644 index 0000000..79622d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:790041481af0422d7a30f504c1a9e78761c39224a09438f162a6a6d5ff8177a9 +size 6432061 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_40.uasset new file mode 100644 index 0000000..712bd58 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b85529054d2666cc91cfb9368fb82a0b898ca7299ad94796685229d0879bb2fd +size 4558237 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_41.uasset new file mode 100644 index 0000000..937f210 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dffb553571b3eb4b3554b7bdc00ed2be001feb5c5812f696689141447a7f7463 +size 11283455 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_42.uasset new file mode 100644 index 0000000..f1d31fa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/137_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e150f7ac657fbf878031e8757fd0e857682afd2e27f39bd811756f52bf1666d +size 4884107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_01.uasset new file mode 100644 index 0000000..92ea9cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c28ee2052339f4f49c3b5d5688b92d69fe7704c9439df42ebbb797be02e75221 +size 1801729 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_02.uasset new file mode 100644 index 0000000..6790d94 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff1417d2229c702edc70ed1caed95e98656405e1c598eb52dcce51a32faa6c58 +size 1750674 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_03.uasset new file mode 100644 index 0000000..cde4aa4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e914e1d14082b6ed7f64915e7650cbfde3524fbfca2e22f18696dc806670fbfd +size 1524902 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_04.uasset new file mode 100644 index 0000000..b5f642b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99d9a7f79e8e04fc28dcf1152b2e97e9dea7a2cac521b39c1eb969d244b1202b +size 1588107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_05.uasset new file mode 100644 index 0000000..40521ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecf491f7dca57250cfece333f9bf7ae6d7690f326868e29accd770427986835f +size 931456 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_06.uasset new file mode 100644 index 0000000..ee8f2a1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c087469d30e562f5d672b07c754904f568a232288e13a377cd4c8985c738d7c +size 956774 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_07.uasset new file mode 100644 index 0000000..0189b0b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b164875070adfe74f89c224f4bf0a563ff18ed27b80405158394fc2ffed15c92 +size 948931 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_08.uasset new file mode 100644 index 0000000..5506e0f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3183a5d15745994e2b925afc740760626e4ecf12885093ad9a05044829a5d400 +size 980094 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_09.uasset new file mode 100644 index 0000000..ca98f4d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffe5f8ea6e5225457d68e1d2fb22c70dfa0c0c7ffcb4a512254b022171070681 +size 1009543 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_10.uasset new file mode 100644 index 0000000..1ba8aa8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a8007b443f7903753ab090024869ff8b5473e89e8b6cdcdbb62e140c3f2b935 +size 1063858 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_11.uasset new file mode 100644 index 0000000..9895989 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33a9a57c7a2d412c04e0b828cb322d4fcb5763d14f8f0dcad8d29e54bb047acd +size 1082457 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_12.uasset new file mode 100644 index 0000000..56bf2cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55dabdb1acd8e20237b3e76da985b8a90fa2079bf844dd9ebc7ea4a0e6d64b1b +size 829873 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_13.uasset new file mode 100644 index 0000000..7923f46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a1bf75a8fb0f70ae44a3446577acd0a7bf26744ec215f9179c7a34fd202cc8 +size 985793 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_14.uasset new file mode 100644 index 0000000..d7e7a38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:424907b8580aea147ee35697698080413f17bdaea808ec4e968e47d8da89c47c +size 980935 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_15.uasset new file mode 100644 index 0000000..55ce6d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e63f31587a8d56352afc51a3862775204c5f8c9ded1780282ff2d31f70fd8ac +size 1029172 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_16.uasset new file mode 100644 index 0000000..ca3ce38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c7477d0da2323395c86b8c7a5cab765f11ba284071560db78d1130672dc00d9 +size 1049133 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_17.uasset new file mode 100644 index 0000000..8ce3035 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce63131b44b01d8680ed7c8abdd905a6388b09d952697cf83aa25b84bef65f91 +size 1079270 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_18.uasset new file mode 100644 index 0000000..a5f1231 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b87e5a8437b6ef73b192e5b91f6fd078fe590003c3f17b0c95437d2e43dc97b4 +size 950890 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_19.uasset new file mode 100644 index 0000000..1c3ba9b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f01c721701a3924371fccb66cf19c27731394d8dcc7a089b698d0b911eb71d8 +size 1074620 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_20.uasset new file mode 100644 index 0000000..4e10af1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bef467ac39ef9e335132a3cc702755ba0f6acb454160cc649cf92789e3fa618 +size 1102971 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_21.uasset new file mode 100644 index 0000000..e2df72f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a5a0b2564577718c386b8d27e888980896164a356c4ce24abd38cd5fcbdf15f +size 1002258 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_22.uasset new file mode 100644 index 0000000..382f728 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71d6ac714d4d6effda81626fb3bd17818d1edc61c04b93dd2073828eed325867 +size 969568 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_23.uasset new file mode 100644 index 0000000..2ed1cdf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57642aa0be0e073e1ad1c8d954baa04897089bb65169f6f92bfab89360a7098b +size 1111728 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_24.uasset new file mode 100644 index 0000000..26bd551 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d03b9d54f645707c425a0ecbeff51886c5861e3bb1a3996419455c5e086b654f +size 1209477 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_25.uasset new file mode 100644 index 0000000..0570116 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3605272bee16d54e35e8c0452e815bbfee418462920040076b126c90820b9f9d +size 939147 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_26.uasset new file mode 100644 index 0000000..9ce40ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7f5eb18d78a2618b1ae6ada8f6655600f5e00423746d794570db6a7d6349de7 +size 2126879 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_27.uasset new file mode 100644 index 0000000..14ee452 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d400ce0d8968046c3b4007cbd52753e58e13f651839f8d8758f9a1e652e2144 +size 2110304 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_28.uasset new file mode 100644 index 0000000..dad29ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:621e0301026ce177072c33fe8b0e26983c8806d4be12a60697bda52761f915a2 +size 2203744 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_29.uasset new file mode 100644 index 0000000..f660d8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21ef2f6cc2bd4851d829be2662f8d80b587f456c45026d3bac981a1b98c21322 +size 1823190 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_30.uasset new file mode 100644 index 0000000..618847e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b2ced888b203897fec54075e12ff782286b91fde6fe70fd19f938af9c57edfd +size 2457567 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_31.uasset new file mode 100644 index 0000000..31b3290 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61614e1a007a79bdca7c877f7600a7807c5799d274ac89250b44d59bb40ba77f +size 1805147 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_32.uasset new file mode 100644 index 0000000..1146da4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c60c55f82f1328a697dc7d22adac33b31492e607a6df771f0c887651e27a1ad3 +size 2016364 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_33.uasset new file mode 100644 index 0000000..c790cda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b83fc0ac0d18b689572e382029351bc5b53a0b594adf7b845b47d76c65d5d414 +size 2222148 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_34.uasset new file mode 100644 index 0000000..2812041 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f6a7398eeb615d1a903c0a47f6252c1795e7fcc87d28f09e3d8d9bc360c3c7 +size 1981077 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_35.uasset new file mode 100644 index 0000000..a89f15d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4087614b83223b8899934eaf5966b790fc75a9c9e7a94edf26289c4bbf6f7038 +size 2038048 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_36.uasset new file mode 100644 index 0000000..26497c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77adedc0698d7e7012fa5eaa1c5821512b36419f482aee63cc58c4aaa1a74ead +size 2378793 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_37.uasset new file mode 100644 index 0000000..f5fdaf4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:542c2a6828c65ee1ed2aa04eba14a9a3e7bc1a277e344b4dfeb829eaeb1b7fb1 +size 1841311 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_38.uasset new file mode 100644 index 0000000..2411351 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:322087fc8f97d9fbb6aea1ffcb44d36d4238b5330d4c393e5aa00221b35360b7 +size 2189670 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_39.uasset new file mode 100644 index 0000000..9ab0342 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59543b08d3601b349cfe04fbf852ea5284271652a3c3c4f79803b374c8fee356 +size 1979910 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_40.uasset new file mode 100644 index 0000000..b1d501d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aed23a076ffe0a68506803a649061a03e328a4cfaabc956ef425be1a2bf736bd +size 1857436 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_41.uasset new file mode 100644 index 0000000..bd569e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63318e54d106c77d4b9d317a63ca94c1cd8980b85ca8d0422365f8417bc2269c +size 1766006 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_42.uasset new file mode 100644 index 0000000..f47733b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:522bb648761db8ebc3b778be4c58b884042b6b34e32c84e01e27479da9ccb1f0 +size 2113971 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_43.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_43.uasset new file mode 100644 index 0000000..121aba2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d01c4b9504c7709af3b223da09f78fb34696dd0900cf1807684bcdafa6613590 +size 1740385 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_44.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_44.uasset new file mode 100644 index 0000000..c7e1837 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d19369b88eca4740518aa3e2d33838eecc3828e4d7fb77aec13cab9abc3ea557 +size 2297713 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_45.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_45.uasset new file mode 100644 index 0000000..c3655ad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_45.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a57ca507574cd89f3853064c189022eb75cce483327f9e7eacd2c4720a8afb9 +size 1576319 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_46.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_46.uasset new file mode 100644 index 0000000..15ccbdb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_46.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15d88f1180caa737ec923c3a57740f0647aed87921144b298e6da250485cc891 +size 851875 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_47.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_47.uasset new file mode 100644 index 0000000..f6f6b3a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_47.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2393833d00f1d491a2bc282aec39083a7be8416a0ee15d3e362f7ec61a09d45a +size 1574939 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_48.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_48.uasset new file mode 100644 index 0000000..9816c21 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89aa00e63cf3374ba69aa8961769d596a4630c4f6df079ad4c48ca078b5b40f8 +size 1518820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_49.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_49.uasset new file mode 100644 index 0000000..75821f8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_49.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de8afba7849264812c0d005fd3b056c998a2327a67b8cd69962383d460b3dd2f +size 1499273 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_50.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_50.uasset new file mode 100644 index 0000000..cf92d2f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_50.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43468a0df2c08ec2a6a833879ac3f5149bbbcaa5ec8a8927b0422d42cf1e197d +size 1819797 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_51.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_51.uasset new file mode 100644 index 0000000..34455f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5de4dc69fcb6986388d23a0c093dd41b8c11d3656a0c0b8610ae5b51532bb255 +size 1659620 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_52.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_52.uasset new file mode 100644 index 0000000..2bf9347 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_52.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d99f8282d734645b1a055f9d6aa44834ce787f32b5b5f1ed3f397ce3b56fca7 +size 1991434 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_53.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_53.uasset new file mode 100644 index 0000000..75df907 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a638b2be8e22d1aabb4bcb9538bddd66aae66dffe516dae42ace3e1e4915475e +size 1751902 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_54.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_54.uasset new file mode 100644 index 0000000..a13401c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f85f607d6b8144c9d9b55d391d18eec051c07de1776ca2e0f0e08ede437c77ff +size 1841927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_55.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_55.uasset new file mode 100644 index 0000000..8b865f6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/138_55.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0fd02977c16bf2198b3e1e1b85557e43f42b2cdc0ca9cbc88851956bb0f11a0 +size 971460 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_01.uasset new file mode 100644 index 0000000..276e1c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28579c4f4874cbae08b5f8f77a7ecd20bcd6c8e6405f9ebf78ebc60606cbf156 +size 2516398 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_02.uasset new file mode 100644 index 0000000..98bd58b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5c8872d6926823b607c9163a9965f3c3e09741c19f9970ab318b9a8ca52b70a +size 1989011 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_03.uasset new file mode 100644 index 0000000..8ee08be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43ec6bf7d3f1645579671bfcd04318134b1094e246ad0852ef9cc8e338282ac9 +size 2033975 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_04.uasset new file mode 100644 index 0000000..a9d3215 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62d45b5aee85c91759125a029b87b9f4e3b3fa72dba7778beb3b17b23c86e21f +size 1994501 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_05.uasset new file mode 100644 index 0000000..46ac2f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a37f6ae89f33a26b4b8dc8656f176c629a37ce10adc96c82783b97877e17080 +size 1195850 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_06.uasset new file mode 100644 index 0000000..d56999d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615dd6236f83770aa4c9637a891c721983de5bc616f3308b3548230f552a22fb +size 3079793 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_07.uasset new file mode 100644 index 0000000..e83061e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad8c200500d802419c50aa168b97911784a131edbb847d4952807d5b4b75d28 +size 1186851 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_08.uasset new file mode 100644 index 0000000..63e5ffc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8d72817b9df166b187a76bbb516a50000f5effea2ce3666ab7b6eea97d7ed4 +size 2264672 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_09.uasset new file mode 100644 index 0000000..0a908f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a010b750581a4c469571ff44fecfed639e8c798e82dbf4b7ca211a46943a33 +size 2263312 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_10.uasset new file mode 100644 index 0000000..9f587ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb002a5a90f852cc52d432fa949a83eccf179a898a92a34f139376d6fab977d2 +size 1673268 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_11.uasset new file mode 100644 index 0000000..01c6d6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2047ae2094e7ea7e378d892086aff3e6526d7446043292aab7b847ef5c5aa239 +size 842079 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_12.uasset new file mode 100644 index 0000000..e4090c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0424e31c0ba321257306f85c887bacd33d22c1e00e4bf9febba16da6c54d134 +size 2293812 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_13.uasset new file mode 100644 index 0000000..1a0e483 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10eefca545fb367c705bcfac473bcaeaad20bde962f517962d61db36f1f8f032 +size 3182107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_14.uasset new file mode 100644 index 0000000..39b778f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3583d8be0f01be45079729a40abcb3a441bb62823c2ea02cc9b3740e62814aeb +size 2302752 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_15.uasset new file mode 100644 index 0000000..48ed4cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85bc6158e33dd0f53ad2e260f3282c29b575228af2dc22b5913fdb67304dbc7e +size 2404516 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_16.uasset new file mode 100644 index 0000000..e69edad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:002b03d9f4ff4269596f60fe0f4a5bfe2664f1b6c661d8ef0ec23ac11f2b63cc +size 1567291 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_17.uasset new file mode 100644 index 0000000..a0d39f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fed3ed417e8c29bca71a00127252354041b0b6f624a74f80987a6b593e9f8284 +size 1702646 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_18.uasset new file mode 100644 index 0000000..cd1726c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:830f83f622ba6593c202c6ef34562a4c8554ba9de7a9881766a21eeaa4b686db +size 2018114 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_19.uasset new file mode 100644 index 0000000..483b37c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e42b3852e408929615f3b4f12bedc57fc48bb76619c5a00fa4ae311261b5c839 +size 2336207 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_20.uasset new file mode 100644 index 0000000..7e7484e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38e6a6345d99761c17242fe22d8e263a32d1a553b8455b96438f4fdfa318eaeb +size 3579599 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_21.uasset new file mode 100644 index 0000000..a6ee3a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24905980987d7cb363c7d679a442ebbd1e36d3ed289a05c89114302b633852f7 +size 2913495 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_22.uasset new file mode 100644 index 0000000..51b44c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4d612c666036a510f7249c13036313a3d82bcbdfaffd9217ebd69faa0518285 +size 3268277 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_23.uasset new file mode 100644 index 0000000..1f80e3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:972e7968ff2c101ceee3248ef55bcf58cf844ffadc0cde44808b926795221bcb +size 3630019 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_24.uasset new file mode 100644 index 0000000..99241fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be0e574a68460e94f1edf4c0ae00af2a4d0976d64fb8058d827020d5c26446c3 +size 1722132 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_25.uasset new file mode 100644 index 0000000..b4c3579 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaca25c158da0fadc54d99feb3cbf558b1a36bc3c4601ec7de3eb4758919919e +size 1586455 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_26.uasset new file mode 100644 index 0000000..466945e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c555ee92f2fbefd5a2295bfd886718df5814f45a5eaf1b6d7565e0a46bfce13 +size 1586423 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_27.uasset new file mode 100644 index 0000000..a526f30 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f13be5c194331c66272a2ad964c219735c10853e278c37dc713f951401e4a99 +size 1733128 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_28.uasset new file mode 100644 index 0000000..f97b3bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79249c54c3ca357e9809df1c05e62112e3b664e6750862965b29f10bdf34c365 +size 6580541 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_29.uasset new file mode 100644 index 0000000..b4150e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a43842ade087c6cce8553906d8f5b9649ec57ce5d75dfcd363160569a9a74434 +size 4703017 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_30.uasset new file mode 100644 index 0000000..75dfed0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57820b241725e16767b5a67800d7873bcd11bf048c30d97eb32214dad9573de4 +size 2853245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_31.uasset new file mode 100644 index 0000000..30053d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9395550d43fe91dfc08f73ea3ed8eb66c89220b0955c5beb5a84c2c80066ffda +size 4737662 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_32.uasset new file mode 100644 index 0000000..1966616 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42e4e8bc65f77c57e1e4546fd1c5f812a9ac4c36aac6a3982bf012351da69c23 +size 4279282 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_33.uasset new file mode 100644 index 0000000..9345f90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39ed77b36c8e550f7a31591851438a98c0fe506d38a55f918ccf8e2ba74c8407 +size 6688380 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_34.uasset new file mode 100644 index 0000000..ed516f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/139_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:776e2fabc1d99f3417cddb4acf025decd0a5a860681e0d59b9048df5740f8db3 +size 2423038 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_01.uasset new file mode 100644 index 0000000..3f24ab8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e513f6999da6c35f17199b50d77de68ee8533dfdbaff5a8ff62bedf87fe0483 +size 1933189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_02.uasset new file mode 100644 index 0000000..b584d56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58fa7db94742a3ad5b8f94e071619659115ce2b5e1b860aa3e805278c0b5e3d9 +size 2167259 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_03.uasset new file mode 100644 index 0000000..62312f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8134a5d513c3f3b09afebd121a77902e8a32a9c5bb6ed4a8762f1c4f7829c0ad +size 2369975 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_04.uasset new file mode 100644 index 0000000..9bde198 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fab30dc3eed341e0e06382f9d549515b2ef981009848ac76b101ba1685e0aa47 +size 2566563 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_05.uasset new file mode 100644 index 0000000..ae6ba54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a4e890a6284cd36c028d69f91356ad97df6a3ce3f6e77aa804e65ec3d03bbcf +size 229227 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_06.uasset new file mode 100644 index 0000000..cedf326 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f173897ba7f4e44fc245fea64a15c12d11b5e3bb5bc97ab06b2d9f1dbb84f2 +size 7540007 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_07.uasset new file mode 100644 index 0000000..8ab7df1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0f977afac0e4014c699a1c8f4d9077a42789c016a91b7733b57679f844525dc +size 2666098 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_08.uasset new file mode 100644 index 0000000..411a9ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6d6ab4c73eda5204ed030b1720f2ded40e913dc4dd7b71ce8970b077b673069 +size 2105245 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_09.uasset new file mode 100644 index 0000000..12a4ec5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/140_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:678c2402696d4571e78f96a6cb9427b6e01f6c57385a042a75b09666a7b0b3e7 +size 1932594 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_01.uasset new file mode 100644 index 0000000..9bc594c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9615a5de54805a96c672c5a9d06380a68de4599d59d7aba5457562880a0c8a6 +size 414940 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_02.uasset new file mode 100644 index 0000000..f4ac8d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efd68a8a13cff7035a70d78ca893b342073ae4b1968cfa8660e0a5d5823b5afa +size 399927 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_03.uasset new file mode 100644 index 0000000..8a97038 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d47ca153a57ccd218a334b0c56a3fec5a7d7065b3ef8eba63f5709f7ecfc57f +size 643241 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_04.uasset new file mode 100644 index 0000000..6de6173 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:636d6e68a2e0e7a35efed0a324be34c7096446bac40d6bcba438876384c704d4 +size 1332669 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_05.uasset new file mode 100644 index 0000000..ebe5b09 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3771680d65eb2234627047a4ae3851da48e62ac9b50ddc81dde6ca9ba480dd30 +size 657369 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_06.uasset new file mode 100644 index 0000000..0be0547 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e00a0becfc9a91248f554cbf10ac76db8e65a3c6f02c769428272d4816ede2 +size 1581311 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_07.uasset new file mode 100644 index 0000000..42a9a56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:365267760aba9f05a7d71360ec5f12da68d13edecb46db453f5ce3698896b332 +size 797234 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_08.uasset new file mode 100644 index 0000000..1ad489e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b66e2bf5c81f4a04eac664c5dd0c5f88ef4d899c1e2b6136d37d7c9e3338388 +size 882820 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_09.uasset new file mode 100644 index 0000000..510b973 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c90a5a299ff12eba7437feb22581c555bfa35a743f25bd6ff2aba57aff404654 +size 635899 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_10.uasset new file mode 100644 index 0000000..2e532be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2b9f497c315e3baa17f951f97fa26afe3cf5d7bb5f61820cd78127b71b18e34 +size 1236953 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_11.uasset new file mode 100644 index 0000000..8e4b12e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b215996beb26f5d2c69493d33b79158ed55883358215c1ddaa37ffbb0446f923 +size 1632056 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_12.uasset new file mode 100644 index 0000000..91b13a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f589998256f999190554c22f1c90af8e601c8394c2d0df6a047cf4cb0478eb19 +size 1386483 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_13.uasset new file mode 100644 index 0000000..90860c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e93c99cd50c21c407b2407936b788357fd19cf0559bd04cbad2fb584eaa13ff +size 945369 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_14.uasset new file mode 100644 index 0000000..6238d79 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94e61c9eb579a556de81f4a865b19dae2143ea7333a0ea53d70f1cd4eb5c80d8 +size 1412943 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_15.uasset new file mode 100644 index 0000000..7662fca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551338b0ec9672e6485fa2911e722b8fc3915e5f7aa07c2c7142f84ebe01c65d +size 2631464 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_16.uasset new file mode 100644 index 0000000..29afb54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbf6c8dfea326d07c22731c822319d3c1a498e0b7a8857a5658a7316301df556 +size 808095 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_17.uasset new file mode 100644 index 0000000..e5c7da3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f75d0074f6b255518b1c85fd4b81772dbe78d03455d542a3bad3fcb1c24c5291 +size 1370810 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_18.uasset new file mode 100644 index 0000000..c57109c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e56ec510808b8b2c2d9e87ccd79cd64f925f2c2bde697d688120c552f90d8490 +size 1002227 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_19.uasset new file mode 100644 index 0000000..243b9a5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e787d3d4141da276b8c32db312c6ae4f81c05be582cbfe11912e4753f83ba6f6 +size 2768044 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_20.uasset new file mode 100644 index 0000000..72df6dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f1f07faf47595d2daf0d8964754924c3ac805875e6e5312c21243bb36da0ea3 +size 1817426 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_21.uasset new file mode 100644 index 0000000..0763654 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e1274a9f9b1e18287d11d9a11d3917a7a429f2728a290747dbb3b41150eb0fc +size 721284 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_22.uasset new file mode 100644 index 0000000..cac0071 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fd2fc1c5b1729b4c7e525e7bb9629bb2094805ca48e0c96e1160c8d0ea156cc +size 598421 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_23.uasset new file mode 100644 index 0000000..167ecb2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c62aeb1319b6e52f8de3c627602870f1a67dfee44c17a21e46d0e1c053c3e9e +size 693523 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_24.uasset new file mode 100644 index 0000000..bd683fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1851be87d845109fff2d1473cc73cf335722a43f9c5142ac9e4dd6bf92ea8e20 +size 745394 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_25.uasset new file mode 100644 index 0000000..528b527 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046482a25a7c7cce10a60486eef65832f88ef215889d9072c14387d87ef2e619 +size 1500512 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_26.uasset new file mode 100644 index 0000000..e5ff53f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6c0416e174325ecb1b218f831e1e4ff1898a52dce24dea964817f940fae3692 +size 996155 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_27.uasset new file mode 100644 index 0000000..57dcd26 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a0e8d38d601bdab4c43ad293ada7736bd4c9b127ac71feead734892053be6a2 +size 1363306 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_28.uasset new file mode 100644 index 0000000..40bef8f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc31f9df913fd8b02c6c76e6605f3ed74f6b72eff5d7c946651e3e618b8720b +size 941334 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_29.uasset new file mode 100644 index 0000000..6613877 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:062868f90cd449045cebc753a9183d103c8179f8fdcd86cd8536e09351b32487 +size 2707528 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_30.uasset new file mode 100644 index 0000000..3358cfa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6c3db4b1aa6198dcdf7002f4884dbab69ea36291321063905bf2229ae0e9c29 +size 1742360 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_31.uasset new file mode 100644 index 0000000..271b947 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c19c880e7ca85f7e5a46c7fb363fc8510d60f9d398e7a0e26c8a07a24c3ffddb +size 1613746 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_32.uasset new file mode 100644 index 0000000..de3bb35 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2c5698c9289caca947231e4eb26636ac9b79c653b61a9c6d03dfd684b6d2c93 +size 2075731 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_33.uasset new file mode 100644 index 0000000..5e17f53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc48a4eff8bb159aff5bcb828e5696bc5342de59e9569d62c924bb04fa68f36c +size 2372471 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_34.uasset new file mode 100644 index 0000000..9c5ba81 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/141_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c5149cf1b627e94515ea37a6ae6248020d9ffeb23c65cfb0db071b5d26b91ba +size 842493 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_01.uasset new file mode 100644 index 0000000..60d1263 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d70ef6de4bbb148e4b15aebb600c2772232353ba2023f8446f3d63e049eac8f4 +size 11469087 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_02.uasset new file mode 100644 index 0000000..482b104 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b148a599d9d47bbc36a98c9152bf3b2944669e77899e7f72d19532c0ce2497b1 +size 4252850 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_03.uasset new file mode 100644 index 0000000..de86fab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb4953ddab500bb3113e9f9a17fd41ee64fa5b818177fc728d6325ece09b7d82 +size 5428432 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_04.uasset new file mode 100644 index 0000000..ac40172 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc6f8dae3f65c9193e8367bd456c48faefddc1950e9a5f0fac2c2466073ff747 +size 8185220 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_05.uasset new file mode 100644 index 0000000..b1dcca6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:293bb9c748d0d68cfb5df6eb55ad7ad0e63ea90097ab9c76140aa059ed937acd +size 14678787 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_06.uasset new file mode 100644 index 0000000..e287a47 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b67a7c4439f11323fe6ac3551c4ab82f40c62f0fe70dec3c795fa4df4577a16 +size 5903430 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_07.uasset new file mode 100644 index 0000000..591dd37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcd5bd7a2d6769018f831ce5147c4877746016d6089571c18e085d75654828ef +size 18369540 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_08.uasset new file mode 100644 index 0000000..cf8131f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ac1d361df726bfafdea3bebc3580344fb48341f1f359aa1ab01dbbc6b0072b4 +size 6668694 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_09.uasset new file mode 100644 index 0000000..a78b65e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:406424b86e651a66639222413e76379deb92a2694da20e8cadd0c80629e20a84 +size 5945982 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_10.uasset new file mode 100644 index 0000000..145c666 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f36d5972c0107b609ddc439eb2077eb4f0d64bd357809cf6a228f5b5de8ffed +size 9856050 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_11.uasset new file mode 100644 index 0000000..4348dd3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f860e7cc822303aa7838aa9e459229afc11f6dc750985e0521e23f3989593cc +size 7190467 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_12.uasset new file mode 100644 index 0000000..16a2f76 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53e0d21e3f170acb99592621b6ec6a4e51232013069ce6f77097534b81f81417 +size 10306311 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_13.uasset new file mode 100644 index 0000000..5ec52e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ec04585adf449322f27a9e1b4143aa5cef94e877a1b58126a0c7586b8b586f +size 11288514 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_14.uasset new file mode 100644 index 0000000..4cc653a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bda4884c0a1ef3676b1b4c7599456cb1d4c9a19c80fdd7136744570f84abdde1 +size 3738679 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_15.uasset new file mode 100644 index 0000000..86c1d26 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9fec359a16c58cf5f54971d62e8f729569b0e145455791ad7ef8e5eb51e658b +size 11753787 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_16.uasset new file mode 100644 index 0000000..dd5e0a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fb29206d1a5d61e1d47d8b62f76800f8f269a73119474f30f7977926c38b246 +size 12847349 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_17.uasset new file mode 100644 index 0000000..1f32ee3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98ac4b6428e50a642ba33ae4a6c1171abd22bc19ef0d5c4229fe39ad74e16459 +size 9722040 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_18.uasset new file mode 100644 index 0000000..7d63919 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:366122dedd3fca72bfa1f89ca137e365b0776309fb3679ac073e459c0a6432e9 +size 10767614 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_19.uasset new file mode 100644 index 0000000..d806eb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b5b6091f91103b99fc5a46e724df34b684d9dcc2356a44c87c3ee1acccbc151 +size 9895113 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_20.uasset new file mode 100644 index 0000000..f07e07c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4eecc347e4c71b256ebed2690e13e3d40b3813ba08b4ca5e18f75d1c2310456 +size 3488421 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_21.uasset new file mode 100644 index 0000000..753de25 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e7531adef21650391af438eaf36dc2eaca50aec5bca1fb01e72c344d27f2b7b +size 3195901 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_22.uasset new file mode 100644 index 0000000..4131650 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/142_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf7c29a124719a2747a3bf26d5b5726928c02ae4a34d0ab524297e09b197a34 +size 11509351 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_01.uasset new file mode 100644 index 0000000..03b5fa0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:476f84cec61af894438e9bc32baafca4cf29b02a704b00b28d0b1492060fc7fe +size 388799 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_02.uasset new file mode 100644 index 0000000..cc7d9f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d0ccc9b41bafb4f315f589eb63f1b4cf35746baed33904459ac1196db689f06 +size 605609 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_03.uasset new file mode 100644 index 0000000..12b0f39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:761e2f9c6019c7e4ddf308e8835bb7dc3975386a003df0b96a4aa5fae33745e5 +size 664934 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_04.uasset new file mode 100644 index 0000000..2fc2a92 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5299a9295457e56c6d19c46cac7d8f671b3c94fd58833d4e5d02a5910f78e480 +size 2508390 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_05.uasset new file mode 100644 index 0000000..e049aea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f46dd820e5dfd4674e18742bb615de37a97ef393eb0373d9b73b9337d2e4cf0 +size 883730 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_06.uasset new file mode 100644 index 0000000..836c1f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b1cf1fdf475e87f09e1ca63e30035673c41b17dcaf9e62bed7b668198ee2b6 +size 1023614 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_07.uasset new file mode 100644 index 0000000..0f822e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb733a7b98278f394596311ef5ed5deb08869a8b65372f8646a10c0c65ef40be +size 1380848 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_08.uasset new file mode 100644 index 0000000..af83182 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:801fcd73913608cb62c3561344bfdff123026f91cf20656582e3ef10f5e66c9a +size 1015997 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_09.uasset new file mode 100644 index 0000000..165b709 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a1d6a57588d06a5dd26e112aad0630ef0b750e7ce143ce059fd1efb6e3bc0c +size 1354152 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_10.uasset new file mode 100644 index 0000000..4647478 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ac25d7c91e1d8a1d1e3238622258003aa4437f7c1847f03c19e86b68af89a45 +size 1405142 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_11.uasset new file mode 100644 index 0000000..f84d168 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db130ebda3cf8c5c5e7ca4e932e8ec070699efe770949acfbc7b991d55d3ab79 +size 1567814 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_12.uasset new file mode 100644 index 0000000..4d101ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc4f5bfbf9084436673472556a158bb88f4e83ebb06f5a09d9a9bae87af3b57 +size 1452345 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_13.uasset new file mode 100644 index 0000000..2075f0d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c6df521e50fce0b2b0c6f5da51928a2d7c5de7a5507be06c4f8b7528682c18f +size 1398077 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_14.uasset new file mode 100644 index 0000000..3b15139 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c96a333e2a6f14cbdf3794b4015d0cc2ba7102f98f200a1b6fc65f700f03a1c5 +size 1732494 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_15.uasset new file mode 100644 index 0000000..70b320d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9da688ab4b411916bad61e61cf92d4a743167a074b6e716ad42ffdc8f5022f9 +size 1698133 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_16.uasset new file mode 100644 index 0000000..69b5121 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49f65e29f1de47f21f944ab7bf5b55e5aeef3cf069df30f0bdac5e1542df6757 +size 1490809 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_17.uasset new file mode 100644 index 0000000..4197dbd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79749bb7e5421c5e501c47434dfa262196d0f674087146a7d7760c5eaaedaba6 +size 1455656 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_18.uasset new file mode 100644 index 0000000..0e979ea --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:375bbda18acd74d06d52fc68852226da101348b55a418dd315216d84b5c9f915 +size 1701384 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_19.uasset new file mode 100644 index 0000000..68fd3b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ba0c57a9430712b2c356447b62659fce2589cba93eba6c5e92aa7783a2730c0 +size 1937916 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_20.uasset new file mode 100644 index 0000000..79dbc93 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9796127816b230925448d0f56e363e7e55b978a5ef3acc1ce371aa67ad42dfb0 +size 1519216 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_21.uasset new file mode 100644 index 0000000..b1f8b62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33231721ec4ef43829408f11e0a4a1c7ef25022ed75ff83227bd1363d3efbb5a +size 4754433 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_22.uasset new file mode 100644 index 0000000..c67c3e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6937ec5efe271807f499612e4320f1ad5128a40854607e84a7f037e105714438 +size 2482258 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_23.uasset new file mode 100644 index 0000000..9f42761 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c582ef65dc846d4f6110d6e831cd3f287944a3ad39dee49160bb4e3701ffcdd6 +size 1854856 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_24.uasset new file mode 100644 index 0000000..827ca28 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6295cbe508c3cfb8af6868fee4a8e0ce93dbba4932bd92bb3561921f9a40977d +size 2247942 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_25.uasset new file mode 100644 index 0000000..5853ada --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b6f2a7cbfea18f3b79396d5ca117abe8bbac4266bc861a6606eb08641bceedb +size 1562189 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_26.uasset new file mode 100644 index 0000000..f3d8a9a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3228ad3749698f78e70b51dccf72c05bdd8a3c6514668cda47a470d7e8bcaa37 +size 1435342 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_27.uasset new file mode 100644 index 0000000..d3c6736 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ae61c259dc998dac71964b89748fc66251aca8f3eeac51fdea6161e2a1d7ab4 +size 1638979 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_28.uasset new file mode 100644 index 0000000..10263e4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad2fa708c0720e1b5e49a4a18f620cadcd04ff61ad0f943dc1599df1da54535f +size 1477825 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_29.uasset new file mode 100644 index 0000000..9299662 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd4627a401605a8941f1587272fdd438127effe5a53907210bb4080c099b8cb7 +size 2508233 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_30.uasset new file mode 100644 index 0000000..fa4edab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9454e5091e7a856a7ce77565268d77ef66e426c15b9aaf3c5cca4a375fc9bf11 +size 963885 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_31.uasset new file mode 100644 index 0000000..78805a0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7503c756d3d3fd801a3abf4c53d47032eea32d1ff34ee99faf45ea48b1d29ac8 +size 1065660 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_32.uasset new file mode 100644 index 0000000..84c505c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8535239d9e12e0dd6fdd641ebc737cd132512167fe402c8537ace94d374a933c +size 1839412 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_33.uasset new file mode 100644 index 0000000..3aa74fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a6d02737a1d6aa3468f4611e8dd7c4df8b0607903f047105d7273c0bbcd8e6c +size 929953 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_34.uasset new file mode 100644 index 0000000..afcb5e9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26987e99be54a31011f2f4caf8c8fe1426c7bee6b4fcf5864d1bdae2cc47a6f0 +size 1859396 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_35.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_35.uasset new file mode 100644 index 0000000..e970a24 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2682be2b8d2999d229e8490014f9ab72d24581d75d0030ed18594c4ade81422 +size 2927913 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_36.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_36.uasset new file mode 100644 index 0000000..e9da5f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ff42e9ee0474d68cc234ced89b2101c2006b5c244823650d6da6caacdfd6cc3 +size 1827613 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_37.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_37.uasset new file mode 100644 index 0000000..539a908 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e656082a0aa7f060458f1950e13c1054c08b5d1a3c7902a0185e36ee34872b8b +size 1297093 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_38.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_38.uasset new file mode 100644 index 0000000..e1f5b78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33175a9734b69505e7fed5620f9658eb9705b5a7d484008f6d74091f5052009d +size 3024034 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_39.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_39.uasset new file mode 100644 index 0000000..d372711 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc96be25aaf9b8e3cf7e3a55262e37a2446a826a5f5f76fadf5b067ba5f7cbf2 +size 2473469 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_40.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_40.uasset new file mode 100644 index 0000000..27134d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_40.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bea959c74469794fd8e2776124ffe7f6d6a678d65b240fe55db9294c794781b0 +size 2127964 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_41.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_41.uasset new file mode 100644 index 0000000..989b77b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91c36a25bb5110a39bbe9304838d0fd46991ccc8724b15b0924c7726306f71a4 +size 2640866 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_42.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_42.uasset new file mode 100644 index 0000000..28defef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/143_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1194d4d38bef04275637ec1be67eee9dde34a3558ffebcc336f4d3d4569ad9e2 +size 1306133 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_01.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_01.uasset new file mode 100644 index 0000000..05f1656 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2cbf81b98035fa2d8c0616cfcc3204c5f7acb2d251ada1fcb856b8d0e26c181 +size 5535517 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_02.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_02.uasset new file mode 100644 index 0000000..3650a66 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b6f5c45a59f8d96b1625521494278179cf6eda613630c1d520cc80a07abc34 +size 5231067 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_03.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_03.uasset new file mode 100644 index 0000000..a37c644 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e17e9dff3a11a6372690c9806a1414c6ba7bfcc67446849f19cef526e7413bb +size 9897235 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_04.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_04.uasset new file mode 100644 index 0000000..ff92bcd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25074b71f00c87bebe6bb2ec14afa8ecd311e909867f47c469e5a611d00eb10b +size 8556026 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_05.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_05.uasset new file mode 100644 index 0000000..b0b9e4b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2825a969dfb55140cab146f2edb2aff1ab2d063e02e2c185b02fdfdb2bd03027 +size 5982788 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_06.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_06.uasset new file mode 100644 index 0000000..bee9695 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f67dc6ddc73ab273412c3f470e92fabab59f53898b8570ad5a18c3fd0015212 +size 7688332 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_07.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_07.uasset new file mode 100644 index 0000000..14de1a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:362c38c1b3ebab081a27b58c8a56762541fcf3a77b654b2bb4a7ce47dd8aa5e8 +size 5204672 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_08.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_08.uasset new file mode 100644 index 0000000..0ff8a37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a3de1c27693e816d45e8e4b56b3ff771bb632efc2f2770bcea1100f40975438 +size 6288313 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_09.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_09.uasset new file mode 100644 index 0000000..7c72bb7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c5ab88616c2dbf540086721cf362c987be8dfd4d86ff5c380e78ccfe20df815 +size 7329954 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_10.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_10.uasset new file mode 100644 index 0000000..6603e71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bf53ad8cb417c44c5473ad7fe2a0e371cbca5d28f1a957347982a2cb8bbdf6e +size 7547212 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_11.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_11.uasset new file mode 100644 index 0000000..56ee852 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a30f6e966d5cfe76840381efa55ec63f82177a849931b39d7a7dfc1013dca859 +size 7211107 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_12.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_12.uasset new file mode 100644 index 0000000..4df651e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda2fab9c30b62597352772704add112626c31812bde2e406d38f7a6814cb640 +size 6929724 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_13.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_13.uasset new file mode 100644 index 0000000..efe9fee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abf07da58b70176085e0a2c4a1ae860cf37c1768a3a9e81eb690b5701b5f15fe +size 4251003 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_14.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_14.uasset new file mode 100644 index 0000000..82a84e1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b43e7be00fbda4bb6c2df51b6ca6ed3b63c38764e00d8cd1a554cd92ea981e1 +size 4459991 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_15.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_15.uasset new file mode 100644 index 0000000..5804d33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be59fac85ebcb6ef370dd5d4cf28815700f00b15346d7014a994292de1987071 +size 7267690 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_16.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_16.uasset new file mode 100644 index 0000000..3b0ea1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b18adc4d8d77bb8fd7db18054bf4f1008b42512f2b268da8a86ab29f2dfccc2 +size 6788703 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_17.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_17.uasset new file mode 100644 index 0000000..1ade255 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fe6b90f7c655f7bc099dcb6c806cbf45094fdc4616086d71119a8b751bb4ec1 +size 6013182 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_18.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_18.uasset new file mode 100644 index 0000000..a6a1f42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b85808111870b02b02dd5315e109b8365cfeea4752955168a036a59ce06692a +size 6631553 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_19.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_19.uasset new file mode 100644 index 0000000..9b53dd3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626c05a2effd55ff9b22f84f513111f7e4b903a9ff2e04281646615ccf6d116b +size 849712 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_20.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_20.uasset new file mode 100644 index 0000000..92ffda2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baf47556b333b5b4f4883cfad188b870f5d61413cf7d3d0ca7d61ca150d73001 +size 4854391 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_21.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_21.uasset new file mode 100644 index 0000000..bf3e0d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e225d9bb8b0e997c1ad9e26e77a734974fec0a4b1ced6a364e13fb5cfd262ab +size 4186847 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_22.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_22.uasset new file mode 100644 index 0000000..c12d682 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d51fc164215fa86b4eb5b7c3801b787b22e24b222269dc986271a98120123db +size 7184458 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_23.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_23.uasset new file mode 100644 index 0000000..1450da6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c13c74be5933c857314eb9ff48a01b089f4252bf6afe2bf592f2b88693365ab3 +size 7417176 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_24.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_24.uasset new file mode 100644 index 0000000..0c3f080 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39afa9e18aebea2b5c41f0f1e82becfcb668482ff40493e993020747d895b270 +size 10231223 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_25.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_25.uasset new file mode 100644 index 0000000..64fe11f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5e0b23ca02134b09ac9ae5560736874fb8af62eb140a70a7d34d2cde27d4e67 +size 7176687 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_26.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_26.uasset new file mode 100644 index 0000000..4cfd705 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed23a21a85f9022737983347b1fdc67f49d0995df007cfa86bb96770dd5f4d4a +size 7068073 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_27.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_27.uasset new file mode 100644 index 0000000..50c0f2c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ef26933f37af021032542f7441638e23da8408aa2a1cd3ca5d348c2de7cd609 +size 5645048 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_28.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_28.uasset new file mode 100644 index 0000000..f82c7de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c226c03d2724e4a5367698a935345ec1450d6629ce726f0b155a151898990ba +size 5071653 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_29.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_29.uasset new file mode 100644 index 0000000..ce938f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47aa177892ce4d1fd67a19253d78ee1d2788585b9d94986b5da3d7459b255524 +size 6845571 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_30.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_30.uasset new file mode 100644 index 0000000..aeb6aa1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e340116b24fbe0e4608c5d1a8020e25d241b2a2e3e19dda3c5a770bc51bb80b +size 10886738 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_31.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_31.uasset new file mode 100644 index 0000000..0f4016f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddcbac29f1299ef1924d4cd33b6e944d06a50dc8e2d579ade236082827108cdb +size 10630796 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_32.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_32.uasset new file mode 100644 index 0000000..412c1ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02939cbfce1257d819c5b87e6a57cb34be1ca33f998676b3a39c0856636a5447 +size 11508963 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_33.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_33.uasset new file mode 100644 index 0000000..05f88d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d85968d93a6c4832f4d3aa93b0df1f1a544567f6a747a62753e39e55ddd57390 +size 10979036 diff --git a/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_34.uasset b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_34.uasset new file mode 100644 index 0000000..c04ef59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/MocapCMU-InPlace/144_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32fd534d5ed64712425782db6bfece3493763707321f129351cd942a0eebb3a7 +size 10356500 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_COAttack_Anim.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_COAttack_Anim.uasset new file mode 100644 index 0000000..ea33d02 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_COAttack_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3473a0285528d1434ebd0dc976cfaf2432c7760209f4a423e30c78418eca531b +size 1588118 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_E.uasset new file mode 100644 index 0000000..f62d45b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a77e8edbabefde4ea195eac8cc7f7f86111ffdf0fd36d2f2e48e95f9133ac53 +size 705281 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_01.uasset new file mode 100644 index 0000000..9017a3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b8bd7c1aab781e82dcfb6798adac91efb108bad5db48e9e9e4252cfda9c098d +size 943672 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_02.uasset new file mode 100644 index 0000000..7bd14b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_IN_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bef213cd7d05f13fbbcf9d9583b391fd8362b19f154a0448a332509ff98a5266 +size 1671899 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_E.uasset new file mode 100644 index 0000000..2f41bd1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8efedead330847f3e0384ee7a776e8710fd4a96d1b6c7fef55f608469def8dc5 +size 871287 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_ST.uasset new file mode 100644 index 0000000..36c136b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:795a1fb8ab652a21722bf78985b45d1efd7c5be5c1ccf8e346562bb8cea8f905 +size 1402510 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_loop.uasset new file mode 100644 index 0000000..a76dcc4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_LP_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc64a205bf3e8584a09c0e99f63dfa0459066634db5a3544a2f9932039f46aaa +size 2969594 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_ST.uasset new file mode 100644 index 0000000..307c8f7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e3f5c589a6715cfddff025871379c01c2ddfdff069d862ad39a7d36db4798d9 +size 497963 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_inspect.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_inspect.uasset new file mode 100644 index 0000000..7bde95b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_inspect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b755b165b8333f72821f651d5f236c4bf9efb730efed2c73779a94819cb6601e +size 1453505 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_loop.uasset new file mode 100644 index 0000000..7a0d17d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_CR_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d51f8e88bcaa1fe2531423f16eaec9b4eac2e9a55028453316f22683e718eb30 +size 1865480 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_E.uasset new file mode 100644 index 0000000..3f4a120 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0e5f97fab3fb9250f9198e4cd0c829bb20671c8e91f194a49c5dd363bce729 +size 624021 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_ST.uasset new file mode 100644 index 0000000..1a13770 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc3b41e48cde216156bc8201de442bc9dc3c782d68c6b35a9aca17047865b94d +size 556118 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_loop.uasset new file mode 100644 index 0000000..5be049c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BG_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b37b95c13ca8847edfecff42b2d71693d4bf05ff9fbbdd75d78e0490f3073b +size 2415470 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_PT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_PT_01.uasset new file mode 100644 index 0000000..dc500cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_PT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a6c1d88133cfd26592b1140859ce79a5c73c5a047f802832ec062ed74f4aa0d +size 2505725 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_call_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_call_01.uasset new file mode 100644 index 0000000..066cd70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_call_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:193919da6bec6f129158c915f45b9707271a1059e9d04159c256f079fb91c154 +size 2193826 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_01.uasset new file mode 100644 index 0000000..a78b78b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f58468c2b05ab27068bef70cf9952f70fe2cf59374ff2505b92c2eee291e2a3 +size 2496476 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_02.uasset new file mode 100644 index 0000000..8dbe87a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_BOW_victory_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d51ce7a0a4446b183e8c838b3e94d8ae9fe5c73ee6f4536aeb07e3969669dda2 +size 2554033 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_01.uasset new file mode 100644 index 0000000..df35a18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe3a764a0fe7f02cfbe94e793e8a0222ed4a6bb14f02abc34ad7c0475f71681 +size 3520993 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_02.uasset new file mode 100644 index 0000000..b5feef0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01f0867562fe6f0d8bb558dad650d99aea060584c0290d1b8a0a521dd549b454 +size 3352014 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_03.uasset new file mode 100644 index 0000000..8d308f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CH_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a72aab55accfe2e28f2a8443b2920e24b6ed8d7047f9e9e6b57ad5faabe4a6c2 +size 3552268 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CO.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CO.uasset new file mode 100644 index 0000000..7ba0a4c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b01acc275c5113ea644eb4b0c5607c5fe77ccb398c8a4056756808f5334c4ff +size 2431786 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_COM_here.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_COM_here.uasset new file mode 100644 index 0000000..774b217 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_COM_here.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb2fa05fbbfc42715279d5ae9a7631755997c6c861127564603623ea05f5d38d +size 2025265 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_01.uasset new file mode 100644 index 0000000..c37ac88 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb61d5cbea0eb0b6782126654936cbfd2c12f41c51f119c77195bec37c9bc5c5 +size 2584996 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_02.uasset new file mode 100644 index 0000000..0842f0c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_PT_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43f4b676f3d821be5e3849a3f8d91b31db94e318ef1824961a6f0fda58e2c8ed +size 2491826 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_call_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_call_01.uasset new file mode 100644 index 0000000..2a62f89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_call_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b56ca5fe3d3124c7b20c2ad5e9b6144d56e7f001e0eabe173533a69592c02ee0 +size 1883622 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_01.uasset new file mode 100644 index 0000000..f393e43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ba3a0cb56ce281aa712eb7ca2f7bc21e2b8a11947ce3e10f52ace5ae407fcf7 +size 2628990 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_02.uasset new file mode 100644 index 0000000..240d7ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_CS_victory_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bca167ffce2f7afb7b2b23c8e44a1f2222da047ef785db085f6fdbf519e94ea9 +size 3205290 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_E.uasset new file mode 100644 index 0000000..4dc2dbd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c95175b8b5adb8e4b2a3b18ce75a54146ee834456144e9377c0d2a687529e11e +size 1058589 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_ST.uasset new file mode 100644 index 0000000..81b6985 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b605832a65e7aefabe8860ed395cce0fd56014144f13cfb74411a42bf18bd01f +size 674559 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_loop.uasset new file mode 100644 index 0000000..c49d510 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_DE_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e455e5fbb6edee3011bc3ea5c08d670b972a5042d6c327cddeca3460718bfe03 +size 1080766 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_FL.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_FL.uasset new file mode 100644 index 0000000..c7630bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_FL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2416fa8ad65ee23a76b77f12347481d206224c381825571f6bce092a2238c889 +size 3142045 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_brush_off.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_brush_off.uasset new file mode 100644 index 0000000..9d62611 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_brush_off.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b06279a9b1c4db55ad0e26c55155ba3379ced546b62e870d78184034c63890f2 +size 928088 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_call_out.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_call_out.uasset new file mode 100644 index 0000000..c76aea0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_call_out.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7c93a8ce58a74b85eea5c563afad4abe8f567e7a4fec53fee93af894a6778ab +size 1607877 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_clap.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_clap.uasset new file mode 100644 index 0000000..a49e792 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_clap.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:369cea59def964e93c23a18851c635374b8fda56a8b729d7f26d1615cb7174c6 +size 2818565 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_E.uasset new file mode 100644 index 0000000..9a11881 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d40cd338b55bbe6cad413de0d267f73429e8bf45ee7a14a9758a99fb21bf513b +size 615759 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_ST.uasset new file mode 100644 index 0000000..7feee2c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:652b5d8dd851eeca7a40db4672d3ff682fe3ea8b819cd3c573a451479db38b23 +size 721751 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_loop.uasset new file mode 100644 index 0000000..1052c43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_01_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e983fd10aa7794bd681984983d1354c0f23eccfb9fcd5adee0637694b47e73e +size 2708769 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_E.uasset new file mode 100644 index 0000000..878fe65 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ff02319df13b2ceb4ec6b5c1c641cce9830b9a7e7872e3c591f540dd4d9d272 +size 1768387 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_ST.uasset new file mode 100644 index 0000000..47a374a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:808a83e588839263377ebe7a7d8dab7bdefbfc8d78e8f5102baf72914acb7b43 +size 1215564 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_loop.uasset new file mode 100644 index 0000000..efacff0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_cry_02_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa4e2c7833f8dbd941786cdb1c18871b719e840a7e09f04cfc877fd54bac8f13 +size 3943820 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_go_away.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_go_away.uasset new file mode 100644 index 0000000..4f9fca8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_go_away.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bdc0dbb794a4cb3c60cd0a798e4664ec932101bfc1981f694056d4887334a16 +size 1507489 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_laugh.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_laugh.uasset new file mode 100644 index 0000000..b0982fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_laugh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cb63973ca5f46552cee1dc57d80e1da4f3d1befc69985ce1365b83ac8b6339b +size 2896879 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_long_range_shout.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_long_range_shout.uasset new file mode 100644 index 0000000..de9d0aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_long_range_shout.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3de06c441465cabc10644878b6872fcee590bad58a0e332d53d9d75e15eb83f8 +size 2009168 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_shrug.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_shrug.uasset new file mode 100644 index 0000000..bd71d9b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_shrug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c5d9917c19445ebb6e8a598a224e17f0b215b84217c54db66a750c015b0da1e +size 1127816 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_stop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_stop.uasset new file mode 100644 index 0000000..8080025 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_stop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3af3402d8f358b0c88c026d741c8976ae0b0e46a5dc1489adb8e49a78b8ca597 +size 1962174 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_swear.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_swear.uasset new file mode 100644 index 0000000..07acb08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_swear.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f42c0c98cdb1a8177c48399e8804d766285cc0b7cd821692a8db601423c8280b +size 2138208 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_very_ANG.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_very_ANG.uasset new file mode 100644 index 0000000..4b63a5f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_EM_very_ANG.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a3cd6c4fb03f1ee07aa5f7d427949d426e0d7cbe8f8c59abfc3b7373e18cb51 +size 6199729 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_E.uasset new file mode 100644 index 0000000..5b0b75e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77bd8d597654ab9d481d13135443e45bfe0be940bd3a076d3fa9cb4fa6ba91b +size 810541 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_ST.uasset new file mode 100644 index 0000000..c029963 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b6d1f24adc169960e5c237e7085262fcb6cd8e9075d8143f4f21ffb740a8c5 +size 817796 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_WR_hands.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_WR_hands.uasset new file mode 100644 index 0000000..785376c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_WR_hands.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8610604c829d9a130a980f2a6cdb8b4289da6552e1c60d358326ef8bdc6cf884 +size 3714344 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_loop.uasset new file mode 100644 index 0000000..4eac7d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CF_sit_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:699504f9636802b4c3aaafb2def180b8d5b5d7dde32122416e86a27a4a12d9d6 +size 1060169 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_E.uasset new file mode 100644 index 0000000..08da4ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80acf39c4c9e50947c1b7e0174566683da77ca365f93dd0c89bc26a537f691f0 +size 1234818 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_ST.uasset new file mode 100644 index 0000000..2019fcf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30d38531b1864ca49e6b38d6570cdcab07095943cc9118ec19d9f06058cb4b96 +size 1218669 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_loop.uasset new file mode 100644 index 0000000..cae9279 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_LO_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c5f816484cf14ab529c931efb038d2a05d1b80b5d54bb60cd44c3915383f271 +size 1160422 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_wood.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_wood.uasset new file mode 100644 index 0000000..94f2179 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CH_wood.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8c255b6578f9d784c9dce823ede9ed7c0528eeb69a837f7be102c5dae7801dc +size 3255621 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_E.uasset new file mode 100644 index 0000000..360d3e2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed1474bbaf3430967a27a18e2a33d7e0c46f0381c6a1bba170335201f4ed4129 +size 1372054 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_ST.uasset new file mode 100644 index 0000000..0409c8a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad79a6eaf406fa3f143fd1510b290ef13cbfb3ac2dca7367bf5b707705332b0f +size 1645883 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_loop.uasset new file mode 100644 index 0000000..4a1b339 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da2f930e8727c055750d7d501ba8eddcd87fb9815f88a5b8589617664935240e +size 3227001 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_pot.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_pot.uasset new file mode 100644 index 0000000..f87b058 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CO_pot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b34702c0e4929752a09663d9a2ad15a5a0ff2f90fc4dbda2508bf693a340ce3 +size 4759889 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ALC_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ALC_loop.uasset new file mode 100644 index 0000000..b4fae49 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ALC_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90092796bd539b534385b15d2b58cfe962b2c8da0960d6696a95c24dfef4e9b8 +size 16833450 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_E.uasset new file mode 100644 index 0000000..7771754 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4360ce3578949fe7cfb2f7d41bd7a826a1160daed45fe615ee33b4d51a5c62b +size 2045399 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ST.uasset new file mode 100644 index 0000000..5c4b21e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b06645beb1b2fc71ff8fb8ef206a98caa82b6cc06ff0bfd4c53538888f27c564 +size 1654621 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_lEAALC_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_lEAALC_loop.uasset new file mode 100644 index 0000000..7183ab8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_CR_table_lEAALC_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ebbe40583454f792a824d179db2596c2969c51c295538d0f010cf0383afc5ba +size 13714793 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_E.uasset new file mode 100644 index 0000000..f83f963 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecc37683ac245881b8db5ce6fc50609ffa473552dac0704c5bff49c167fb375f +size 1241524 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_ST.uasset new file mode 100644 index 0000000..060305d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d17c4c1cfac7baf847235befae047350551438a7aa34eb306880042d79381a76 +size 1248061 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_loop.uasset new file mode 100644 index 0000000..9d99ffb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DI_out_food_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92f2fa1298075051097f88cd3ff021e3f6f6e0320a45f182ec9cffd1aa7cd749 +size 6900516 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_soup.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_soup.uasset new file mode 100644 index 0000000..2c33ea5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_soup.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38dd4c20726d125d6daf061c804dcd5e12012c769cc6e20510dd586eabbbfc24 +size 5552684 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_water_from_B.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_water_from_B.uasset new file mode 100644 index 0000000..3c59130 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_DR_water_from_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4a9b1d442008ed2e6e1702aba84a0ca0e153228d7ff319d32f82873e22db02f +size 2529212 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_E.uasset new file mode 100644 index 0000000..51be935 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2927fcc3246caea1520c379f8fe1a497e994bbee9a903125f0721d90e727490 +size 1135092 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_ST.uasset new file mode 100644 index 0000000..b3d0015 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe6257ee967fdf526f107ce319cc5eed2ada59371502aa3225b2353dade39ebd +size 1719995 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_loop.uasset new file mode 100644 index 0000000..91d6971 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_EA_roast_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:157a86395597f5e80884310c4e267e541008b644f5c26dac2af4e1339e009cfd +size 2264267 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_E.uasset new file mode 100644 index 0000000..bb21972 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8abb18abe892daa5efd13c8f27f16fab00f8fe96feaaf03e5f25a6fbe42200fa +size 1073434 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_ST.uasset new file mode 100644 index 0000000..b731189 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59129f02cf6b84442dc794e21fae05bfcc2b1141764366cdf763ab71978ab313 +size 1054404 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_loop.uasset new file mode 100644 index 0000000..f528a89 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_WR_hands_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27074c394852d4186a093e4222c097ba70e81f5eb7346d290150c8cc8d0150ec +size 6514360 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_add_wood.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_add_wood.uasset new file mode 100644 index 0000000..f266252 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_FI_B_add_wood.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a574eff11a742da7c124b78af72d75d0ac8b8e7cea2c7b6e2faa574f03bf3b9 +size 1818953 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_E.uasset new file mode 100644 index 0000000..2c8829c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:167debc3ac14a867ee0884f07da4f4724ac18da6f6bf945b8af8be4f08d9232f +size 1429617 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_ST.uasset new file mode 100644 index 0000000..761a5ae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b1b241d8ac152c98a71a025189bb338e9bddbc0d3639c6e323ee49ca43e6a64 +size 2355732 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_E.uasset new file mode 100644 index 0000000..76767f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33a3cf364cb8f238ef190649f3a3ac6be7b7ba42b2a126b7f4d05f6dd343205a +size 2027911 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_ST.uasset new file mode 100644 index 0000000..90ae3c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea1af4c6bc7b3cd418958ed38f74fb42359ec861c28795d19332972abfec3852 +size 2451269 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_loop.uasset new file mode 100644 index 0000000..e7c8f90 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_high_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:288f8a34ccf3fdcb70704df9aa4595cc5efea5c6087c573228584abdca2ede0e +size 761049 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_loop.uasset new file mode 100644 index 0000000..06aa1ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_GTB_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d0d68e133f08de9e04c45aa78c7287dd3db337e72b0f1bded4ea8342ee35c3b +size 830678 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_E.uasset new file mode 100644 index 0000000..9591ac9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f867b41fc0e5a31a858de69bdff6261d6be34200f8fa3c08e57deb166336427 +size 1592949 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_ST.uasset new file mode 100644 index 0000000..edb0951 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ed7c06e4147f41dad2bf641aeadb09dd7a0e363cf4af913fbf9233d649b3fd6 +size 1607234 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_loop.uasset new file mode 100644 index 0000000..2cd96c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_HA_wall_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9516610050d1dfbf7b2d607c8ecd1623479319ff91ceef49e3f222b29a1caecf +size 2368614 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_E.uasset new file mode 100644 index 0000000..1eb399e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40d9e20018eb003230685a0938e2f837ed1ec56be9227a1bf412c0b0ad0c6318 +size 592087 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_ST.uasset new file mode 100644 index 0000000..9259879 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7e77dd28af11eb87aa79ed95c4109d6a35d2d90603d0d5ec5ddd0e16cd57fb9 +size 1465490 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_loop.uasset new file mode 100644 index 0000000..fe735d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_LO_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc4775549ca62740bce020ec0e882f66fb471fc315e4af9871e06d2f1dae3d94 +size 2125746 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_E.uasset new file mode 100644 index 0000000..5eb582c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b86abc69aa7ff56c90f09e5c4b6e8dd619a1005d2d75d0a2e061751854cbf2d +size 1234797 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_ST.uasset new file mode 100644 index 0000000..dcb98f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1971dbc4cf1bdd5c711fce542305386fcb71d4622be75531210de452515a5ff +size 1218649 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_loop.uasset new file mode 100644 index 0000000..b9a1d79 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_MI_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b8a331f64521a43dbf1666f5f1782e947d1561aadf48f561bf732945b1296d5 +size 1147632 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SAST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SAST.uasset new file mode 100644 index 0000000..78524d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SAST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a8fc355ded50709d5669e5e6b280a2794b7551deb3ee6de22d2d6d33e4c0f9e +size 1567593 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W.uasset new file mode 100644 index 0000000..3f4d8c7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da690f5b11cb7b68477e099ce0ffbcb07447108309f65064271e44706a4d9ce6 +size 413889 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_ST.uasset new file mode 100644 index 0000000..8e9797b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c4b7fc790220019f7b660ff97aed03b6e34807f88c19897024c7873ec70cca1 +size 468593 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_L.uasset new file mode 100644 index 0000000..1ff2f3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff39a0d85b413696834e4fc4e3e73dea23b03a6581f5df3847b69e042b44b7f4 +size 512928 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_R.uasset new file mode 100644 index 0000000..df025df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_W_stop_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b391f3f5f2fa23d17797bc4e8b8a477c5608258648d07c37c83b38cd7e9d2c6e +size 511447 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up.uasset new file mode 100644 index 0000000..2069fe7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d3ee1565d6cf7696c61facc866218888702a9a00aca79a9202b4a484806ef0 +size 1627530 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up_ground.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up_ground.uasset new file mode 100644 index 0000000..9101f7f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_pick_up_ground.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e63385b7ab2525efc4502b6c8d756675f21f51b74b9de83878ab4edc89d6b378 +size 1761148 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN.uasset new file mode 100644 index 0000000..7069ee1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb3450e5496a964ac01d3cb174582e1f5a03e917d96ea57c199b70b7e9a6153 +size 1650058 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN_ground.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN_ground.uasset new file mode 100644 index 0000000..ca7409e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SA_put_DWN_ground.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:207baa5cea316742de0dfcb929189cd156f681e43a566f1a467acc1a918644d7 +size 2087307 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_enter.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_enter.uasset new file mode 100644 index 0000000..c5f4515 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_enter.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afb07a7743538d0503eebdc9899cc8baf4fc3d01fbecd5e68c48be48cf5550a2 +size 1799363 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_exit.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_exit.uasset new file mode 100644 index 0000000..818eddf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_exit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42fdfc633927f033cdcbb2f3396683418b1ac30a14806d9f20554a44dc39d4b7 +size 1645629 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_sit.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_sit.uasset new file mode 100644 index 0000000..0a78e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SH_sit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82e5b9690bfbef8909f472ec048d706ac3a933d8af4ed37493825574a0d9a4b6 +size 1467377 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_ST_with_S.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_ST_with_S.uasset new file mode 100644 index 0000000..ea037e9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_ST_with_S.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d117c75c0c8526fac47249ae8e96d2656a1815107a95a70151ed9a7344db7cd0 +size 2008494 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_E.uasset new file mode 100644 index 0000000..14801f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e708328aa77efb5ff40693bb8d42a6572ef8f7c0a35be1a6f8cc9fb3b4636d2 +size 1221444 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_loop.uasset new file mode 100644 index 0000000..c634b57 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_SW_floor_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62f4098e024c4ff47c64f2f0a77cd55dc79b093864a4af03904b41d255fc85b3 +size 4885839 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_S_TRing.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_S_TRing.uasset new file mode 100644 index 0000000..a31d834 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_S_TRing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a246a7cf32321274e59ea73fa7d5243b8e95c32b82d4b6e89d2f75a7c3b817c9 +size 6778915 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_W_with_S.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_W_with_S.uasset new file mode 100644 index 0000000..9c0fd53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_W_with_S.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998ed1ffe34dc7a5a21af08845b4e0f9ae6cfaff756dbf0499a3533e3b36e89b +size 430262 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_break_lock.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_break_lock.uasset new file mode 100644 index 0000000..613a23d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_break_lock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac54616e4bc4ec8fa43355b75f8bcdd1705d935196a95e0129ae00c57a246257 +size 1581687 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_check_CO.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_check_CO.uasset new file mode 100644 index 0000000..347e9b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_check_CO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1b5cb107021c3dac1b364a63cf28edd1da8d836bdef9dcc637b39969827599e +size 6584802 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_E.uasset new file mode 100644 index 0000000..4e8e163 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21e6797b3e26b31402eb6d8f40874c21fa4f5f41a44c35e0275dccc4b66f1880 +size 2541965 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_ST.uasset new file mode 100644 index 0000000..c82963e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e5dd1116c5c2d9eb3070aab5c87438315bed5fb82b9004a36692cf32cf88afa +size 1586035 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_loop.uasset new file mode 100644 index 0000000..647662a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_CHOP_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5bad2854917194e04c2b1c8e40db815628bccdf80e4ef8fcb39ac7531bc0df7 +size 2393359 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TRST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TRST.uasset new file mode 100644 index 0000000..7cedac2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TRST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c9327f0a85ad8d3f5e565214e8448f0e865fdd5a64066cae189c639ce04cb2c +size 1727353 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_CH.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_CH.uasset new file mode 100644 index 0000000..3040a2a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_CH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e08f76fb4e12cda584f41a61b9984caab98a15f40c3906d5124161a389e308fc +size 417080 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_R.uasset new file mode 100644 index 0000000..f866236 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb12746225d43ca3612eaa4c0ea5c04dbae314c817b3afa4c07b363945374844 +size 335607 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_ST.uasset new file mode 100644 index 0000000..6867315 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c9f91fbaff50a9959a84847a93d429f36b1d5ea2cbb32aae772456dc51d751e +size 433938 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_W.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_W.uasset new file mode 100644 index 0000000..50a9341 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_cut_TR_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b67c240ce5ad82d05dacf8c5d77215a9e661011cb7cebc5242291d550fadd8 +size 411259 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_hold_S_in_WB.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_hold_S_in_WB.uasset new file mode 100644 index 0000000..c228d38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_hold_S_in_WB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27ae4bba18db7347dbd95f619d62bd336cf0d0a2adf3bc5b11be688f3dab4699 +size 6268452 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_pet_dog.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_pet_dog.uasset new file mode 100644 index 0000000..a464f99 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_pet_dog.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17af489b3170e14ad1243c0c0f4a647330499a82b826220b695e4a075cfa42cd +size 2106110 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_put_S_in_FU.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_put_S_in_FU.uasset new file mode 100644 index 0000000..6dfe671 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_put_S_in_FU.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eabee9fa0294bdf2a940efb3d7aca2c2bdcd3a5bc5d95d8b0747a6564fa367e5 +size 2361179 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_E.uasset new file mode 100644 index 0000000..6ab8cc6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5907c0eb41d26c117c89138d982189a923c9fb425b410ef651069736b32ff642 +size 1702275 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_01.uasset new file mode 100644 index 0000000..181f0f8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ef6da6cee997dcd40abfaed0385dc994df87ba2dd234c439ab0c96b0014623 +size 2282575 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_02.uasset new file mode 100644 index 0000000..5a93d98 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38d9cb251bda0158860fea6238a165a2ce99f421c815e95398ec6409556424b2 +size 3134209 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_03.uasset new file mode 100644 index 0000000..87f044e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5fec6c6548bfaac08dded63137a3e162fea57976c4595a297217f7652aa4ce +size 2214570 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_04.uasset new file mode 100644 index 0000000..ed343a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_IDL_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d27697c32d76dfb7a7e6894dbdb3a88347ed44162255d752e286f2f39a2aaeb +size 2550044 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_ST.uasset new file mode 100644 index 0000000..d12a69f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046740df4375eb346f48e482a6cddaae0b0c045ebecd41bf4bc89120205f88fa +size 2048711 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands.uasset new file mode 100644 index 0000000..b799396 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d47d7a3c50e861e42a43aa5c0268a4e249c96fd7d4d5d2de44697b91352a715 +size 2194680 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands_FI.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands_FI.uasset new file mode 100644 index 0000000..43c0633 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_WR_hands_FI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e1ddc2aeda067f043473bef0103410cacc2dfd1e6a6ee645e2738a479d3832e +size 7611138 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_E.uasset new file mode 100644 index 0000000..7dc0e87 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6271fd67d1a72adac733137bb8c1939c3b33b8f5d9a173d8c0b4eed044d3454d +size 1190048 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_ST.uasset new file mode 100644 index 0000000..e4aeb42 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ea13dbaea3bcf2c691b7abedd8dd250fd72f64f2a4d9fa5b34e855a58a7d97d +size 867591 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_loop.uasset new file mode 100644 index 0000000..6bbdb1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_cry_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec48bfe0d2333744ed6ee65a1fc35d752401ef92ceaf62a7c00c3c9a24e17919 +size 2653286 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_loop.uasset new file mode 100644 index 0000000..0a4c66d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_sit_BE_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf78e0a0913afe5ebb5dc7d629681818576aa4e18905371e15916e03b9d28a0 +size 1870763 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_take_S_from_FU.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_take_S_from_FU.uasset new file mode 100644 index 0000000..573e4c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_take_S_from_FU.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee6085a4ffd4dec83861526212c05531f87aff6ba41d42d54ada35b12c747275 +size 3215992 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_untie_prisoner_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_untie_prisoner_01.uasset new file mode 100644 index 0000000..bf70c60 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_untie_prisoner_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96b6cabcb450060a9595784d4fc33d480b2203634668bde1169c8d15809c61d9 +size 2754548 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_01.uasset new file mode 100644 index 0000000..9043249 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4563f9ffc1116f40fb76e5cc5d6753c177d050276c2225dfcd5a2ca787671aa +size 1840286 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_E.uasset new file mode 100644 index 0000000..c8f6ec2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:851ee81d4eb5ac99853833992dacd9faf9c41c8b56d6bac20c543732d2d18440 +size 1888809 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_ST.uasset new file mode 100644 index 0000000..f12b435 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a714b4393d34feebf51dd1d71bce6db76b29f7986575a034dee9fd325a2e85ef +size 930521 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_loop.uasset new file mode 100644 index 0000000..f79f1cc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_IN_work_at_HA_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abf90f8db8cf0f1f3a5c3947ec0b1b9e595f0c46a93bdd3e7639111225933bb6 +size 610071 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_E.uasset new file mode 100644 index 0000000..6fe974b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85d0912b5483f1f8b3a518a96de2d7c60901055636753985decf012ffea76e76 +size 1347050 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_ST.uasset new file mode 100644 index 0000000..e5d90bb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db471090c7a30413b1e2ab0fd2e39508a1d5fdc4e555cd8765550157e52e0e94 +size 1562422 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_loop.uasset new file mode 100644 index 0000000..1446603 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_ME_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd1444dc56c8e7a2d7a2547634c0279c7e6e2ba54be83e9e8cfb67b2647f2941 +size 1024046 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_01.uasset new file mode 100644 index 0000000..b20336a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61846874a15ad6b2c0b4bdea7c94ff8a3d8641ceefb8214755f15b4cc0d27dfa +size 812956 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_02.uasset new file mode 100644 index 0000000..870d83a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdfd914471528413d713e1f9924875264467f64467a5d1282f04dc3746a37c7e +size 809232 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_03.uasset new file mode 100644 index 0000000..e8098fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f994eac2088910b09d95625d82b0daa847a1479fd43ebbb95c35f364f687f59e +size 1607108 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_04.uasset new file mode 100644 index 0000000..ef9f543 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1780017b2a3ea355f674ea3eeffd1942d1a94a6ea3dd55eb181c2c282b12b7cc +size 1010549 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_05.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_05.uasset new file mode 100644 index 0000000..bce3be2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:681c3f75dbbecf16982014bee446d3a70b12df6fe11ce2d81a26d217b6435bfa +size 750188 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_06.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_06.uasset new file mode 100644 index 0000000..19361e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d262907307e4b34aa8fc84e762dffa4d609b383f786d200a7bb82eea9a36229e +size 1206864 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_07.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_07.uasset new file mode 100644 index 0000000..eea7a34 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeeb9e308c1981076f37645c78cdce4bcec974f6f334658efc2b12809d8c5761 +size 810246 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_08.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_08.uasset new file mode 100644 index 0000000..84a1c0f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b4ddc578a91e02c1373d2e56f78f745bfeef253c89c397126042d5da4ed23b8 +size 1540198 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_09.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_09.uasset new file mode 100644 index 0000000..d4f7a22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df233e974ebbb09a7c03496b9cd5ddcc97ac9ad79331499fc98c9a755fbe8026 +size 1398460 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_10.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_10.uasset new file mode 100644 index 0000000..c44fd3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8bfeab5b2471940563d500156fd65babefaa0b38dac9cb7374f9500792859eb +size 968981 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_11.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_11.uasset new file mode 100644 index 0000000..097e7a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69b74c909233b686e394c486ad972b02c85296825097d094fb7630df3a1ec814 +size 1038638 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_12.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_12.uasset new file mode 100644 index 0000000..32fd03e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88d3c6cc52b43da04a39f428122cb63e2348740a96ed4df2d71154ee4141a575 +size 1065694 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_AP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_AP_01.uasset new file mode 100644 index 0000000..d8a7c77 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_AP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3f2a854b3a97bfacd943c0819c023dabce3aa4664968f9b98d9c6a714815525 +size 687478 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CA_DWN_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CA_DWN_01.uasset new file mode 100644 index 0000000..4edf553 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CA_DWN_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b908a56a0592164ab2ae4df4285935e8c0c41e67a641538388227a4de0b75f70 +size 1073791 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_01.uasset new file mode 100644 index 0000000..70b9e0c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4e666cff63108bbf0eaece8fad48ff71f4e5b3abacf000ba01fb0e176c7bec4 +size 758051 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_02.uasset new file mode 100644 index 0000000..3ce91eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_COM_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1c62dbce99aad0c92663205c3f6b036afa023137a4a4107a6356b7c8e40aee0 +size 972868 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CO_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CO_01.uasset new file mode 100644 index 0000000..35819b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_CO_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471eff05c7c2ce029d84b267f7901bebc451a7532be2d18fea24bd0a4e8c748c +size 1600882 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_01.uasset new file mode 100644 index 0000000..d55d3c1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dda81d0df9a8ba93eaec2a91bd75c53bc92336b68663d9e9c26e20e47bbb9a76 +size 754256 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_02.uasset new file mode 100644 index 0000000..ee7cd69 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_DIS_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b65b7f4a3858b966ae3f52e59b8fcf487a2a4b9bd1e112170d8cb48e6102c701 +size 913774 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_FP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_FP_01.uasset new file mode 100644 index 0000000..72a3c45 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_FP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6115099a85dcb2377085798adeb05dcd52f09e5940c9128e8b37c5623ef29cf +size 1060282 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_IDL.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_IDL.uasset new file mode 100644 index 0000000..77a4934 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_IDL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:832bc42c335561b67a74cd32d0758f0cf5cbb3e5304242a5301294cad1374a83 +size 2643737 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA.uasset new file mode 100644 index 0000000..50078e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f2453ef661276f2e02875a97f2971131654be231d4a8d81e1b04652ed45220 +size 1192657 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you.uasset new file mode 100644 index 0000000..ed12ed0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:673b371756398b5be5ea6be6434d200308555f235217ebf001f43306ec0fa14f +size 2149325 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you_sarcastic.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you_sarcastic.uasset new file mode 100644 index 0000000..ef91b16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_LA_you_sarcastic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72a4012c976d2d52926c950a26ac7e0f37a121c0bfd6ae0665c6d3b7209adb7a +size 1730951 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_01.uasset new file mode 100644 index 0000000..7122f21 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:070449c1384e71878454f9ad4776c2572a1c2fe535c085cc0794a31cec1da219 +size 1472329 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_02.uasset new file mode 100644 index 0000000..9375e1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_HD_B_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f66191cc3042adbbeabaf8fa80ad16c7613acd3975b8308e4661e5e3b2a8fd5d +size 1056323 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_01.uasset new file mode 100644 index 0000000..190ddf8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1325087bcf044b1d45ddb3c5e67d08904d48102c405f143739c80a57fdc8010 +size 1797174 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_02.uasset new file mode 100644 index 0000000..83750a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c9bb3e6bec8fbff030456c87c2acfca7d14b35be415ab3028ec80d00c3eb1d3 +size 2531026 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_03.uasset new file mode 100644 index 0000000..853de76 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_LA_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46f2901c599cf7b745a97346fc490a25c846af56f7ef5d7922caedc123c84c58 +size 2592813 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_brEAhing_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_brEAhing_01.uasset new file mode 100644 index 0000000..123796a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_brEAhing_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7592ebacff87a2c356b5723a0f787014d3bcbfcb73738c949553f6e18ef6a31 +size 958434 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_neck_flex.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_neck_flex.uasset new file mode 100644 index 0000000..7cfb15e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_neck_flex.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72398b3b3824803602287f630b49f6c4f4209484e5f0d302a767e1ec1fd0d59b +size 2235204 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_01.uasset new file mode 100644 index 0000000..028695f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63675a7e52449ffd8f3992d7698d2d85f89d2470873532b40f96a0e10131b748 +size 577754 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_02.uasset new file mode 100644 index 0000000..4eb2e7d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_nod_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc26a9461e6871f096bfb6b8245a0116445b776a4ccde26b8a47cded6f273f55 +size 742133 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_01.uasset new file mode 100644 index 0000000..4a96175 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b3dbcffdda00ba289e0ae4b721a0b9069f836c9ada0d6073f9951834339f45 +size 916576 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_02.uasset new file mode 100644 index 0000000..763bee0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68ddbbf99ec33783e273de9ebc829eb26f4d7b56a0248741a3962e2ca380454 +size 1086668 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_03.uasset new file mode 100644 index 0000000..2b15c1b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_L_tilt_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8783c3419318727b81ccbc5b41a3c6eba4a9338f52bc2139d7941e82d470cf89 +size 964706 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P.uasset new file mode 100644 index 0000000..8bcb4be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0902ecb0da55b1818f7d1655bc3ec78e5b6cc91b0b62eb3324cfe484adfa8a8d +size 1157945 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_close.uasset new file mode 100644 index 0000000..3dc7790 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e03bab5b9ce8fd94b1ae514297315adf139de0b496c91955327b0813601d6a9a +size 684724 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_far.uasset new file mode 100644 index 0000000..c8382b4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_B_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6920349b272f5fe041fb3067fc0091ef538242a78b2bc39b51b5b0d40e4ae7e0 +size 917769 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_close.uasset new file mode 100644 index 0000000..8e0798e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb5456c3985d6393524045cbacb68e4e298effaf8dbeeeb681747737de942a8f +size 592445 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_far.uasset new file mode 100644 index 0000000..6ba64c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_FWD_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3f1f2fd0e1748e3a4253561f9bebe314ca28ed58b7a846bb7341b861c3be613 +size 783312 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_close.uasset new file mode 100644 index 0000000..a00db99 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:091f7e95aae565566eed0d1936a5d2d0daaeaa220e2e9bcb0c4933a7cece3ae2 +size 725461 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_far.uasset new file mode 100644 index 0000000..01759c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_L_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ab1f7ded2e364bae3a5ae4cf8bc95c178235b7791627bccdb388feba77f31c5 +size 691434 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_close.uasset new file mode 100644 index 0000000..fad1ffe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d7256051c1712eb4b124cac1b474e2e3b74027e6d2fff8609302137427f5ffc +size 583951 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_far.uasset new file mode 100644 index 0000000..b669cd7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_PT_R_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63f36271f1c1bf336b26d7695be5fa58b5c9b4fd9fd6e50fcff6f0d21cd43b3a +size 823084 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R.uasset new file mode 100644 index 0000000..c8d8845 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:896b3b180271c68ed811202bc7a10343648370609ee9f30ac1223963d5261d0e +size 2316283 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_01.uasset new file mode 100644 index 0000000..972d1ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d3c1c9634f7b4257dd016e4666837bec79b6146f29f74ebab77e0b6ff0a817 +size 3105787 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_02.uasset new file mode 100644 index 0000000..13668a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_P_R_arms_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6343672fef766f1538b5309adf41bc4aa7925d47f0aafced4948dd3f0b1d8737 +size 2962203 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_QT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_QT_01.uasset new file mode 100644 index 0000000..54e14e2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_QT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79414f84e9eabb3eb47543dc0020d3e8874ead077964ed4a1bf1c0e6f3f839a9 +size 971937 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_RZ.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_RZ.uasset new file mode 100644 index 0000000..9b83435 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_RZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e01d82cb05ffdd4cf7e7a42519993cc7b205eee5755ce75daaf96bcf9be799a +size 856676 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_01.uasset new file mode 100644 index 0000000..ab68c8d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5a378a47acfd014f1857c78a51ef7973b238c1424d5dcd5bab31e92e85abdb0 +size 1362977 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_02.uasset new file mode 100644 index 0000000..fa11129 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_TH_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26c959f2298f5e08f42921d359c5f13486476f271ecfe4f443fe7c17f84bff8f +size 1380705 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_brush_off.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_brush_off.uasset new file mode 100644 index 0000000..0877eab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_brush_off.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f3c19847589b697560f0d1cf37bafb6965bf00ac7a5868a8f4e4485b5b190fe +size 919825 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_give_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_give_01.uasset new file mode 100644 index 0000000..51c8b6f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_give_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd1769423a25195739e1860ff230614228ab778f79f7caa75b43af93818fd07d +size 694000 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hah_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hah_01.uasset new file mode 100644 index 0000000..3d4683c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hah_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8496d3867db2bba3f646bf032196f088c17bf0363cfdfad33986c5e08e326c40 +size 640752 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hands_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hands_01.uasset new file mode 100644 index 0000000..5d3d39a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hands_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcf1abda55574227ab288c172692e26c3e5a3390d646ed03fd216ab5a1f6fba3 +size 1436911 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hit_fist.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hit_fist.uasset new file mode 100644 index 0000000..653d17d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_hit_fist.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b19b5d6b78500edb4d4468b0d7bd198720774291b7237e37244be7686c481328 +size 1067957 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_absolutely.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_absolutely.uasset new file mode 100644 index 0000000..c13bb95 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_absolutely.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71404c302f4bf44c126ef4fa6e8bf04750289a53c566a268805d7b683ba503ed +size 1476947 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_single.uasset new file mode 100644 index 0000000..922699f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3381404066b09ea5c9f407092b78c82a5547dc42bfd0c417124be1bb87a73462 +size 805738 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_01.uasset new file mode 100644 index 0000000..2013f3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:348a76025a0cbd555e287064b88ede34055250ec4fe62d4ebca1f8e622e5e5a0 +size 1049319 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_02.uasset new file mode 100644 index 0000000..331528b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_slow_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3061337ca8f4d23ce5c2bf41a2b5fb3f6884273112eaff506152bddfc5197ceb +size 980859 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_strong.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_strong.uasset new file mode 100644 index 0000000..3b379f9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_no_strong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5b6d7d209f24be106d6ed843da9224e6a406ccc4a4a25902f045ef93e1936ff +size 930145 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_quiet.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_quiet.uasset new file mode 100644 index 0000000..ec3f261 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_quiet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a27afd895e09d2aad4a7cdb01bf7a885b6918eb95cf76b825a3fda3aae918e +size 949540 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_shrug.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_shrug.uasset new file mode 100644 index 0000000..dde369b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_shrug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a458126e5f4b3c6314463b7f32ede101e02d97a0833521ce0073c96920fdb34e +size 667965 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_stop_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_stop_01.uasset new file mode 100644 index 0000000..4158214 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_stop_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d20763aba98bdc3b7c8c6df90460a172091fd2773df454b1f2e489ff72e55f8 +size 857060 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_take_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_take_01.uasset new file mode 100644 index 0000000..9c11a4a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_take_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54c1ce72f28240b08d4de00db219db309905f84f4cc412f1f45fe6d7150ca8c5 +size 871913 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_thrEAen_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_thrEAen_01.uasset new file mode 100644 index 0000000..da5dff4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_thrEAen_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4bc8e1b7337a736aac45d22bf57ef8a9b819fe7cf0e99218fb5103f8f967ee9 +size 701335 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_N.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_N.uasset new file mode 100644 index 0000000..b859986 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a61e6c6279afa4880ed7af56d5d599ad3499749b2eb92f8d1e42a75dc6f5bcdf +size 1397104 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_sad.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_sad.uasset new file mode 100644 index 0000000..279ad46 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_sad.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4131d14666a413427580880c37f5b04d49ffe87b2737b35e0215e7c552170f6f +size 805567 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_scared.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_scared.uasset new file mode 100644 index 0000000..93699c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_to_scared.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c8a9bca91f3673bb3404f191f5e3da176beb6eab3d2587c94e43f85b6a464a +size 855748 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes.uasset new file mode 100644 index 0000000..b4a23a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aad7782d17bd8e56eaeff6f19546add79dab221b3a0536f79771e41901dd3149 +size 1101803 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yesLI.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yesLI.uasset new file mode 100644 index 0000000..8bbbca1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yesLI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1787a61c351e6d210075f9885d82483d90734a9b94986240196b57457e830a1 +size 778829 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_quick.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_quick.uasset new file mode 100644 index 0000000..0029534 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_quick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfb1c7b3cf436da8421b05d9fcd7f816a4bb234a40c5570908f83b2cadb2d6b9 +size 816833 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_slow.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_slow.uasset new file mode 100644 index 0000000..2ab054e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_ANG_yes_slow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02aabb532dfcfc161553efabbd8e4917c4d45d46a4329c62ba506c7b69ecd2bf +size 1620173 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_01.uasset new file mode 100644 index 0000000..4ddd195 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac6f930abda7afb9bc5274ac103b4445dbaeee9adfaedbb9c403f4685f3e655 +size 713873 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_02.uasset new file mode 100644 index 0000000..cb2a7f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b334e13d0dac2caec14f130faa4c4cf5088d262a641d8d8df2670a0f1afecfb +size 685380 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_03.uasset new file mode 100644 index 0000000..12b33b6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07535d6d459c8ecc9843cd011c25bb89702edc9a215e9aee098df8294a62ac95 +size 876148 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_04.uasset new file mode 100644 index 0000000..f13e3b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766b0eb6bb9eafb542f9a83e1f28e2641531b24632e04f40d88fde9eac92939b +size 870189 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_05.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_05.uasset new file mode 100644 index 0000000..7a92d38 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43155299953795306d81eefc685320db5d83997fd45701001470a905e1601766 +size 950081 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_06.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_06.uasset new file mode 100644 index 0000000..2eb093e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d432f8964703be0903148175fdcce51fd9fa6ede26e47326ecbaa3574834be96 +size 886715 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_07.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_07.uasset new file mode 100644 index 0000000..e6fb5eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaa768c76714e750a73a277b58df917b66fd305e112c8102c27ac31765c0a24c +size 676287 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_08.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_08.uasset new file mode 100644 index 0000000..f38888d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d164683cac05620c2b77805f0f5962a2d1e9d2a604eaff6fd8b67c84798e1062 +size 894653 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_09.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_09.uasset new file mode 100644 index 0000000..bdf73c6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31aaf81ddca302aaa0fa8982bd7967a197d7e7fc3537c8909627cfa2e2f6f5d1 +size 699888 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_10.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_10.uasset new file mode 100644 index 0000000..a343b76 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcd1ac0af7e2a2df68426b24ec6555b403b38cb9baec9df2aebf78b3fdf18ddf +size 535134 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_11.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_11.uasset new file mode 100644 index 0000000..b1f379e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d78497a206a62d4e9ba6863a9376ffef258f9bfc9be37386c75b3e84bed83f6 +size 724305 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_12.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_12.uasset new file mode 100644 index 0000000..c27af3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab58cd1b08a9cdebdedf6cc74b07e06e6c0e19558aef605ed976e0ec2db944c8 +size 921265 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_01.uasset new file mode 100644 index 0000000..fd3be87 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5965f351e0403ea52521b9ac8adb8a7a154e420b9a8fc32d18595c3264e7219 +size 831357 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_02.uasset new file mode 100644 index 0000000..edfdccb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c0de459d487e9d954db4e01042fe487754e0a86dd10e32857d3de95e5e41dbe +size 1179495 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_03.uasset new file mode 100644 index 0000000..5cbe8a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_AP_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b0b1fa0ac2ac65100389814be10a93f43dd66d1ee424158bcad8176dea6ed8a +size 810840 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_01.uasset new file mode 100644 index 0000000..3b87195 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d67cc05c76e2118f991381ab037c01c878d3c393950ebc3a2956928d82699e88 +size 1642745 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_02.uasset new file mode 100644 index 0000000..26e6d00 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CA_DWN_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73270997400230980d4b1d4df08cf5f566542b2399ebaa2bbced424c70adc990 +size 1771163 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_01.uasset new file mode 100644 index 0000000..d4dd44e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b61e3ee9cc8c500864084717a8f9794979e4e3c2c0cc14cfc66b513afd18baa1 +size 839048 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_02.uasset new file mode 100644 index 0000000..a895ea7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_COM_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14e0ab3a55cfa9f0595424e4f067a62808e90c8756894f93fe1382d55c3f871f +size 725335 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_01.uasset new file mode 100644 index 0000000..591df20 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baa5072664097b4841acfc04dcb0c01ec7932fc701b3a32f99ef73087684bf47 +size 2314266 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_02.uasset new file mode 100644 index 0000000..17ffa70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_CO_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:699e24a45e9c65bfc0b33d5138fe997ba7f3bd2b353c7add6b194765cd99adf4 +size 1189959 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_01.uasset new file mode 100644 index 0000000..a80839f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3202f706ab633d39611e07f83f53997d777d60dc9af2088d0efaa491889f6ec0 +size 1249755 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_02.uasset new file mode 100644 index 0000000..f0450ca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DE_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c115a4bd159b59d7b39689d1a9ce901bfabfabb89ab2d5430870706ffb51f09 +size 1484777 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_01.uasset new file mode 100644 index 0000000..70659d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89330bb7a5767b372abba5cf2f2f53d69a0bbfdb4893b7869b23262637590571 +size 700396 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_02.uasset new file mode 100644 index 0000000..fc945f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DIS_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1882a8cc5a3ff633675e452d0dea4b2ea312773d34e2a1ffb296f51a5be2a98 +size 761314 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_01.uasset new file mode 100644 index 0000000..406ac51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b41a728ce7d6098caec42c1e57368a993ed3de32269bb183836959b93aed7af1 +size 1129681 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_02.uasset new file mode 100644 index 0000000..3cefce5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_DI_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a32062b6218dc63d492b9d30ccc86a638b9ad01a2ad853e8d2ad2b462eb01a7c +size 1022801 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EM_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EM_01.uasset new file mode 100644 index 0000000..a0045ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EM_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911bb2dc65a6791b3568d470dc0626251c0b8f3a91b1700e038d040181e2a7e6 +size 1955520 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_01.uasset new file mode 100644 index 0000000..c5f28de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7707c48be24423aaa4f76d8165bce6d4557af6495be784c84dcb1f30b2efb68 +size 3079966 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_02.uasset new file mode 100644 index 0000000..45d4dbb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_EX_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c414070e177ef25b691feb9d0564253ed79e6cf276a56588d972512acb609fb4 +size 3573795 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_01.uasset new file mode 100644 index 0000000..59e267a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:930ec3477e987b524b4ffefddb66833b30c705add506d951e55de8459d789c99 +size 1655001 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_02.uasset new file mode 100644 index 0000000..7a71930 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9ca77de1fafdcf9847f7dbff4f701ac2fc06683551f75ef4c34a9b4882a22a1 +size 1331954 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FP_01.uasset new file mode 100644 index 0000000..df9c809 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_FP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f081cf63e7d9dab82398515855cf1777466a456d305c10d99df8cd9950c1e60 +size 1598228 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_01.uasset new file mode 100644 index 0000000..7591517 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73a1b0568e103e438770599643fa187920bfdec184b5e090998b9539befd47a0 +size 1095270 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_02.uasset new file mode 100644 index 0000000..f0c519f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aab30819d552c0e16b7c9d825f1e6a0a01bb143b4db360af0bb697ca8ec36a6a +size 880862 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_03.uasset new file mode 100644 index 0000000..07bc15f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_HA_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f90825a1a9d0cef7836b0672af30e37162786a33510110a1116ef6fda234dfb +size 1093771 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_IDL.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_IDL.uasset new file mode 100644 index 0000000..9906b0e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_IDL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea3f9174ac6c60e7540dc2843dfeee496e733c60da98a08aabd906449724bebc +size 2498657 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA.uasset new file mode 100644 index 0000000..a5a4694 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d0f00dd99592c169753c57fd78c684b0c3f5ea9eafbd4c14f35bfa72a5f2cbd +size 3210077 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA_you.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA_you.uasset new file mode 100644 index 0000000..9692b53 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_LA_you.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af1946c4388a969e5d763fad3fc11bc12eac7b881e404d48c7742e3b94a9e14c +size 2186887 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_L.uasset new file mode 100644 index 0000000..0c8c30b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba389e8b9a7a5b67fcf6140d3f762e0479e131af5ef18d5bf852f57f43e336f +size 2079153 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_R.uasset new file mode 100644 index 0000000..1bb78e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_TURN_body_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f08ec1902709831cdba2eb7e84580c298d46fcc40b04f3be71a711879bbaf9 +size 1846135 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L.uasset new file mode 100644 index 0000000..d983608 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c0770e1464b5ffae0a2cea405040422fe50761b33c042e8be40e3cf4f804205 +size 951626 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L_fast.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L_fast.uasset new file mode 100644 index 0000000..b22b460 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_L_fast.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:736bc98ae35bde22d74bcd87e0ffd76c23e8e7832cfa01ef52e74507e6b2b753 +size 558282 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R.uasset new file mode 100644 index 0000000..d47825c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12dd5b96d5c334f9b08a17618a7bdceff296a1c0fb58595d361a424199a1d270 +size 916359 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R_fast.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R_fast.uasset new file mode 100644 index 0000000..0224ae4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_look_R_fast.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:254e7e2011b0d0255b35b449f225626ac9531386a093b6f26a3a3717a386b1be +size 641811 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_01.uasset new file mode 100644 index 0000000..6dd7ff2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c94fb9145edc6cbddb455e0981c1ec473e6c46d0020e859fd1e3f0582280639 +size 1406037 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_02.uasset new file mode 100644 index 0000000..11ee26b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ff8ecda3a89dccbb628c63151656f549a24d4699d93db41a9c8607bfdb8f741 +size 1044569 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_03.uasset new file mode 100644 index 0000000..d1e0281 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_nod_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f180ca61371c4b5bf4bab1e74d3c73f0b4823f7005349f2d9bef142b3e6ab910 +size 1181071 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_scratch_head.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_scratch_head.uasset new file mode 100644 index 0000000..322190f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_scratch_head.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9f44a8c394515ca2a2f44f8f17f48f03f94dda80d35400b6066fa01b49169b6 +size 906653 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_tilt.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_tilt.uasset new file mode 100644 index 0000000..637478b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_tilt.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:030376d5faf5b2689970764015168ff90508a34d54c386f740ffb93490b064ae +size 2080622 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_touch_arm.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_touch_arm.uasset new file mode 100644 index 0000000..2f4e536 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_L_touch_arm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e960ed2c5ffd51bf6969921e9c419c5d779a94ab8a888f583e03f3b6fa740f1a +size 2123017 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P.uasset new file mode 100644 index 0000000..b36e961 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc991c45c34f59393f6bf8606e4f8c0bd9a0633c7a3c9a928a4d8c6d7793d4b7 +size 1214789 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_close.uasset new file mode 100644 index 0000000..736c7dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ce067cc84edd61a67aa3d6113e81655fdbe9dad49a389186cb623da50bfdd3f +size 810107 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_far.uasset new file mode 100644 index 0000000..29e10ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_B_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e586fd0bf158e1102603075e4eb2c54895bdbb25746188cbed8efe74121c483 +size 1082350 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_close.uasset new file mode 100644 index 0000000..74a490f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae9b65548cb826aba2fbfb1ebbf4ee5cdb44034e55f4ed77faadae8e861120de +size 699818 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_far.uasset new file mode 100644 index 0000000..e92d3e6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_FWD_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46ba4749ebee9af15409c249a3740e63610c33b0bad193961d041d905b71e015 +size 749400 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_close.uasset new file mode 100644 index 0000000..9f73462 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1ed54d7e5163d5c912f83220e34a45573d6904fb75b8d43152a077fce523e2 +size 803190 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_far.uasset new file mode 100644 index 0000000..519447d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_L_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f8bcbf0c39d07882e0798c5b1740c595e2675dc47276dbed7dd6c05596a83d1 +size 945758 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_close.uasset new file mode 100644 index 0000000..d568232 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4fa61a7b9d9816876b23f0bd11be37c95a89e9851ee3d7cfc6d67f6f6a5dbe +size 825392 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_far.uasset new file mode 100644 index 0000000..03f8e50 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_PT_R_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:746249b234f615223b5df26ef078e711c82f99fa87f136154b7fa836b5c54579 +size 846359 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L.uasset new file mode 100644 index 0000000..e0f8376 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b78af03924a1c3a357f58fd8b89f4c6ac15f7762653834f3c0081ca61ea772d +size 3492715 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L_arms.uasset new file mode 100644 index 0000000..f098ba8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_L_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41a0dbc4b8a0e4dd439cb8a474be35b9ead95f0e12bf49378cdeafcff5fbcece +size 5046964 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R.uasset new file mode 100644 index 0000000..cc87c71 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40459276b980222a058abe4e3c53596ac13b917b993c11cdc0c573aa7e38ab90 +size 3442460 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R_arms.uasset new file mode 100644 index 0000000..5da6e7e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_P_R_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51b44c192472b9171f21dd7f9a96e492040279a54fc804d1d0356528a9f24ae3 +size 4982910 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_01.uasset new file mode 100644 index 0000000..a2393c8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50b7450295cac723f9b131ab69feb2e36908749efcac30ca7aaba87ae17a7b91 +size 1024440 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_02.uasset new file mode 100644 index 0000000..edf41de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_QT_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec9bb207df72f7cac1ead0102ec72d2c7111f1a7c281e22d48da5aabd6664ab9 +size 1239154 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_RZ.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_RZ.uasset new file mode 100644 index 0000000..9f41e93 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_RZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2165519c468c7997bf326bd55b22d4f7a94861b8699bc4e2e999d7c91171871f +size 806385 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_01.uasset new file mode 100644 index 0000000..17ac576 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5edfa0220be113b393fbc58c16edbb3064325a675ee93257b6249470dce8a8e +size 1805427 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_02.uasset new file mode 100644 index 0000000..6c3f51f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_TH_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5606aa9ead25a3dd15df86e013806002636c373cd55323a60e8813cac6015367 +size 1857048 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_01.uasset new file mode 100644 index 0000000..03831b9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:445ec2e608e16050230cb1925cbe6c0c220c0afaad190329d35a35cc03ed6790 +size 775450 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_02.uasset new file mode 100644 index 0000000..7fe9074 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_dismiss_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:068c148e7587a78d857873d9f5372582bbe1d5f021b85679cb28a861444591d6 +size 820932 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_give_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_give_01.uasset new file mode 100644 index 0000000..bf1ea33 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_give_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:871051a147ea79cf39941457d3a8a3b393c4bf809042a73aaf98a7c682956c55 +size 1140264 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hah_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hah_01.uasset new file mode 100644 index 0000000..5c848d9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hah_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f24d0fe64b837862e247501a0e363046a6e3098b548981b4ec7e9e9f86a6ebb9 +size 575309 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_01.uasset new file mode 100644 index 0000000..41a5634 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bad6c9e3a6c7567ae47bb216256169be1ef5e4721c2b6a7481c3759bfaa9554c +size 1613204 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_02.uasset new file mode 100644 index 0000000..cc4c1cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_hands_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4162a9c87eaf65114d27a4199be1ace287386a1b33d755c9595cedab2249c7e1 +size 2193257 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_brEAhe.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_brEAhe.uasset new file mode 100644 index 0000000..8d169df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_brEAhe.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4de0003f5a55e94f255fb1ff318fcf3d8e4ce8c76bd44a6a8adb90955b66155b +size 873477 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_lowered_head.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_lowered_head.uasset new file mode 100644 index 0000000..f3c0e43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_lowered_head.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c079b82a5768331c6bb71b694d90ed17746eaa2a27f1d4dbf025f87feac198a +size 925444 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_quick.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_quick.uasset new file mode 100644 index 0000000..e1b5537 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_quick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb6d0f4ad535ffdc5fdc81074a102c5030ef97303e489fa2a4b04cc17304f860 +size 474394 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_single.uasset new file mode 100644 index 0000000..889e69e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_no_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd21f99c2a9b095a672bb23aef8ed45aafa4be11d6ca6550823bfed74153929 +size 465384 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_quiet.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_quiet.uasset new file mode 100644 index 0000000..169e22a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_quiet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f76c922d15fe1c716be386bc734b48d88088f4413a4e1124a1f7652948cbe20e +size 769825 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_shrug.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_shrug.uasset new file mode 100644 index 0000000..83de37f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_shrug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:509dbe5df795c310e7115c8c31319c7b6c8186eb8754f1b0faf0aa5487a926c5 +size 735995 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_01.uasset new file mode 100644 index 0000000..ac06829 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a2cbd95fbc46a4ad2045fb216b814224716af034ba773394e89f9a99a476b2 +size 988114 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_02.uasset new file mode 100644 index 0000000..c9f741b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_stop_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f7dde680987dd6e19f7b8b434c030fcfde66a60ea6b350ce782308f9b82df12 +size 1251992 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_take_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_take_01.uasset new file mode 100644 index 0000000..eceae56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_take_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a880c1eec2a3e4aaee7c0c5025c88f6f1bd54f6ec661da1b88a28c6bcd9b6e83 +size 738878 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_ANG.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_ANG.uasset new file mode 100644 index 0000000..0c01f56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_ANG.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51f248538fcfdcaddb8b3e1161ada10f3f6570c097ebe7d0ebc0f264307b2db5 +size 1286381 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_sad.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_sad.uasset new file mode 100644 index 0000000..943568d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_sad.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc72f81d36591b7255cfb16612711c8a8278069f2689f119cb1bf49805ab5693 +size 1375187 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_scared.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_scared.uasset new file mode 100644 index 0000000..6bcc54e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_to_scared.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dd9cbcb16952a46878139626c0d77551165cb1e3d5a1c57e05aacd098cadf92 +size 1081620 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes.uasset new file mode 100644 index 0000000..5df0c61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee03adbe2dce3f67d57720a04055ca26973c71c45db51ca4e125619315f081b2 +size 533650 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yesLI.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yesLI.uasset new file mode 100644 index 0000000..522c16c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yesLI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c50798f9c0724d4ec4d042cdd96116bf7eaabc051cd4b1814cd7a7b395ce5c89 +size 374898 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_long.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_long.uasset new file mode 100644 index 0000000..aae89f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bae6e4ab0f2e753a96ae47fe9a031ac6b217fc44b0e569473df7963a7ec5813 +size 1087671 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_quick.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_quick.uasset new file mode 100644 index 0000000..7dbefc7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_N_yes_quick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aed25e070f925f3e39d46b09a40219e298cef4e34182fe938b7492ebd2d6941 +size 375223 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_01.uasset new file mode 100644 index 0000000..77ff813 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04581052ec572960a9bef3e5fbf7f32c7b030b72001db16ab30a2ca6b583a326 +size 743546 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_02.uasset new file mode 100644 index 0000000..7dd46fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:328380456a6748e7ee1ba6f628e02d58ebfcc014a06aaef1f65ed112ffdc51df +size 1442751 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_03.uasset new file mode 100644 index 0000000..d3b0ddd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12315f51bbf9164ec927d71cbfc7ed1ba659096e2ddb3c3dbfbf3b176c024113 +size 1185108 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_04.uasset new file mode 100644 index 0000000..c13880b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56938c6dc0b9ad9f1367d8a3bbf415ccf6afaecb74cdf6236922ff71a30430ab +size 1198145 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_05.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_05.uasset new file mode 100644 index 0000000..6c5420f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7899a26f12ad57acaa99297177c4423f1b3ac87ab76f9082985315caf775f4e +size 1445814 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_06.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_06.uasset new file mode 100644 index 0000000..baf2272 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fefdd69043f29333394eddeb6206b3c6044e37799ec3e13d8487105592a83ee8 +size 1219627 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_07.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_07.uasset new file mode 100644 index 0000000..d461386 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72770b21c2d88c4ed7b19c4784dc9e6f92cc332e7bb540b75ac40ad083d5116b +size 1529137 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_08.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_08.uasset new file mode 100644 index 0000000..bfabfb4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2825f98a6cd412e201511029a7796f46dec938fb11a5a50d32eb29183371d108 +size 1363741 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_09.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_09.uasset new file mode 100644 index 0000000..0e26eb1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47c9b765c0e84452005d358582809dcb517147afcf8f78e8af83122eeb234f20 +size 1526754 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_10.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_10.uasset new file mode 100644 index 0000000..9a630cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96c34867c0749e2a884b8ba7805ee4276898a0b444ca27de1d7e7cb417fb6dbb +size 1303330 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_11.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_11.uasset new file mode 100644 index 0000000..f4c4b1e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:996099dbe14ade14c1d79602540afd5960bfb30e7cfcbb24a42cd3c1944a2c96 +size 964187 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_12.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_12.uasset new file mode 100644 index 0000000..a5ab155 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f413fef2b0da1a1ef8e7e764f8fb1d0240e3ce29be1cc55b8795fa509dbb8cc +size 953736 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_01.uasset new file mode 100644 index 0000000..aeadb1a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d159e05f63b589c199b3633253631fc68ed9a6de00f9916a6cdc1716b439c5 +size 1137951 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_02.uasset new file mode 100644 index 0000000..4da6e3f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_AP_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1d3bfb6fdcc2b2ec15102a0f4a2157d7944527f02864cc5f6e2e85836dd95b2 +size 1481603 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_01.uasset new file mode 100644 index 0000000..91b7a24 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:896c74fba57084662bb45d108ca09bae9eb9fa4a4cf7fd118e86ab2d9f20311c +size 1424125 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_02.uasset new file mode 100644 index 0000000..c2df636 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CA_DWN_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58a7a32e8401ab47ee2a56645ffcc5d98754ca2e42d9fafa4c5e28b6939af183 +size 1506225 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_COM_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_COM_01.uasset new file mode 100644 index 0000000..f642bfc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_COM_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cee25ef58cbb0c26f9e1448a4d39652ae3373020c95f891900b26d9334cb0e7d +size 1701513 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_01.uasset new file mode 100644 index 0000000..93779b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dae7435ed6e7f1cebcf979b42ec407a1dd44da59f7ec16d9f268f9f9aeb279f +size 2337626 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_02.uasset new file mode 100644 index 0000000..578bfde --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_CO_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97aa8ec2d24cbd2a94a48f00e03d697ac9f0d11da600b80eac53c5e61ae309b4 +size 1383394 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DE_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DE_01.uasset new file mode 100644 index 0000000..b64b9dd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DE_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:363f14037f4d531822751c43a4d20c01805ad82bd210e4d74573015e250de0f5 +size 1851449 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_01.uasset new file mode 100644 index 0000000..2fd0d80 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398e1334ca616352d4722b76be76086f95d8a5fe1087b1e577daa7451cf04d9f +size 1059694 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_02.uasset new file mode 100644 index 0000000..fd8a078 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_DIS_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70dcfef12fc0bdde5fa9f750f5bce3e853ba187dd5341bcbc232b9bd7efd75c2 +size 717048 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_IDL.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_IDL.uasset new file mode 100644 index 0000000..9629a3b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_IDL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a6ee0e3c896303d21cfbf00a5368080fdcfacd8cf7448eb239adaf35c3d469 +size 1459930 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA.uasset new file mode 100644 index 0000000..05270a7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0e59b9a6e7ccfd719ee48d8f76b88368d93b17ecb87557ac365af225c5905ae +size 2540300 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA_you.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA_you.uasset new file mode 100644 index 0000000..1a8114f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_LA_you.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b57c52da4cb6599bb6053af902f71d5f8a1970681dfddf0da1945e6365e9fb8 +size 2499181 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L.uasset new file mode 100644 index 0000000..c2615e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:022382883718ed916ddd54c2a2470bf6c72d6be23074db31bc1fae917187188c +size 1241332 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L_fast.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L_fast.uasset new file mode 100644 index 0000000..63d40c0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_L_fast.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ecadf095d33cc451a698d18fd7114eafe8f72aa0f516cc5fe3583d03d509f7 +size 652717 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R.uasset new file mode 100644 index 0000000..6ec8fb7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5deac4d0a3bbcf21b56a79179484d09b4da8f352988fd2432578ca77db03fab +size 831579 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R_fast.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R_fast.uasset new file mode 100644 index 0000000..339b4c9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_look_R_fast.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7b984f07743007749c10448c34d326b5384ba5e3fa773519ec7894f0613ffed +size 896708 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_01.uasset new file mode 100644 index 0000000..34419fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c08e3f7279d91b13d69f803b66dfea98366713481f3350589345b6c7bcf532a +size 1759226 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_02.uasset new file mode 100644 index 0000000..522c813 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6e052fcfbeb8809de2953af230f124dc2ff347c1b5b1ae8c9ebe42819514f46 +size 1668610 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_03.uasset new file mode 100644 index 0000000..8adedb8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ed4344c718901112083760c5dc7faf1d3c1d8ce84e1b43c60330420967e574a +size 972934 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_04.uasset new file mode 100644 index 0000000..cd9318e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_nod_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5371d97138b117b0ff4710d24db152193786880233c12c44c48423a30989cb4b +size 527702 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_01.uasset new file mode 100644 index 0000000..c5c3b79 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:132fc4d57c58aa38c60c9f141c370237fa21643da246a6f91101407fc49e0d36 +size 11198849 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_02.uasset new file mode 100644 index 0000000..cafb49b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a8252adff29f7b97aa471f06ee8c883af567c798a0c25b4cb3362158aaa4aca +size 1007652 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_03.uasset new file mode 100644 index 0000000..2ea019b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_shake_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f628549114f66a1242c4128cda760f279e79ec01387f5711d71c235d8b100ed3 +size 766784 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_touch_arm.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_touch_arm.uasset new file mode 100644 index 0000000..e0347ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_L_touch_arm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0141eb825dd88fa48f8d65acdfebe3d814cd3f34fbef960b7ad289564ce3cefa +size 1920775 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P.uasset new file mode 100644 index 0000000..c5dfa94 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:254af1ef636dcbd26dc0d701c8c715bc4405451ad696315c5fda430427344fce +size 1437308 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_close.uasset new file mode 100644 index 0000000..ea9215f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1687713bbf6642f17bebf7a61e9e409e329a32fb52524ec48f7e6bd84a50cab +size 1105794 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_far.uasset new file mode 100644 index 0000000..763fe17 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_B_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e44121b9ac9cd40080cb4d2579a365e6ba4348a0d3adbba43071b7587eee6bcd +size 1247605 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_close.uasset new file mode 100644 index 0000000..76319ef --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27fc8da5376ba45db8dc23c9de662a63274e50fb0c6ea9d7d590e8b88620b6ce +size 916432 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_far.uasset new file mode 100644 index 0000000..950be01 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_FWD_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e25ec45e12f6a48bb86e90d3cce20423d94d726aaf34192bb523c8a9327de2ea +size 1142074 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_close.uasset new file mode 100644 index 0000000..bf72c54 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96e64ebafe5b7c252ca0375edd4555e2f7d3eab6ff66b258a6f1a8f2b04be9e1 +size 1061827 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_far.uasset new file mode 100644 index 0000000..f9e61ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_L_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebcc4699fef20acc4500122f64991110f211e5b8eb9546214f7f8be0847da32e +size 1123439 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_close.uasset new file mode 100644 index 0000000..6dbb44f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:733566edd19b179dff60c76ab62e17cbdc9e8424fd27c4e7da5be93b7d73fc92 +size 1031687 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_far.uasset new file mode 100644 index 0000000..d2577cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_PT_R_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fd0d20994ee4651b1da6c381249c0540aa1f5a10e21594f66cc3fc96a3f22b8 +size 1046217 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_01.uasset new file mode 100644 index 0000000..4d127b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b54c3e3d067790021c0202792c464bbef6099ac1de7c1aba32d8f3ed348b9d0 +size 3247155 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_02.uasset new file mode 100644 index 0000000..834e639 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_B_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:178fc0ba9bb0fa8568ac12916096b487448c9309cd9ea155652fa7018dc86df1 +size 2683569 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_L_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_L_arms.uasset new file mode 100644 index 0000000..172aba1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_L_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4884cde0f090b7a45d2682fb982689b162f0e62316040f992a25b2300059f4fd +size 4244308 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_R_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_R_arms.uasset new file mode 100644 index 0000000..4836042 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_P_R_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a43242edc6eb09ddf633eefec0b3041905cc0cbfe3c2dd365e0a37227de7d321 +size 4603668 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_01.uasset new file mode 100644 index 0000000..1bdf5da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa1b90822f48e25dbb528d4ec69e08f6c93bb4acb80b087f56e69246742625c3 +size 1130976 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_02.uasset new file mode 100644 index 0000000..cc4538f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_QT_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:846f2a2e720ba39d3b3bb000bcd0be941f16d8af2637ef988c6020f929b2ff9e +size 1024760 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_RZ.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_RZ.uasset new file mode 100644 index 0000000..2cf5d57 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_RZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b5334762aae8f02b8d85f42c31ce30f1fc9ed28cddf6fd7ccb4326815b122df +size 1141511 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_TH_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_TH_01.uasset new file mode 100644 index 0000000..95e53bc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_TH_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d3d4d39cda9630b84012c30d151101e94979463c578acb29f3a23198f0b19e1 +size 2397896 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_01.uasset new file mode 100644 index 0000000..ce61082 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45ccbbe39a8114d8c86ba100ff620d35cf1c2d73afc70b11a701b0b8dd9db501 +size 1028197 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_02.uasset new file mode 100644 index 0000000..4e81511 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_dismiss_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5ad22b345075293e70e085c30f97d544bd866a0c0d1f10e51987dcda2c3cd1 +size 996887 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_give_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_give_01.uasset new file mode 100644 index 0000000..5cb3551 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_give_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0067a0586c2cfd5e94513cd13cc2e4ac56e43e9533a6ea605fcc5d8143693e0 +size 1289895 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_01.uasset new file mode 100644 index 0000000..d022968 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12bf238119f29c212bd4d6e8cbcccef52f762c09086fc5d2d7107285f5ab7ac6 +size 2650190 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_02.uasset new file mode 100644 index 0000000..c1856f4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_hands_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e79a47cbe68cc33a4d6ff01ddeffa6606d3a6b97cb963e945b27016bd3a3fc +size 2648140 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_long.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_long.uasset new file mode 100644 index 0000000..14176c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a70bf33dd983b9d9206d7b4cb17d58e10b43c66c6c868addf3231c53a8e3e8 +size 1233914 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_quick.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_quick.uasset new file mode 100644 index 0000000..9db284c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_quick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:792b4fdfc3b15e5ce7d721c700890f3b3b29a2e8893b77f6fd779f0a52fd9cdb +size 520242 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_single.uasset new file mode 100644 index 0000000..8525b8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_no_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:648a2deb57edfc68f9cb2d877e42a659725167af571af654137a443962c700bf +size 372054 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_quiet.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_quiet.uasset new file mode 100644 index 0000000..14e5ee7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_quiet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ebfb66b817c31db5f51c45c378c6f6050a301a2b077d9c467c6ae427e40679d +size 1771542 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_shrug.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_shrug.uasset new file mode 100644 index 0000000..cb93140 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_shrug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edbd9397fc4cfe69cc632bb469a3ea1d1b3d1c5b80b72f1848d76ea3e94e1057 +size 495353 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_sigh.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_sigh.uasset new file mode 100644 index 0000000..aa74ffa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_sigh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53865292ecc06468f908655312d64addf2afc1e10cd5d1a8d6f654fd1f0d99bc +size 1103235 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stay_B.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stay_B.uasset new file mode 100644 index 0000000..f84a178 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stay_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1a77be92682c73d2a53070b801b75463156516efcf383ebe5e55b852b369d7e +size 1666145 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_01.uasset new file mode 100644 index 0000000..c125cfe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:209c9c013a760a4582b10301688792ebfed0ce893e80c8084966b3aa8600d93a +size 930684 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_02.uasset new file mode 100644 index 0000000..dc9c8ec --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_stop_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85565deada4e1feebcb9c99917f0191d52f57fb8dfb20c594bf0e8de87434f5e +size 1074600 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_take_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_take_01.uasset new file mode 100644 index 0000000..94dae2e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_take_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25fa06577b601a49ad967677501bf4e818fdc2f7b5fe763f74233db12d401169 +size 1299018 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_ANG.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_ANG.uasset new file mode 100644 index 0000000..21f7d16 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_ANG.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9619fb5d6597ab4b82c8af0f09711a9171c9f4a654ca3f76341d4b6170c2e55c +size 1484762 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_N.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_N.uasset new file mode 100644 index 0000000..edc16fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9509ac68011a4138199fcaa1ef27ceb3a83316c29e9452c0d98577c0771fb8b6 +size 1346439 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_sad.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_sad.uasset new file mode 100644 index 0000000..09cd717 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_to_sad.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:383ca88557ed85f93c881d1d2a8c13468d7ba33f2815c92e6260992bf93c7757 +size 786024 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yesLI.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yesLI.uasset new file mode 100644 index 0000000..6bfcf22 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yesLI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84776cc84b18bfe125b70381a1cf62759310f5b3f0163ba867623f6c48e26959 +size 407688 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_insecure.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_insecure.uasset new file mode 100644 index 0000000..6811bf2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_insecure.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caf7e06a5472de5269feddd3da69f72cce0f1273f9e670327ebe5499d35553bd +size 853864 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_quick.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_quick.uasset new file mode 100644 index 0000000..dcb0258 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_quick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e7e48275ed8738c49c343991761d5958acccc71e6de4e12f91b0ea4f8cf4356 +size 534290 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_single.uasset new file mode 100644 index 0000000..cd8ebe5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_SC_yes_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfd333c9c30c36e23ff76e5c76daef46c48e229d7737d16c3c331b043f4f188f +size 422992 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_01.uasset new file mode 100644 index 0000000..c6fb614 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a64f9e54f2a24a653e115012498b9c44c16d248b2fe8daf0619fee72a146474a +size 1271223 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_02.uasset new file mode 100644 index 0000000..e74189d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:954b5dab12c671012ce8351d4be8b0090cb4a9699a2b462869614ceed5bf4d38 +size 1038283 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_03.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_03.uasset new file mode 100644 index 0000000..82d20cb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa1f3cb326cfee920415fc5079addff3a9d2680a1705cd40c9a50c947593465b +size 1372952 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_04.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_04.uasset new file mode 100644 index 0000000..11519a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40bbeddc0a2dccbaae2a233ab6a4dcbf79dfab6fe2098f11b59f5b7cefe0d9eb +size 813373 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_05.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_05.uasset new file mode 100644 index 0000000..a509623 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b168d256280b8e5b932aeac01afe749e704449f4b54905a31a32caadad40301 +size 1328267 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_06.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_06.uasset new file mode 100644 index 0000000..a9f9642 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1687f05941c018619f8beee0d4facf07a94644929035213406e84b7ce15e0fe +size 989229 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_07.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_07.uasset new file mode 100644 index 0000000..74302b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f354532c29536102f1dfc99deb8abcd7b9c1e82fd38d2a72e63fe809453a0da0 +size 1427731 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_08.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_08.uasset new file mode 100644 index 0000000..c97287c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcbcc9cd87fed2895915afaa2c21a2d5060ee30d3da25b869e51b57b3e7dd609 +size 739468 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_09.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_09.uasset new file mode 100644 index 0000000..70c1d59 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed6639e5cfcd2b227e3f149b3a25f10009456eeef325b437099aed589467eeb4 +size 1002456 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_10.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_10.uasset new file mode 100644 index 0000000..1c1b55a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b62ef49d03e1d231e929a052300b5c1a22a69c12b543b9c2af0bf54fd932d6e +size 1981283 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_11.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_11.uasset new file mode 100644 index 0000000..7e40a79 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72a44c0ee0ef7a1e5209fa73ef90be1a754211d89c9068fa06179e14e3a2564f +size 1227808 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_12.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_12.uasset new file mode 100644 index 0000000..25b86e3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea8cd229cffa4b274935fd1b9aa91ef6bd0eaac28731bb8cce2a2d33a7984a0 +size 1880057 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_AP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_AP_01.uasset new file mode 100644 index 0000000..be3eb07 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_AP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fcad2eb8c942a89a8d2a8c844e276e64f42d3682a0aa7289b80a4a28ec2596f +size 1360596 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CA_DWN_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CA_DWN_01.uasset new file mode 100644 index 0000000..03b8ac7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CA_DWN_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471d89f220d35b1dc8fc4619120a335ee1ceb7d1ab65eeaeb8f360e47da9fd74 +size 1481106 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_01.uasset new file mode 100644 index 0000000..9f94291 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f0cd09d0787a773431cf8da2823f8c47501f59c6242e19bab28a4bbd93c75ec +size 1648481 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_02.uasset new file mode 100644 index 0000000..7cf8a03 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_COM_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0acc8114f812060e9df0700095ebce936ae708ff5e7fc00f3a85fe934747285c +size 1471032 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_01.uasset new file mode 100644 index 0000000..c624ee1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baaf01edf5115458445c547c9dd47d83ada5761a8802470438e27581032da508 +size 2678114 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_02.uasset new file mode 100644 index 0000000..0ebc37b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_CO_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:176913e179093bcdd642629c8bf7f280857afab086cfad633d50d09cabd6a748 +size 2700423 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DE_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DE_01.uasset new file mode 100644 index 0000000..95a94ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DE_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fd890700e1d6d683dcb21a208084737dab386675a68e9452c259f094c45407b +size 1110982 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DIS_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DIS_01.uasset new file mode 100644 index 0000000..77a52bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_DIS_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e540e3df24a94ce6c4baf8871b4d55e4ab5d2ef8115d31b72ee7b2548ca07fb +size 1638692 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_FP_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_FP_01.uasset new file mode 100644 index 0000000..8eaa730 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_FP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc8d4b029781a4d819bfbaba98bcff66ca35cac91d97cc25cc8d6fb95f8b0142 +size 2937244 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_IDL.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_IDL.uasset new file mode 100644 index 0000000..d113421 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_IDL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7325ab4f457a181ee87e55d92cae398898ad20bcf745c571e9c68bcbca37fcfc +size 2556320 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA.uasset new file mode 100644 index 0000000..95e9663 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4c1ebc4b95ee961e972eb631814930e3ea2edd501a186e589a3f6f9b3d5166f +size 2387835 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA_you.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA_you.uasset new file mode 100644 index 0000000..5c921cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_LA_you.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:480d9fd1d909653304e945e2f818bc801dcb30d39d61a9521ff95d5e8ed8154f +size 2053276 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_01.uasset new file mode 100644 index 0000000..007ff37 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2010532147dfd8d5ff3efb858dfbb75eb5fa9e8fce97a84efa284ebba6510eb2 +size 1677476 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_02.uasset new file mode 100644 index 0000000..74d43c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_L_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc8cb2883de6a9d0cfa11da1fc2b70b544e17b152be7e11a5d1644ec16e6df63 +size 2161578 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_01.uasset new file mode 100644 index 0000000..e10dfcb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba11c9fd0a62597796070d9618f75ae66ec8747c599fc6401b92a48b7cf21d95 +size 1643382 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_02.uasset new file mode 100644 index 0000000..ef3aeae --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_look_R_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cd6f40411be9b16f500e156490c2be45e87325ca5feed1152d827b61049d298 +size 1837974 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_lower_head.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_lower_head.uasset new file mode 100644 index 0000000..53e519b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_lower_head.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1312da0bdae3a8d3790aa34f92e9878be69cd2d106db44a8ebd60b92d124bec +size 1469362 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_01.uasset new file mode 100644 index 0000000..dfb6f84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:076fbc1ab70e3d2aaf0900e2855f4b13f45602cc1ca1fcdbda1527b370f12531 +size 1300376 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_02.uasset new file mode 100644 index 0000000..bd3e2eb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_nod_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dccb26bce770728ec618669688b948696aef77aa85e9b9b4c8bddc7b1ff6e25c +size 890435 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_01.uasset new file mode 100644 index 0000000..0f2530a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fd2498d9fa20958113895b37d47bdbb2381d28e94a904b2eb0f53ab3cfe2be1 +size 1188876 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_02.uasset new file mode 100644 index 0000000..68b6cdc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_shake_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:850b2d1c28fae9635ed394ef46ee59eddd6c0d417666bba58351c0a8018c59c3 +size 1069468 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_sigh.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_sigh.uasset new file mode 100644 index 0000000..f11e9d8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_sigh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9440b83de3ee76e57ded4cdaf74bc6eea6fb9fad7a8f47d8ace5396924c74890 +size 991358 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_nod.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_nod.uasset new file mode 100644 index 0000000..ead8e68 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_nod.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d300894df376efc7c14ff34f277ca2ae3e73dcfdd99c53b93d9d66ae296b494 +size 1522679 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_shake.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_shake.uasset new file mode 100644 index 0000000..66db4f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_slight_shake.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93df35098b6fdb4f5c4a38c70884e55e8124873a52bf3809493b6143660aa1d2 +size 1374249 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_tilt.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_tilt.uasset new file mode 100644 index 0000000..b1dfdf4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_tilt.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4ee57bda268761daa67b5a14057d79d4995ad981a46b05122eca7c11399e2ff +size 1266550 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_touch_arm.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_touch_arm.uasset new file mode 100644 index 0000000..9a54946 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_L_touch_arm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ef6b7a06724a414befd2a026fb7a53f4ccac03c56be8575281f7e7ae9e5074e +size 2321334 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P.uasset new file mode 100644 index 0000000..d06c9ed --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05cd3a1eb47906e7dfe1351758be65a91f5ab696e3b242f3f08703e7673b46d6 +size 3026725 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_close.uasset new file mode 100644 index 0000000..ec5fcd2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14eeb84e26cbbe5ebc10213aca742f5cbe2be3a7940e9e6e04dd029e0b4868c8 +size 1139849 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_far.uasset new file mode 100644 index 0000000..dbe5b61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_B_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bdc705e32ce42e1f77fda9360bed6f8909bd33cc6688d4899a92a414fe01175 +size 1444894 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_close.uasset new file mode 100644 index 0000000..44001e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67e29bceb45894164eb013599b5935b5a799e24f718b6a36d22fde15851e14f3 +size 1282356 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_far.uasset new file mode 100644 index 0000000..7c479ba --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_FWD_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bf4dbc74955f525496c07eed789a76ec99c6627bb0e0f54b7c00e041b38e0e9 +size 1206373 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_close.uasset new file mode 100644 index 0000000..e3e7fd6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d48bdef535b1b2f213fc33c9c6a1750b4ec0a024d13aa3a38e764c0f8a9c3a8e +size 1377803 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_far.uasset new file mode 100644 index 0000000..755c8f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_L_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f542d86471f025a93b4ea644cf03e3df93c2d964b1cdbe959d040ba6f20bfa8f +size 1449221 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_close.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_close.uasset new file mode 100644 index 0000000..78dab95 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9c0483a31d37133c0265f9d2aba4f297e21dac2e26d9b71f96e026ef6db4f86 +size 1453171 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_far.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_far.uasset new file mode 100644 index 0000000..1a162fe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_PT_R_far.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9811ce47400f77bac5729d84ac473e7cda2df4928a535e21bda0e8ffab2e40ee +size 1723704 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L.uasset new file mode 100644 index 0000000..c936188 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54092241b9d46cd160a5ad2121422079a8bc1796dbb142b23ebb46d59c66e9cf +size 3485323 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L_arms.uasset new file mode 100644 index 0000000..306e39e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_L_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49d6a05bf3c0af5843430f9a8f34105dabf318170e336325180c922658bff71f +size 3700872 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R.uasset new file mode 100644 index 0000000..04cb8be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed4981108384b269f81d787575ad0a34be079c4abe66c076dc1c7b75bbb8e5f8 +size 3143177 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R_arms.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R_arms.uasset new file mode 100644 index 0000000..b83e29a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_P_R_arms.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db9a53c89c4ba664c45b6a6f41aebbef32c105f934303f7cfc1474ad42087d8e +size 3782236 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_01.uasset new file mode 100644 index 0000000..752b414 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8dafefc2a4e84632ce5b288233a5d70fcfa7ff1cb952e71dcb386e26619dfbf +size 1548399 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_02.uasset new file mode 100644 index 0000000..ca4158b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_QT_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79ec4cf1cfd00fc5eec219c145b0de712802d9a4ea430278de398974cf682c69 +size 1565732 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_RZ.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_RZ.uasset new file mode 100644 index 0000000..680b039 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_RZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9794745845c9b28ec24b31c6d5398c749f6c298355d4e1e28feabe9ebff5a11a +size 1881082 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_01.uasset new file mode 100644 index 0000000..2944ec0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9faa64f30ee7637a81d7cc37581f25a8e511b86f8acbbec5b2338fde187e2ee0 +size 2257009 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_02.uasset new file mode 100644 index 0000000..31f21c2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_TH_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c4b881f7d09d9522ed3f3b895530adfeaf6427efd2ba292982c127de1dc896c +size 2801730 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_01.uasset new file mode 100644 index 0000000..7057a2c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b02251b809b927beabf8b542e26d347d5cdd990d3270b768b67d54e6c8283d3 +size 1229088 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_02.uasset new file mode 100644 index 0000000..816bc40 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_dismiss_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0ceb0c3d1f04c5165c7296fec9bb09056b8906e1a15fa18e783e74b49090cb8 +size 1279002 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_give_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_give_01.uasset new file mode 100644 index 0000000..4d70fa5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_give_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:304fdaae09548949d171f297f846fada1dca094daf0890571045f6063d6a6c86 +size 1634874 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_hands_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_hands_01.uasset new file mode 100644 index 0000000..3613061 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_hands_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6157f98f83eb2b547d7922b78b2804c55c1c83e81dff99fc74a9b61e8531230 +size 1656695 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_disbelief.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_disbelief.uasset new file mode 100644 index 0000000..dde575e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_disbelief.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:627cf3f9745b42b39228885b76cfaf3777993178d150a49ef968ec6ff899b4dd +size 1666672 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_lowered_head.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_lowered_head.uasset new file mode 100644 index 0000000..e12389d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_lowered_head.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e23975f6b8e8167ba9a9472e8229ebaa3ff9af950ffcb56bbea0d56b2a9e15c +size 1408638 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_single.uasset new file mode 100644 index 0000000..64ed1e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b01ae9b70715ca2027fdf9ce21bc1c3b3404ad1e834373cbc84e05af90cf4ea1 +size 1021977 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_touch_head.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_touch_head.uasset new file mode 100644 index 0000000..3a52e84 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_no_touch_head.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29e1394590ecb371d344113896958f82fa25faa09bd5d82eae7517fa9af73c0a +size 1819976 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_quiet.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_quiet.uasset new file mode 100644 index 0000000..06273ab --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_quiet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c02cdd4d74782f917d5effb9e92f3fa3d123c985c2f30bc029819bdde49213c +size 1615807 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_shrug.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_shrug.uasset new file mode 100644 index 0000000..8d593ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_shrug.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33cb982d40cac42382b3423d37267a622706f90ad1cd8c3c73b683cb5da47f29 +size 630079 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_01.uasset new file mode 100644 index 0000000..269d4c5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c155b08f4b73bf7a88e2a4dd9ab7e4ee149bb7332e64d7c00dda8405da3bdd +size 913880 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_02.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_02.uasset new file mode 100644 index 0000000..b22b81b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_sigh_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f624a158f132f9f3c1f8b5310a58390b62f5ac09f21ee97d7d813584024131d4 +size 1731863 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_stop_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_stop_01.uasset new file mode 100644 index 0000000..49a78b1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_stop_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f84b28bf68244205f1446f1d99697cf3763fa73b6f10886149ac88207c476a41 +size 1398503 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_take_01.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_take_01.uasset new file mode 100644 index 0000000..01682e5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_take_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02c6c1fa815dbe44d5510e4194c980abe43aa827fb18b6bc9f33acbc87b10a05 +size 1003272 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_ANG.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_ANG.uasset new file mode 100644 index 0000000..bc2bd56 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_ANG.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32b3d104295f0ab6c0c13a6ea4aa38dd7f9efc1d50a753720f1852c1b8d82361 +size 1255353 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_N.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_N.uasset new file mode 100644 index 0000000..df75e72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b17261aa6d6263c26e39ac0c985c72402bd3a12ad58995ac799ab5f8f6b455 +size 1109578 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_scared.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_scared.uasset new file mode 100644 index 0000000..07f086e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_to_scared.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:333d45b4f63711be3ca787a45bf930d71de6760fddb4e63bdeab5b03a0d5d07c +size 838823 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_eyes.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_eyes.uasset new file mode 100644 index 0000000..c571b2a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_eyes.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f47db9f43bfb790cf6e90ef45dfc55552700ef7733e540647582dd174c98611 +size 1592633 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_face.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_face.uasset new file mode 100644 index 0000000..5b3b9d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_wipe_face.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15bbe9558fb9528d9c38f327ba90eeba6b7378d8f22bb68dd2590ae8274034f9 +size 1245744 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes.uasset new file mode 100644 index 0000000..7ffb765 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:205c976df92d1a66535bc0989698998d63033a71c4bd07bd2e317ab87e13002f +size 1181402 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_long.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_long.uasset new file mode 100644 index 0000000..91f38b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f022b0e2c996ebab5a4ebb1d07e1d982bcd1f6a197f41b2c7fa50885fc408d5 +size 1445666 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_single.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_single.uasset new file mode 100644 index 0000000..aa578de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_TA_S_yes_single.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f1b70f8079c5fd89622653d8a635e1e1b419182229c8804b9af19432f506692 +size 723865 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_E.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_E.uasset new file mode 100644 index 0000000..d846ec4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:521bf1c597bf665de2957e1fd0526c0c886ceec28ac9141ddae02381b14efcfe +size 1105938 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_ST.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_ST.uasset new file mode 100644 index 0000000..5d121db --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fc3df4986a23a9242afcae4ae89f1f301a05b9bb526a2e21b5d966d56038241 +size 839052 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_loop.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_loop.uasset new file mode 100644 index 0000000..640058f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_cLEse_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1c9cd5632de097e768354e8fd96cca78a24b5348d7d2346db94d92ad7bb6b6c +size 1040836 diff --git a/Content/3583AnimationsPack/Character/Animations/NPC/Anim_dEAh_CO.uasset b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_dEAh_CO.uasset new file mode 100644 index 0000000..ee69f19 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/NPC/Anim_dEAh_CO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f178fe1006280eeed5bced670c1e8662122d45da029a729ec9da135965441c71 +size 1698551 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CR_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CR_F_01.uasset new file mode 100644 index 0000000..cd34a8a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CR_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766d9192aa18af85c84b840813857757befaa08eda0cfd25c20185db1e076247 +size 1377297 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01.uasset new file mode 100644 index 0000000..da43a3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:188b9e0160dcb9b9a40b0e7f55ced76efdc8a46c5366e4cd1cd38817bc2128d8 +size 733636 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01_DE.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01_DE.uasset new file mode 100644 index 0000000..2627acc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_01_DE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2e95f1a410f2b3be4dac35269d08cdb88270c5c5cc8e3d59ba3ae03668735de +size 497290 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02.uasset new file mode 100644 index 0000000..59f5fd1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40672b6b5f1b907316a25ac97da260ac215b641804198999ccc10930e9968bf6 +size 862155 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02_DE.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02_DE.uasset new file mode 100644 index 0000000..68d030e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_02_DE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd75894a1d18b5557a9689c5d5002f2a4e12ba766485ee6f461c66e28b87098b +size 568138 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03.uasset new file mode 100644 index 0000000..4cce8bb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ba373003bb8b014c7d1c04103a31154555efa5b4ee50e170742d393504c8b93 +size 867298 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03_DE.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03_DE.uasset new file mode 100644 index 0000000..a4c3d7f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_03_DE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:677c65fd93c44610e1116550efab0f88f8610c05f0bf71f2354167d90c3cc4f9 +size 567606 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04.uasset new file mode 100644 index 0000000..0e9ed40 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f0716c9a4bd7b7a5e66b7ea75c12f52430a7868a26924cf71ad74a2160cf077 +size 877805 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04_DE.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04_DE.uasset new file mode 100644 index 0000000..f6aa5f1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSATLI_04_DE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e2c42a5313cc0ad80adee807895895f9a0e33fbd20f1e3e44a5b82f9b59bd62 +size 566215 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_01.uasset new file mode 100644 index 0000000..37174f2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f86be27b293abac88f9c126cc692ea2d0ccb204bbbbd14619a68c66bf66a0425 +size 1090425 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_02.uasset new file mode 100644 index 0000000..1048c78 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSAT_heavy_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dedaa1fa9d5ada37e1adcfc6dd8d7f8b271671dd910f94302fe77add039ab50 +size 1105962 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST.uasset new file mode 100644 index 0000000..21f1c1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:006e7dfd046f1cfd4926371e3b5c680115641548c58091f589f4c3ed11b08ccf +size 1086541 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_L.uasset new file mode 100644 index 0000000..b2bcb72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebbb652b00c58d64a03730c874c63dca8b943c92b9af675a72756c52fe93cd59 +size 555136 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_R.uasset new file mode 100644 index 0000000..5492c7b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ac49ff8dd90134ac36e62d18cf4f973ed0b79234bc06abaf74fd61b59a6329d +size 567480 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_L.uasset new file mode 100644 index 0000000..1d9213c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1e51631b06e8bcbba8e6682a12b8edb955afa6c4ffe24b315c7a70cfbe4d90e +size 541010 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_R.uasset new file mode 100644 index 0000000..7846566 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46c93a9e35b7d125041e60847f022bf5cb8b451697d8c090e0f2652043d5f556 +size 544834 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD.uasset new file mode 100644 index 0000000..46cb520 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88fff4979e99b0dc5780dd28192c593d2fb88a4a941b2e9ab50863211cc0ccb2 +size 538375 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_L.uasset new file mode 100644 index 0000000..1e4d871 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aadc2f5a39ec64de21deab0c62cd5edb851d3f89bfa82b2ff3004713020666f +size 528944 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_R.uasset new file mode 100644 index 0000000..7575189 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_BWD_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eccbdee98225227f752b05fab292ba5dd7cbed36e872c248c2454997dc1ad9b +size 532948 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD.uasset new file mode 100644 index 0000000..7f846a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a7a97b0ce4f13470fcf81d2a023ad1eb8ebc937bb0129d5a2858a3467b184b3 +size 529232 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_L.uasset new file mode 100644 index 0000000..cd87a72 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d001541a68dfde09a524c483ccff2288ecedc96e0c100fb75b1abea28cac1a1 +size 531770 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_LLeg.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_LLeg.uasset new file mode 100644 index 0000000..8df47d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_LLeg.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4570ad97db0f37f48151634ff1b766c855642d7059bce2bf6f6ed158f70f6ec +size 537392 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_R.uasset new file mode 100644 index 0000000..10c350f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_FWD_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc623741dba12d694ae9ad3a8989f0383a979dd93831eb74754f43b81b42718 +size 465399 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_L.uasset new file mode 100644 index 0000000..8164937 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:537cee79fa4afcc856526ee80338dcb9a5669929e2e15aaeba2ba14636b06108 +size 535226 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_R.uasset new file mode 100644 index 0000000..1532240 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBLST_to_W_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9156234d49faa9279106a0d9035c05bb928fbd3b687066a70f78d358d4681df7 +size 523779 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD.uasset new file mode 100644 index 0000000..ae35a9a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325f36956bbb2f85770520bb43cf6ccd3618ce32b14fb286d0f9b782f98e0e7a +size 439580 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L.uasset new file mode 100644 index 0000000..8885077 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d34288e2c49702325d3cab297fd565388fcbbc510dcb28617cb0a79f0ba3068 +size 443086 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_L.uasset new file mode 100644 index 0000000..38be2fd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7c2477aa1be150b8c36070c40b2ab6ccdfc4dde00f4f54916fb2eee8add2676 +size 539451 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_R.uasset new file mode 100644 index 0000000..f6db700 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_L_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26926d2dd8d46e852fad52b65d48c6e5aeb51237779e858ca30748dc8111bcfd +size 539349 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R.uasset new file mode 100644 index 0000000..41925aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be19d46fd74bd379d47b3d7e75dd83d17f508d2dcf8a5ad26dd330cff7e1ffa1 +size 443348 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_L.uasset new file mode 100644 index 0000000..2b77ff7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0547b0e2f8a9f7024d491ecf101148a4a2d7685f75c0f43f283a06dc4b9b5096 +size 540174 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_R.uasset new file mode 100644 index 0000000..3ca6901 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:635189b9f7ca2b571b1be942464b74001b2a0757974729ca640924100cd6430a +size 539600 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_L.uasset new file mode 100644 index 0000000..9d9fbe4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c2611bf6cd124125ce8949852664708ccc08aa034fcb99a20afbdfb5c947e83 +size 537805 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_R.uasset new file mode 100644 index 0000000..34d794c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_BWD_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40e362ec7f75f5c6e6506c0a851c2a07bd90fd8eae5fe159161534741da0dabf +size 525416 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD.uasset new file mode 100644 index 0000000..0b6c904 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c59e806c627cd4fb9e7999e5fa03ab4d84701988371fff70ea8bce669f7afe16 +size 449247 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L.uasset new file mode 100644 index 0000000..288a82c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:175447f4103847c1a13ebb242be7091ffbccd163b668767bebc26e6fd5785550 +size 446126 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_L.uasset new file mode 100644 index 0000000..2b113d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550f77c418520c45f64c12269a6de3b131ef2be1f45c4695f9d4d8858c0bd55c +size 537809 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_R.uasset new file mode 100644 index 0000000..649bd5d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_L_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd16721224da9293ac34efa465ae32ebc635635d423e736498f00cc113962bbe +size 542187 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R.uasset new file mode 100644 index 0000000..b437525 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d5204a60b7563fcefb291e1199703c4069be1231ef13590325d0eacda6054d6 +size 438485 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_L.uasset new file mode 100644 index 0000000..c86352d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e855518024b3a4fd7ac4671febf232790c6844b505bda7fbe88821696732f192 +size 530726 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_R.uasset new file mode 100644 index 0000000..96db11b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b379743e71be0a8aa884d38553e05b2431efcff014d2b38dde1f18362559a76 +size 472410 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_L.uasset new file mode 100644 index 0000000..e22d31a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa56ec2214de12f53b55f0af049db1aee5f4f3ece169f74f8723175a5151974f +size 533874 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_R.uasset new file mode 100644 index 0000000..20a6c70 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_FWD_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88ec497ad060f9dc70df68c38bc285f9a64d76868fa6c67ee42769c1b7893a95 +size 542094 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L.uasset new file mode 100644 index 0000000..d7ab06b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:506bdba76c0516da3327f50e815da366c04041376ea3d42dbf254ecf0129653e +size 435892 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_L.uasset new file mode 100644 index 0000000..d800a61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ac3647a1270635269cc9d68c04a9234c7e94d9975a53b2b835519b9fdebd99c +size 524243 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_R.uasset new file mode 100644 index 0000000..04f4dca --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_L_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac2aeb5edd607392c3a1266e9fa51dc9bd1384cfc656aeb5a893ad20d830bcb +size 535444 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R.uasset new file mode 100644 index 0000000..c6d6cf2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d347da9161d1e2343875c43d288247f56afc67f429c41d697c36df37247732 +size 443770 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_L.uasset new file mode 100644 index 0000000..761568e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d201ce7bc4c540b33928d8ac2710fb683a506ae96e17b00fddd21289c59294ab +size 547162 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_R.uasset new file mode 100644 index 0000000..a65dd39 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_W_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1affd90034d9179994cc451d11f98f61003392c62ed02d114a3c79a813c9cd +size 521861 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_break_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_break_01.uasset new file mode 100644 index 0000000..f6ab95c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_break_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcdde2d8f42dbad500c8c270e376b9f54f0abed617facbc8ccce7bf9d2573f18 +size 547643 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_L_01.uasset new file mode 100644 index 0000000..8ef4fee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dd6c10f9fe55c9815d24ebae458247a6c6f7c2712089e0b4bead0e91a11531f +size 485818 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_R_01.uasset new file mode 100644 index 0000000..58c925e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSBL_hit_F_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76bd0c3c5be68c628d1af78aa11b0fd08c5be128e6612cea44599465027c65fd +size 477264 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST.uasset new file mode 100644 index 0000000..e67c9f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b688135ee29b2a1d3cae2dcbcb6669e01b2cd23ca2e63c87874bc6448170c784 +size 2607968 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_CRST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_CRST.uasset new file mode 100644 index 0000000..3b42346 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_CRST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:822e8c35e1e51cac060921cf38abe4158440051563963588952e51ea50759a14 +size 484229 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R.uasset new file mode 100644 index 0000000..7d6f4d3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acaa27d9da8038f753d78637a909fc4af398c9e25c2877aad7d53d329dcdd1d0 +size 459945 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_L.uasset new file mode 100644 index 0000000..2179ad2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3d0b530e71ec7a363f52a62a4e55966a4270ec4ccea57b560ed0af0f7ab83be +size 410837 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_R.uasset new file mode 100644 index 0000000..985bbd0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff817f21b2fe97e93a9147894b0eb4e8c56961eb247eac9ebdd010551a99bb4 +size 420858 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_L.uasset new file mode 100644 index 0000000..7562280 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcae5ecf37064a78db99cbb784e5dc9528b8087db1574f123d150b6eee47a0b2 +size 465861 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_R.uasset new file mode 100644 index 0000000..2cf2b29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f6e26ad4b4713b96ec86218604420200a394a2e3f07daf548982bb7187c5d96 +size 456107 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_L.uasset new file mode 100644 index 0000000..0980abb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_R_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25408a2a2584486d488e99c8d74b1d6fa01f59233e36dd18bea752f83e2a3610 +size 460956 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP.uasset new file mode 100644 index 0000000..d96d5f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f9d19735ce39256eb2c09a206e2a420df1e60c69b2ae3ff09fd5680d4e1323b +size 415096 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_L.uasset new file mode 100644 index 0000000..b21a0de --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:145cdf30b8782d2c56b8c351c59a3fb5f9439fec74e0d6eec800000ba71522a0 +size 429743 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_R.uasset new file mode 100644 index 0000000..b146afe --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:849ba2fb8d18fa09671d2e16dcccee5974b96813fead607842949e91c10c220e +size 430606 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_L.uasset new file mode 100644 index 0000000..686be1c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8967235c5a31ff881050200f92b098cfbcf95ccf0efe5d5eb22c464008e52079 +size 420775 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_R.uasset new file mode 100644 index 0000000..d9d4809 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bb6e4eb0732459b241ffebb2b00dc7188e5ce429f1939a690e1e274abb1e33f +size 419557 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_L.uasset new file mode 100644 index 0000000..ed286bb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_SP_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e4df365a3b8e2ccfbb9dcff2e54b33d39f448357bdc3e483b33523d1aeb3d43 +size 420284 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_L.uasset new file mode 100644 index 0000000..7e03402 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b03f49a81082b3ba5bbd00a9432df577d063fda364d41d1b062b616dbaa9ddda +size 566637 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_R.uasset new file mode 100644 index 0000000..d290879 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ebc589b48bc4079ba797e89cfd0ef9dd522074760b679cf7f4cd70ac53e4e31 +size 572830 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_L.uasset new file mode 100644 index 0000000..db3a54e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:347404754f1d776dab661e17d598e633a1cf2023296b2e72e6e5a2d50e35d4f1 +size 608545 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_R.uasset new file mode 100644 index 0000000..ba91468 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25d69f1b4a722efa4b489831498323c641995db9c08921ad01f4d7c071e72c7f +size 557971 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_B.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_B.uasset new file mode 100644 index 0000000..832718e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93f444e19897d54d05539dc91513228346ebee615082d0c261be4ae9146d64a2 +size 456670 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD.uasset new file mode 100644 index 0000000..c381e41 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ef47bd4d2e7c5dabb2f2bafd0f251cf54d3bc283b05e0f0fda455e92653f278 +size 531022 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD_L.uasset new file mode 100644 index 0000000..a24be43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_FWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ba5db51e5e4c2e611a61938f1a6a5f409b2d7e9aacd164da2440d3ad96c620e +size 574383 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_L.uasset new file mode 100644 index 0000000..fa29d8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b6bed065c8fe2c892323254a2492aca7a577fb789b2d96ad5cdad356c461860 +size 460671 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_R.uasset new file mode 100644 index 0000000..6903b8e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CSST_to_W_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d8cf5d58a48a971285f6abe7fc3450acb42e88ab8c9d1a5beeea6c3bcc9dd95 +size 451674 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_COAT_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_COAT_01.uasset new file mode 100644 index 0000000..69ff09c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_COAT_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f403bc2789b3a02c998e59947167e083e5f2bb64ba58429ea8f198b226d0cd1 +size 1065003 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CO_bash.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CO_bash.uasset new file mode 100644 index 0000000..dd3862d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CO_bash.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30acf1c0d89a0413d2845a6951e74052fd0d08770ea49faee4d8a10c01a5d114 +size 511657 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_toST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_toST.uasset new file mode 100644 index 0000000..0f2cd9c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_toST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a84b2871ede8eb61480765d412d75fe762bb02ee74dc5be154b6543cab498f10 +size 472043 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W.uasset new file mode 100644 index 0000000..fc032b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d1ab5041503e445d562157654429385064adba34093b866fcc8afbd3f4e78b2 +size 471588 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_L.uasset new file mode 100644 index 0000000..925d5d1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17f2a1a27fdfb9f85fc1a145690aba50337f6ba1951d3fc3951aeaf058486071 +size 507407 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_R.uasset new file mode 100644 index 0000000..81a61bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1111c5f9df1011b3bb1ce5a35c755b8811a5ede4b756aa6737437694dd434cd5 +size 510984 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_L.uasset new file mode 100644 index 0000000..900ef08 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fcea1826f190ccc660800d8af6da6696c54fca3e2d6ead6073ee62e4ccb9bfc +size 486837 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_R.uasset new file mode 100644 index 0000000..6f05da8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CRST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28e6525100359e36c4db31520e2f099daa5a72d7a09c044bc5e07ea290f44da2 +size 480048 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_01.uasset new file mode 100644 index 0000000..71c6f58 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f5705dfa751482865e7d844e9bc6c690a8695e547dcd8f583ff9af7b55edc13 +size 627595 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_02.uasset new file mode 100644 index 0000000..175843d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7be47e9a20ec11a429c3fa4c54c61f038c9348dbfae3bf47a042af56289e5985 +size 888327 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_03.uasset new file mode 100644 index 0000000..34a650e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d979bef575f489c4a308d940b2b53e23524fbb2c29efd16a7489c14772aca16 +size 948036 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W.uasset new file mode 100644 index 0000000..1177579 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0ea44ad8376da7d4bf70913df255dfd2a7294f223fecbb7edf93da3245f88f1 +size 426927 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_L.uasset new file mode 100644 index 0000000..84a9c31 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50cdc1b6877a9b773317fe9e3dfd0223114853fa11d3ffaf9559f68a8e4b60af +size 756398 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_R.uasset new file mode 100644 index 0000000..ed61830 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cc9baaa21cbc4de2b5e0f7e3da0a1ed15ca43ed0e2465a9be75b1bc385414de +size 760609 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_L.uasset new file mode 100644 index 0000000..a13e2aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95991ca0f00d0e3218452b3f9611238052f22cdad879da08ab39527f58bcd301 +size 446713 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_R.uasset new file mode 100644 index 0000000..1e1c5a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_CR_W_to_CRST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:967a509606b86b622d93400f0cd678ad276933cf13c48b8c360292bf7d85cb02 +size 461609 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_B.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_B.uasset new file mode 100644 index 0000000..f25819e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09a1fb5cf34f4e7e03312dca6c9836a3800cbf5ae9353bee6dba2edd3778e6bd +size 833988 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_F.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_F.uasset new file mode 100644 index 0000000..63dc32a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:220f8265deda34af94b33cd792810243afc29d648881d7f4df6cc6c48f92492a +size 747538 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_L.uasset new file mode 100644 index 0000000..8d4f26a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8be3a3d4b5ea1b132071c30ec0be46d13dbb77f5e5e7f5969e746ef7ac86f3a7 +size 719999 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_R.uasset new file mode 100644 index 0000000..9ac1981 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_DODGE_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45d05665f875daeb4a1932578fa689320d0f578be644f95ec5b57f17bb2b67b1 +size 943322 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_EQ.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_EQ.uasset new file mode 100644 index 0000000..a542edc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_EQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66cafb77c2c8364e07b7073c6ab9920165ddf86e3eebd7a258f5e9d6c2066a17 +size 483468 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_01.uasset new file mode 100644 index 0000000..d9baec1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9bce60ae6648c889fe95e1ee313e8286d406574cf3f97b73f76aae318f16940 +size 1884130 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_SP_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_SP_01.uasset new file mode 100644 index 0000000..1d0b76b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_F_SP_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1e55410fa413bc99caa0d9176ba452105d86cef64b61ea26c4b6d3bdb8174f6 +size 1940331 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_01.uasset new file mode 100644 index 0000000..bf11078 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:345fa06e11637ed2e519bc62dffe68d1d08d17b7052d630173731491c6bd2bcd +size 492445 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_02.uasset new file mode 100644 index 0000000..4900be1 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_B_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0d40ec87acbe7f6b9de2270d547a583ea495290718636b9230dd79747371d6 +size 479464 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_01.uasset new file mode 100644 index 0000000..26f20c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c22896edb69d4042d9851f8037e2375007ffccd4c3a306116e2bc2583219e704 +size 476221 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_02.uasset new file mode 100644 index 0000000..14d0a64 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911b4673677994c4ec3d839fed429e21c7329673918cb43f6ed6fcd35ca9fe73 +size 487791 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_03.uasset new file mode 100644 index 0000000..16c6159 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9506c3188630eb04342b00bfff46d6086b2978ca0eb3fc1800b3b7acebddeefa +size 483096 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_01.uasset new file mode 100644 index 0000000..7d7d8d2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0ba0e8f1069bf661c407690a284c0ea21b812112d06e63eb90dddad7e950409 +size 486491 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_02.uasset new file mode 100644 index 0000000..c57afe0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ba679e59ad2454528971912b69665530ce2163742c60c4cdbc5fe3a87ef767e +size 556559 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_03.uasset new file mode 100644 index 0000000..b9429c4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_L_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:939b3bea50fe3452b69facb273ef37ec89ae9636260469ae771663808663f3a3 +size 606854 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_01.uasset new file mode 100644 index 0000000..77f0a5a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5806b62518267692c5d6dfae7ec8ec736caf8281f9aa19cd7bd58bbd411777b3 +size 493965 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_02.uasset new file mode 100644 index 0000000..d749031 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ca60d379ac641aed968305c327bba3ecc284acb75cd78717b5cef898846d7d +size 488861 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_03.uasset new file mode 100644 index 0000000..c06d2b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_F_R_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e2c37976eb42040724440244bb3a30d3ff9c0d04dee34e16c8ab40a69fece7f +size 487708 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_01.uasset new file mode 100644 index 0000000..1d0f59a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b65a3bdbc3660bfd3d3d79f6feb3269a2dceb3091a8e2b5bd9f2b454ae96e91 +size 487157 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_02.uasset new file mode 100644 index 0000000..6c34f93 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_L_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f27c67a98dbf1323da8ae0420dae880b3ac2ff1dc0bdd580940c64f45796ab7 +size 490691 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_01.uasset new file mode 100644 index 0000000..3ac11af --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:effa4d5e99370b0f45243b6d32eacdc8cad6b5bc3122d1251463db86d63d3e68 +size 470872 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_02.uasset new file mode 100644 index 0000000..ead8f31 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_GH_R_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1af20304b84399fd44267fd5f5e59df3cdaf2cc00037b1b5f8b8ca8313c9405 +size 490446 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_01.uasset new file mode 100644 index 0000000..812fe3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aba8f7979d1ce36b879918ac81d4fc5e8058d389ac350248869159708a3ea52a +size 1828405 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_02.uasset new file mode 100644 index 0000000..dcf16d0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a1f21a7091597dc87a1cfacd5c1bda31acebf21e9e16486cc94b84ff9e900c7 +size 2395425 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_03.uasset new file mode 100644 index 0000000..1d29cb3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d9723fb2889a7a043173a91e646f26c7ff2bdcd54a1cd6a7a153928d699c59f +size 917165 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL.uasset new file mode 100644 index 0000000..de7693f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ca3caa7f5455d8dcf9bca6e8705a8d6e8e9afd087b2877c4d819a84456e9015 +size 397569 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL_fall_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL_fall_loop.uasset new file mode 100644 index 0000000..92fba43 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_in_PL_fall_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:263a4a4dde44534dc2388ee5aee6d1adaae8a146111242a0117f4f92b2d40afd +size 548024 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land.uasset new file mode 100644 index 0000000..5ac58da --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b4dd2783ce20de96f6c330b4fe26f8261cee931fb35413d1d4f6a18406e6f98 +size 416288 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land_hard.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land_hard.uasset new file mode 100644 index 0000000..0424fa8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_JU_land_hard.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f0c0c569d784eb587a3f4d630ca9af5e3592c66ea080b46db6b8a4f474ad8eb +size 1016721 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F.uasset new file mode 100644 index 0000000..ec10eb3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1c78b79b643cdef97f490c9febef078386a147c816d5d08fb467e9f57a3151 +size 586943 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F_01.uasset new file mode 100644 index 0000000..fcb0308 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_F_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b410e703a0fc1ef1e3a890978b0afe346e4856211a7a9b909939f0db6d1973d8 +size 542820 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_getB.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_getB.uasset new file mode 100644 index 0000000..7a2157d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_KD_getB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21c7d6c40e164c83ab5c6fedec7d348c4dc95e662644943d9ba57c8cdc1e66d +size 864645 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R.uasset new file mode 100644 index 0000000..a0581d5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae2eea3b9bdd0ac86eed2583c949ed9f3bcf553b889e39da39b4f029d7232cbb +size 361538 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_L.uasset new file mode 100644 index 0000000..2105865 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f7f12ef105fcd1c904e1db36064c8d85ff248c375b0830a32738ce06e40dc5 +size 365308 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_R.uasset new file mode 100644 index 0000000..f28915a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_JU_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c783af59682aa907fb8af84efaff7b6eb5d05f42055573e56afbc4ba4923e87f +size 388766 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_L.uasset new file mode 100644 index 0000000..f09003e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4535695b143ac91b606dcd39f3c7f2bbc1fc9f5cfbcca25804f97b85828d85 +size 537748 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_R.uasset new file mode 100644 index 0000000..c17fd9f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d344931553fa48e35f21f1df2975eb9f132f79e7c22f186670607a1ceef34d6 +size 494251 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_L.uasset new file mode 100644 index 0000000..2d33c61 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5c4e0ecd2392cbbc5e449e22bb0eec30a421016edc2c582da2e2db51faa51ea +size 764814 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_R.uasset new file mode 100644 index 0000000..cc4c42b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626b8e84994609f25c57312445128c4467d13dfe970184583cfb780d04ac55c2 +size 808407 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_SP.uasset new file mode 100644 index 0000000..6e0bc3f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a21473120b2ee532bf07d081c94ca4068704f9fda0f8db31473e4e0c4229de2 +size 324194 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B.uasset new file mode 100644 index 0000000..954c1a3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93d2fd6c4b06760845b20e375dae49888061407ed6a7c3d3daf0c7d4efe200aa +size 428557 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L.uasset new file mode 100644 index 0000000..e3d60f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ac0265a4b7268c06aba17afd9caaf49280dd31acd84ae652e4332a0cead85ec +size 445407 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L_toST_L.uasset new file mode 100644 index 0000000..0e2152c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b3361febebc4288ce3f4906ad52583ea4e40dddd4b4bbaf00311c87d819884c +size 528417 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R.uasset new file mode 100644 index 0000000..a5cf67c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3b18abf6ba9a709d77044c796210512970e370ccb15dcb0cb63945d619d5b5f +size 433462 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R_toST_L.uasset new file mode 100644 index 0000000..c0b7dd6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb9211b86230664fb9e66c6b9dc222a3dd908fd0facda77928c88c821562aa4 +size 542257 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_toST_L.uasset new file mode 100644 index 0000000..ad907b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_B_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87adc62289b3c6e3d2c0172e557a2c9379a1086fd8107ee86b6f42cee251026 +size 528403 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD.uasset new file mode 100644 index 0000000..2a62c7a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4972e81f78fc6d8247d8ef39e691b032ecaaf98351288872a3255d736a146160 +size 491992 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L.uasset new file mode 100644 index 0000000..47e0a94 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db43587a1c37d504ba996deb7708c322a4472b48914e1db3cc0d1d8c619f20c3 +size 439416 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L_toST_L.uasset new file mode 100644 index 0000000..03ac577 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f476fe101056f6f10ae081fd1e9e6d75bbefd9cd3eff2becdfd90570aa0ba12f +size 543442 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R.uasset new file mode 100644 index 0000000..f5e0af2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e07fb50086550225da38c7dab2eab611f5b520ad8b5ca25512c388d2dd14cb1 +size 446747 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R_toST_L.uasset new file mode 100644 index 0000000..b9ea2f5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a04ec0fda30f78701f52fc38f344a86338f9af11f985c83f40ebf7ce77ef2dec +size 520089 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_L.uasset new file mode 100644 index 0000000..2f9bed2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c7698af82a0742be4ca32290ae2aa7066dce2761ef91163c2f078ca025d668 +size 528305 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_R.uasset new file mode 100644 index 0000000..817e8f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_FWD_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6179dea92cbbd7f910882b1fb869da2474d8d14a5a7bd12224e924ae1f193ef3 +size 529382 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L2.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L2.uasset new file mode 100644 index 0000000..205204d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa60dcc8d7f5de40544dcf2e99fd5b212d67172683168c11e187a1182d546212 +size 444803 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L_toST_L.uasset new file mode 100644 index 0000000..e5582aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_L_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57db4ba38d9ac3fef64f2e8ab0d56aded20e8e0c10089e3436bb0ad3aebc6ec4 +size 514611 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R.uasset new file mode 100644 index 0000000..7db774b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:778056b8fb56031f74fbc06292c0fc7d3e69d0a36ad1b266a1f31838cc9a7420 +size 431289 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R_toST_L.uasset new file mode 100644 index 0000000..eb2d8a8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:877421439e6911b895375189a46307cfbfc3a59c3649e2bb04e9e51d25df5a79 +size 505981 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_L.uasset new file mode 100644 index 0000000..6ccc26e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e0692823273a02a8a876a544981e88a0695903ac2850c6f9f3dd0880920085b +size 757573 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_R.uasset new file mode 100644 index 0000000..507b672 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a0be62a92319e1dc161d356b5f798029f3367882ff2252b9d7db5d1e74ae2fd +size 759908 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_E.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_E.uasset new file mode 100644 index 0000000..304b2b3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1127a021f436626b34567992b2b0711295fbaba096dd8ce2b4a94470a8b8ff0f +size 1039903 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_ST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_ST.uasset new file mode 100644 index 0000000..6172453 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f24c01ff0ff1eebf8641f0847c9a05062736671fda2e02a4ed6957d726e61441 +size 667777 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_loop.uasset new file mode 100644 index 0000000..33d852d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_cLEse_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26066308cb577cde40f4806210cd84007b8e453fc9f2a9af1d89711ea3729fbb +size 1062778 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_spit.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_spit.uasset new file mode 100644 index 0000000..d2173fc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_spit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8da8dcd7b365520e40f3e584382a9ffef5385e26c92f6030e79f1c4bc0d34564 +size 1196452 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ.uasset new file mode 100644 index 0000000..9295a51 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32da279d34f027f83a497f76c30b6a520eb15a4ed428f7bd74c32c71dcb24144 +size 478442 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ_to_BOW_EQ.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ_to_BOW_EQ.uasset new file mode 100644 index 0000000..07baff5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_CS_unEQ_to_BOW_EQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e717c5f488c6bb10af5cac4beef3d9c5c9f86460897a678505ff3f2391ca92a0 +size 474314 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_SW_floor_ST.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_SW_floor_ST.uasset new file mode 100644 index 0000000..628d58a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_SW_floor_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e1beea943966c5770be6fee2542836948b4128cc38e08d3b705bcfe68b6c922 +size 879343 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_1.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_1.uasset new file mode 100644 index 0000000..ecbd1b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:631f5775da320dc29722b98e6c8a80d3c4e6b345033de2e052d4c896871508bd +size 529413 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_2.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_2.uasset new file mode 100644 index 0000000..1e1fa0a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:060332418311234bb7bbf66f63e0a1b2c10a87ed4fa454a0b137486c0b989356 +size 537270 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_3.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_3.uasset new file mode 100644 index 0000000..2389e29 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_SAT_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e00baf17681e0214ed3332938c037db8d7e2919b11b0d2e171993e6afde07517 +size 719019 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_EQ.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_EQ.uasset new file mode 100644 index 0000000..fe82cdf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_EQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b22d32a9c38b619c348c9c3608291ebfca3aa8e91915891e7a1c240b722db7 +size 328660 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_unEQ.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_unEQ.uasset new file mode 100644 index 0000000..2918920 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_TR_S_unEQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1b2b8fcf024c2c2ed6aa4c147db1a9b016a65135f401ab0ef4902a6e64322ca +size 328648 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_cut_TR_E.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_cut_TR_E.uasset new file mode 100644 index 0000000..b77f17e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_IN_cut_TR_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9524a482c3adef02cd7d83f04e74b53ddb28a989bd8162bb9bad7778575f689 +size 722965 diff --git a/Content/3583AnimationsPack/Character/Animations/Sword/Anim_ST_01.uasset b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_ST_01.uasset new file mode 100644 index 0000000..8942ea5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Sword/Anim_ST_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc14ad624e3072deca2d25ea16df873f4222d8228321a3b2db9a653e18ac512 +size 2242626 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_01.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_01.uasset new file mode 100644 index 0000000..8efbbac --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:262f563648965fcb9cdd97668ee6fa5c07aae74e1bec54be9f6c00596fa49d19 +size 1653178 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_toST.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_toST.uasset new file mode 100644 index 0000000..79d78be --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_toST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986b68bfa6e203e214b655c387a27974035b4cd8c73de37e889e6a87dc80d0aa +size 472179 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W.uasset new file mode 100644 index 0000000..697bead --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6043ba652a67a72815067404d7ee4476bd8c6ea9189269116492ce68bd9df1b1 +size 480618 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_L.uasset new file mode 100644 index 0000000..f7cfed6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11437b98274c3a0ce41fa1b15de8a73f60ed5d60512d2dcecc01d3d5006a7497 +size 508899 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_R.uasset new file mode 100644 index 0000000..12d4625 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c8d96126254e032c7fff6d7a894e5fae73f69458e6a8d69fa6bf49e83fa069 +size 511135 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_L.uasset new file mode 100644 index 0000000..6fae38b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:980351879e976f184b84859a3ad4c57735539bcc9e296bbd7c09cf013b6d7281 +size 549705 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_R.uasset new file mode 100644 index 0000000..012d472 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0f06178afd16f0ab2d8b97dab5674f76abbcfe561ebe47383f60123d68a8b9f +size 480275 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_L.uasset new file mode 100644 index 0000000..48f36a6 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CRST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd88f325126491d711a89caa9ffb8e37071895e6425ee90c1f913a1e930f7568 +size 477753 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_01.uasset new file mode 100644 index 0000000..210ccb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e018d5807d2e8e8d71e9a216eef0f72e4ccadaad69745691d1f1367377b3222a +size 893734 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_02.uasset new file mode 100644 index 0000000..1b88e23 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:211ccdc62352c363cf8199258456861e1e75c4c5c87e6e8149084d0a96b68f15 +size 915523 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_03.uasset new file mode 100644 index 0000000..dd34716 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ead7608de18f97121d067a7458c3c7252ad6da7da7e617d451ec1cec8dd5de +size 931818 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W.uasset new file mode 100644 index 0000000..0ea8f18 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1db9e072d0dcf84ea9e2656e612370a46857537e7e102daa5e465daab7f17681 +size 443500 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_L.uasset new file mode 100644 index 0000000..79223cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b82d86d178f2d7afbcb70086f32c47432287170a18142d376eac84a412eabb6f +size 756554 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_R.uasset new file mode 100644 index 0000000..6322595 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06ee35999f5909e23ed94ee13ccbe0f0452e3fb26abec2948ec6c9340b7b1f36 +size 760568 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_L.uasset new file mode 100644 index 0000000..f6c5045 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17e6c733e5be0fb52bb65ee85b3118ea516e42500fef2b598087402d5b1cdf66 +size 469030 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_R.uasset new file mode 100644 index 0000000..12aed77 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_CR_W_to_CRST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87d6fdbc57455f65fcd55660e98f489e015b3e92d4cddb8543f0d1471f9c4e5 +size 477157 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_B.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_B.uasset new file mode 100644 index 0000000..fa674a4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:483d060f2806b58ffbad0f029ff072b2121ad4c84d55c65b7a863b523ef78589 +size 956986 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_F.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_F.uasset new file mode 100644 index 0000000..5610166 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_F.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb7bdd9e52a4b2191acb167f5bca51b1169427e0c8c88213d6ee71675f61354 +size 954760 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_L.uasset new file mode 100644 index 0000000..5d1fba4 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df075332501169165ff66dc3cf862b583437fff16223a8eb6f630bcdd265df93 +size 943067 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_R.uasset new file mode 100644 index 0000000..cd669bd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_DODGE_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28aa8c3dc6e9e5419237ddc668355d075f6f2e4429d5a7b1b170c598474dc509 +size 949787 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_01.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_01.uasset new file mode 100644 index 0000000..16fd6cf --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70419cefa7060a499b4547df441fa77510b69cf13d4c3ee500aba36bab130afd +size 920736 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_02.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_02.uasset new file mode 100644 index 0000000..1e69675 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c2859255d9279def6c22ba34ba3fb09dbf994828cc5b8b8ad9dd504d18a9398 +size 1649550 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_03.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_03.uasset new file mode 100644 index 0000000..8a94d68 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c80957f689d2c0b3558d8f5d505e531a64defbbb287425ad6e096a0764e2a5d9 +size 922628 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_04.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_04.uasset new file mode 100644 index 0000000..932199c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6402da5c4718bea6b8635242df9b6e6a32ccd1a7d73e97c713dce52e8313926 +size 2832524 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_05.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_05.uasset new file mode 100644 index 0000000..42c5949 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fa9901651e946b5fc3eeea1b75c880873c0ea79ecda3b28c50bf07513b293a5 +size 822379 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_06.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_06.uasset new file mode 100644 index 0000000..a250537 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IDL_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71b804edfb6a2bf1d436d3ae2c0aa70d90bf7226e03e42c615d007607802fa60 +size 1486875 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_E.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_E.uasset new file mode 100644 index 0000000..f087aad --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e515274bdb932a50eed03254dbb7d77a03244dce107eb2b3087a286c6561d41 +size 821055 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_ST.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_ST.uasset new file mode 100644 index 0000000..c6ca4a2 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3649ff229a8769f0e14aa29027a315b641ba31e53c9aa43de0b705121835573e +size 587199 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_loop.uasset new file mode 100644 index 0000000..e2bc522 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_IN_FI_EX_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d92fe447138e115c54ae062e8708876f7d21a0cf155c5c0cdad68dbb433f40f0 +size 4875469 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R.uasset new file mode 100644 index 0000000..2ec19f3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79e94864228005a82e82b9959e1d2b3c112e008c6e248aca078785891a1aede9 +size 367713 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_L.uasset new file mode 100644 index 0000000..221b3f8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f95dce5628bd87affcc2e9d8c4901c12889e6c082efcd72e561654fb4f153047 +size 443769 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_R.uasset new file mode 100644 index 0000000..b7b347b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b98207880bfbb6b0915fc3225a9b29941cda771a6af2b14401f98b1e0a484c9 +size 452876 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_L.uasset new file mode 100644 index 0000000..0501a3d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a752b6541809f970be8801136bc74437faf3bee35e5664993f89cc237075307b +size 862376 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_R.uasset new file mode 100644 index 0000000..72ee492 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_R_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7eead15cbf9bd66cf83317ee5f3337e259cce9cc103f7425c21e81d06a2147e3 +size 869071 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_SP.uasset new file mode 100644 index 0000000..ea2595c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b27ede6af37f18815fd693083ed29d28df01a90e7f41ab95e8163c46ced2e58d +size 319037 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_CRST.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_CRST.uasset new file mode 100644 index 0000000..716d59d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_CRST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9ebd581ba78933fbbf2cd49e7b74a648be84fa13edc701f3a0acd003cb78c24 +size 483195 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R.uasset new file mode 100644 index 0000000..e76d6cd --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:640c79aa05c3d04a4b0a2eea8253874282af0ccfb2f51a185b89135759e24655 +size 465550 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_L.uasset new file mode 100644 index 0000000..2f777b7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5532dd213fab71efa66b2eac21a943b0e0d546c756472ebe93320a2c96bfa0a2 +size 468294 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_R.uasset new file mode 100644 index 0000000..4edc16c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c42ab4aca57af2d62360728c16c023548c777c59f906e5598d6a27dc54f2ea +size 476307 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_L.uasset new file mode 100644 index 0000000..aac584e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf774819590007fadd05f7871960760e9eb098d5a19cdf8adb6b3ea9f55d75b3 +size 463980 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_R.uasset new file mode 100644 index 0000000..60623ee --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d2c826b4b6fe7e9d41dcccb44e72c90d4234e335fa34325dd217539637d5d10 +size 463658 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_L.uasset new file mode 100644 index 0000000..ca81c5c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_R_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67cedb868b762a8734d790f801ab8129d8ea4184a5e38e2c6db42c0352b67f93 +size 452132 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP.uasset new file mode 100644 index 0000000..ac2a492 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e90ab022522ee4f4ccd2c028853e15b4068644a0bb8b5bcc903439646a0b2ac4 +size 417209 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_L.uasset new file mode 100644 index 0000000..704ba47 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd17f8340318ce919485b71616cdeb6088978e3ddcaff4d507c2d336a9af2d1 +size 428322 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_R.uasset new file mode 100644 index 0000000..d1f4b62 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e3561b1adaabd16138745b4d182c3314b03ca858bdf0c6d93a4916b16323fbe +size 433956 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_L.uasset new file mode 100644 index 0000000..4dcd9dc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e401b29fcb721f5437814b487e7e90ee5d1c1c47d2eabe9085832407dc91bf1c +size 418625 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_R.uasset new file mode 100644 index 0000000..d612350 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25566b6c4e6a3f078f1144999f92dd51bcfb62bc4594104d57ad4b96c0dbab9 +size 420285 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_L.uasset new file mode 100644 index 0000000..4faa5aa --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_SP_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b74de4b6e13e514be05e029f1335d5f4ff1a0fd2e853dadd656c57755698ca38 +size 421819 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W.uasset new file mode 100644 index 0000000..fe63914 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e39bb79625e67fc754648ec3a0c7136f9006e817e14f8c1826bafeff549d5c3c +size 485886 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_L.uasset new file mode 100644 index 0000000..f3c318f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2465224eee935c4695b40920a29a356fee189f753f6db9360fcc8e805169cef +size 520454 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_R.uasset new file mode 100644 index 0000000..d369dc3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8aae18828243f84eb3b3aee54c33a849e0c203f3f43d8704e9ce243c0fa131 +size 525688 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_L.uasset new file mode 100644 index 0000000..2d5626a --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b400f1b10a2720c578ef1369d84be900e31f4474a706138a25ae1984b97593e +size 520240 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_R.uasset new file mode 100644 index 0000000..af1e63e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_90_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87fcac9bfa4fa62abeb38a8428bd19c263ea7902ab7e268cf3a7ccbe7e9bac95 +size 510101 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_L.uasset new file mode 100644 index 0000000..0ac4007 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_ST_to_W_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1d473cf24b7e254dece1c124b375418a3154f7d8eaaab79f74ddbf53a8a234a +size 503714 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_E.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_E.uasset new file mode 100644 index 0000000..f22c71b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4993bc71136769ab2c86607e5d8634040f2c5d10978fcee0c50759e1778ade6a +size 1942692 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_ST.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_ST.uasset new file mode 100644 index 0000000..177e3f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_ST.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c82dcab6390fcbde27e07a85c71824872dcfe1a69093feaa0f9e3e558500a6c +size 2365877 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_loop.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_loop.uasset new file mode 100644 index 0000000..b1f3843 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TH_loop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4c57a7e540e69f97ec766fa13fb97e539b1adac452eccaa361fed1be069214d +size 4361907 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_180.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_180.uasset new file mode 100644 index 0000000..0c885e8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_180.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:418c12f3fd8d7b9bd0471217100b77460297a52884fd0e50e47b96701b94b90c +size 650625 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_90.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_90.uasset new file mode 100644 index 0000000..fddd0a9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_L_90.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07ede120f0c90780cbeac2a90e731dadcf44bd903c9342a51c0269e0f4a71234 +size 416636 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_180.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_180.uasset new file mode 100644 index 0000000..59d1242 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_180.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb52df0e9955fc6d7aa85eb6309b0b43e1350e1c21606c97a2820155fb1f25fd +size 647385 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_90.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_90.uasset new file mode 100644 index 0000000..7c2158b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_TURN_R_90.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc773a1ce2f10866acc987172fad44898ff107fc5437b125df789144ccd6f85b +size 404879 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W.uasset new file mode 100644 index 0000000..50cd036 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc9ecd815d97be0396326939e6b9cddc4c6bcaf8d1c7a59ccebd221231aae69a +size 445857 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_L.uasset new file mode 100644 index 0000000..6c545f0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf05bbe93408c13dff9c54f6878b6aec72cd9694d933e4a2f5a6f0edaf2db80d +size 667962 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_R.uasset new file mode 100644 index 0000000..bdeb13d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_TURN_180_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecb1051bb89aa2b90818bf136733d8f138c2dfe8e8873ba9bd3ba1da33a28f86 +size 669722 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_L.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_L.uasset new file mode 100644 index 0000000..64c05c3 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ab653db357ed2178543338e4f2b3d0a303ca47dfd88b10490aab152b886426 +size 508865 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_R.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_R.uasset new file mode 100644 index 0000000..56b6dbb --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_W_toST_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63e29bc88e572b665236b7b81de1f337781329ad00265deb62f51bfe0ae52c63 +size 489028 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_noise_R_fingers_unarmed.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_noise_R_fingers_unarmed.uasset new file mode 100644 index 0000000..f691d1f --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_noise_R_fingers_unarmed.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a82dac8b972d70296843b878722917007375747aa99b967cd18f5ffe73f0d0 +size 4339188 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_01.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_01.uasset new file mode 100644 index 0000000..be8f510 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7941113f8be18dadfc1b115c83bdacd17bebf22911c8cc27c2bfed0dc202ed5 +size 1382491 diff --git a/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_02.uasset b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_02.uasset new file mode 100644 index 0000000..c20197e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Animations/Unarmed/Anim_recover_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:713eac8cdab4ce1fb78026ccb020bc9b28134c31d8b78865f068d5aa9bd4b80c +size 1296120 diff --git a/Content/3583AnimationsPack/Character/Materials/ML_GlossyBlack_Latex_UE4.uasset b/Content/3583AnimationsPack/Character/Materials/ML_GlossyBlack_Latex_UE4.uasset new file mode 100644 index 0000000..1058788 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/ML_GlossyBlack_Latex_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df6b79a3330a7d9d7940359d4e510281efe593064f345481cd5a5a9582492460 +size 100723 diff --git a/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige.uasset b/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige.uasset new file mode 100644 index 0000000..5030efc --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83d98359e119de06499048c4f3a68e25057c96653a1c755a0dd45aaa9ab0d679 +size 89934 diff --git a/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige_LOGO.uasset b/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige_LOGO.uasset new file mode 100644 index 0000000..2e824b0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/ML_Plastic_Shiny_Beige_LOGO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56ac804d5a371cc0da34ffc59ae2d69a4876b8375bae09e41ff1e72884ce25ef +size 90899 diff --git a/Content/3583AnimationsPack/Character/Materials/ML_SoftMetal_UE4.uasset b/Content/3583AnimationsPack/Character/Materials/ML_SoftMetal_UE4.uasset new file mode 100644 index 0000000..93a60df --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/ML_SoftMetal_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:747176cd9577f46294adcf0bd13147c7b2ea767007b6b535d2ddaf5ff8d02426 +size 108102 diff --git a/Content/3583AnimationsPack/Character/Materials/M_UE4Man_Body.uasset b/Content/3583AnimationsPack/Character/Materials/M_UE4Man_Body.uasset new file mode 100644 index 0000000..694666b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/M_UE4Man_Body.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca1430e1a0b8119470bff4e60d4d6f1f361e943fc5958d1d10f36495cd5ed7fe +size 134817 diff --git a/Content/3583AnimationsPack/Character/Materials/M_UE4Man_ChestLogo.uasset b/Content/3583AnimationsPack/Character/Materials/M_UE4Man_ChestLogo.uasset new file mode 100644 index 0000000..f2fa40c --- /dev/null +++ b/Content/3583AnimationsPack/Character/Materials/M_UE4Man_ChestLogo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a840d425ed589fc0cdcad1858b540706eed97b4017fb4d13168981958a5a8742 +size 98951 diff --git a/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin.uasset b/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin.uasset new file mode 100644 index 0000000..ce6057b --- /dev/null +++ b/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3ae6175be62df75548b67c7979c545cbf06fab0ceb75a539416bcc450a3d467 +size 3979237 diff --git a/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset b/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset new file mode 100644 index 0000000..0926bc9 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61b68dbfe993080ac02e3abf6c0d12bfba948efa2d40135e87842423e19741f1 +size 137276 diff --git a/Content/3583AnimationsPack/Character/Mesh/UE4_Mannequin_Skeleton.uasset b/Content/3583AnimationsPack/Character/Mesh/UE4_Mannequin_Skeleton.uasset new file mode 100644 index 0000000..bc71eb0 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Mesh/UE4_Mannequin_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d96fa5c38a1033801ec9b320fd7313a0dea29806fc3a4f24ad2bf9f92ad50897 +size 15617 diff --git a/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01.uasset b/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01.uasset new file mode 100644 index 0000000..d3770b8 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7c2919011e6fa6a903076d1d3813f629cc4a99192a0a773e1afa61da9cb5da7 +size 458360 diff --git a/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01_N.uasset b/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01_N.uasset new file mode 100644 index 0000000..0e61288 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/T_ML_Aluminum01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf32648a4a300dd2b4dc674a4d08bdaf6e213f2d958d51d21120663dac8b064c +size 473634 diff --git a/Content/3583AnimationsPack/Character/Textures/T_ML_Rubber_Blue_01_N.uasset b/Content/3583AnimationsPack/Character/Textures/T_ML_Rubber_Blue_01_N.uasset new file mode 100644 index 0000000..c6acfda --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/T_ML_Rubber_Blue_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe97afbb11646de7cf0493a3af6180b85edcf95a0346fd561a3a67deea816a2 +size 429456 diff --git a/Content/3583AnimationsPack/Character/Textures/UE4Man_Logo_N.uasset b/Content/3583AnimationsPack/Character/Textures/UE4Man_Logo_N.uasset new file mode 100644 index 0000000..48dd5b5 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/UE4Man_Logo_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d7fd78c123fed1d1ab6fac8d729e4fea75beaa38cafbfc050a2c1d62945644c +size 163560 diff --git a/Content/3583AnimationsPack/Character/Textures/UE4_LOGO_CARD.uasset b/Content/3583AnimationsPack/Character/Textures/UE4_LOGO_CARD.uasset new file mode 100644 index 0000000..ac9899e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/UE4_LOGO_CARD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddd0b13494bd42dabeee003279aa4faabbf41b60a08aa20f72c7012a6821e2a2 +size 97356 diff --git a/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_MAT_MASKA.uasset b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_MAT_MASKA.uasset new file mode 100644 index 0000000..997f64e --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_MAT_MASKA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94d71d8aacf702589b1cd63ad2b02577e7adae63cdf8891e84c4d162e3e69bde +size 271905 diff --git a/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin__normals.uasset b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin__normals.uasset new file mode 100644 index 0000000..79ea00d --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin__normals.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab29ff9bbb7bcc13db64f5f0e8236ad89428e73ef81588fb4f546505609ac414 +size 5477125 diff --git a/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_occlusion.uasset b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_occlusion.uasset new file mode 100644 index 0000000..e18c6e7 --- /dev/null +++ b/Content/3583AnimationsPack/Character/Textures/UE4_Mannequin_occlusion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ebdf191cf25790c3f131ccdf61f3829dcd165ed09d17d1e2e028ef684bfa998 +size 363958 diff --git a/Content/99_Materials_Vol1/M_MasterMaterial.uasset b/Content/99_Materials_Vol1/M_MasterMaterial.uasset new file mode 100644 index 0000000..652972b --- /dev/null +++ b/Content/99_Materials_Vol1/M_MasterMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0456c8c7ddafca14abc731c6b9389f291de79f1a9a71bd35ce9df09302a1e3c9 +size 70636 diff --git a/Content/99_Materials_Vol1/M_MasterMaterial_Inst.uasset b/Content/99_Materials_Vol1/M_MasterMaterial_Inst.uasset new file mode 100644 index 0000000..5647ee4 --- /dev/null +++ b/Content/99_Materials_Vol1/M_MasterMaterial_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3e79b77eefa237518edbb86820f0102ef55dea3b940d5c3daf7338507eaf545 +size 15192 diff --git a/Content/99_Materials_Vol1/M_MasterMaterial_Inst_Inst.uasset b/Content/99_Materials_Vol1/M_MasterMaterial_Inst_Inst.uasset new file mode 100644 index 0000000..0c3b688 --- /dev/null +++ b/Content/99_Materials_Vol1/M_MasterMaterial_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8103153a3129f3f2c1288ecd272ca2601c74b5851e7856aa670e4325f071dbd +size 15038 diff --git a/Content/99_Materials_Vol1/Materials/MI_Fabric_roughPattern_01.uasset b/Content/99_Materials_Vol1/Materials/MI_Fabric_roughPattern_01.uasset new file mode 100644 index 0000000..637cc43 --- /dev/null +++ b/Content/99_Materials_Vol1/Materials/MI_Fabric_roughPattern_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:243df1b4ff99bc226f03079b8a92e30a253411f9e3a098a75c2217f1cda21881 +size 126241 diff --git a/Content/99_Materials_Vol1/Materials/MI_Fabric_valvet_01.uasset b/Content/99_Materials_Vol1/Materials/MI_Fabric_valvet_01.uasset new file mode 100644 index 0000000..6598594 --- /dev/null +++ b/Content/99_Materials_Vol1/Materials/MI_Fabric_valvet_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d949fc6dc17761952c53066f8a4f1abdae029eda22c3b31077b86db28dec0260 +size 15021 diff --git a/Content/99_Materials_Vol1/Materials/M_MasterMaterial.uasset b/Content/99_Materials_Vol1/Materials/M_MasterMaterial.uasset new file mode 100644 index 0000000..4691d85 --- /dev/null +++ b/Content/99_Materials_Vol1/Materials/M_MasterMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67d52e1f137f2050884bfa758dae6a1bcf4d39c14419bc88c3b9e7017ee08fd6 +size 53114 diff --git a/Content/99_Materials_Vol1/Textures/Clay_Base_01/Clay_Base_01_height.uasset b/Content/99_Materials_Vol1/Textures/Clay_Base_01/Clay_Base_01_height.uasset new file mode 100644 index 0000000..fde7bb4 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Clay_Base_01/Clay_Base_01_height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfe82852bb2faf08cefe50240f2884e0b388aab19daa84941237771a239f82ea +size 8139173 diff --git a/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Ambient_Occlusion.uasset b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Ambient_Occlusion.uasset new file mode 100644 index 0000000..fdbc1d3 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Ambient_Occlusion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43a3d5b4da180a641a7e0f427279d33992b4419024415a09096ba492d2b7556f +size 8917236 diff --git a/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Base_Color.uasset b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Base_Color.uasset new file mode 100644 index 0000000..1deb721 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Base_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f397d7c1f3f9a2f12fbcb94c999b522e5f4ef504d6bc5bc7f5fd4b2f3ae20d7 +size 22290963 diff --git a/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Normal.uasset b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Normal.uasset new file mode 100644 index 0000000..1ffa00b --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ecb992ed73ac934b861b444434dd6a13ad4e1202817a7dcf3cda5d6549d734b +size 56593437 diff --git a/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Roughness.uasset b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Roughness.uasset new file mode 100644 index 0000000..62a944c --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Concrete_Tiles_01/Concrete_Tiles_01_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2396d471399e1bde3bdbd5fdd8b90cdb412ae6f3bdf3766c6ef99935d03ad05a +size 11298129 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_ambientocclusion.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_ambientocclusion.uasset new file mode 100644 index 0000000..6fbb66c --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_ambientocclusion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cc44777262a3eb7fe354df2fed5332f02472f5d1deb198d0a409f899dfd1ab6 +size 15666305 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_basecolor.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_basecolor.uasset new file mode 100644 index 0000000..cdca3ad --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_basecolor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6c8b684d16a403c441a5d291f4073aafad8c5832829a0c9e0a8f5b0f9665323 +size 37459256 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_height.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_height.uasset new file mode 100644 index 0000000..123cd0e --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dac60bbb48340d2ab36255651b68d2772d29cc423aca848eae0330102b88dcd6 +size 10250192 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_metallic.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_metallic.uasset new file mode 100644 index 0000000..d116bff --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83a2db7c79669010860b682e890a9c8a8eb70634f56b3d3f049b1710a5e9c125 +size 5915 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_normal.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_normal.uasset new file mode 100644 index 0000000..1e8f487 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c937dbcc1c1639956ff51f10c3bad09ed865e3593ee90caea05619b9e116dcc9 +size 57196407 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_roughness.uasset b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_roughness.uasset new file mode 100644 index 0000000..3880724 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_roughPattern_01/Fabric_roughPattern_01_roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:562507d8bb3c4b16662eafba414d16e5075444fa6bafb0346a1d86fea13bc720 +size 11272460 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_ambientocclusion.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_ambientocclusion.uasset new file mode 100644 index 0000000..084712e --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_ambientocclusion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f676ef7ac7fe5fc1458842e77f089bd6112b1d6f0c6c36508603694fab57f8f1 +size 15955439 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_basecolor.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_basecolor.uasset new file mode 100644 index 0000000..4ae053c --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_basecolor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c59394e8b3f60e4ee9bc22fc3042975a2224ee24aab367be57492c38b76df27 +size 28188491 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_height.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_height.uasset new file mode 100644 index 0000000..ec36127 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b215e926eacd9cb0e0636cc031a411c58904e57a1af7d06fb5404941d355b81 +size 11415954 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_metallic.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_metallic.uasset new file mode 100644 index 0000000..dd0ec37 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d92da32e19625e3073c16a1e292a601ce6d351ae195b26e55d1ac464080fb30 +size 5849 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_normal.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_normal.uasset new file mode 100644 index 0000000..44efcfc --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b883766d2827f59f9dcadbb1e52d5d43764d6a2fb662be9eb9f9230a355c3398 +size 58198459 diff --git a/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_roughness.uasset b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_roughness.uasset new file mode 100644 index 0000000..168bed9 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Fabric_valvet_01/Fabric_valvet_01_roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6054f06e7b988489280c960ecc592eb5ab0295f007b733a96d84e38d0199371 +size 1499993 diff --git a/Content/99_Materials_Vol1/Textures/Leather_Base_01_Holes/Leather_Base_01_metallic.uasset b/Content/99_Materials_Vol1/Textures/Leather_Base_01_Holes/Leather_Base_01_metallic.uasset new file mode 100644 index 0000000..f214168 --- /dev/null +++ b/Content/99_Materials_Vol1/Textures/Leather_Base_01_Holes/Leather_Base_01_metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdb42bdae56245ed1a97d2d70d89364a530cdf02f325a0e52f73804458bebb61 +size 5862 diff --git a/Content/ASIAN_Cave/Material/MI_Default.uasset b/Content/ASIAN_Cave/Material/MI_Default.uasset new file mode 100644 index 0000000..4280dca --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f633f95f042d7cc81ecb1a832300b4a4a03b825932ed66f6df4bcd0121cdadd +size 16329 diff --git a/Content/ASIAN_Cave/Material/MI_Pivot_Rumex_Longifolius.uasset b/Content/ASIAN_Cave/Material/MI_Pivot_Rumex_Longifolius.uasset new file mode 100644 index 0000000..75a811f --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Pivot_Rumex_Longifolius.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a331ea2c306290f11bf6860978f4338d701c8c4e93da06f34d27232dd9ba651 +size 24906 diff --git a/Content/ASIAN_Cave/Material/MI_Rumex_1.uasset b/Content/ASIAN_Cave/Material/MI_Rumex_1.uasset new file mode 100644 index 0000000..28e8dbc --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Rumex_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e75caa5d740d7bfabe682599a72553adf8f474ed3a8411525cb3ac57d6f6acd5 +size 21495 diff --git a/Content/ASIAN_Cave/Material/MI_Rumex_2.uasset b/Content/ASIAN_Cave/Material/MI_Rumex_2.uasset new file mode 100644 index 0000000..23b5263 --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Rumex_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a21fe72f06eee1390b7d7a5e4ab2f93e9e17750c008755d8d9ffd31329c5fd00 +size 20953 diff --git a/Content/ASIAN_Cave/Material/MI_Rumex_3.uasset b/Content/ASIAN_Cave/Material/MI_Rumex_3.uasset new file mode 100644 index 0000000..cbd9b37 --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Rumex_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66cee7f9876f154b43a99c0efc4869573fbbf9076b158ab28dc4bb101734ce77 +size 20550 diff --git a/Content/ASIAN_Cave/Material/MI_Rumex_4.uasset b/Content/ASIAN_Cave/Material/MI_Rumex_4.uasset new file mode 100644 index 0000000..23fe704 --- /dev/null +++ b/Content/ASIAN_Cave/Material/MI_Rumex_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2124265d7654893cd7b65656f4d37408f7c213a130af5b0f73a5830fef8674c5 +size 19618 diff --git a/Content/ASIAN_Cave/Material/MM_Rumex_Longifolius.uasset b/Content/ASIAN_Cave/Material/MM_Rumex_Longifolius.uasset new file mode 100644 index 0000000..718b04f --- /dev/null +++ b/Content/ASIAN_Cave/Material/MM_Rumex_Longifolius.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c92df8c31e66b1fc8eac4c61efa58df23d614d7cfd614f1364dc09532adb5832 +size 108730 diff --git a/Content/ASIAN_Cave/StaticMeshe/SM_Rumex_Longifolius.uasset b/Content/ASIAN_Cave/StaticMeshe/SM_Rumex_Longifolius.uasset new file mode 100644 index 0000000..8adf756 --- /dev/null +++ b/Content/ASIAN_Cave/StaticMeshe/SM_Rumex_Longifolius.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:996dd8df2e71b8854668a77b9e0bb5b28c4612962f7516bee8c90e41e4124e14 +size 33026 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Default_Color.uasset b/Content/ASIAN_Cave/Textures/T_MI_Default_Color.uasset new file mode 100644 index 0000000..5531def --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Default_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c01f2eb93df7aa3d9a18577a39c119cffd38fca235bd1523c8e759b83a4a7970 +size 265078 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Default_packed_RGB_texture.uasset b/Content/ASIAN_Cave/Textures/T_MI_Default_packed_RGB_texture.uasset new file mode 100644 index 0000000..4b284d1 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Default_packed_RGB_texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94e358f058031edf45efcf08ccb68f4c72be2bb4f7f62c0390a45505e1c0a57e +size 3476 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Color.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Color.uasset new file mode 100644 index 0000000..17d0ffa --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55425ce3ba15e2f86b58c29b096d6830f92c871c23cdee2bb883e0109b7a14c1 +size 220545 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Normal.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Normal.uasset new file mode 100644 index 0000000..71921c0 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea08edd84cda66188e42ab7196d1924c477c95cca69d17f06c9a0cf8087e1f2 +size 307463 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_packed_RGB_texture.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_packed_RGB_texture.uasset new file mode 100644 index 0000000..bdd87c0 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_1_packed_RGB_texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:206a94720345e6955188e1967f2440586d319f6aadfaa3d7ffd59916461a6721 +size 66090 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Color.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Color.uasset new file mode 100644 index 0000000..f7862ea --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdc3ca9a83f3e39b7ee24e66667d2b01956d68dc9449a70d067b64447a1fbb5d +size 194533 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Normal.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Normal.uasset new file mode 100644 index 0000000..52dc4a5 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:882c4594416b6ef589a1c8166304666cef17f21bebc0ece3251056f0979d9cb7 +size 318919 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_packed_RGB_texture.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_packed_RGB_texture.uasset new file mode 100644 index 0000000..bb0d3d0 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_2_packed_RGB_texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffe33767799e09680c5f6095d79580f511139b7b43d14810c394b8b47b8a44f2 +size 57547 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Color.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Color.uasset new file mode 100644 index 0000000..1a2d341 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925cc9e05909f5d193b183255145100c779df059c8455f53d0a5c07f3c55dd2d +size 309687 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Normal.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Normal.uasset new file mode 100644 index 0000000..c1485c0 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47026dd3a821f087992e7a4dc35a3ecd964dfd032844438133b6d44ef058822f +size 561303 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_packed_RGB_texture.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_packed_RGB_texture.uasset new file mode 100644 index 0000000..6d0da3b --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_3_packed_RGB_texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0c98d4dd986f7d631670bdf090dc3d0325c3a71e1da09d4f8bc1ba7351dedcc +size 93405 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Color.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Color.uasset new file mode 100644 index 0000000..c6dde92 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0d479d6235167437b97256b8f3024023d39d7a76dbab2410b556fdaaa02e75e +size 137630 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Normal.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Normal.uasset new file mode 100644 index 0000000..965cffe --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd9ef8cb35b914e57afef8b3d86f350f3cd2431d4f88ca1f96dac8b3b41b028 +size 209938 diff --git a/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_packed_RGB_texture.uasset b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_packed_RGB_texture.uasset new file mode 100644 index 0000000..d1a9181 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_MI_Rumex_4_packed_RGB_texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc2d215776df0bfa4d12b51a5b3fd5c6d70ed02409eebaba0f290218d08ec182 +size 37680 diff --git a/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_PivotPos_a_ParentIndexInt_UV2.uasset b/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_PivotPos_a_ParentIndexInt_UV2.uasset new file mode 100644 index 0000000..84ba70a --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_PivotPos_a_ParentIndexInt_UV2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b8230f7791076235bf485b1e4adb01783b14e080b723d4653d5fafd8cf8377c +size 5196 diff --git a/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_XVector_a_XExtentDividedby2048reaches2048_UV2.uasset b/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_XVector_a_XExtentDividedby2048reaches2048_UV2.uasset new file mode 100644 index 0000000..82752c5 --- /dev/null +++ b/Content/ASIAN_Cave/Textures/T_Rumex_Longifolius_rgb_XVector_a_XExtentDividedby2048reaches2048_UV2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a81585d2c9730d91fb4ecb0dbc9f0c5e6d5edd3b78a9c297f2438f419b505997 +size 5170 diff --git a/Content/AncientTempleRuins/BaseMaterials/PhysicalMaterials/PM_Stones_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/PhysicalMaterials/PM_Stones_01_01.uasset new file mode 100644 index 0000000..6ec1a2b --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/PhysicalMaterials/PM_Stones_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:682b866fdbaec1b68c207d2cbddf8260044af988780b75052652b6139a4a5fac +size 1348 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_n.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_n.uasset new file mode 100644 index 0000000..5e10448 --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af7c1535411a15d6556f7facc8c80fdee5c1df98181acff10fbaf83f2a6f50a5 +size 734600 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_r.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_r.uasset new file mode 100644 index 0000000..d03355c --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_01_r.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:453f3f16ebdc70aca88273620a0e8ec6e7a29ba327d89c2f091cd74718d708d3 +size 229755 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_10_n.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_10_n.uasset new file mode 100644 index 0000000..71534fb --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Detail_01_10_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18604e79fe13cd62273e0c8bb9440e6eb269c9e478b7d17e00a26e8f602304eb +size 3474944 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset new file mode 100644 index 0000000..32883a7 --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0eb47b96733ff635f0c6ad5c3ff4b3cfe0201ca8f7b881792916adc63b05bdc +size 3804 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_Masks_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Masks_01_01.uasset new file mode 100644 index 0000000..f2f0df3 --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_Masks_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdb5ed10231e64303c7a5364e03b1ebd223cff3489194a1a8801cdb019ddd923 +size 3748 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_asphalt_01_01_r.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_asphalt_01_01_r.uasset new file mode 100644 index 0000000..71f5b0d --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_asphalt_01_01_r.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06528fcfe6ea2d489363c1fd4794321093747a5de344fb1c6f2958c82718e9c2 +size 248431 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseColor_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseColor_01_01.uasset new file mode 100644 index 0000000..2ec869b --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseColor_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c918ce8bc33b7b46630e711f6e515cf0cefb8746bcaa076687642d6f845b00c +size 3537 diff --git a/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset new file mode 100644 index 0000000..851e56d --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5da076e107b5c64aae794de3b8af8ba492b5130fff9fe2c540385f870e5d3904 +size 3429 diff --git a/Content/AncientTempleRuins/BaseMaterials/m_BaseMaterial_01_01.uasset b/Content/AncientTempleRuins/BaseMaterials/m_BaseMaterial_01_01.uasset new file mode 100644 index 0000000..c98e294 --- /dev/null +++ b/Content/AncientTempleRuins/BaseMaterials/m_BaseMaterial_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a86f0bc665b4738cdaef2264aad8bc6f65804d0782139fb6924abb5f145e07e7 +size 69298 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Materials/M_Dust_Particle_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Materials/M_Dust_Particle_01_01.uasset new file mode 100644 index 0000000..e4ee762 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Materials/M_Dust_Particle_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54e78ffce92bf8b7bd6013358ec1257796540f052fdc37dd185b46bc4ee8ca7a +size 80090 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/P_Ambient_Dust.uasset b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/P_Ambient_Dust.uasset new file mode 100644 index 0000000..6046aeb --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/P_Ambient_Dust.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c81fc11615a2e454a58ec40451779090efa501671751116eaca78080980cf1b +size 54819 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Textures/t_Dust_Particle_D_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Textures/t_Dust_Particle_D_01_01.uasset new file mode 100644 index 0000000..469d4f8 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/StarterContent/Particles/Textures/t_Dust_Particle_D_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2150f08138b9211c7f4f1bd1208c25c07d08720388fbba0b26a3cf40de1a4ec +size 35457 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Lake/Textures/t_SmallWaves_01_01_n.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Lake/Textures/t_SmallWaves_01_01_n.uasset new file mode 100644 index 0000000..c0f6ef0 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Lake/Textures/t_SmallWaves_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d3947a7e09089caa2a1d19b5ae48decc7031b52a2063b6bb9d19393d3f70b6 +size 621924 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Meshes/SM_OceanWater.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Meshes/SM_OceanWater.uasset new file mode 100644 index 0000000..c070cfe --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Meshes/SM_OceanWater.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d720c9cc609541a5fb0d08b93de7a45930669bc747b63f5b72c7567deb112a8d +size 174774 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/OceanWater_SS.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/OceanWater_SS.uasset new file mode 100644 index 0000000..3762f21 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/OceanWater_SS.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6303e57bfc25d9e56d2ad22ce09d0ae29f808bfa7132461f42a5f1520ba1c2 +size 3523 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/m_OceanWater_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/m_OceanWater_01_01.uasset new file mode 100644 index 0000000..eb1d691 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/m_OceanWater_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35a224eb8da2e34b930c040714b9d8cb333ac2db8b761c0c767a6e05085b56a +size 87030 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/mi_OceanWater_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/mi_OceanWater_01_01.uasset new file mode 100644 index 0000000..276892c --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Materials/mi_OceanWater_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ac2c69de2f9193f58ec2fff860ffe39e39a7982bec19beb634af16e9e5fa72 +size 23575 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_H_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_H_01_01.uasset new file mode 100644 index 0000000..bc8d118 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_H_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3457ea07d398033695e19765584213f583d8835e74488ce8c3ae19a16423a7e5 +size 922546 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_N_01_01.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_N_01_01.uasset new file mode 100644 index 0000000..56a39b6 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_LargeWaves_N_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:792f7f0143611de629097a6875521493cfad08af995ecd55bea0a690c7a802d3 +size 803452 diff --git a/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_Seafoam_01_01_bc.uasset b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_Seafoam_01_01_bc.uasset new file mode 100644 index 0000000..bf0df47 --- /dev/null +++ b/Content/AncientTempleRuins/Demo/EpicContent/WaterPlane/Ocean/Textures/t_Seafoam_01_01_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55cebe7e3ddc47de4df4670fc2068532a922f38d91a25c49d1e0e22568a65d9d +size 8927281 diff --git a/Content/AncientTempleRuins/Environment/Relief_01/mi_Relief_01_01.uasset b/Content/AncientTempleRuins/Environment/Relief_01/mi_Relief_01_01.uasset new file mode 100644 index 0000000..df9f8a3 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/Relief_01/mi_Relief_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e737d71728c4c8065f4d4cb6f1a3d854672f63d5e721145416121e34155ea92 +size 17218 diff --git a/Content/AncientTempleRuins/Environment/Relief_01/sm_Relief_01_01.uasset b/Content/AncientTempleRuins/Environment/Relief_01/sm_Relief_01_01.uasset new file mode 100644 index 0000000..9622bd5 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/Relief_01/sm_Relief_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e21810662697010e05ed15ec6874ce424bf8e38af0f70650bdb52764a8c30a +size 367398 diff --git a/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_bc.uasset b/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_bc.uasset new file mode 100644 index 0000000..952c01e --- /dev/null +++ b/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b8c10a1d3e6a0da85f48e2e122b6ccb17d711c3c3fa7271a03c8edb1de4c73a +size 35780111 diff --git a/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_n.uasset b/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_n.uasset new file mode 100644 index 0000000..4286b90 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/Relief_01/t_Relief_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff780c47897cf5343ae19e48ed001ca469b2cd6cddaa37908de63d2365c8de2e +size 41014508 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_00.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_00.uasset new file mode 100644 index 0000000..419801c --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f489f35cb7d5ebd6424f212ca68b74d24931f6c705b8143cd1370839910e2f17 +size 89990 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_01.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_01.uasset new file mode 100644 index 0000000..28d36f4 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/mi_TempleColumn_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d088fc2d1f3651b35e7112c6e472d13f1b3f9d7e712ec45553c912e8ba7ec36 +size 126894 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_01.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_01.uasset new file mode 100644 index 0000000..80ab536 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31ed01bf797fd1f8f0f4d4735d48f00a887da9a985c68d7d82ffe14e9768124b +size 159650 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_04.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_04.uasset new file mode 100644 index 0000000..1772784 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/sm_TempleColumn_01_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c73605a2253e2298d814200f3023a7b7e1b7d54ad170baa88264307d0915571b +size 167197 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_bc.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_bc.uasset new file mode 100644 index 0000000..0d5b157 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a619083c9b8706213e9143dd0e1aa41447b17ab78d43b9f3aaecc427fe1dd66d +size 189464 diff --git a/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_n.uasset b/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_n.uasset new file mode 100644 index 0000000..eadfaa4 --- /dev/null +++ b/Content/AncientTempleRuins/Environment/TempleColumn_01/t_TempleColumn_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd450b8c57a1dd2380b4fd08aa96ee05dae71b57aae829f83e95b1e22df71e83 +size 188492 diff --git a/Content/AncientTreasures/Materials/Functions/MF_Fresnel_01a.uasset b/Content/AncientTreasures/Materials/Functions/MF_Fresnel_01a.uasset new file mode 100644 index 0000000..6429534 --- /dev/null +++ b/Content/AncientTreasures/Materials/Functions/MF_Fresnel_01a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d62dd0496d0f32cf9029ecea91ff157f5dd8371a927f64688539230e36d05c +size 105262 diff --git a/Content/AncientTreasures/Materials/Functions/MF_Sand_01a.uasset b/Content/AncientTreasures/Materials/Functions/MF_Sand_01a.uasset new file mode 100644 index 0000000..b9e42c1 --- /dev/null +++ b/Content/AncientTreasures/Materials/Functions/MF_Sand_01a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:739d38a88ef4ec9418698e27a04b2d4832f8a02a759fdfa787d65ca416c010c1 +size 95406 diff --git a/Content/AncientTreasures/Materials/Instances/MI_Bangle_01b.uasset b/Content/AncientTreasures/Materials/Instances/MI_Bangle_01b.uasset new file mode 100644 index 0000000..8682e52 --- /dev/null +++ b/Content/AncientTreasures/Materials/Instances/MI_Bangle_01b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb7d4b109153053c74ab2b668254281eac785bb070d686719f6f42da7bd58a69 +size 175095 diff --git a/Content/AncientTreasures/Materials/Instances/MI_Chalice_01.uasset b/Content/AncientTreasures/Materials/Instances/MI_Chalice_01.uasset new file mode 100644 index 0000000..95f1f4c --- /dev/null +++ b/Content/AncientTreasures/Materials/Instances/MI_Chalice_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cf64f4485b9cad4ddfe069bfb77bb0e8cb2b64dca3d21a809fa213edee6d489 +size 156700 diff --git a/Content/AncientTreasures/Materials/Instances/MI_Chalice_02b.uasset b/Content/AncientTreasures/Materials/Instances/MI_Chalice_02b.uasset new file mode 100644 index 0000000..6f11fd3 --- /dev/null +++ b/Content/AncientTreasures/Materials/Instances/MI_Chalice_02b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:317838ca937f22791f1cbc84f89eb78996d6d34d8cc0ab0a91b4ca1aa5b7326b +size 151550 diff --git a/Content/AncientTreasures/Materials/Masters/MM_Master_Material_01a.uasset b/Content/AncientTreasures/Materials/Masters/MM_Master_Material_01a.uasset new file mode 100644 index 0000000..7f95ab8 --- /dev/null +++ b/Content/AncientTreasures/Materials/Masters/MM_Master_Material_01a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ae67a7820f8e7d27b539fbd4bf7e593192b6a155d36b128482cf27035f8cd4c +size 158619 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01b.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01b.uasset new file mode 100644 index 0000000..b85f9f5 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:808f9b823be0373a7d1e23e742a13d950b17a8defe34c6db299baa2a2438dffe +size 113912 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01b_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01b_FoliageType.uasset new file mode 100644 index 0000000..79f6f55 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01b_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bec589292a761348034dc84d26037859ac366d5d36f4c4e75eb5bc1c5806ea3 +size 6998 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01c.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01c.uasset new file mode 100644 index 0000000..035ca73 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01c.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4e698a4ded74d80af28c2da6cafd50a08467ff64d56a440321aebbb7e2cc785 +size 112145 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01c_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01c_FoliageType.uasset new file mode 100644 index 0000000..e70aeac --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01c_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ef44d053c7697c50a820489e38e613a7007a80c8002ce419777016202465a68 +size 7181 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01d.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01d.uasset new file mode 100644 index 0000000..f7e2ce6 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01d.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b167d68871e97028e30853148d456cb228824ba8f339cb8c1452d3dd9634f9b +size 106106 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01d_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01d_FoliageType.uasset new file mode 100644 index 0000000..7326c53 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01d_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcfa586b447aaf5b60b543b63cb8f8010561f4a39c6f22850b4bab78ccbd5da3 +size 6826 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01g.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01g.uasset new file mode 100644 index 0000000..ed57938 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01g.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb4adc9bbf08619ca5e492941776e50aad8a7009504c80a7d41861f91e1989f +size 107390 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01g_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01g_FoliageType.uasset new file mode 100644 index 0000000..0d70d23 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01g_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e086b645f9bb0fc101d6e678b99f3f8565d7e5442455c9e222eef2c376731c3e +size 6856 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01j.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01j.uasset new file mode 100644 index 0000000..8bc16bd --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01j.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:173daf736a68f3c76e2730ec1a5c5fe2d3a448c16c35dec206e6dd0ec437551c +size 155134 diff --git a/Content/AncientTreasures/Meshes/SM_Bangle_01j_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Bangle_01j_FoliageType.uasset new file mode 100644 index 0000000..e1a77c9 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Bangle_01j_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2f2bd6c5529f5b1cd270482b70f564f274c4e5de245b7d22bfe28071508a853 +size 8127 diff --git a/Content/AncientTreasures/Meshes/SM_Chalice_01a.uasset b/Content/AncientTreasures/Meshes/SM_Chalice_01a.uasset new file mode 100644 index 0000000..30a0f12 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Chalice_01a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb75a94cb870bf7f676446b429d2d4e9d4aeb4d96fe59947f2ce09d584ddff1 +size 170979 diff --git a/Content/AncientTreasures/Meshes/SM_Chalice_01a_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Chalice_01a_FoliageType.uasset new file mode 100644 index 0000000..482aeae --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Chalice_01a_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ae4a1576bf27ef18dd97a66ade0e8fbbcde76f3e38612a7733b0373ed636ba +size 8549 diff --git a/Content/AncientTreasures/Meshes/SM_Chalice_02b.uasset b/Content/AncientTreasures/Meshes/SM_Chalice_02b.uasset new file mode 100644 index 0000000..9369550 --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Chalice_02b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cbd0a5415e6771c9eeb148be0b119495fd52d6ef1c8ce89481158162399e9f5 +size 172605 diff --git a/Content/AncientTreasures/Meshes/SM_Chalice_02b_FoliageType.uasset b/Content/AncientTreasures/Meshes/SM_Chalice_02b_FoliageType.uasset new file mode 100644 index 0000000..d81819b --- /dev/null +++ b/Content/AncientTreasures/Meshes/SM_Chalice_02b_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab7370c57bcf82d02de469b6295b43268698246337383742c5a1776d9d8d4f79 +size 9230 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_ALB.uasset b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_ALB.uasset new file mode 100644 index 0000000..5333930 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_ALB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb05fe936dfa74064ca1c92a8e6f03ec09bbe92933475b0d558e8f1741241dbb +size 7382459 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_NRM.uasset b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_NRM.uasset new file mode 100644 index 0000000..549e377 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b6e3a6a8686662167e77202d4c5bad1bb5562691eb99508729e4c64123ec92c +size 7640287 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_RMA.uasset b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_RMA.uasset new file mode 100644 index 0000000..9391ec9 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Bangle_01b_RMA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb33f2ca53c7d6cb195bed331e0315f1a84401abf0f742e6851da87f748e7f5e +size 7219515 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_ALB.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_ALB.uasset new file mode 100644 index 0000000..ca7ba9a --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_ALB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a21165566fd87546fc90e6629111bb3e00ac44b1e14f8ef9574e2cf1ee34a654 +size 7047761 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_NRM.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_NRM.uasset new file mode 100644 index 0000000..9492298 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf11815089e27c31b8db39caa6e2a3e3f8352adcfe30a249d800c79447830d67 +size 6759476 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_RMA.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_RMA.uasset new file mode 100644 index 0000000..5eda2dd --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_01a_RMA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b90646958e52c0ac4b0409177b55afd6f831c62b0e398c7aef73efd0934537f +size 8566615 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_02a_NRM.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02a_NRM.uasset new file mode 100644 index 0000000..2a520c8 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02a_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b11cb85e9f90f10cf672eb297e766f6d9083a2b05ef4b5a5d2aff17607f063bd +size 4459112 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_ALB.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_ALB.uasset new file mode 100644 index 0000000..9356189 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_ALB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e032f9f04878664dbfa3d2d14e1a60517ab3bac8a213e9010de549b1461360ae +size 6443634 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_RMA.uasset b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_RMA.uasset new file mode 100644 index 0000000..8f62803 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Chalice_02b_RMA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6006e0d5813503f7a12ac2dc189888be7da2271496a521b878e88400789f0b11 +size 4028539 diff --git a/Content/AncientTreasures/Textures/Unique/TX_Coins_01a_H.uasset b/Content/AncientTreasures/Textures/Unique/TX_Coins_01a_H.uasset new file mode 100644 index 0000000..caa10ca --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_Coins_01a_H.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b37218173718f3546cb8d20797ea030f1b778eb8d3d6c536d56947951df1f37 +size 1344868 diff --git a/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_ALB.uasset b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_ALB.uasset new file mode 100644 index 0000000..664414f --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_ALB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38fcec1d1b9c066df53d553b2be5ca9f3fb706e7bd9533e3b8f194f595ecb8f9 +size 9604195 diff --git a/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_NRM.uasset b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_NRM.uasset new file mode 100644 index 0000000..3311418 --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c824f196013c98b523da95885b475c2720743ba98815bdaa9a686194167f525e +size 13321318 diff --git a/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_RMA.uasset b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_RMA.uasset new file mode 100644 index 0000000..7e163ab --- /dev/null +++ b/Content/AncientTreasures/Textures/Unique/TX_SandMaterial_01a_RMA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:546897ea273a90fd0b78c21a7ab710136269531beea9cc738acac21b957bb351 +size 10678942 diff --git a/Content/AncientTreasures/Textures/Utility/TX_Cube_01a_CUBE.uasset b/Content/AncientTreasures/Textures/Utility/TX_Cube_01a_CUBE.uasset new file mode 100644 index 0000000..03b69ae --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_Cube_01a_CUBE.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693daa7cac4f40731c468d4479a31c43dd1157296ac96626c2e497672278b6be +size 831019 diff --git a/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_ALB.uasset b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_ALB.uasset new file mode 100644 index 0000000..24cfe95 --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_ALB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a9dd22a5527729850c9e13a52af1a079714b185a8d79f1cb5f00f41b9f4187 +size 4340 diff --git a/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_H.uasset b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_H.uasset new file mode 100644 index 0000000..600e5fb --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_H.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0b9b3e1045c48fc60980df5cfd33467b30436c9577f76020d00cd473f344ae8 +size 4517 diff --git a/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_NRM.uasset b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_NRM.uasset new file mode 100644 index 0000000..a496cca --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf531abb2570432d6da84f045d738ee262566c7aec2a5f39a79b38f4baeb4afb +size 4700 diff --git a/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_RMA.uasset b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_RMA.uasset new file mode 100644 index 0000000..2df3085 --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_Fill_01a_RMA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65c08796f21d5e16fb049328a7735bd949c1560d55e5d0a7b34c684503ccbc3b +size 4519 diff --git a/Content/AncientTreasures/Textures/Utility/TX_SandMask_01a_M.uasset b/Content/AncientTreasures/Textures/Utility/TX_SandMask_01a_M.uasset new file mode 100644 index 0000000..34cfed9 --- /dev/null +++ b/Content/AncientTreasures/Textures/Utility/TX_SandMask_01a_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b401623268e3293e7aa99b41ae05f6c2ce167462b8c9d2dc96e0853c9616be19 +size 421074 diff --git a/Content/Animation/Dragon/Eye_H.uasset b/Content/Animation/Dragon/Eye_H.uasset new file mode 100644 index 0000000..d5d83df --- /dev/null +++ b/Content/Animation/Dragon/Eye_H.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911612be320918f0592f5f51d4949b45673f97a84180be1f954a4a03c704cfba +size 9067 diff --git a/Content/Animation/Dragon/Iris_H.uasset b/Content/Animation/Dragon/Iris_H.uasset new file mode 100644 index 0000000..8f598a6 --- /dev/null +++ b/Content/Animation/Dragon/Iris_H.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5282f9b885aa2248a42ac713953d68814075b0cc240214322947d450dca78a46 +size 33143 diff --git a/Content/Animation/Dragon/Iris_H_Inst.uasset b/Content/Animation/Dragon/Iris_H_Inst.uasset new file mode 100644 index 0000000..e6641b6 --- /dev/null +++ b/Content/Animation/Dragon/Iris_H_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:637fb33c9f96ee6c1a89c248786ee28d918918ef5cd49980b54f08d61ff0ab7e +size 12762 diff --git a/Content/Animation/Dragon/MI_Dragon.uasset b/Content/Animation/Dragon/MI_Dragon.uasset new file mode 100644 index 0000000..2a25a87 --- /dev/null +++ b/Content/Animation/Dragon/MI_Dragon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbbb2b80dfd8fec23728f65e3907d924ce6bec39869ab59269a0cefc0c536693 +size 14854 diff --git a/Content/Animation/Dragon/MI_Dragon2.uasset b/Content/Animation/Dragon/MI_Dragon2.uasset new file mode 100644 index 0000000..344bfba --- /dev/null +++ b/Content/Animation/Dragon/MI_Dragon2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d81ebfd8a28cbe68f89e9927bb40cfb5d71b97a01013adf5333a2c6ac5729f1 +size 16135 diff --git a/Content/Animation/Dragon/M_Dragon.uasset b/Content/Animation/Dragon/M_Dragon.uasset new file mode 100644 index 0000000..81cc5eb --- /dev/null +++ b/Content/Animation/Dragon/M_Dragon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0208f61f05cbcd298e4ccbbeb059d035d6190c787244baf8f26dcea1ac94f0bb +size 20268 diff --git a/Content/Animation/Dragon/M_Dragon2.uasset b/Content/Animation/Dragon/M_Dragon2.uasset new file mode 100644 index 0000000..6e0a2c9 --- /dev/null +++ b/Content/Animation/Dragon/M_Dragon2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:535056199c6b1ad1716f44b04736e7aeb138565d42c56097c4745ed9b31fda66 +size 24889 diff --git a/Content/Animation/Dragon/M_Dragon3.uasset b/Content/Animation/Dragon/M_Dragon3.uasset new file mode 100644 index 0000000..c24f522 --- /dev/null +++ b/Content/Animation/Dragon/M_Dragon3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb2bd6174874acebe7bf2a11e5cba561331e0adda70efc6fdc7826c1cb6786e +size 67810 diff --git a/Content/Animation/Dragon/M_Dragon_Righteye.uasset b/Content/Animation/Dragon/M_Dragon_Righteye.uasset new file mode 100644 index 0000000..b15b5dc --- /dev/null +++ b/Content/Animation/Dragon/M_Dragon_Righteye.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88eaa95208002560e934a124c03c8572de58762da702cd45d316193fa895b410 +size 8931 diff --git a/Content/Animation/Dragon/M_Dragon_lefteye.uasset b/Content/Animation/Dragon/M_Dragon_lefteye.uasset new file mode 100644 index 0000000..e389f4d --- /dev/null +++ b/Content/Animation/Dragon/M_Dragon_lefteye.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c4ed08bd9c82b5cf08985791217915e28b2907ec58163c3c3955448f3e96712 +size 10535 diff --git a/Content/Animation/Dragon/T_Eyeball_Generator_H_BaseColor.uasset b/Content/Animation/Dragon/T_Eyeball_Generator_H_BaseColor.uasset new file mode 100644 index 0000000..66bf97c --- /dev/null +++ b/Content/Animation/Dragon/T_Eyeball_Generator_H_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:635f18c2734877ebd9a85750ba8ef77e7b4498db593079b8c706e69c85f6acfc +size 1078313 diff --git a/Content/Animation/Dragon/Texture/T_Dragon02_baseColor.uasset b/Content/Animation/Dragon/Texture/T_Dragon02_baseColor.uasset new file mode 100644 index 0000000..8f17b6c --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon02_baseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d8349be32d1e8d0b79295694945ae3d63cce2640cbf8076247b01d486a02619 +size 7455373 diff --git a/Content/Animation/Dragon/Texture/T_Dragon02_normal.uasset b/Content/Animation/Dragon/Texture/T_Dragon02_normal.uasset new file mode 100644 index 0000000..936c1b6 --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon02_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cca15070bce22ea50b2fafadbc378d81cd6ca9d5997f009f1c7411b76040c15 +size 9282975 diff --git a/Content/Animation/Dragon/Texture/T_Dragon02_occlusionRoughnessMetallic.uasset b/Content/Animation/Dragon/Texture/T_Dragon02_occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..5d5f7b6 --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon02_occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9009d457f18a2db93ec243b5464588aecca6c5bb692c971bba8c44adb01ea44 +size 7355110 diff --git a/Content/Animation/Dragon/Texture/T_Dragon_baseColor.uasset b/Content/Animation/Dragon/Texture/T_Dragon_baseColor.uasset new file mode 100644 index 0000000..b484d57 --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon_baseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1713ab9079b4c7e35b92cc84940c0e52e1b5906ed1a0fc73f4483df70110d7 +size 8585203 diff --git a/Content/Animation/Dragon/Texture/T_Dragon_emissive.uasset b/Content/Animation/Dragon/Texture/T_Dragon_emissive.uasset new file mode 100644 index 0000000..bed6b72 --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon_emissive.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8294c45f9f4df17f79475229b375f06ecf73cdd76ea72b06d8030fe23a119f8 +size 17520 diff --git a/Content/Animation/Dragon/Texture/T_Dragon_normal.uasset b/Content/Animation/Dragon/Texture/T_Dragon_normal.uasset new file mode 100644 index 0000000..7b2226a --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c8373d5003b0c9a224ef61367c99b31b6055d849ebe8266ddf2aea416f0576a +size 11302012 diff --git a/Content/Animation/Dragon/Texture/T_Dragon_occlusionRoughnessMetallic.uasset b/Content/Animation/Dragon/Texture/T_Dragon_occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..12aa7b5 --- /dev/null +++ b/Content/Animation/Dragon/Texture/T_Dragon_occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f71de530f8d82c1fc677e4cda800d45e5d76a98b85f02b5f84e9cb2f234228f5 +size 7896160 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1001_BaseColor.uasset b/Content/Animation/Dragon/Texture/dragon_low_1001_BaseColor.uasset new file mode 100644 index 0000000..baec384 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1001_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b50e3dda218596caa4835e1c21906af20ed33b01a73145c511fc3d67c3bbc568 +size 8414239 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1001_Normal.uasset b/Content/Animation/Dragon/Texture/dragon_low_1001_Normal.uasset new file mode 100644 index 0000000..1640643 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1001_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4007d2dcc41703422bbe1036cc70acbc322152eba2288308d8ec3ba9008c2cd7 +size 11302176 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1001_OcclusionRoughnessMetallic.uasset b/Content/Animation/Dragon/Texture/dragon_low_1001_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..70ec535 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1001_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e08cff394a462785b15a92d3362be27e8e2324987f854afdad46f39b00caa99 +size 7896288 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1002_BaseColor.uasset b/Content/Animation/Dragon/Texture/dragon_low_1002_BaseColor.uasset new file mode 100644 index 0000000..2838d65 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1002_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8dc228fa76f01c05832c20219c0690ebc7521c5f72c9078fd2236d66b075c00 +size 7354646 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1002_Normal.uasset b/Content/Animation/Dragon/Texture/dragon_low_1002_Normal.uasset new file mode 100644 index 0000000..ef9f399 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1002_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54b90dee6ad35e2b016a42bc9bb9e77f7f4361d3fa4620bf677f58d1f7d1d4a8 +size 9283666 diff --git a/Content/Animation/Dragon/Texture/dragon_low_1002_OcclusionRoughnessMetallic.uasset b/Content/Animation/Dragon/Texture/dragon_low_1002_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..926e652 --- /dev/null +++ b/Content/Animation/Dragon/Texture/dragon_low_1002_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8659b7554526815091f5298b78141a1136ff1ac2f592e790d61070a08f24f73c +size 7355238 diff --git a/Content/Animation/Dragon/yanjing.uasset b/Content/Animation/Dragon/yanjing.uasset new file mode 100644 index 0000000..c223712 --- /dev/null +++ b/Content/Animation/Dragon/yanjing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6975a2b81b921d15bc4e9206f44c6f524d3af07b30e828c43db129859fa3afd5 +size 97385 diff --git a/Content/Animation/Dragon/喷火.uasset b/Content/Animation/Dragon/喷火.uasset new file mode 100644 index 0000000..d3be0b9 --- /dev/null +++ b/Content/Animation/Dragon/喷火.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb4c49893f4a4c46bd8449ac74a2a664915711631f97ae9504a28be84ed2afeb +size 1552688 diff --git a/Content/Animation/Dragon/待机_1_.uasset b/Content/Animation/Dragon/待机_1_.uasset new file mode 100644 index 0000000..e6e32bf --- /dev/null +++ b/Content/Animation/Dragon/待机_1_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81a23023a196dd539f99a25bbd007b17f27fdd6b90ac58183a513904a13beadb +size 202979 diff --git a/Content/Animation/Dragon/观察.uasset b/Content/Animation/Dragon/观察.uasset new file mode 100644 index 0000000..540ce54 --- /dev/null +++ b/Content/Animation/Dragon/观察.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44f0582833f47bd96b081f81fdcbe37b4d1f09165dec5bdcf0f5806b2e58b5be +size 1619832 diff --git a/Content/Animation/Dragon/青铜龙_Skin.uasset b/Content/Animation/Dragon/青铜龙_Skin.uasset new file mode 100644 index 0000000..744fa30 --- /dev/null +++ b/Content/Animation/Dragon/青铜龙_Skin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0aad573a96d2ce654aa1e49bab8ae036d825c2a766a3c9c0bdace259400e179 +size 3120476 diff --git a/Content/Animation/Dragon/青铜龙_Skn_2_.uasset b/Content/Animation/Dragon/青铜龙_Skn_2_.uasset new file mode 100644 index 0000000..a975cca --- /dev/null +++ b/Content/Animation/Dragon/青铜龙_Skn_2_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb8487144ad3f04d1c68b81f67ad17c7469c0e53bf08eecfe3c49dee1fe04f14 +size 7153592 diff --git a/Content/Animation/Dragon/青铜龙_Skn_2__PhysicsAsset.uasset b/Content/Animation/Dragon/青铜龙_Skn_2__PhysicsAsset.uasset new file mode 100644 index 0000000..c707359 --- /dev/null +++ b/Content/Animation/Dragon/青铜龙_Skn_2__PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1026456a1114aa65be60fd56be35f1fc2edb8461f6da89d529b5eae23f713cfa +size 7192 diff --git a/Content/Animation/Dragon/青铜龙_Skn_2__Skeleton.uasset b/Content/Animation/Dragon/青铜龙_Skn_2__Skeleton.uasset new file mode 100644 index 0000000..bd9149b --- /dev/null +++ b/Content/Animation/Dragon/青铜龙_Skn_2__Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7404957b2cbb5ace40211abb9545b1eb15748f14a1197dd58e68b2c2c0d30747 +size 18668 diff --git a/Content/Animation/Dragon/龙_飞出.uasset b/Content/Animation/Dragon/龙_飞出.uasset new file mode 100644 index 0000000..a814664 --- /dev/null +++ b/Content/Animation/Dragon/龙_飞出.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f21e8044dc3d2dabcab7ab96bf82ab2f2e3a48d60d1fcc6bb198c93bb98ba2c8 +size 321994 diff --git a/Content/Animation/Jiangjunyong/启动开关.uasset b/Content/Animation/Jiangjunyong/启动开关.uasset new file mode 100644 index 0000000..57fafcb --- /dev/null +++ b/Content/Animation/Jiangjunyong/启动开关.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9da80a13e280ff0910a3a9728b98914d4e59c3026edee825151780762612cd92 +size 107816951 diff --git a/Content/Animation/Jiangjunyong/启动开关_Anim.uasset b/Content/Animation/Jiangjunyong/启动开关_Anim.uasset new file mode 100644 index 0000000..0717706 --- /dev/null +++ b/Content/Animation/Jiangjunyong/启动开关_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7770de4a1c0ab5263ec51b3fbcbb0d3ef02414656992417c7f8a65f14459b831 +size 140849 diff --git a/Content/Animation/Jiangjunyong/启动开关_PhysicsAsset.uasset b/Content/Animation/Jiangjunyong/启动开关_PhysicsAsset.uasset new file mode 100644 index 0000000..b77b126 --- /dev/null +++ b/Content/Animation/Jiangjunyong/启动开关_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a262e8df7e8213e06cbc7bc964d1acbd82535e7676d762a592ed11fd0aca606 +size 22112 diff --git a/Content/Animation/Jiangjunyong/启动开关_Skeleton.uasset b/Content/Animation/Jiangjunyong/启动开关_Skeleton.uasset new file mode 100644 index 0000000..a27b48b --- /dev/null +++ b/Content/Animation/Jiangjunyong/启动开关_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e938fedd9fcc9f0f57dbd43977eed2d8ee1905af7c4baa94bcc102b1f9e9b123 +size 39204 diff --git a/Content/Animation/Jiangjunyong/启动开关mat.uasset b/Content/Animation/Jiangjunyong/启动开关mat.uasset new file mode 100644 index 0000000..5bcea14 --- /dev/null +++ b/Content/Animation/Jiangjunyong/启动开关mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29b330911c94c3fdd0bb0cae6f0f7f56a7343d7704aa99a30f354b275d69381d +size 159069489 diff --git a/Content/Animation/MI_Bird.uasset b/Content/Animation/MI_Bird.uasset new file mode 100644 index 0000000..c898592 --- /dev/null +++ b/Content/Animation/MI_Bird.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:770aad0cbdc4333cccbec0a327cdd58f8bf080f1287bfa48ade7d94e60265137 +size 11707 diff --git a/Content/Animation/MI_Bird1.uasset b/Content/Animation/MI_Bird1.uasset new file mode 100644 index 0000000..7df4b3d --- /dev/null +++ b/Content/Animation/MI_Bird1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e386cbf45e652bee597a10da9eda0f8bfbad7f64ae10773a573fd10fce5a2a8a +size 14021 diff --git a/Content/Animation/MI_Bird2.uasset b/Content/Animation/MI_Bird2.uasset new file mode 100644 index 0000000..ef9c8c4 --- /dev/null +++ b/Content/Animation/MI_Bird2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41eb1fad485baa23df7f9d9631de5b27482a7984a0914986f9fcef170e8bee62 +size 12937 diff --git a/Content/Animation/MI_Bird4.uasset b/Content/Animation/MI_Bird4.uasset new file mode 100644 index 0000000..da71bef --- /dev/null +++ b/Content/Animation/MI_Bird4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01cbe90b0b762a0f57578d19760d2bf5bb0f63bc78eba9774934a23568370240 +size 14679 diff --git a/Content/Animation/MI_Bird5.uasset b/Content/Animation/MI_Bird5.uasset new file mode 100644 index 0000000..04e3026 --- /dev/null +++ b/Content/Animation/MI_Bird5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:909e9a3e872a74df6795de559c7eea26257f409108dcc714c79e8a4aff815f46 +size 14130 diff --git a/Content/Animation/MI_Bird6.uasset b/Content/Animation/MI_Bird6.uasset new file mode 100644 index 0000000..4c9868d --- /dev/null +++ b/Content/Animation/MI_Bird6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6d5a7cd58de2096cf980a42b89f7866fde6d99bbacd1a1fb3dba309274772a3 +size 14509 diff --git a/Content/Animation/MI_shenti.uasset b/Content/Animation/MI_shenti.uasset new file mode 100644 index 0000000..bcbce2f --- /dev/null +++ b/Content/Animation/MI_shenti.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0528a9661603943022b4f6dcc4d8106d76781b226ff55d4dca7b8721de673e90 +size 1204 diff --git a/Content/Animation/M_Bird.uasset b/Content/Animation/M_Bird.uasset new file mode 100644 index 0000000..31fa402 --- /dev/null +++ b/Content/Animation/M_Bird.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cb6160bd8624ef3bd039b43ebb4e9c66d1b8b52226579c6b99447ec8f2362ea +size 21538 diff --git a/Content/Animation/M_Bird_mouse.uasset b/Content/Animation/M_Bird_mouse.uasset new file mode 100644 index 0000000..19f54f6 --- /dev/null +++ b/Content/Animation/M_Bird_mouse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5710d29a2dd3f4ecc002081f49340ed2323de47377b7193245cfdc9024331e7 +size 11938 diff --git a/Content/Animation/M_birdbody.uasset b/Content/Animation/M_birdbody.uasset new file mode 100644 index 0000000..dfda708 --- /dev/null +++ b/Content/Animation/M_birdbody.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdf1694a49d0c94ebec7601b93a59dbee1001cb7b0ce11a8cb058be13f99f37a +size 10732 diff --git a/Content/Animation/M_birdbody_Inst.uasset b/Content/Animation/M_birdbody_Inst.uasset new file mode 100644 index 0000000..23260c2 --- /dev/null +++ b/Content/Animation/M_birdbody_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:965924ecbbac87c98cd8361a84c2e1f219f71026161384b263d585f584f1a043 +size 6795 diff --git a/Content/Animation/T_Xuanniao__baseColor2.uasset b/Content/Animation/T_Xuanniao__baseColor2.uasset new file mode 100644 index 0000000..39298a4 --- /dev/null +++ b/Content/Animation/T_Xuanniao__baseColor2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cfe3f463134973d20d6fd4de809a899c66aa36fe4679fa9b8f46e7b56961397 +size 302198 diff --git a/Content/Animation/T_Xuanniao__occlusionRoughnessMetallic.uasset b/Content/Animation/T_Xuanniao__occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..06ad13e --- /dev/null +++ b/Content/Animation/T_Xuanniao__occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b87a0d5a1e453dd565ec09f19d5d572163f7219aa6becf8dc0089963b122545b +size 4674914 diff --git a/Content/Animation/T_Xuanniao_baseColor.uasset b/Content/Animation/T_Xuanniao_baseColor.uasset new file mode 100644 index 0000000..bf932b8 --- /dev/null +++ b/Content/Animation/T_Xuanniao_baseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8d4c9bfbf7f2681873fefcff4726496f651c82917cc748caad00c7298f46fe9 +size 7019557 diff --git a/Content/Animation/T_Xuanniao_normal.uasset b/Content/Animation/T_Xuanniao_normal.uasset new file mode 100644 index 0000000..536a30b --- /dev/null +++ b/Content/Animation/T_Xuanniao_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86942612365288b7d0742e7267076a00a22075fae3106a4a35ae38d508ca0c50 +size 7564430 diff --git a/Content/Animation/T_Xuanniao_normal2.uasset b/Content/Animation/T_Xuanniao_normal2.uasset new file mode 100644 index 0000000..9dc3fa4 --- /dev/null +++ b/Content/Animation/T_Xuanniao_normal2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a41104eabd47c0391689d537e8bc3953e99e0d9de52948c7c9194704bd65bc4 +size 2846481 diff --git a/Content/Animation/T_Xuanniao_occlusionRoughnessMetallic.uasset b/Content/Animation/T_Xuanniao_occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..0c3ce34 --- /dev/null +++ b/Content/Animation/T_Xuanniao_occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:732ad9dc0a1a030b60ad7e8529157d89f310a9c1fbc4eef322460d828dbc3606 +size 1826127 diff --git a/Content/Animation/T_colorBird.uasset b/Content/Animation/T_colorBird.uasset new file mode 100644 index 0000000..1cd3512 --- /dev/null +++ b/Content/Animation/T_colorBird.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87eb5ee2d83e2b0e2451cb063a2142b7a348261b3ce500e200830ce5ae8b71b2 +size 93373 diff --git a/Content/Animation/Xuanniao/胖玄鸟_17-01开场.uasset b/Content/Animation/Xuanniao/胖玄鸟_17-01开场.uasset new file mode 100644 index 0000000..fae5307 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_17-01开场.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:778e8b3d23a575b9b2920f6edbe0c315a6d3d07f4f4128e9fc59d7d7e315c99b +size 26134424 diff --git a/Content/Animation/Xuanniao/胖玄鸟_22别发呆啦.uasset b/Content/Animation/Xuanniao/胖玄鸟_22别发呆啦.uasset new file mode 100644 index 0000000..13b3395 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_22别发呆啦.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de45c31ea961f73fd9cbe72e1f977ad3a13f3799181341b0002e7385794f66b4 +size 3985285 diff --git a/Content/Animation/Xuanniao/胖玄鸟_23-01这雾气有股怪味.uasset b/Content/Animation/Xuanniao/胖玄鸟_23-01这雾气有股怪味.uasset new file mode 100644 index 0000000..e25ade4 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_23-01这雾气有股怪味.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9800938c767470c01a2d7d2694f3d0d6156fa833aa1bbfd8b2a281102556b9c7 +size 8569061 diff --git a/Content/Animation/Xuanniao/胖玄鸟_25-01快跟上.uasset b/Content/Animation/Xuanniao/胖玄鸟_25-01快跟上.uasset new file mode 100644 index 0000000..7732aa6 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_25-01快跟上.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f30aee7ecd84007fa735feaecba6e69b5b30613ed3750058b6a668bb1f4e80d +size 2521087 diff --git a/Content/Animation/Xuanniao/胖玄鸟_27-01呀!呀!呀!.uasset b/Content/Animation/Xuanniao/胖玄鸟_27-01呀!呀!呀!.uasset new file mode 100644 index 0000000..b9e0adf --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_27-01呀!呀!呀!.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b7aa32a4fa09864b8819770a4d2f148f1d7beec7ee76290b804a4e456c7a940 +size 5614305 diff --git a/Content/Animation/Xuanniao/胖玄鸟_39-01千万跟紧我的路线.uasset b/Content/Animation/Xuanniao/胖玄鸟_39-01千万跟紧我的路线.uasset new file mode 100644 index 0000000..b30fabf --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_39-01千万跟紧我的路线.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c678b85614363c1c09bc37c445ada3ad0f1a21302b2bcbcd10c1e670d658486 +size 1585335 diff --git a/Content/Animation/Xuanniao/胖玄鸟_41看到前面地上的金光了吗?.uasset b/Content/Animation/Xuanniao/胖玄鸟_41看到前面地上的金光了吗?.uasset new file mode 100644 index 0000000..c2ed3fc --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_41看到前面地上的金光了吗?.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0956b70037526e9829c086332b6a411d5ac301f5c9bd2ef66077a31224e3d449 +size 3661279 diff --git a/Content/Animation/Xuanniao/胖玄鸟_45聪明!踩着这枚“秦半两”.uasset b/Content/Animation/Xuanniao/胖玄鸟_45聪明!踩着这枚“秦半两”.uasset new file mode 100644 index 0000000..e90960e --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_45聪明!踩着这枚“秦半两”.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db63dcd8e7713916b45f250c38caf9e3cd53fdc50840239893499b5feecde102 +size 6822340 diff --git a/Content/Animation/Xuanniao/胖玄鸟_49凡人也敢来碰始皇帝的‘镇陵局’.uasset b/Content/Animation/Xuanniao/胖玄鸟_49凡人也敢来碰始皇帝的‘镇陵局’.uasset new file mode 100644 index 0000000..b1ece31 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_49凡人也敢来碰始皇帝的‘镇陵局’.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35cfa7bc946ceaa76d1d39632fc42a65073530d268a80e899f74496c134fee0a +size 7256090 diff --git a/Content/Animation/Xuanniao/胖玄鸟_51-01看!是骰子!.uasset b/Content/Animation/Xuanniao/胖玄鸟_51-01看!是骰子!.uasset new file mode 100644 index 0000000..6c1e4a6 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_51-01看!是骰子!.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c47a74e8fbc02f94ca86517c9d12db34afe0fb07bad39c133894ad393e45747 +size 5084129 diff --git a/Content/Animation/Xuanniao/胖玄鸟_57成功了!.uasset b/Content/Animation/Xuanniao/胖玄鸟_57成功了!.uasset new file mode 100644 index 0000000..f5805da --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_57成功了!.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ef048ad8c1171a216e2ec315acc6cd042a2ff9dead88d55a499675fdd6016bc +size 1739102 diff --git a/Content/Animation/Xuanniao/胖玄鸟_60嘿!勇敢的探索者们.uasset b/Content/Animation/Xuanniao/胖玄鸟_60嘿!勇敢的探索者们.uasset new file mode 100644 index 0000000..6a52758 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_60嘿!勇敢的探索者们.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3969a1e60818e892a760c521012eb4351e666709cfe11e81b7a2a8b48c344b26 +size 7037113 diff --git a/Content/Animation/Xuanniao/胖玄鸟_69-01快看!那面鼓在发光!.uasset b/Content/Animation/Xuanniao/胖玄鸟_69-01快看!那面鼓在发光!.uasset new file mode 100644 index 0000000..ad61dd2 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_69-01快看!那面鼓在发光!.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b61d4e756af37ab52e25a2a8de2cf4c7cbc9a7eb98c8f688b487520ed9ee76e8 +size 1965376 diff --git a/Content/Animation/Xuanniao/胖玄鸟_75-01抓紧我!我们要掉下去了!.uasset b/Content/Animation/Xuanniao/胖玄鸟_75-01抓紧我!我们要掉下去了!.uasset new file mode 100644 index 0000000..ee62597 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_75-01抓紧我!我们要掉下去了!.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2204ce59ee6b8479a28a62d03e7b70fcbdf9bbb1a31053bb984454ecefefdfb9 +size 1413776 diff --git a/Content/Animation/Xuanniao/胖玄鸟_77瞧见没?.uasset b/Content/Animation/Xuanniao/胖玄鸟_77瞧见没?.uasset new file mode 100644 index 0000000..7c36f37 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_77瞧见没?.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb93bc1776a76fa819d50e416378559b39c766b6e8610facde550ab018710779 +size 4000242 diff --git a/Content/Animation/Xuanniao/胖玄鸟_Skin.uasset b/Content/Animation/Xuanniao/胖玄鸟_Skin.uasset new file mode 100644 index 0000000..2e42815 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_Skin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff18fc93b0d689f642ae8acb3d51620453840d9ed350b55600d197070798f4e +size 5487959 diff --git a/Content/Animation/Xuanniao/胖玄鸟_Skin_PhysicsAsset.uasset b/Content/Animation/Xuanniao/胖玄鸟_Skin_PhysicsAsset.uasset new file mode 100644 index 0000000..5dd9de4 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_Skin_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c9488f90d4aca614c4d15d89e85cd34b68f6985d7a6e0cc61a72b815a58d469 +size 68973 diff --git a/Content/Animation/Xuanniao/胖玄鸟_Skin_Skeleton.uasset b/Content/Animation/Xuanniao/胖玄鸟_Skin_Skeleton.uasset new file mode 100644 index 0000000..28b4d82 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_Skin_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c60bbffa33e02457f53276efd32f3b7b605b7ffbc7a04735547201201a298135 +size 51287 diff --git a/Content/Animation/Xuanniao/胖玄鸟_呀呀呀.uasset b/Content/Animation/Xuanniao/胖玄鸟_呀呀呀.uasset new file mode 100644 index 0000000..d2f9dc1 --- /dev/null +++ b/Content/Animation/Xuanniao/胖玄鸟_呀呀呀.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e47bcf41c05180868c812373253b700ab278af12b0a1adce3f2f6b24796597a +size 1600750 diff --git a/Content/Animation/Xuanniao/飞_待机.uasset b/Content/Animation/Xuanniao/飞_待机.uasset new file mode 100644 index 0000000..66c618c --- /dev/null +++ b/Content/Animation/Xuanniao/飞_待机.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b9bab9c4eab4179f783de5045342099ccd2ec1b4df8d373035482e2b7578c75 +size 772432 diff --git a/Content/Animation/Xuanniao/飞_扭头.uasset b/Content/Animation/Xuanniao/飞_扭头.uasset new file mode 100644 index 0000000..f496247 --- /dev/null +++ b/Content/Animation/Xuanniao/飞_扭头.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f60982b6908bdb53f43a27b930668d14e44706cf4e1e913360563eecda2b6436 +size 771875 diff --git a/Content/Animation/Xuanniao/飞_扭头_说话.uasset b/Content/Animation/Xuanniao/飞_扭头_说话.uasset new file mode 100644 index 0000000..ece856c --- /dev/null +++ b/Content/Animation/Xuanniao/飞_扭头_说话.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e63fe3d6db81ae58946f6a060b7d482d649f5fa54e179f248b7cbd56df2ce2e +size 851374 diff --git a/Content/Animation/Xuanniao/飞_招手.uasset b/Content/Animation/Xuanniao/飞_招手.uasset new file mode 100644 index 0000000..f36e897 --- /dev/null +++ b/Content/Animation/Xuanniao/飞_招手.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5285d5f7ed34c9778ba1638f4373839221366b5cc258ecaf4f39ac42ab680e5b +size 201092 diff --git a/Content/Animation/Xuanniao/飞_转圈.uasset b/Content/Animation/Xuanniao/飞_转圈.uasset new file mode 100644 index 0000000..1090b74 --- /dev/null +++ b/Content/Animation/Xuanniao/飞_转圈.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:780646dc38a52270f4a1ab19f36143479b6224f3b74b3bc54183388bd77a9ae2 +size 758183 diff --git a/Content/Animation/bird_low.uasset b/Content/Animation/bird_low.uasset new file mode 100644 index 0000000..27a545b --- /dev/null +++ b/Content/Animation/bird_low.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:910194e27e1a2c8326e1c89970cdac102f35c2773ed56799d19dc7c904d58c29 +size 478726 diff --git a/Content/Animation/qiu/球.uasset b/Content/Animation/qiu/球.uasset new file mode 100644 index 0000000..8c00878 --- /dev/null +++ b/Content/Animation/qiu/球.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8973e026f2bc5d1f949504a2760807278acb542f90740b99cd62dca4b0fa00c1 +size 642428 diff --git a/Content/Animation/qiu/球_Anim.uasset b/Content/Animation/qiu/球_Anim.uasset new file mode 100644 index 0000000..95b03b8 --- /dev/null +++ b/Content/Animation/qiu/球_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebfcfb4c1d23b52a1f30780b56910074410a81e9a7f1b82490018ab28f0db466 +size 126627 diff --git a/Content/Animation/qiu/球_PhysicsAsset.uasset b/Content/Animation/qiu/球_PhysicsAsset.uasset new file mode 100644 index 0000000..744bf4f --- /dev/null +++ b/Content/Animation/qiu/球_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11d1b574cc39ee6f7a6b20f044d49e11a1f4f0ffaa28be3db72e76161f02f68c +size 7507 diff --git a/Content/Animation/qiu/球_Skeleton.uasset b/Content/Animation/qiu/球_Skeleton.uasset new file mode 100644 index 0000000..daeddcd --- /dev/null +++ b/Content/Animation/qiu/球_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98ffa8e493c76e6f8a642ab1d4ba9d7e84d2bea756ff37ee5956971f2d237e46 +size 6528 diff --git a/Content/Animation/qizi/zhuan_hff2.uasset b/Content/Animation/qizi/zhuan_hff2.uasset new file mode 100644 index 0000000..4586550 --- /dev/null +++ b/Content/Animation/qizi/zhuan_hff2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14de95a20012df9af33bc6418cce927cfc462c55c277d40a977071ef5f0c2ad1 +size 8876 diff --git a/Content/Animation/qizi/下棋.uasset b/Content/Animation/qizi/下棋.uasset new file mode 100644 index 0000000..a009c6f --- /dev/null +++ b/Content/Animation/qizi/下棋.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:174a54640dc6fa780dc882f1ec436b7dc130f3d8b3c51db323445af934c638f4 +size 14715865 diff --git a/Content/Animation/qizi/下棋_Anim.uasset b/Content/Animation/qizi/下棋_Anim.uasset new file mode 100644 index 0000000..8bcb670 --- /dev/null +++ b/Content/Animation/qizi/下棋_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8908a0305f03de40fe75a49bea5eb99ab920581d13e33261cdf0eb1715d48c6b +size 375797 diff --git a/Content/Animation/qizi/下棋_PhysicsAsset.uasset b/Content/Animation/qizi/下棋_PhysicsAsset.uasset new file mode 100644 index 0000000..5750f46 --- /dev/null +++ b/Content/Animation/qizi/下棋_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:255c20efca2e82166b0ab4597a909668a87d5024e1a2c4103c0b375b4cc94c33 +size 24905 diff --git a/Content/Animation/qizi/下棋_Skeleton.uasset b/Content/Animation/qizi/下棋_Skeleton.uasset new file mode 100644 index 0000000..3ba2141 --- /dev/null +++ b/Content/Animation/qizi/下棋_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dce6d41168daeeb8b31b92a9ae2a46145ec3348b10c520e2f9f2e7ecabe6a20f +size 18157 diff --git a/Content/Animation/shaizi/Fbx_Default_Material.uasset b/Content/Animation/shaizi/Fbx_Default_Material.uasset new file mode 100644 index 0000000..99e83f3 --- /dev/null +++ b/Content/Animation/shaizi/Fbx_Default_Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:627bd2f11e1ee5bf85599be42b1d5aae244273b8299722c0a2779f8a12c91ac9 +size 9169 diff --git a/Content/Animation/shaizi/筛子2_1_.uasset b/Content/Animation/shaizi/筛子2_1_.uasset new file mode 100644 index 0000000..e5071fb --- /dev/null +++ b/Content/Animation/shaizi/筛子2_1_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ec2bddea387ab869705f0edfb2188c8d5f57172a5c3b6477133e1986faf4147 +size 33186 diff --git a/Content/Animation/shaizi/筛子2_1__Anim.uasset b/Content/Animation/shaizi/筛子2_1__Anim.uasset new file mode 100644 index 0000000..f12f7a2 --- /dev/null +++ b/Content/Animation/shaizi/筛子2_1__Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a4c7f5b0214f894a972d9b240765277b753c73ca27bb91c25a93769dd475cf0 +size 56058 diff --git a/Content/Animation/shaizi/筛子2_1__PhysicsAsset.uasset b/Content/Animation/shaizi/筛子2_1__PhysicsAsset.uasset new file mode 100644 index 0000000..ef0b1f1 --- /dev/null +++ b/Content/Animation/shaizi/筛子2_1__PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de9c0140dce6bcb73e3d56e9e564b6ab31bd1ae8b9b75fa2f0605da895765922 +size 7162 diff --git a/Content/Animation/shaizi/筛子2_1__Skeleton.uasset b/Content/Animation/shaizi/筛子2_1__Skeleton.uasset new file mode 100644 index 0000000..d6da8bc --- /dev/null +++ b/Content/Animation/shaizi/筛子2_1__Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:049303073eae548928030cfa0e810163aa5833d2d0ddf5ea7998821ceaeba53d +size 6488 diff --git a/Content/Animation/shaizi/筛子3.uasset b/Content/Animation/shaizi/筛子3.uasset new file mode 100644 index 0000000..2f65ec8 --- /dev/null +++ b/Content/Animation/shaizi/筛子3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be0ed057b5fbaf37c0a3a68059f461062bc924b015c7d7ae487faa8393476050 +size 482969 diff --git a/Content/Animation/wushiyong/NewFolder/千年前守此要道.uasset b/Content/Animation/wushiyong/NewFolder/千年前守此要道.uasset new file mode 100644 index 0000000..47802e2 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/千年前守此要道.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f2e58a28fad8d44a2a76128695b1c8a0458afffbd1390083ca4d439e2362968 +size 1472393 diff --git a/Content/Animation/wushiyong/NewFolder/好奇的代价.uasset b/Content/Animation/wushiyong/NewFolder/好奇的代价.uasset new file mode 100644 index 0000000..a2f9874 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/好奇的代价.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d34ea4ae51da5aa144be2a3760ebc1595958a0be755b572fcb50b38053b5cf3 +size 21364409 diff --git a/Content/Animation/wushiyong/NewFolder/好奇的代价_Anim.uasset b/Content/Animation/wushiyong/NewFolder/好奇的代价_Anim.uasset new file mode 100644 index 0000000..a19a059 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/好奇的代价_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b3f0050787460ddfe37a4418aab4ef6b0638a4167592284aff1975fdb299c7b +size 1268318 diff --git a/Content/Animation/wushiyong/NewFolder/好奇的代价_PhysicsAsset.uasset b/Content/Animation/wushiyong/NewFolder/好奇的代价_PhysicsAsset.uasset new file mode 100644 index 0000000..549585d --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/好奇的代价_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b15d6909fc3c01f6a0461589ff45783c9a92ef46fe7b04fe2f19388d86ef70f +size 36183 diff --git a/Content/Animation/wushiyong/NewFolder/好奇的代价_Skeleton.uasset b/Content/Animation/wushiyong/NewFolder/好奇的代价_Skeleton.uasset new file mode 100644 index 0000000..1617de2 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/好奇的代价_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe007f0c2fddef2fd7daf993ad71ae9f90b5d27fdff52687103bbe8067e1d91c +size 38444 diff --git a/Content/Animation/wushiyong/NewFolder/莫要惊扰沉睡的孤魂.uasset b/Content/Animation/wushiyong/NewFolder/莫要惊扰沉睡的孤魂.uasset new file mode 100644 index 0000000..1481905 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/莫要惊扰沉睡的孤魂.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f459dee4fa67c96f3350e4fd7f73ef281126b731da400aaa3a9748d0a1385801 +size 610794 diff --git a/Content/Animation/wushiyong/NewFolder/鼓声一响地动山摇.uasset b/Content/Animation/wushiyong/NewFolder/鼓声一响地动山摇.uasset new file mode 100644 index 0000000..55874a2 --- /dev/null +++ b/Content/Animation/wushiyong/NewFolder/鼓声一响地动山摇.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbaab20524f5597d9ada364feae2bd1d1aa6e68aee01a364d8549aeda8ffc397 +size 1668975 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_jian1_BaseColor.uasset b/Content/Animation/wushiyong/Texture/WSY_low_jian1_BaseColor.uasset new file mode 100644 index 0000000..ef4dc17 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_jian1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff7a952290a1bf32ea8a9a95c500da66f9867fa894598351c4973a4f87d724c9 +size 2088438 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_jian1_Height.uasset b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Height.uasset new file mode 100644 index 0000000..f357ea0 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:991c36b3ed6459c9eb755866f04f91bb60ffbc0337b6a045ea5a8b065d3a2a9d +size 38002 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_jian1_Metallic.uasset b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Metallic.uasset new file mode 100644 index 0000000..b1e7fe9 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d3ebf2bbdf6df3860cad30c6633fa648d73848d96e7568cdbe2e7ebb986d095 +size 18182 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_jian1_Normal.uasset b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Normal.uasset new file mode 100644 index 0000000..5701061 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa5ec5a9b523e7e9f6036306af07fddbaafdc3c00a09f4ba0a4928b5c0f25615 +size 3335657 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_jian1_Roughness.uasset b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Roughness.uasset new file mode 100644 index 0000000..42f7a57 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_jian1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad2661468b155deef74e7114b9be0e73148fe218cc785939a047cc9f5b69ad53 +size 1121225 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_BaseColor.uasset b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_BaseColor.uasset new file mode 100644 index 0000000..137ac05 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:405d420bf29694956ceaac122d32c5e555bc1a9f7d62e0e0cc1e2ecbf740613d +size 3858908 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Height.uasset b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Height.uasset new file mode 100644 index 0000000..7e107f9 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046806da474fb1b94db10843ac0f4b8fc0dafc915ad0ad8a488dfecf166a0652 +size 143671 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Metallic.uasset b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Metallic.uasset new file mode 100644 index 0000000..7c929d1 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98e1eb8ad3517ba0e9c173f1d0b50a2df5a8fd55e98d7540b552047e40925a63 +size 18232 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Normal.uasset b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Normal.uasset new file mode 100644 index 0000000..7202438 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:194e8950014fd3abfae58730ed10772e2e8290c2b9d8006bcd94014e5a70e6e6 +size 15099452 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Roughness.uasset b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Roughness.uasset new file mode 100644 index 0000000..fe0d6fe --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_kuijia2_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:554bdfd452d3e13d8c06477a8f514a891078be49a46a74c865bb3475ea2891a3 +size 810467 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_peijain1_BaseColor.uasset b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_BaseColor.uasset new file mode 100644 index 0000000..b67cc92 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0aa3a9f8c21af0cf1d784340b33db6eb44ccddc7c6a59b0aae5e062dd6367260 +size 2997044 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Height.uasset b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Height.uasset new file mode 100644 index 0000000..e2b265d --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d767e4a61abb83c2fbca19d6ed6f3b26cb5dcf37a82bc6050d7bb7a633917eb7 +size 38077 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Metallic.uasset b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Metallic.uasset new file mode 100644 index 0000000..a7b44eb --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f200a98d07615815f146fc2da894b00995cdbcbd2d1a796cef792d858781ce9 +size 18257 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Normal.uasset b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Normal.uasset new file mode 100644 index 0000000..9adb442 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ab2207d5b8cca8ddafbaa95afbed5301b045eda00d091bd334e569062fb4300 +size 7003098 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Roughness.uasset b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Roughness.uasset new file mode 100644 index 0000000..f94a8de --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_peijain1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16b2b5bd1659a3922abfa732541176dfad356c5da2ad7788ce1153b9292c63da +size 1256995 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_shenti3_BaseColor.uasset b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_BaseColor.uasset new file mode 100644 index 0000000..d05ea28 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05e3ba4d46501307aec94d9e5cac34eb8bbc387fa1e6b6947c6eef372b3414fd +size 1704570 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Height.uasset b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Height.uasset new file mode 100644 index 0000000..326c660 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b68cb34ac594b9a3be996abd3c7b18cf9e59471f2f90559ea05ad5b293aa9c67 +size 159856 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Metallic.uasset b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Metallic.uasset new file mode 100644 index 0000000..8a1ffbd --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e0d27105f0b9930ff4f3e70075a8f7e8dd4d2736ef1815a6308129fd5b51bd9 +size 18232 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Normal.uasset b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Normal.uasset new file mode 100644 index 0000000..53f8bfb --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50bcc06d4eb30e92cc8d94ecf6ca0585aa36fdb2302301cbbc637604d083aec4 +size 6677718 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Roughness.uasset b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Roughness.uasset new file mode 100644 index 0000000..1006f97 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_shenti3_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b9ec25cea2f4204ac90ae19e61a423a5e4e309d07650de4a9540fe9dde46a3c +size 879884 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_yifu2_BaseColor.uasset b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_BaseColor.uasset new file mode 100644 index 0000000..8731b49 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdceedb40295437483c8756777fd8b08ef9115708553b2fa950d640ec39704dd +size 3544986 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Height.uasset b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Height.uasset new file mode 100644 index 0000000..020afda --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a39f08c937756d468e2809f40ced187ae8575ed1277f58139af1d03db79393 +size 38002 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Metallic.uasset b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Metallic.uasset new file mode 100644 index 0000000..a493a03 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:733e0ba37b502fcffdda85b85d2a495818e01befc97a48303f07eb3d5b4a1239 +size 18182 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Normal.uasset b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Normal.uasset new file mode 100644 index 0000000..69608bb --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9726c6330c04834c64d1442908c7cd121378d02688ae41e6430b8c6e393055c2 +size 5653407 diff --git a/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Roughness.uasset b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Roughness.uasset new file mode 100644 index 0000000..1764971 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/WSY_low_yifu2_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01c7b6c99020dd359be44aece3ba56e06f8a5f65162513744ec863f2ae9d882 +size 1420347 diff --git a/Content/Animation/wushiyong/Texture/jian1_BaseColor.uasset b/Content/Animation/wushiyong/Texture/jian1_BaseColor.uasset new file mode 100644 index 0000000..0b31e25 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jian1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fa13b241edf643ffca6d934d7be255772806fdd55c7be7c37bdb40616b01093 +size 2088236 diff --git a/Content/Animation/wushiyong/Texture/jian1_Height.uasset b/Content/Animation/wushiyong/Texture/jian1_Height.uasset new file mode 100644 index 0000000..a676fc7 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jian1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171fcb63381d948f67ae7534c83e620a1cef08f92d00909ef66b24a53a71c8d7 +size 37801 diff --git a/Content/Animation/wushiyong/Texture/jian1_Metallic.uasset b/Content/Animation/wushiyong/Texture/jian1_Metallic.uasset new file mode 100644 index 0000000..c9cd89f --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jian1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b73e608d20ebe198e409d103c040cf99a0c32544107264313eee7c7ae2866b1f +size 17981 diff --git a/Content/Animation/wushiyong/Texture/jian1_Normal.uasset b/Content/Animation/wushiyong/Texture/jian1_Normal.uasset new file mode 100644 index 0000000..30f9721 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jian1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8273048be55ef1af588abe6d85c5e9d0a10466da1ba575871a4d1429b4d30b7e +size 3335456 diff --git a/Content/Animation/wushiyong/Texture/jian1_Roughness.uasset b/Content/Animation/wushiyong/Texture/jian1_Roughness.uasset new file mode 100644 index 0000000..89f3be5 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jian1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8877c698bd5828d4f3633f2bb7eee0e3bc50575c415bdfcd1658e1fe45ba9e6a +size 1121024 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst2.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst2.uasset new file mode 100644 index 0000000..f295700 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a63b82813fa65e3c29c5e397e9125859fe24a481f4b7e18f8a7dc8d1fdf3c14 +size 10639 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst3.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst3.uasset new file mode 100644 index 0000000..e187b60 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bbc344dbeeacec4a27d35c0f4f1aca0b0be99928492fd9e2af4c5bcf28c5744 +size 12681 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst4.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst4.uasset new file mode 100644 index 0000000..22c7d99 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36f16f21c80a911e29789061d9e5c57e5c63b9953cbbc4cb0bcf1539f7a16cd0 +size 11518 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst5.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst5.uasset new file mode 100644 index 0000000..6c8e512 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d667befda355ef90043ba38713b9a9fc59d7e2768ced1c96f441603b5199a0c +size 12124 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst6.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst6.uasset new file mode 100644 index 0000000..97fa718 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7db0b72175cf073ac4192cc8a26754deb12dbfd50f3e34e8e563df76e51a07bc +size 10181 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst7.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst7.uasset new file mode 100644 index 0000000..f8e1492 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfa765717b0e36d05649056144b66f214f8ab8d765097aa1968d0fb17eac226f +size 11400 diff --git a/Content/Animation/wushiyong/Texture/jiangjunyong_Inst8.uasset b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst8.uasset new file mode 100644 index 0000000..910f547 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/jiangjunyong_Inst8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e89ea9267f2878aa0c4174783e0733f259062a7232629035c607a5b4d07adf +size 10509 diff --git a/Content/Animation/wushiyong/Texture/kuijia2_BaseColor.uasset b/Content/Animation/wushiyong/Texture/kuijia2_BaseColor.uasset new file mode 100644 index 0000000..9186916 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/kuijia2_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78f8c3c540094dd135de1f1ca8a4709df50a1829eefd637e49e762ae396c1f4f +size 3858707 diff --git a/Content/Animation/wushiyong/Texture/kuijia2_Height.uasset b/Content/Animation/wushiyong/Texture/kuijia2_Height.uasset new file mode 100644 index 0000000..7284caa --- /dev/null +++ b/Content/Animation/wushiyong/Texture/kuijia2_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c8c259704bdc0772ab579a938700b10e598a730ae38d0b813cc15c988a12178 +size 143470 diff --git a/Content/Animation/wushiyong/Texture/kuijia2_Metallic.uasset b/Content/Animation/wushiyong/Texture/kuijia2_Metallic.uasset new file mode 100644 index 0000000..0e0e580 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/kuijia2_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a47c9151cc779ba1a12119a826833d721aca5e7773a2d9b030eda336ff2390d +size 18031 diff --git a/Content/Animation/wushiyong/Texture/kuijia2_Normal.uasset b/Content/Animation/wushiyong/Texture/kuijia2_Normal.uasset new file mode 100644 index 0000000..fa504a7 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/kuijia2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06e87b677dd455916a8f889d0c8d64ba26d7408648dc890b4204b41735ddb5bb +size 15099251 diff --git a/Content/Animation/wushiyong/Texture/kuijia2_Roughness.uasset b/Content/Animation/wushiyong/Texture/kuijia2_Roughness.uasset new file mode 100644 index 0000000..57cf486 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/kuijia2_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5636bee0ba6fb478ce4c32702107b0504634dae25ceab3d4285995a3a4511e0 +size 810266 diff --git a/Content/Animation/wushiyong/Texture/peijain1_BaseColor.uasset b/Content/Animation/wushiyong/Texture/peijain1_BaseColor.uasset new file mode 100644 index 0000000..3c1d2f6 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/peijain1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f80b693ee5e7c387b0625b796114239699d8f365490a3bd21d1bdb99fb27d1a0 +size 2996844 diff --git a/Content/Animation/wushiyong/Texture/peijain1_Height.uasset b/Content/Animation/wushiyong/Texture/peijain1_Height.uasset new file mode 100644 index 0000000..e72129d --- /dev/null +++ b/Content/Animation/wushiyong/Texture/peijain1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72b8b6bf051c9f935e02ad432b4043f3b3ac25a2fe554582e00515c385240ac2 +size 37877 diff --git a/Content/Animation/wushiyong/Texture/peijain1_Metallic.uasset b/Content/Animation/wushiyong/Texture/peijain1_Metallic.uasset new file mode 100644 index 0000000..ec34aa6 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/peijain1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be26b37138ec7064435bfe6f5fe0822fa0bf17f9888513ea650e6085e324f9a3 +size 18057 diff --git a/Content/Animation/wushiyong/Texture/peijain1_Normal.uasset b/Content/Animation/wushiyong/Texture/peijain1_Normal.uasset new file mode 100644 index 0000000..5d2da4c --- /dev/null +++ b/Content/Animation/wushiyong/Texture/peijain1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626138e81c50e5b63d14f3db3fc41897ffd48b9b41b5500d87d758ecb821de2b +size 7002898 diff --git a/Content/Animation/wushiyong/Texture/peijain1_Roughness.uasset b/Content/Animation/wushiyong/Texture/peijain1_Roughness.uasset new file mode 100644 index 0000000..9fe23e3 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/peijain1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b5233942be0a72837c6362ab874553db284d3624015fec9198172bd7e2a95a +size 1256795 diff --git a/Content/Animation/wushiyong/Texture/shenti3_BaseColor.uasset b/Content/Animation/wushiyong/Texture/shenti3_BaseColor.uasset new file mode 100644 index 0000000..ff93349 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/shenti3_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0018bba46575a63644b964a70c0edc6fb5f631a1c7c48e0183cf9756687fb4fb +size 1712463 diff --git a/Content/Animation/wushiyong/Texture/shenti3_Height.uasset b/Content/Animation/wushiyong/Texture/shenti3_Height.uasset new file mode 100644 index 0000000..f5e4627 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/shenti3_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8aa4492618ef0003d7754e6b95e029ab6bedd53f769eb29cd06814a44e9fbf09 +size 159656 diff --git a/Content/Animation/wushiyong/Texture/shenti3_Metallic.uasset b/Content/Animation/wushiyong/Texture/shenti3_Metallic.uasset new file mode 100644 index 0000000..c8a4171 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/shenti3_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c40a33fac6fa870d85d5b05a6e26ee64c73d72974cee3ef16e42f89ede1cace +size 18032 diff --git a/Content/Animation/wushiyong/Texture/shenti3_Normal.uasset b/Content/Animation/wushiyong/Texture/shenti3_Normal.uasset new file mode 100644 index 0000000..ea55181 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/shenti3_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38bfd3eb5574a9712ba861b91bd574195e0dafd7f22e120806715531598e0326 +size 6677518 diff --git a/Content/Animation/wushiyong/Texture/shenti3_Roughness.uasset b/Content/Animation/wushiyong/Texture/shenti3_Roughness.uasset new file mode 100644 index 0000000..1ac653d --- /dev/null +++ b/Content/Animation/wushiyong/Texture/shenti3_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a06b78adcacc886476bb40a02c37c11ee11746d1640611406bb4c1e85cfd8703 +size 879684 diff --git a/Content/Animation/wushiyong/Texture/yifu2_BaseColor.uasset b/Content/Animation/wushiyong/Texture/yifu2_BaseColor.uasset new file mode 100644 index 0000000..49dbd2a --- /dev/null +++ b/Content/Animation/wushiyong/Texture/yifu2_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11df03cbc7927b384f97a58457521337df613f7636d102bcbfbb730eb7c1b8d5 +size 3544786 diff --git a/Content/Animation/wushiyong/Texture/yifu2_Height.uasset b/Content/Animation/wushiyong/Texture/yifu2_Height.uasset new file mode 100644 index 0000000..c4b11b4 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/yifu2_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7964be934124aafcd641d393551f63d724adfca67638c8c7a5beba31dc983143 +size 37803 diff --git a/Content/Animation/wushiyong/Texture/yifu2_Metallic.uasset b/Content/Animation/wushiyong/Texture/yifu2_Metallic.uasset new file mode 100644 index 0000000..c18b0a2 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/yifu2_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36f64daa7b6570614970e6d620d4917dbf9aa5b2c81e7bbcc455bb0b4ea69546 +size 17983 diff --git a/Content/Animation/wushiyong/Texture/yifu2_Normal.uasset b/Content/Animation/wushiyong/Texture/yifu2_Normal.uasset new file mode 100644 index 0000000..b2c27f0 --- /dev/null +++ b/Content/Animation/wushiyong/Texture/yifu2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6edd71711735c6f2b111de748218156fb4e7b60dbf37125d762e69eb1fb3804 +size 5653208 diff --git a/Content/Animation/wushiyong/Texture/yifu2_Roughness.uasset b/Content/Animation/wushiyong/Texture/yifu2_Roughness.uasset new file mode 100644 index 0000000..433948b --- /dev/null +++ b/Content/Animation/wushiyong/Texture/yifu2_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e497f50236233931886e7f80c0a221f12e060abdf783f44ce22e06d1629a0a13 +size 1420148 diff --git a/Content/Animation/wushiyong/dagu2/打鼓.uasset b/Content/Animation/wushiyong/dagu2/打鼓.uasset new file mode 100644 index 0000000..43e7621 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df8c804aaf1918e588971fa3e72613e1d5d87f1677497844f46d62cbd548b02f +size 6375983 diff --git a/Content/Animation/wushiyong/dagu2/打鼓2.uasset b/Content/Animation/wushiyong/dagu2/打鼓2.uasset new file mode 100644 index 0000000..ef40ffa --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1334538b85610c4a79fef5e862138a87541635ff25f0b1c2147a3c79d4af3c3c +size 1622 diff --git a/Content/Animation/wushiyong/dagu2/打鼓2_Anim.uasset b/Content/Animation/wushiyong/dagu2/打鼓2_Anim.uasset new file mode 100644 index 0000000..89f4da9 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓2_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325ddd270fe7946fda2711124417197bfee921253380ee1115d5810327eb9e0f +size 453184 diff --git a/Content/Animation/wushiyong/dagu2/打鼓2_PhysicsAsset.uasset b/Content/Animation/wushiyong/dagu2/打鼓2_PhysicsAsset.uasset new file mode 100644 index 0000000..a22bf5e --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓2_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a374ffb7a34d6508505fb11d17d9235d793de2773a35e3503c26ebf76ddbc6c +size 38123 diff --git a/Content/Animation/wushiyong/dagu2/打鼓2_Skeleton.uasset b/Content/Animation/wushiyong/dagu2/打鼓2_Skeleton.uasset new file mode 100644 index 0000000..def0f91 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓2_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a226432cb2f3ad547bbd3eba8ca9d9a810b1e0e1a0b7eb67d49a43da6cd8d739 +size 38335 diff --git a/Content/Animation/wushiyong/dagu2/打鼓_Anim.uasset b/Content/Animation/wushiyong/dagu2/打鼓_Anim.uasset new file mode 100644 index 0000000..955754e --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d09740b1bb044aeeab77cb5abb6f5d28c5b6b0990f9eb0a250fc92f6c06c7c47 +size 195134 diff --git a/Content/Animation/wushiyong/dagu2/打鼓_PhysicsAsset.uasset b/Content/Animation/wushiyong/dagu2/打鼓_PhysicsAsset.uasset new file mode 100644 index 0000000..ffa1227 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cc8fda18b398fff958d6590e68cc372c2f425b629472bb189789acac0d6a373 +size 38540 diff --git a/Content/Animation/wushiyong/dagu2/打鼓_Skeleton.uasset b/Content/Animation/wushiyong/dagu2/打鼓_Skeleton.uasset new file mode 100644 index 0000000..bf9d3b6 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e129af136e15be9677177bef925e22a571834009b0fdf6117fe459add991f397 +size 38463 diff --git a/Content/Animation/wushiyong/dagu2/打鼓_待机.uasset b/Content/Animation/wushiyong/dagu2/打鼓_待机.uasset new file mode 100644 index 0000000..ec34679 --- /dev/null +++ b/Content/Animation/wushiyong/dagu2/打鼓_待机.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbcccfc815bb6e80df9733a1b985e11e19de19c538a3c310a5c9e1ce702a3daf +size 156190 diff --git a/Content/Animation/wushiyong/zudang/阻挡.uasset b/Content/Animation/wushiyong/zudang/阻挡.uasset new file mode 100644 index 0000000..7c5cb2c --- /dev/null +++ b/Content/Animation/wushiyong/zudang/阻挡.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:277e0e3125bedfe6c1258d16dc7f8b6c25e8bcc5a2052918c98baebcaaf943e9 +size 11371898 diff --git a/Content/Animation/wushiyong/千年前守此要道.uasset b/Content/Animation/wushiyong/千年前守此要道.uasset new file mode 100644 index 0000000..938db89 --- /dev/null +++ b/Content/Animation/wushiyong/千年前守此要道.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415d55a35398752a2d174a0b623d7675f5571b90eb0df27a2ca2e10558dde603 +size 796855 diff --git a/Content/Animation/wushiyong/好奇的代价.uasset b/Content/Animation/wushiyong/好奇的代价.uasset new file mode 100644 index 0000000..c307b6c --- /dev/null +++ b/Content/Animation/wushiyong/好奇的代价.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddf427568dae4a29e42fa1592ea35d4e0d0d7538496bf42195dab9933e83a672 +size 693390 diff --git a/Content/Animation/wushiyong/打鼓.uasset b/Content/Animation/wushiyong/打鼓.uasset new file mode 100644 index 0000000..f47af69 --- /dev/null +++ b/Content/Animation/wushiyong/打鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea97e3c404cc4c8a28304f18f3f2e442c133d896d5a601dbcf1e5d43ac92e4d +size 11976722 diff --git a/Content/Animation/wushiyong/打鼓_Anim.uasset b/Content/Animation/wushiyong/打鼓_Anim.uasset new file mode 100644 index 0000000..084cc06 --- /dev/null +++ b/Content/Animation/wushiyong/打鼓_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3e2d4406707f3f7c9eed2cb98644885c831772733ee974efaec99e95e148597 +size 453698 diff --git a/Content/Animation/wushiyong/打鼓_PhysicsAsset.uasset b/Content/Animation/wushiyong/打鼓_PhysicsAsset.uasset new file mode 100644 index 0000000..736b6b1 --- /dev/null +++ b/Content/Animation/wushiyong/打鼓_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10e86ea81621e4c8e514ece04c3eab5d5def261baadbcffcea9087e7e59f9565 +size 37654 diff --git a/Content/Animation/wushiyong/打鼓_Skeleton.uasset b/Content/Animation/wushiyong/打鼓_Skeleton.uasset new file mode 100644 index 0000000..3463f37 --- /dev/null +++ b/Content/Animation/wushiyong/打鼓_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6450e3a2fb9a4142a2fbc60ceeb0a26f67fa53ba72f4fe66b1323976830991f2 +size 39050 diff --git a/Content/Animation/wushiyong/莫要惊扰沉睡的孤魂.uasset b/Content/Animation/wushiyong/莫要惊扰沉睡的孤魂.uasset new file mode 100644 index 0000000..b94f076 --- /dev/null +++ b/Content/Animation/wushiyong/莫要惊扰沉睡的孤魂.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7929895695eb24db3fbbe43a70d85c2880a48ed37f1c2b8d193ef5b2142d66d4 +size 366440 diff --git a/Content/Animation/wushiyong/鼓声一响地动山摇.uasset b/Content/Animation/wushiyong/鼓声一响地动山摇.uasset new file mode 100644 index 0000000..b49d66e --- /dev/null +++ b/Content/Animation/wushiyong/鼓声一响地动山摇.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42b5c4b41e81811407dfda5bdfd33d58b9de7d9b711377dc6960efaab43c2125 +size 5678904 diff --git a/Content/Animation/wushiyong/鼓声一响地动山摇_Anim.uasset b/Content/Animation/wushiyong/鼓声一响地动山摇_Anim.uasset new file mode 100644 index 0000000..e4fa261 --- /dev/null +++ b/Content/Animation/wushiyong/鼓声一响地动山摇_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32dac59c569f60d14c39c209aae3d886125efb44ccda6ab500afa2611df7d7b7 +size 886416 diff --git a/Content/Animation/wushiyong/鼓声一响地动山摇_PhysicsAsset.uasset b/Content/Animation/wushiyong/鼓声一响地动山摇_PhysicsAsset.uasset new file mode 100644 index 0000000..4b1d935 --- /dev/null +++ b/Content/Animation/wushiyong/鼓声一响地动山摇_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbf5c8da9ba80c92f11477d0781b0e3e7822c22c50de058a9c47fa2f9b110d57 +size 37110 diff --git a/Content/Animation/wushiyong/鼓声一响地动山摇_Skeleton.uasset b/Content/Animation/wushiyong/鼓声一响地动山摇_Skeleton.uasset new file mode 100644 index 0000000..c9036ec --- /dev/null +++ b/Content/Animation/wushiyong/鼓声一响地动山摇_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23e930636b83834cb39aded89c40a11416e452bd585784b5bddb43858c6c8f16 +size 38635 diff --git a/Content/Asian_town/Assets/Lamp/Sm_lamp_01.uasset b/Content/Asian_town/Assets/Lamp/Sm_lamp_01.uasset new file mode 100644 index 0000000..7c19b3d --- /dev/null +++ b/Content/Asian_town/Assets/Lamp/Sm_lamp_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8590c96f5f1790c102b56f63ed0dbcf27e23a39a846df82518e4b4d54bd2e322 +size 77743 diff --git a/Content/Asian_town/Assets/Vases/SM_wood_jar.uasset b/Content/Asian_town/Assets/Vases/SM_wood_jar.uasset new file mode 100644 index 0000000..0e27739 --- /dev/null +++ b/Content/Asian_town/Assets/Vases/SM_wood_jar.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b02135db628dcf9b6ad9552d77bf44f6cad2a5cca7a8b975eb15eeb8e6f49a03 +size 63257 diff --git a/Content/Asian_town/Assets/tree/SM_tree_02.uasset b/Content/Asian_town/Assets/tree/SM_tree_02.uasset new file mode 100644 index 0000000..8fac311 --- /dev/null +++ b/Content/Asian_town/Assets/tree/SM_tree_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3833b37b39abfb5613540571cee637fe0c1b63fffb3dc93013c77c0f73049033 +size 318375 diff --git a/Content/Asian_town/Materials/MI_bark.uasset b/Content/Asian_town/Materials/MI_bark.uasset new file mode 100644 index 0000000..40fc353 --- /dev/null +++ b/Content/Asian_town/Materials/MI_bark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500454142d5d180abf26bcfc89b4754dd2951a74eaa3234414ad523c185c969 +size 115192 diff --git a/Content/Asian_town/Materials/MI_branch1.uasset b/Content/Asian_town/Materials/MI_branch1.uasset new file mode 100644 index 0000000..1782fa6 --- /dev/null +++ b/Content/Asian_town/Materials/MI_branch1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b08dfd0220290c0771f91e35c40316a56035acecee02d636376247eff027e34 +size 87085 diff --git a/Content/Asian_town/Materials/MI_jars.uasset b/Content/Asian_town/Materials/MI_jars.uasset new file mode 100644 index 0000000..d50ae5e --- /dev/null +++ b/Content/Asian_town/Materials/MI_jars.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4dee05b13cde1235877cd74ed540d9a2ecc1fd1f470d92213eecbf79123ba01 +size 112565 diff --git a/Content/Asian_town/Materials/MI_lamp.uasset b/Content/Asian_town/Materials/MI_lamp.uasset new file mode 100644 index 0000000..c0f5d21 --- /dev/null +++ b/Content/Asian_town/Materials/MI_lamp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f516fe4c011bfca8187576bf0dabfd5536b04f445a49290f619a9682114a0d59 +size 25276 diff --git a/Content/Asian_town/Materials/Master/M_Master_kit_.uasset b/Content/Asian_town/Materials/Master/M_Master_kit_.uasset new file mode 100644 index 0000000..34ce2d3 --- /dev/null +++ b/Content/Asian_town/Materials/Master/M_Master_kit_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b70ca4a6e2f3be1704035907b68218a5a68828355a5a71e5432c82471a429576 +size 41287 diff --git a/Content/Asian_town/Materials/Master/M_lamp.uasset b/Content/Asian_town/Materials/Master/M_lamp.uasset new file mode 100644 index 0000000..b808615 --- /dev/null +++ b/Content/Asian_town/Materials/Master/M_lamp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8126caa71a91f4a3ea900afb5b2ac0b26ba80aff76e86d2781bb6f07b9ce907 +size 51187 diff --git a/Content/Asian_town/Materials/Master/M_master_vegetation.uasset b/Content/Asian_town/Materials/Master/M_master_vegetation.uasset new file mode 100644 index 0000000..cdbf394 --- /dev/null +++ b/Content/Asian_town/Materials/Master/M_master_vegetation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14c7de08d5088199ccd651de44994f0c0f5c769b12bd2922d465b50d3f5724af +size 29511 diff --git a/Content/Asian_town/Textures/T_Jars/T_Jars_AORM.uasset b/Content/Asian_town/Textures/T_Jars/T_Jars_AORM.uasset new file mode 100644 index 0000000..1635d98 --- /dev/null +++ b/Content/Asian_town/Textures/T_Jars/T_Jars_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caa29c650eb8590652a65671073a0f67465b9c2738911251d3bef8e14c65f5b8 +size 5218423 diff --git a/Content/Asian_town/Textures/T_Jars/T_Jars_D.uasset b/Content/Asian_town/Textures/T_Jars/T_Jars_D.uasset new file mode 100644 index 0000000..c6587ae --- /dev/null +++ b/Content/Asian_town/Textures/T_Jars/T_Jars_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e3ea4f14281762927af88654493dc41bf69eacf70cbeb95c5909d39adcddd1f +size 7114463 diff --git a/Content/Asian_town/Textures/T_Jars/T_Jars_N.uasset b/Content/Asian_town/Textures/T_Jars/T_Jars_N.uasset new file mode 100644 index 0000000..1188145 --- /dev/null +++ b/Content/Asian_town/Textures/T_Jars/T_Jars_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c64a9ea60f0aa371681d64844c4b0dbd10670ee34b56d6029925dd6f47af21ed +size 4351577 diff --git a/Content/Asian_town/Textures/T_Lamp/T_lamp_AORM.uasset b/Content/Asian_town/Textures/T_Lamp/T_lamp_AORM.uasset new file mode 100644 index 0000000..39ebf53 --- /dev/null +++ b/Content/Asian_town/Textures/T_Lamp/T_lamp_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcfd2ba4b911b4a131d72c6fc0ea37fbe4d5563f1841c5407ee739834a6e4267 +size 2464386 diff --git a/Content/Asian_town/Textures/T_Lamp/T_lamp_D.uasset b/Content/Asian_town/Textures/T_Lamp/T_lamp_D.uasset new file mode 100644 index 0000000..f0699d9 --- /dev/null +++ b/Content/Asian_town/Textures/T_Lamp/T_lamp_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6345cfb0eb92466a098197ae110a86465761c823e91b5939cea1aad7230c8be3 +size 403587 diff --git a/Content/Asian_town/Textures/T_Lamp/T_lamp_E.uasset b/Content/Asian_town/Textures/T_Lamp/T_lamp_E.uasset new file mode 100644 index 0000000..c02850f --- /dev/null +++ b/Content/Asian_town/Textures/T_Lamp/T_lamp_E.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1981c08bb6e34f619e846d419092b0ff803c887d3f5682e19822206210716079 +size 150838 diff --git a/Content/Asian_town/Textures/T_Lamp/T_lamp_N.uasset b/Content/Asian_town/Textures/T_Lamp/T_lamp_N.uasset new file mode 100644 index 0000000..35ad38d --- /dev/null +++ b/Content/Asian_town/Textures/T_Lamp/T_lamp_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a1a5f4bba0b31730cc4640c514c336783785fcc5ac56cc0fdc278d52626d69 +size 4634025 diff --git a/Content/Asian_town/Textures/T_Lamp/T_lamp_O.uasset b/Content/Asian_town/Textures/T_Lamp/T_lamp_O.uasset new file mode 100644 index 0000000..bca2d90 --- /dev/null +++ b/Content/Asian_town/Textures/T_Lamp/T_lamp_O.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aadb89baab27fa45e548057548bdeed657bb35cc71255bb09c5f937501739fcf +size 48592 diff --git a/Content/Asian_town/Textures/T_Mask/T_Black.uasset b/Content/Asian_town/Textures/T_Mask/T_Black.uasset new file mode 100644 index 0000000..53e48c4 --- /dev/null +++ b/Content/Asian_town/Textures/T_Mask/T_Black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03d9b36326e3e6b51cadea064b1615178d6ee3374f4c9f61d8f09f43cd00670e +size 3377 diff --git a/Content/Asian_town/Textures/T_Mask/T_grunge_mask.uasset b/Content/Asian_town/Textures/T_Mask/T_grunge_mask.uasset new file mode 100644 index 0000000..17dbfb8 --- /dev/null +++ b/Content/Asian_town/Textures/T_Mask/T_grunge_mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1816ddb569736464b173a4b65d879965c9eb46131dbada4d8978de6cb416305 +size 10892845 diff --git a/Content/Asian_town/Textures/T_Mask/T_white.uasset b/Content/Asian_town/Textures/T_Mask/T_white.uasset new file mode 100644 index 0000000..8b1fcee --- /dev/null +++ b/Content/Asian_town/Textures/T_Mask/T_white.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95d4b80b51fa65db30b0a8d8a2f1420b16a5c7bf127b77b7c578984123fb4e9b +size 5719 diff --git a/Content/Asian_town/Textures/T_bark_02/T_tree_bark_AORM.uasset b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_AORM.uasset new file mode 100644 index 0000000..fb22e3e --- /dev/null +++ b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ea5968a56816fc9cf8e5846e446aa31991eb88a97abca4e853683c6a6d5c401 +size 9892435 diff --git a/Content/Asian_town/Textures/T_bark_02/T_tree_bark_basecolor.uasset b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_basecolor.uasset new file mode 100644 index 0000000..ce85fb9 --- /dev/null +++ b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_basecolor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc3bb78f1fa2cfa0ec8aefd69cee97129574528be2cf689f905dbf36707d5bcd +size 9332464 diff --git a/Content/Asian_town/Textures/T_bark_02/T_tree_bark_normal.uasset b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_normal.uasset new file mode 100644 index 0000000..f0fabad --- /dev/null +++ b/Content/Asian_town/Textures/T_bark_02/T_tree_bark_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21f40d6c26d1538827e7486468b4bdaaf7caaff415906170bc5e87189dadfd7e +size 13662868 diff --git a/Content/Asian_town/Textures/T_branch/T_tree_branch_AORM.uasset b/Content/Asian_town/Textures/T_branch/T_tree_branch_AORM.uasset new file mode 100644 index 0000000..106ecb7 --- /dev/null +++ b/Content/Asian_town/Textures/T_branch/T_tree_branch_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550c539e4b96467cfc9a0ab0994e12916c9a1ba9b73c6973500a237d52e1a001 +size 3059089 diff --git a/Content/Asian_town/Textures/T_branch/T_tree_branch_O.uasset b/Content/Asian_town/Textures/T_branch/T_tree_branch_O.uasset new file mode 100644 index 0000000..0f1d02b --- /dev/null +++ b/Content/Asian_town/Textures/T_branch/T_tree_branch_O.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eef7bf87c0943d5e6df199b13ab7517632211e8ce5be2aa3931eb4265a8e6a7 +size 814543 diff --git a/Content/Asian_town/Textures/T_branch/T_tree_branch_SSS.uasset b/Content/Asian_town/Textures/T_branch/T_tree_branch_SSS.uasset new file mode 100644 index 0000000..6346b4e --- /dev/null +++ b/Content/Asian_town/Textures/T_branch/T_tree_branch_SSS.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83e36c08a568c58640d6fa2013cbdfdc3b730169f764e518b6844f212d742b82 +size 2515917 diff --git a/Content/Asian_town/Textures/T_branch/T_tree_branch_basecolor_1.uasset b/Content/Asian_town/Textures/T_branch/T_tree_branch_basecolor_1.uasset new file mode 100644 index 0000000..d6b542c --- /dev/null +++ b/Content/Asian_town/Textures/T_branch/T_tree_branch_basecolor_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8ddd3b2b26db4d2a46e6d8a7f482b34a596650a32e4dc334671a30080486488 +size 2515969 diff --git a/Content/Asian_town/Textures/T_branch/T_tree_branch_normal.uasset b/Content/Asian_town/Textures/T_branch/T_tree_branch_normal.uasset new file mode 100644 index 0000000..0edd472 --- /dev/null +++ b/Content/Asian_town/Textures/T_branch/T_tree_branch_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdaef1f561c62247dca22619430a0d85596e709eb76f4922568e4eb98bbf6003 +size 3556688 diff --git a/Content/Asian_town/Textures/T_detail_N.uasset b/Content/Asian_town/Textures/T_detail_N.uasset new file mode 100644 index 0000000..75bccf2 --- /dev/null +++ b/Content/Asian_town/Textures/T_detail_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86a29f2acf45f919d9de2be6f4e67f28473c5135ba97e0bcd04ae72434a44110 +size 23420430 diff --git a/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_AORM.uasset b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_AORM.uasset new file mode 100644 index 0000000..d77a33b --- /dev/null +++ b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a19f9e9d66810acc70945fe7a5ec4c9fe5c95529162611a066afeba76174e0dd +size 222197 diff --git a/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_D.uasset b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_D.uasset new file mode 100644 index 0000000..4e6fb49 --- /dev/null +++ b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:006603ae9a94fe644ed32005add2182ac807611b078279a336b5e7176236fd9f +size 976525 diff --git a/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_N.uasset b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_N.uasset new file mode 100644 index 0000000..3900eea --- /dev/null +++ b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c3fa2b435d42eb44ffc20e43e9bd20c76a5826d3cb14e3db1d4744195559980 +size 1224087 diff --git a/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_O.uasset b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_O.uasset new file mode 100644 index 0000000..1d71988 --- /dev/null +++ b/Content/Asian_town/Textures/T_pine_tree/T_pine_tree_O.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95c1d404007de4fcbc6145e64061d5e6e89b3d721ef59cda23b89d6b886c524a +size 466015 diff --git a/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_AORM.uasset b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_AORM.uasset new file mode 100644 index 0000000..f0fd2f7 --- /dev/null +++ b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_AORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:590a2ab2c365b0fad4714f9f18edfb35a82fd73a2a4dfe2d5c37e2ff38bdf431 +size 997446 diff --git a/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_D.uasset b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_D.uasset new file mode 100644 index 0000000..984db2f --- /dev/null +++ b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f9841a2bcafa539485486e0a472919e5a06500a3d52e13a4c55641cad27120a +size 6128 diff --git a/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_N.uasset b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_N.uasset new file mode 100644 index 0000000..f53c933 --- /dev/null +++ b/Content/Asian_town/Textures/T_tiling_metal/T_tiling_metal_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5198ae628a94029dee9372f1ee40207544e9102250fd9a282e6de66ba7c6593b +size 4942599 diff --git a/Content/Audio/Au_InYellow.uasset b/Content/Audio/Au_InYellow.uasset new file mode 100644 index 0000000..0d17799 --- /dev/null +++ b/Content/Audio/Au_InYellow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92476224721e9084979d01f1d5b73c63f6fcd5467156f4b228a51839a7d1b540 +size 51850 diff --git a/Content/Audio/jiguangzhen/Crossbow_Loading弩箭拉弓_爱给网_aigei_com.uasset b/Content/Audio/jiguangzhen/Crossbow_Loading弩箭拉弓_爱给网_aigei_com.uasset new file mode 100644 index 0000000..8cabdf5 --- /dev/null +++ b/Content/Audio/jiguangzhen/Crossbow_Loading弩箭拉弓_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1d9d4c2e9b69cb47d0e3547a79348021d36824e81a56abf939b9c3a9c3dc9fa +size 1091975 diff --git a/Content/Audio/jiguangzhen/弩箭破空声_爱给网_aigei_com.uasset b/Content/Audio/jiguangzhen/弩箭破空声_爱给网_aigei_com.uasset new file mode 100644 index 0000000..0b79316 --- /dev/null +++ b/Content/Audio/jiguangzhen/弩箭破空声_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87bdf943da05d7334ed067d2231d2d18c3b9a092f008bbe06396478f5d93fa7d +size 603855 diff --git a/Content/Audio/jixielong/1:30:56石制齿轮转动声,咔咔咔_爱给网_aigei_com.uasset b/Content/Audio/jixielong/1:30:56石制齿轮转动声,咔咔咔_爱给网_aigei_com.uasset new file mode 100644 index 0000000..015d698 --- /dev/null +++ b/Content/Audio/jixielong/1:30:56石制齿轮转动声,咔咔咔_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d96643ca8c787a6d548b65fe1d75246e36589cdb622b45af3246d475d937c72 +size 922644 diff --git a/Content/Audio/jixielong/唯美星光闪耀-铃声-水晶闪烁-粒子-布灵布灵8_爱给网_aigei_com.uasset b/Content/Audio/jixielong/唯美星光闪耀-铃声-水晶闪烁-粒子-布灵布灵8_爱给网_aigei_com.uasset new file mode 100644 index 0000000..793fe16 --- /dev/null +++ b/Content/Audio/jixielong/唯美星光闪耀-铃声-水晶闪烁-粒子-布灵布灵8_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c91ee294a260d7ca319724dcb71007f5269b4aa14711a43696b2bf84d5fdd7 +size 2308470 diff --git a/Content/Audio/jixielong/喷火龙_Fire-breathing_dragon__爱给网_aigei_com.uasset b/Content/Audio/jixielong/喷火龙_Fire-breathing_dragon__爱给网_aigei_com.uasset new file mode 100644 index 0000000..afe4565 --- /dev/null +++ b/Content/Audio/jixielong/喷火龙_Fire-breathing_dragon__爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eccfa9c87c9b2a63a0862c975844c3b37bad8cc2d373b6644897d01d9b78b40c +size 528135 diff --git a/Content/Audio/jixielong/字幕音效_转场音效__咻_嗖__影视类_转场切换_飞速移动转_爱给网_aigei_com.uasset b/Content/Audio/jixielong/字幕音效_转场音效__咻_嗖__影视类_转场切换_飞速移动转_爱给网_aigei_com.uasset new file mode 100644 index 0000000..aaf7fd7 --- /dev/null +++ b/Content/Audio/jixielong/字幕音效_转场音效__咻_嗖__影视类_转场切换_飞速移动转_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14068f7c8ca4e41fdeeba8db053af8b3dd69c5d7a88857f07b86e7ca0a28c82c +size 480480 diff --git a/Content/Audio/jixielong/沉重石门推开_爱给网_aigei_com.uasset b/Content/Audio/jixielong/沉重石门推开_爱给网_aigei_com.uasset new file mode 100644 index 0000000..e05a890 --- /dev/null +++ b/Content/Audio/jixielong/沉重石门推开_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddc1d1d55212ecd6003115baf2e1b80c9e6a511bcc54a11668d2406def91357 +size 1204161 diff --git a/Content/Audio/jixielong/沉重鼓__100__爱给网_aigei_com.uasset b/Content/Audio/jixielong/沉重鼓__100__爱给网_aigei_com.uasset new file mode 100644 index 0000000..22b63f6 --- /dev/null +++ b/Content/Audio/jixielong/沉重鼓__100__爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d644169c02df99ce85d34789aeb92a54894c3b482ebe03ce4d10e55b16e755bd +size 1461524 diff --git a/Content/Audio/jixielong/突然嗖_爱给网_aigei_com.uasset b/Content/Audio/jixielong/突然嗖_爱给网_aigei_com.uasset new file mode 100644 index 0000000..46340b6 --- /dev/null +++ b/Content/Audio/jixielong/突然嗖_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18d4c5b3f4ccb389adaabe6118749a673828d19f4a7b8d816ed9e4a2a9a11f71 +size 233244 diff --git a/Content/Audio/stone.uasset b/Content/Audio/stone.uasset new file mode 100644 index 0000000..fba9aa4 --- /dev/null +++ b/Content/Audio/stone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1cf76f5b71ec330e37f2ff7df39e00f1de9585c15b3101da2e94363ce50198e +size 1098909 diff --git a/Content/Audio/弩阵-01.uasset b/Content/Audio/弩阵-01.uasset new file mode 100644 index 0000000..e60c695 --- /dev/null +++ b/Content/Audio/弩阵-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6e4e0e4234fe36910fc40fc4394d538659d80edef9873bdfb29888fdc4c9386 +size 3828026 diff --git a/Content/Audio/弩阵-03.uasset b/Content/Audio/弩阵-03.uasset new file mode 100644 index 0000000..9dbf0ca --- /dev/null +++ b/Content/Audio/弩阵-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7407094a17baa074c3fe2e22a6ec37e599e31ac27da7e3f7463718a5d49e26e4 +size 789115 diff --git a/Content/Audio/弩阵-05.uasset b/Content/Audio/弩阵-05.uasset new file mode 100644 index 0000000..01c14d0 --- /dev/null +++ b/Content/Audio/弩阵-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:153cea11f48e08ba56126b084b83e1fe690dfbd22556d706488840c9cd615f32 +size 2810038 diff --git a/Content/Audio/弩阵-07.uasset b/Content/Audio/弩阵-07.uasset new file mode 100644 index 0000000..e4c5168 --- /dev/null +++ b/Content/Audio/弩阵-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d5def8bf9972b8f5019ab22a7b906c9458715de93ba11a73e026258826bba89 +size 1307237 diff --git a/Content/Audio/弩阵-10.uasset b/Content/Audio/弩阵-10.uasset new file mode 100644 index 0000000..01df82f --- /dev/null +++ b/Content/Audio/弩阵-10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c897237dc5db875cddf6b1633594d01bfcce53c62f37bbc69989387a62505546 +size 1804834 diff --git a/Content/Audio/弩阵-11.uasset b/Content/Audio/弩阵-11.uasset new file mode 100644 index 0000000..eb82047 --- /dev/null +++ b/Content/Audio/弩阵-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4b927e43660c8a75fe7ee8af51fdb70f5f4c93f0e606942a50dabe75e9a8db1 +size 4249955 diff --git a/Content/Audio/弩阵-12.uasset b/Content/Audio/弩阵-12.uasset new file mode 100644 index 0000000..322e61a --- /dev/null +++ b/Content/Audio/弩阵-12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd3fc9d4caea0523f0a5d5a5b02e7f05b242c801a6862e4b3f1a10d6febd3e31 +size 2956488 diff --git a/Content/Audio/旁白.uasset b/Content/Audio/旁白.uasset new file mode 100644 index 0000000..f8203f5 --- /dev/null +++ b/Content/Audio/旁白.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ab78008ec27a57a86a3b119c5e28f60ed6f0a94699b26ac3395592f340e9287 +size 872774 diff --git a/Content/Audio/玄鸟补录-11.uasset b/Content/Audio/玄鸟补录-11.uasset new file mode 100644 index 0000000..58f7dd7 --- /dev/null +++ b/Content/Audio/玄鸟补录-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28cbc613679d518a614272184e345cdadce90525cfc2d64aeb7d7cfa62ecb392 +size 568297 diff --git a/Content/Audio/玄鸟补录-31.uasset b/Content/Audio/玄鸟补录-31.uasset new file mode 100644 index 0000000..91a05eb --- /dev/null +++ b/Content/Audio/玄鸟补录-31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5582392eb710a5c3e6d1a1b23803262ae223f2ea8c6301eddc09c2aed86b7116 +size 1296642 diff --git a/Content/Audio/玄鸟补录-34.uasset b/Content/Audio/玄鸟补录-34.uasset new file mode 100644 index 0000000..596674b --- /dev/null +++ b/Content/Audio/玄鸟补录-34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ddb288f7255b5a6057ac75b2d8eeeab131e72a43ae63b5e5bd60235c93ad37d +size 871273 diff --git a/Content/Audio/秦始皇棺椁-39.uasset b/Content/Audio/秦始皇棺椁-39.uasset new file mode 100644 index 0000000..1b951e6 --- /dev/null +++ b/Content/Audio/秦始皇棺椁-39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:253d3c11dcadbea92377dbb675dff2e53dc3db7b2ee5a184d6cc9973d6a7ec5e +size 4212826 diff --git a/Content/Audio/秦始皇棺椁-42.uasset b/Content/Audio/秦始皇棺椁-42.uasset new file mode 100644 index 0000000..4290ca1 --- /dev/null +++ b/Content/Audio/秦始皇棺椁-42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8310a90a762098660a7480baffc786d6b9aae708b57d1a5d2ac1a43ce2e7588 +size 2021473 diff --git a/Content/Audio/秦始皇棺椁-43.uasset b/Content/Audio/秦始皇棺椁-43.uasset new file mode 100644 index 0000000..1bbdbaf --- /dev/null +++ b/Content/Audio/秦始皇棺椁-43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f5883645b5b3bd291a18d892dd8a94598f5201484d50e9749f44abd521f30b +size 2365426 diff --git a/Content/Audio/秦始皇棺椁-44.uasset b/Content/Audio/秦始皇棺椁-44.uasset new file mode 100644 index 0000000..a976b53 --- /dev/null +++ b/Content/Audio/秦始皇棺椁-44.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:573666866fa5ecb86c09fbfdc4c29cc2d62d9e2e4608640339d884567806e009 +size 524424 diff --git a/Content/Audio/藏宝阁-01.uasset b/Content/Audio/藏宝阁-01.uasset new file mode 100644 index 0000000..c9d6f6e --- /dev/null +++ b/Content/Audio/藏宝阁-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ab206cb11df375851778a176e51a92cb9f732fb3f00fb44cb580ef3b70abbf6 +size 2460266 diff --git a/Content/Audio/藏宝阁-03.uasset b/Content/Audio/藏宝阁-03.uasset new file mode 100644 index 0000000..41d249f --- /dev/null +++ b/Content/Audio/藏宝阁-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0c95fefb8e7834b24d8dd78d6b62ca8c77c662f4507d82424fb2f4b68f657a +size 1673344 diff --git a/Content/Audio/藏宝阁-05.uasset b/Content/Audio/藏宝阁-05.uasset new file mode 100644 index 0000000..41a2ae6 --- /dev/null +++ b/Content/Audio/藏宝阁-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49d593dd06a95efce149cc9747c79d16a25e08a4ff6c58d76275a5b02c9c5c38 +size 3044511 diff --git a/Content/Audio/藏宝阁-07.uasset b/Content/Audio/藏宝阁-07.uasset new file mode 100644 index 0000000..bc9cdbd --- /dev/null +++ b/Content/Audio/藏宝阁-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe31a6c1d40f6bb2d60b235a49c68f6c045781eb54a66ca9240798f3faee84ec +size 2155303 diff --git a/Content/Audio/藏宝阁-09.uasset b/Content/Audio/藏宝阁-09.uasset new file mode 100644 index 0000000..20d040c --- /dev/null +++ b/Content/Audio/藏宝阁-09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:336895a5ca2ee7377d79870de7889a6988be625b1c17c2224f454546dad42084 +size 1355902 diff --git a/Content/Audio/藏宝阁-11.uasset b/Content/Audio/藏宝阁-11.uasset new file mode 100644 index 0000000..93d232c --- /dev/null +++ b/Content/Audio/藏宝阁-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9b5473263dd0a93f6af88b28c437ea9b594acb08a616af34f57046ce68c2e47 +size 1093748 diff --git a/Content/Audio/藏宝阁-13.uasset b/Content/Audio/藏宝阁-13.uasset new file mode 100644 index 0000000..a1429e1 --- /dev/null +++ b/Content/Audio/藏宝阁-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c2229caddb824d2576f1fa1a2b3a49e565a23ca2ef1bebbd3873464c531c02e +size 1127556 diff --git a/Content/Audio/藏宝阁-14.uasset b/Content/Audio/藏宝阁-14.uasset new file mode 100644 index 0000000..f467411 --- /dev/null +++ b/Content/Audio/藏宝阁-14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a7b6cbc04d893d43d11d6808ac94b81f0fdfa498452086a4fc7a56d28189edb +size 668529 diff --git a/Content/Audio/螭龙介绍2.uasset b/Content/Audio/螭龙介绍2.uasset new file mode 100644 index 0000000..ab91975 --- /dev/null +++ b/Content/Audio/螭龙介绍2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd2fbc9452cebd5880232ccecfa30e7b18eea39bc11cb7600ab47a29a3461f17 +size 452882 diff --git a/Content/Audio/鸟_倒.uasset b/Content/Audio/鸟_倒.uasset new file mode 100644 index 0000000..09808aa --- /dev/null +++ b/Content/Audio/鸟_倒.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d3de57999608274e2c41f0c99412abb687cbe81975fe1b98226114eefaad50e +size 1571588 diff --git a/Content/BP_PICO_XR_Pawn.uasset b/Content/BP_PICO_XR_Pawn.uasset new file mode 100644 index 0000000..e683c36 --- /dev/null +++ b/Content/BP_PICO_XR_Pawn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9771c8fe2be6871120552d70a67805fe9aa7a0ff1e7c8a667f93c907a922dcc5 +size 26549 diff --git a/Content/BSQ_ChangLang/L_ChangLang260.umap b/Content/BSQ_ChangLang/L_ChangLang260.umap new file mode 100644 index 0000000..c471edd --- /dev/null +++ b/Content/BSQ_ChangLang/L_ChangLang260.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fbfe09e7a993dfdb23a9fd539435879219cac8dd289b179c9c1d7bca2a0d3d4 +size 1463 diff --git a/Content/Blueprint/HandTracking/BP_Ray.uasset b/Content/Blueprint/HandTracking/BP_Ray.uasset new file mode 100644 index 0000000..c8dcbf5 --- /dev/null +++ b/Content/Blueprint/HandTracking/BP_Ray.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5f26378febd517523a3aceb1b1ae25ff1268b5c86e62d454d1a19d2c8be142 +size 147133 diff --git a/Content/Blueprint/HandTracking/BP_XRHandComponent.uasset b/Content/Blueprint/HandTracking/BP_XRHandComponent.uasset new file mode 100644 index 0000000..28a8b72 --- /dev/null +++ b/Content/Blueprint/HandTracking/BP_XRHandComponent.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8753fc2e405cb2ce46e769b3107d1522b78aba4e0e149912195cbbf7dd2511e5 +size 89018 diff --git a/Content/Blueprint/HandTracking/BP_XRHandComponent_Left.uasset b/Content/Blueprint/HandTracking/BP_XRHandComponent_Left.uasset new file mode 100644 index 0000000..02c4b53 --- /dev/null +++ b/Content/Blueprint/HandTracking/BP_XRHandComponent_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28f96db3735b607ca8f4dfe5fe70e730063cc00ace3bfd03324b76520d21f0af +size 22569 diff --git a/Content/Blueprint/HandTracking/BP_XRHandComponent_Right.uasset b/Content/Blueprint/HandTracking/BP_XRHandComponent_Right.uasset new file mode 100644 index 0000000..d11da55 --- /dev/null +++ b/Content/Blueprint/HandTracking/BP_XRHandComponent_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2424e6e98722d7024dd7fbe8ff53bbe4682894a7b32946a2f705014aa3a4b14a +size 22610 diff --git a/Content/Blueprint/VRInstance.uasset b/Content/Blueprint/VRInstance.uasset new file mode 100644 index 0000000..5a81636 --- /dev/null +++ b/Content/Blueprint/VRInstance.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55501957bc9443ffd280534a85b084f2af993b53b518b050a0b97983912bf44a +size 58271 diff --git a/Content/Brushify/Materials/Functions/MF_BaseTextures.uasset b/Content/Brushify/Materials/Functions/MF_BaseTextures.uasset new file mode 100644 index 0000000..069873c --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_BaseTextures.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31fa32055a9e4dd1182380748301f76a2189eef7fe0cb13376284b61cdff884e +size 107538 diff --git a/Content/Brushify/Materials/Functions/MF_BiomeEffects.uasset b/Content/Brushify/Materials/Functions/MF_BiomeEffects.uasset new file mode 100644 index 0000000..892a75b --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_BiomeEffects.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91fc89eb9655721b10a8f532d3c7d9ca559cf824cf015433959bd2b197ccb37c +size 125691 diff --git a/Content/Brushify/Materials/Functions/MF_DetailMapping.uasset b/Content/Brushify/Materials/Functions/MF_DetailMapping.uasset new file mode 100644 index 0000000..ecdd467 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_DetailMapping.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d2edaa6c3ca700a0f203dcf7052976844bb3a1cbf9503a09b09bff89848d743 +size 139405 diff --git a/Content/Brushify/Materials/Functions/MF_DetailShadows.uasset b/Content/Brushify/Materials/Functions/MF_DetailShadows.uasset new file mode 100644 index 0000000..d629bb2 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_DetailShadows.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cab21b1098e6fdf21c5ce5bf09253709d5ff0f17f8b1aba41a1963fe3178feeb +size 115747 diff --git a/Content/Brushify/Materials/Functions/MF_DistanceFade.uasset b/Content/Brushify/Materials/Functions/MF_DistanceFade.uasset new file mode 100644 index 0000000..c0f13f0 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_DistanceFade.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5de54aac02ba92094e5d2b86b639542cd67d7967b0c11d46357c1cc14a3a3318 +size 107065 diff --git a/Content/Brushify/Materials/Functions/MF_DistanceShrink.uasset b/Content/Brushify/Materials/Functions/MF_DistanceShrink.uasset new file mode 100644 index 0000000..86a6bbc --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_DistanceShrink.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03fb5e80633d31db85d049ad1f4520738c3c69d2df4dd937f4de15b777562dae +size 106083 diff --git a/Content/Brushify/Materials/Functions/MF_Height.uasset b/Content/Brushify/Materials/Functions/MF_Height.uasset new file mode 100644 index 0000000..e7f34b4 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6f37c2bad9f7c23a88a4bee5747a75b926bba90fb6f73862e58123e694aeba7 +size 108244 diff --git a/Content/Brushify/Materials/Functions/MF_PBR.uasset b/Content/Brushify/Materials/Functions/MF_PBR.uasset new file mode 100644 index 0000000..1b03ea3 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_PBR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8064f2974c2dba9af9d2bf5f831faf8bbe22742502d778b070d2925123268f10 +size 106039 diff --git a/Content/Brushify/Materials/Functions/MF_Tiling.uasset b/Content/Brushify/Materials/Functions/MF_Tiling.uasset new file mode 100644 index 0000000..245eeb9 --- /dev/null +++ b/Content/Brushify/Materials/Functions/MF_Tiling.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4d6b963781b8066d5d7006ab6c58368b82200bc5c9a97ff71220b81ec7047c2 +size 103716 diff --git a/Content/Brushify/Materials/Landscape/Functions/Features/MF_ObjectBlending.uasset b/Content/Brushify/Materials/Landscape/Functions/Features/MF_ObjectBlending.uasset new file mode 100644 index 0000000..54552d7 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Functions/Features/MF_ObjectBlending.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a16f68f1fb45f05771749363746fe2ce50e94b9b45abd31a6adc4af735c40687 +size 104378 diff --git a/Content/Brushify/Materials/Landscape/Functions/RVT/MF_RVT_Blending.uasset b/Content/Brushify/Materials/Landscape/Functions/RVT/MF_RVT_Blending.uasset new file mode 100644 index 0000000..db75c14 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Functions/RVT/MF_RVT_Blending.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d863fbc45898839999a7acb8cc4869e735f92f04bebba5f39f7464e6efd95ce +size 114152 diff --git a/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Height_Example.uasset b/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Height_Example.uasset new file mode 100644 index 0000000..a9f8825 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Height_Example.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f59c64f2d9fc1297f48b540a5869b3957d2dada4ab113f671d3a2ec55c8a3fa +size 3507 diff --git a/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Landscape_Example.uasset b/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Landscape_Example.uasset new file mode 100644 index 0000000..5ed252d --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Functions/RVT/VirtualTextures/VT_Landscape_Example.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5eb6402252ddc0eecd22472495a32baf411cf15bf68f7f6f81c31d9219732194 +size 3354 diff --git a/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_D.uasset b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_D.uasset new file mode 100644 index 0000000..81f5ad6 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:989e896cb055adaba2802e7de3dcb198b65c34d47b2222b945f817a101a0e7d7 +size 40732951 diff --git a/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_N.uasset b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_N.uasset new file mode 100644 index 0000000..d8cec0b --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:523f53d1d07bd3ce9c64b433e5a7f829b11c3dbacb159fb94c2d8f62794623ca +size 38840342 diff --git a/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_Snow_D.uasset b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_Snow_D.uasset new file mode 100644 index 0000000..a83fee2 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Cliffs/T_CliffSurface_Snow_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45de3331b3ea7556817451ad40ce3211d6baaf3849cd0852a42625b965cdaa9a +size 29388133 diff --git a/Content/Brushify/Materials/Landscape/Textures/Grass/T_Grass_D.uasset b/Content/Brushify/Materials/Landscape/Textures/Grass/T_Grass_D.uasset new file mode 100644 index 0000000..eae16be --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Grass/T_Grass_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3614edb2a3d89e39c4df8d798df7d7d3cc5884aa126a109d3cb95b7158778864 +size 43840280 diff --git a/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_D.uasset b/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_D.uasset new file mode 100644 index 0000000..199ddce --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43f6af3d75d66350415bc15d574f90a8ee00ea22aba3b4987aecda4bdda7de93 +size 42474826 diff --git a/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_N.uasset b/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_N.uasset new file mode 100644 index 0000000..1c3d400 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/Mud/T_Mud_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dec8bbad59acad0fa0b0d88ed42d6d76d40f2e0858141ba79e9e6b236fda389 +size 42502754 diff --git a/Content/Brushify/Materials/Landscape/Textures/T_Default_N.uasset b/Content/Brushify/Materials/Landscape/Textures/T_Default_N.uasset new file mode 100644 index 0000000..471b32d --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/T_Default_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd535ad7cb4ae22e48c319342db84e6b1597c41de7f8c12035abe251dbf440c +size 5807 diff --git a/Content/Brushify/Materials/Landscape/Textures/T_ErosionMask.uasset b/Content/Brushify/Materials/Landscape/Textures/T_ErosionMask.uasset new file mode 100644 index 0000000..c25c129 --- /dev/null +++ b/Content/Brushify/Materials/Landscape/Textures/T_ErosionMask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7c98e182e3bb784ff46577b4edcc0d638fe1a0bd462c5b09633eeb5a2159f90 +size 5578797 diff --git a/Content/Brushify/Materials/M_NearMesh_Master.uasset b/Content/Brushify/Materials/M_NearMesh_Master.uasset new file mode 100644 index 0000000..105a073 --- /dev/null +++ b/Content/Brushify/Materials/M_NearMesh_Master.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea23d3adf492309e0485356264fa4472aae9f0eda88f0df2b7456311ba09c89e +size 45110 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/MI_FloatingMountain_01.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/MI_FloatingMountain_01.uasset new file mode 100644 index 0000000..2d06656 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/MI_FloatingMountain_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:752c73c3480880bf136da37232848f442e64d27de2277e32b29b418d3b5898e1 +size 178778 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/S_FloatingMountain_01.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/S_FloatingMountain_01.uasset new file mode 100644 index 0000000..194aca0 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/S_FloatingMountain_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82205788014b8af1f305e60def72779dc36702983186dd07c7f91936b9e7bc55 +size 7214179 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_D.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_D.uasset new file mode 100644 index 0000000..5f48add --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a11a0ac55e521bc8e2f2199331b1fc7e8a61a23d0dcb6b50abcfaa19bd4964ba +size 21936757 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_N.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_N.uasset new file mode 100644 index 0000000..e0147d1 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5333cc3f47ef048f1b6dfd1e3145a90168294640c79d9de0e580644e8af2360f +size 33781810 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_D.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_D.uasset new file mode 100644 index 0000000..5797ed3 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb868138b0a1573cc63de2920bf84c7d10d54e91d337ad0f8b99a48c2e95e1ad +size 33086850 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_N.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_N.uasset new file mode 100644 index 0000000..1795474 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_01/Textures/T_FloatingMountain_Detail_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a48ea994e90211fe383f44aeefd663dee4f7a05e338b4fa122141df279dc668 +size 112994797 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/MI_FloatingMountain_02.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/MI_FloatingMountain_02.uasset new file mode 100644 index 0000000..4b82a22 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/MI_FloatingMountain_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28f86dbfac3874aeb13235afcf0e4f8df23f0dee5701a58338c37739683553a1 +size 178632 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/S_FloatingMountain_02.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/S_FloatingMountain_02.uasset new file mode 100644 index 0000000..b01be91 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/S_FloatingMountain_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:706f0db30c74fb962f63b22812ffa84d8c5815adf7ccce153cb31c7dc60c6fbe +size 1843560 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_D.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_D.uasset new file mode 100644 index 0000000..f4986d9 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7800fe71930792af8c6e43a5aa95bca073d52401b24997017b7f482380ce61c +size 22395007 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_N.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_N.uasset new file mode 100644 index 0000000..0b61d22 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_02/Textures/T_FloatingMountain_02_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43f5275817613aa3ce09f837848d3cd9d933bb78f71649cb5c5d5b0eb2a2fb26 +size 32736035 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/MI_FloatingMountain_04.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/MI_FloatingMountain_04.uasset new file mode 100644 index 0000000..3c8c64c --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/MI_FloatingMountain_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a62da24ee0f1b81096a1f7a787a35bd46b2441229ef08f91082e804ca6e49d64 +size 168937 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/S_FloatingMountain_04.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/S_FloatingMountain_04.uasset new file mode 100644 index 0000000..83f4de6 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/S_FloatingMountain_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf6a894a5c01ebcde949461ddb2caa28b0c6bb99eace385576cdd23245ed344b +size 5066977 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_D.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_D.uasset new file mode 100644 index 0000000..da42e44 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a85a0e55f85944696ff4e9c56f7adedcb9bf519f275ba29198701650a7144362 +size 21664113 diff --git a/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_N.uasset b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_N.uasset new file mode 100644 index 0000000..68ae950 --- /dev/null +++ b/Content/Brushify/Meshes/FloatingIslands/FloatingIsland_04/Textures/T_FloatingMountain_04_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e01f69934ebb79b6834c0fbaa94e5696bbe0ec3178a42352547f0f69de96b463 +size 32266129 diff --git a/Content/ChangLang/Audio/石门打开.uasset b/Content/ChangLang/Audio/石门打开.uasset new file mode 100644 index 0000000..e6248c0 --- /dev/null +++ b/Content/ChangLang/Audio/石门打开.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad457571ecbd14892a40fd3a0101ab8c39bb1888e8519a9e51a09cb4c3a63e8 +size 828541 diff --git a/Content/ChangLang/L_ChangLang260.umap b/Content/ChangLang/L_ChangLang260.umap new file mode 100644 index 0000000..a255a89 --- /dev/null +++ b/Content/ChangLang/L_ChangLang260.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6810ee8b8a42f20433627e5069a9a5c177daf04bd9672d95612943f6ed3ba94 +size 1455 diff --git a/Content/Characters/Mannequins/Materials/Functions/CA_Mannequin.uasset b/Content/Characters/Mannequins/Materials/Functions/CA_Mannequin.uasset new file mode 100644 index 0000000..4e5d636 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Functions/CA_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a3cc6c7de8a4b699d6f340b940e881309ad74df440aed1a0e2908cac2a4dce4 +size 4965 diff --git a/Content/Characters/Mannequins/Materials/Functions/ChromaticCurve.uasset b/Content/Characters/Mannequins/Materials/Functions/ChromaticCurve.uasset new file mode 100644 index 0000000..be9786a --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Functions/ChromaticCurve.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc2c13a9bec74baf3187338e6a0d90d8248e8744546e070ee9b09cd33bbadd8 +size 6419 diff --git a/Content/Characters/Mannequins/Materials/Functions/MF_Diffraction.uasset b/Content/Characters/Mannequins/Materials/Functions/MF_Diffraction.uasset new file mode 100644 index 0000000..5a76df8 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Functions/MF_Diffraction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5463c03eeb0375f55b4e68efe38b1601ccb72ab2a601070b4ad2318dd56d8224 +size 32050 diff --git a/Content/Characters/Mannequins/Materials/Functions/MF_logo3layers.uasset b/Content/Characters/Mannequins/Materials/Functions/MF_logo3layers.uasset new file mode 100644 index 0000000..b12d215 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Functions/MF_logo3layers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a22b77471401faf1bdd989bf949e56661cb62b4ec9ed97fc85948bfdefdd28 +size 56002 diff --git a/Content/Characters/Mannequins/Materials/Functions/ML_BaseColorFallOff.uasset b/Content/Characters/Mannequins/Materials/Functions/ML_BaseColorFallOff.uasset new file mode 100644 index 0000000..b7ad42f --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Functions/ML_BaseColorFallOff.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7373eb5926d0c3e45f0dfe7c9038ccad73d34e43f64015368e055a08f84e8184 +size 13746 diff --git a/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset b/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset new file mode 100644 index 0000000..3994aa8 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05d49d473b58bfe32aa7aaeaa2e173fe58aa12d2855c8b449c3af49505aa3978 +size 21413 diff --git a/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset b/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset new file mode 100644 index 0000000..18eab12 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Instances/Manny/MI_Manny_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e475b6e3d7cc49fdab1dc26bb585551b9138edd62e6addcfbd96108c5bf47e95 +size 24436 diff --git a/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_01.uasset b/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_01.uasset new file mode 100644 index 0000000..b11af58 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc6f6359f6ff105c7b9856c2589f2f92c0126f7e208022e1a1ef51132c1e795 +size 19454 diff --git a/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_02.uasset b/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_02.uasset new file mode 100644 index 0000000..a339dcc --- /dev/null +++ b/Content/Characters/Mannequins/Materials/Instances/Quinn/MI_Quinn_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e281201eed68529da83de257048ce677823a11aabd8c7be0984859da9296d11d +size 24795 diff --git a/Content/Characters/Mannequins/Materials/M_Mannequin.uasset b/Content/Characters/Mannequins/Materials/M_Mannequin.uasset new file mode 100644 index 0000000..a764870 --- /dev/null +++ b/Content/Characters/Mannequins/Materials/M_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d95234c42945377b0a09d52c879f00d157a51684966e3d15b927d4c29ef3498 +size 85043 diff --git a/Content/Characters/Mannequins/Meshes/SKM_Manny.uasset b/Content/Characters/Mannequins/Meshes/SKM_Manny.uasset new file mode 100644 index 0000000..df7686c --- /dev/null +++ b/Content/Characters/Mannequins/Meshes/SKM_Manny.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c97dc415dc54c11332cd5e02b8f3d08ba5b5ca31efc2b61c45e12f26f935fde +size 35975646 diff --git a/Content/Characters/Mannequins/Meshes/SKM_Manny_Simple.uasset b/Content/Characters/Mannequins/Meshes/SKM_Manny_Simple.uasset new file mode 100644 index 0000000..5fd2437 --- /dev/null +++ b/Content/Characters/Mannequins/Meshes/SKM_Manny_Simple.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12cc6d3d2712d138c0edfa1ccb408c2aa52df7c436b34c18dcd5745c6b058779 +size 19381547 diff --git a/Content/Characters/Mannequins/Meshes/SKM_Quinn.uasset b/Content/Characters/Mannequins/Meshes/SKM_Quinn.uasset new file mode 100644 index 0000000..24646ba --- /dev/null +++ b/Content/Characters/Mannequins/Meshes/SKM_Quinn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e735ae77d4450d8b0deac6d1cece04978064225c2e82d78e648576e02ea9739 +size 37867022 diff --git a/Content/Characters/Mannequins/Meshes/SKM_Quinn_Simple.uasset b/Content/Characters/Mannequins/Meshes/SKM_Quinn_Simple.uasset new file mode 100644 index 0000000..7abb822 --- /dev/null +++ b/Content/Characters/Mannequins/Meshes/SKM_Quinn_Simple.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccb7530373859b5892a724b900f09286808f3e49197878fe8429f3fb85209b4f +size 20192885 diff --git a/Content/Characters/Mannequins/Meshes/SK_Mannequin.uasset b/Content/Characters/Mannequins/Meshes/SK_Mannequin.uasset new file mode 100644 index 0000000..0fd581f --- /dev/null +++ b/Content/Characters/Mannequins/Meshes/SK_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebb62ea9de406ecc3b68157646bb0fc990d41b7d46225f8343c238f8d21cbe45 +size 191734 diff --git a/Content/Characters/Mannequins/Rigs/ABP_Manny_PostProcess.uasset b/Content/Characters/Mannequins/Rigs/ABP_Manny_PostProcess.uasset new file mode 100644 index 0000000..9d7c483 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/ABP_Manny_PostProcess.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98ffa9a2e386706e648c4298b956a5aee60e845629407b6c4758e8e38f06aab0 +size 411097 diff --git a/Content/Characters/Mannequins/Rigs/ABP_Quinn_PostProcess.uasset b/Content/Characters/Mannequins/Rigs/ABP_Quinn_PostProcess.uasset new file mode 100644 index 0000000..51e9711 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/ABP_Quinn_PostProcess.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec7666e7047ce450aeb47592361ad1d28846dcdf8fcdc9a534efdb193d8e65ea +size 410895 diff --git a/Content/Characters/Mannequins/Rigs/CR_Mannequin_Body.uasset b/Content/Characters/Mannequins/Rigs/CR_Mannequin_Body.uasset new file mode 100644 index 0000000..80acd62 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/CR_Mannequin_Body.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5e9f2c6c3bcea335dd23c9ac2882c145f4308f39aa97e805017a257eebba72b +size 13389527 diff --git a/Content/Characters/Mannequins/Rigs/CR_Mannequin_Procedural.uasset b/Content/Characters/Mannequins/Rigs/CR_Mannequin_Procedural.uasset new file mode 100644 index 0000000..a2b9aed --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/CR_Mannequin_Procedural.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adcd27fb67573f908deb419ed753ae4bfe2ac3c8db846398198bb20be0309c60 +size 1445112 diff --git a/Content/Characters/Mannequins/Rigs/PA_Mannequin.uasset b/Content/Characters/Mannequins/Rigs/PA_Mannequin.uasset new file mode 100644 index 0000000..85d5d59 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/PA_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f62bd4a80a6fd3e0deab1187e661f94604e164f8f972134e012f8dd3c582228 +size 290931 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_anim.uasset new file mode 100644 index 0000000..c3cbb98 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de6b5af8145ac957c2280868c0bd4ce9e8e5e15ad43a25f50ec480267e49f7cf +size 237391 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_pose.uasset new file mode 100644 index 0000000..fa2a4f8 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:856fd3837b9b8938eb494dcc8e6e6d3f7c175bd31970427cf82f36f081dc9f3d +size 207467 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_anim.uasset new file mode 100644 index 0000000..777653c --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:101dbfabe3d202b3f261812a8328bfe80731b45cec97fe596e98aa45e5282d06 +size 237401 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_pose.uasset new file mode 100644 index 0000000..6a76a25 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_calf_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9a6b655a7d35cfedbe3e0da86d278de2baea53ea4bf2cd265a2e3af03887a7 +size 207467 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_anim.uasset new file mode 100644 index 0000000..7110c18 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55fad2c414ef5d2106d70e41ec375caaad1695cc2b326ed8bacb995f08ef61b1 +size 236947 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_pose.uasset new file mode 100644 index 0000000..e496ba8 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:062a3be32c2dfb907e94d5bb906afa7317676b63c49f7c6e524e0503863f84c3 +size 205773 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_anim.uasset new file mode 100644 index 0000000..358b425 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e3eda53173a03b3e435b7a05038aeb0ec809c196b540b5d1644daf7456bfedb +size 236789 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_pose.uasset new file mode 100644 index 0000000..1100f7c --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_clavicle_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:089362d907319a52cf823ec70f8a3a82fe85fcb0e5eea899eeb4cb4522cf91a6 +size 206375 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_anim.uasset new file mode 100644 index 0000000..1b9d28f --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5d082ee8dea729dd6049fd58cebfae7fb6d8ff5b48623793162b6b65b7fd184 +size 233047 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_pose.uasset new file mode 100644 index 0000000..d605d29 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05f08a634034bcf9d40bff5000efc6270bb286c63f639837b15958416634f83c +size 132213 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_anim.uasset new file mode 100644 index 0000000..5177f2b --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e086f69e2411da1bfe3b00527bfb26f94227231e96005eabc63ec3120130d1b +size 233145 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_pose.uasset new file mode 100644 index 0000000..8c29265 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_foot_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c2ee8c560132d60e4be431669b58277fd1750aa3cd5888507f1a149173e163 +size 132213 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_anim.uasset new file mode 100644 index 0000000..0acbc21 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c7584f3e640623e5b2c8d1fba364c4a94cbfdee70db9f8d04e4897fa8f5727 +size 234295 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_pose.uasset new file mode 100644 index 0000000..19f9d72 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7410ef86cfc276f4022828d4baeedb597be2fdae8b312dc7315f6b7c49efb2a7 +size 169243 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_anim.uasset new file mode 100644 index 0000000..4209eb9 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3945462ed05b1b68dc5d33e4641ff419f0d370b95d23cb9023420db9c3a3c30 +size 234297 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_pose.uasset new file mode 100644 index 0000000..3ad20e6 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_hand_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7a7d6d60db7b6bcd43544f3cbad1d5665fb43559fc7965c7620fb5546fc1072 +size 169243 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_anim.uasset new file mode 100644 index 0000000..4c35efd --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4ed5067227209cef4cce9a142403daf2d326bea2e0c24e32e8b5e78b1329d8b +size 281317 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_pose.uasset new file mode 100644 index 0000000..d3ba8f9 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ef9a345362de843d55920dbe99098d5153ae1c71cda336c379ac8827ea6676f +size 361685 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_anim.uasset new file mode 100644 index 0000000..69cf131 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eebb3216f67c9dd7972caab579ddc0172cc35c54b9348cb65613543345ecd1a +size 242965 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_pose.uasset new file mode 100644 index 0000000..2577432 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_lowerarm_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad8be2e463fc13e9535141f2ab56fbbaaa273fc5a147e241be317475263edb83 +size 361685 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_anim.uasset new file mode 100644 index 0000000..dfdf179 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a83389a271ca51e63d485ec964709ce00372db4a9edeff33f1d7985e0566e62a +size 259969 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_pose.uasset new file mode 100644 index 0000000..50cf736 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d137f5786e50b29144c51864a440336b258d0c5083d31b45a64b6b7f73ee2681 +size 558010 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_anim.uasset new file mode 100644 index 0000000..9323a34 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c44f0ae34c8f2ab9b798b113e8184db7cdc8e6db296942cfb3b13e7d89d4bf +size 259971 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_pose.uasset new file mode 100644 index 0000000..2616e15 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_thigh_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12f3172c6635f6afa5640b15fd7f66f3671a1ee6fd02c772806c0dd85b0513cf +size 558010 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_anim.uasset new file mode 100644 index 0000000..bfb0c5f --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf554239beffba7728f82fdd6dbc6cb4195cce2c244abb6ebf709609e680f1d5 +size 264662 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_pose.uasset new file mode 100644 index 0000000..0ef29af --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40c7144280dc6dd71ef032c03be41346b613173d03dba18beb71dcccbbbfc9f0 +size 641674 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_anim.uasset new file mode 100644 index 0000000..b40feeb --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be8ad4ac107f58f5b85004d8a167a3692f85bc7d3a36ba5f83e451383417c323 +size 265176 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_pose.uasset new file mode 100644 index 0000000..269edcf --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Manny/Manny_upperarm_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec54aa4ab3c6d25e72006edbfcbe0c26538d10d596034bb91f9fb8ec840064d8 +size 630236 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_anim.uasset new file mode 100644 index 0000000..73e0941 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:134caa58fad9f8350c113f47306c4704e8afdc68a2e8d49f41a329a913c5fa67 +size 281176 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_pose.uasset new file mode 100644 index 0000000..0c32944 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4c6214e858cfbe1b74578682704ab5c8d58846e3aa02416b561fc09e77ecb92 +size 245182 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_anim.uasset new file mode 100644 index 0000000..a7e266f --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8733c2e7cd1eb8d235685e650dac898d75fc8f56debd9a68b0280a56dd57f7f4 +size 319175 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_pose.uasset new file mode 100644 index 0000000..fc72442 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_calf_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8015e347b1059ae4466352cc61a239fddb047485a65a3dbc00bc71f16d4d1bec +size 245263 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_anim.uasset new file mode 100644 index 0000000..8e18ab5 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1904b47804a61268c4b9a6d4e637d0180815370eb0421bb7cc307e60634305f8 +size 317511 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_pose.uasset new file mode 100644 index 0000000..d3a29e5 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd91723e6048e35a9ec8266938a2ca6a1ffdb120cbf7dd92ce162cb12be9d186 +size 205934 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_anim.uasset new file mode 100644 index 0000000..3bd7df5 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfc4ab4bcd32f24594b49d5b1c59fc23257dc0843419810672e147c2e83d10b1 +size 278932 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_pose.uasset new file mode 100644 index 0000000..a06b874 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_clavicle_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac694dc581dd4dc369e993706ef6d80f749064457c74da6d027b4f9529fc32eb +size 206035 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_anim.uasset new file mode 100644 index 0000000..9cb06c0 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48c24b564243a15d95991eb17691865268a74b518a59ab04358b0d3ca2f6371e +size 275286 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_pose.uasset new file mode 100644 index 0000000..4dd7361 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e09e014c0fd918fe79f6baec417dc55948ed5c4102d0cfa160bd68e3b952244e +size 132174 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_anim.uasset new file mode 100644 index 0000000..41de2fc --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3970e4b2026c5d79204bfe33d63886767fedd29299be9eb10d7e28969fa91d9 +size 275288 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_pose.uasset new file mode 100644 index 0000000..51e6c8c --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_foot_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0acec2b3f9752a533567df94a86df48f172c9b62dfc24847d6d5df1404cc03f +size 132174 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_anim.uasset new file mode 100644 index 0000000..714e694 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d5d1e51264fa8714f21900df33bc089bb788e083d3bdeff974c4b0453ce45d8 +size 276438 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_pose.uasset new file mode 100644 index 0000000..10d5be0 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a04d2dd3099921a20687487e841a36cecc85ecece017c2db613a892788ec8a7d +size 169204 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_anim.uasset new file mode 100644 index 0000000..a628769 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cd533ea076d963df0ed8848b97918200ecb9eeda69464000c60961d7095f0bb +size 257338 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_pose.uasset new file mode 100644 index 0000000..b93f572 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_hand_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8c0ce84e077bfd4d354a4cb2c74f335a4a46282dd45edd34f2d0fb7ce127df1 +size 169204 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_anim.uasset new file mode 100644 index 0000000..80798ad --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad7d4aa2d53ffd3d7510ca1601b3a893f6fa785e2aa1d0d95e58bd42db92e2e4 +size 265110 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_pose.uasset new file mode 100644 index 0000000..92a378f --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6ab7e1b8a621f98ef314a5b45373343c1098b871e85251e9220ba3ad6c21090 +size 399584 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_anim.uasset new file mode 100644 index 0000000..8f54310 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2319d5b138b4b3a4867ba638c493aa588ab55e5c18028518fba8d57661937650 +size 264792 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_pose.uasset new file mode 100644 index 0000000..707bb17 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_lowerarm_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c28d640589e55e86f348b0f80d987fb552176b149373a1217447ff51217cfba0 +size 399584 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_anim.uasset new file mode 100644 index 0000000..0f043e3 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1b673c30071ad0237c2126e9a30f58dd9ed3862c0cfc3c057f17fd0ba596792 +size 279874 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_pose.uasset new file mode 100644 index 0000000..330d110 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f9dec5394f85b55f23c69fba980a44aed0a65e377813ecb07ad8c6b784b266c +size 557670 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_anim.uasset new file mode 100644 index 0000000..09b92fa --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e081b5bbfec4891ad8966d435c7d0de0232c92a81113a6a5d6952093e312ab2c +size 279876 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_pose.uasset new file mode 100644 index 0000000..277125c --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_thigh_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d234dcb5aa05b3461dc26c04ecb6a20609829b410556b8f111e53f5df657efd3 +size 557670 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_anim.uasset new file mode 100644 index 0000000..c487655 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54862185395b8c9d5b80f9bed31827c255470ab1a4bcbac8f1a61aa147fdb30e +size 274647 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_pose.uasset new file mode 100644 index 0000000..d5cf296 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_l_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:840746960ae8bfc5558301b800e203bf8deee5994a9d9548a5c4086a4f4a2f69 +size 485495 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_anim.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_anim.uasset new file mode 100644 index 0000000..737bb88 --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65de4c71da98588fd753008d1784fe14202261d3b211baded7bb9635b3e2b8d1 +size 270809 diff --git a/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_pose.uasset b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_pose.uasset new file mode 100644 index 0000000..b1c467a --- /dev/null +++ b/Content/Characters/Mannequins/Rigs/Poses/Quinn/Quinn_upperarm_r_pose.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f3537d3654332b0ef94d640752a22deb763f8a7f5c97c57b32ce3ca84238778 +size 488505 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..f6671a1 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:269c91bcbb06a5c84907e0216d059a312d14c93c4752914a50a298ea81bc2dc0 +size 3612726 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_BN.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_BN.uasset new file mode 100644 index 0000000..f6532e3 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:772d5d97d52d89ff7e70b0f3f57a95fb2760bd927b74768cb247defd0f946351 +size 18514278 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..96d94c8 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59518da35a5a3b4aac8c080ca1db87898ac377447e5a5d46f8d86b05bd6529b0 +size 10272096 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_D.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_D.uasset new file mode 100644 index 0000000..8012409 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd94d34f70f35af713c56e547e0df629475ef187caad1a30c15a4200511d4b08 +size 5740464 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_MSR_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_MSR_MSK.uasset new file mode 100644 index 0000000..8eb57bf --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bba1376dd97e7e0c1ee407bfc237284b6e989224ffc507f4888a923146eb85c2 +size 11038299 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_N.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_N.uasset new file mode 100644 index 0000000..345fe4a --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b5e9114d9077ff955d448b318e2d5a2e15a59be6bfdfde5f35bf215b7eac086 +size 7198360 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_Tan.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_Tan.uasset new file mode 100644 index 0000000..96ec2c6 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_01_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e70a4d79e249bd3423a76ea3996addeaf2fd4c59413fbc1dc1a2afdbb073ae +size 1357881 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..7909aa0 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26edf310404ed887aafa5c83af0c7491b366a26634956f0582be0fd92a1f86a4 +size 8341502 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_BN.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_BN.uasset new file mode 100644 index 0000000..bb77a2d --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfd6e427157fa0c1f49839c5e18432275c0382bd910c108548d3500d38960be7 +size 21139637 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..ee2e8d0 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2ae1b79f4719c1ca7fa1b13769edf998323558bb28ecaa6bc9a4d0ef23e3b7a +size 13144167 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_D.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_D.uasset new file mode 100644 index 0000000..8f87329 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:965f3d15f06054998214903dcf070e146430acdcf3ab8e4869f6c1fdea32ea03 +size 9033632 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_MSR_MSK.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_MSR_MSK.uasset new file mode 100644 index 0000000..5b52ca9 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:740a079af0c98c0e7ec688177b94bf48419f7be52111037a0ddc58e628f4fe45 +size 13677725 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_N.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_N.uasset new file mode 100644 index 0000000..691ae11 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90c92a6a70f6d22cebae353b30f18897f788e9af6a3bbca25b6b4767ad85e974 +size 7269444 diff --git a/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_Tan.uasset b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_Tan.uasset new file mode 100644 index 0000000..3679e2e --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Manny/T_Manny_02_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eb54893fd092ff41864244e24d1efe25f6fada6e0c513c7a4e07b6ad14b7b0e +size 2153901 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_BN.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_BN.uasset new file mode 100644 index 0000000..4a27fec --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cc5e27a74ded3ce03c9996a222fff1abeba39bc2a7d3c84706df3c175992670 +size 16108711 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_D.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_D.uasset new file mode 100644 index 0000000..ede330e --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bae45be94739d8a77a09220291efe6bcd9bc38ca3e635dded901c2238a04e065 +size 4711246 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset new file mode 100644 index 0000000..5e7e12c --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:135663d7e9f4de09ff782b889743484b42fff3518972d8c1a245b8db245395aa +size 11656258 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_N.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_N.uasset new file mode 100644 index 0000000..ea004d3 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffab02054c272acd3a2978957c591ad84466a14e9567726c40636df4197c0d7b +size 5217787 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_Tan.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_Tan.uasset new file mode 100644 index 0000000..5b78ae7 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01ID_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1566d067d507412d8aae0b9e46c3c81164f98e6573d03de12f6c597d49e43c5e +size 1104740 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset new file mode 100644 index 0000000..06c8c17 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8162792d10707ca1217a47f86895058d4c746a56e690d47768d816469975c24c +size 5834954 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..8f39b98 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f2b00409229ffb0f658e1e7f52b0be72b6a0415c995415207d571d8a6e28587 +size 12400050 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_BN.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_BN.uasset new file mode 100644 index 0000000..9785305 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeae018c10c060116da7cf363da067eede603ab54db07d70d3a91aed7478ed6a +size 19706995 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_D.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_D.uasset new file mode 100644 index 0000000..905e3c3 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ff77e4e2c39c188bdce812733ecd87cb9746c2c8e64a5ac931777862dbd113 +size 6732614 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset new file mode 100644 index 0000000..3df7971 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d7473492bc24bf7de8293cf9d0a7c3b7e665a4c763986fd1d520dd5e2f89fcd +size 13169888 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_N.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_N.uasset new file mode 100644 index 0000000..7f50a40 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f85f0cd27c61df002b26c3f103ad43d8638d950d59b4f4b732f930a9e7628c9b +size 5217787 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_Tan.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_Tan.uasset new file mode 100644 index 0000000..bdb1757 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02ID_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb2cbb8b892c328f1bb84c15bd79773a4c44ba0525442265cd94ec1622f443f2 +size 1758607 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset new file mode 100644 index 0000000..0748797 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5772df02b2494efeb1a211406b752bc096e8a1b0ec46c31316a1dca117abbb8 +size 6902093 diff --git a/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..dcde43e --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b5371aed91d1ca90e75e41f0ea7e85fd2c3bf3c757b819c0df914b2c3171706 +size 13427982 diff --git a/Content/Characters/Mannequins/Textures/Shared/T_UE_Logo_M.uasset b/Content/Characters/Mannequins/Textures/Shared/T_UE_Logo_M.uasset new file mode 100644 index 0000000..8db0d96 --- /dev/null +++ b/Content/Characters/Mannequins/Textures/Shared/T_UE_Logo_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0387efe5f49801ba03d9b755d718e7cf7938ac76661521217a6b50f1b9da9a1c +size 70069 diff --git a/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Grasp_Right.uasset b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Grasp_Right.uasset new file mode 100644 index 0000000..c153e2b --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Grasp_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0b0bf7e60c10e828b3fdf1c07dc5727d01e56dcb6fd09ea77bf1b8e7ff66a5 +size 91487 diff --git a/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Idle_Right.uasset b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Idle_Right.uasset new file mode 100644 index 0000000..7647e95 --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Idle_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a06f31e4906fcd5d30181eb2b48599e3e362e295f758e0c1e2587e0ab1be5e2 +size 46981 diff --git a/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_IndexCurl_Right.uasset b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_IndexCurl_Right.uasset new file mode 100644 index 0000000..82e9450 --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_IndexCurl_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a522a9991f3aa62bc84c11364e80d48f44e3c3bbe58a042762717cb8056146d +size 91806 diff --git a/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Point_Right.uasset b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Point_Right.uasset new file mode 100644 index 0000000..9e5c1f5 --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Point_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f645d4c2bfdc7147049742f8d6f6b244ac4d44ef5fe4f3a64ed960da764d00ed +size 91705 diff --git a/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_ThumbUp_Right.uasset b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_ThumbUp_Right.uasset new file mode 100644 index 0000000..06ca252 --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_ThumbUp_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17ef83a8e6009cc4878c6a5107a20e42d5bbdce61fe3c7d3dee2e65c52ac3de0 +size 91757 diff --git a/Content/Characters/MannequinsXR/Animations/MDT_MannequinsXR.uasset b/Content/Characters/MannequinsXR/Animations/MDT_MannequinsXR.uasset new file mode 100644 index 0000000..1fb3b16 --- /dev/null +++ b/Content/Characters/MannequinsXR/Animations/MDT_MannequinsXR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1597c80e854c8dfc0350ccb56dfb4c106fdc76a4d1150158acd1a389387acfe8 +size 12589 diff --git a/Content/Characters/MannequinsXR/B_MannequinsXR.uasset b/Content/Characters/MannequinsXR/B_MannequinsXR.uasset new file mode 100644 index 0000000..96d756b --- /dev/null +++ b/Content/Characters/MannequinsXR/B_MannequinsXR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50ffb63992cf77a0f0a9e50cd7dcc74cc8d3225d76da5515009a071002f7aef0 +size 14168 diff --git a/Content/Characters/MannequinsXR/Materials/Functions/CA_Mannequin.uasset b/Content/Characters/MannequinsXR/Materials/Functions/CA_Mannequin.uasset new file mode 100644 index 0000000..ac7a0b0 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Functions/CA_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58c3d46510c2df1bd1774f561fc6145d5a642e7f5a6882e973528faa88dff3b9 +size 4884 diff --git a/Content/Characters/MannequinsXR/Materials/Functions/ChromaticCurve.uasset b/Content/Characters/MannequinsXR/Materials/Functions/ChromaticCurve.uasset new file mode 100644 index 0000000..d2e280d --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Functions/ChromaticCurve.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3040c08d86403cff387f7a6b383eebde53ee8854ce5646113d5a5fa3f43ed31 +size 6355 diff --git a/Content/Characters/MannequinsXR/Materials/Functions/MF_Diffraction.uasset b/Content/Characters/MannequinsXR/Materials/Functions/MF_Diffraction.uasset new file mode 100644 index 0000000..da3e332 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Functions/MF_Diffraction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feaa29c1dd7a9ac3a7373eb8e49980839456eb5e6b1563e47f29ff9e46bafb57 +size 31967 diff --git a/Content/Characters/MannequinsXR/Materials/Functions/MF_logo3layers.uasset b/Content/Characters/MannequinsXR/Materials/Functions/MF_logo3layers.uasset new file mode 100644 index 0000000..dc5dda1 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Functions/MF_logo3layers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d2f48a047163533e4c3f280c00eb475ca8d3f7d834d9fc563581df856099a39 +size 54752 diff --git a/Content/Characters/MannequinsXR/Materials/Functions/ML_BaseColorFallOff.uasset b/Content/Characters/MannequinsXR/Materials/Functions/ML_BaseColorFallOff.uasset new file mode 100644 index 0000000..b560853 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Functions/ML_BaseColorFallOff.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46cd387bb01f73688460e3239f47e71bb46713876ab51c067b2ff531ac848648 +size 13654 diff --git a/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_01.uasset b/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_01.uasset new file mode 100644 index 0000000..742e243 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cd8de9806de029cdf4237f9b816cc7e675e72a20d978a760ea75d0383cfb74c +size 15394 diff --git a/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_02.uasset b/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_02.uasset new file mode 100644 index 0000000..4f288a4 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c63305c3c758acb57ddef56fe20ef8aff1254e1dcd3c61eee7b2d50fbceb99ae +size 20307 diff --git a/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_01.uasset b/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_01.uasset new file mode 100644 index 0000000..0dfea7e --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a3ba2ce22d06ab3141dc87c46087773b55cb999b95abeadc96108a059a0101 +size 17775 diff --git a/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_02.uasset b/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_02.uasset new file mode 100644 index 0000000..c4c3c02 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/Instances/Quinn/MI_Quinn_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6906d7f77e1e59363aada29a7056986e2ae3fb09964bebe5b1b2edf23e6a2fc5 +size 19962 diff --git a/Content/Characters/MannequinsXR/Materials/M_Mannequin.uasset b/Content/Characters/MannequinsXR/Materials/M_Mannequin.uasset new file mode 100644 index 0000000..5380596 --- /dev/null +++ b/Content/Characters/MannequinsXR/Materials/M_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ea1f9045d0215ef97a1343fbdb685a9c42a90a7da97bc9eedeed0f83ae1c04 +size 78969 diff --git a/Content/Characters/MannequinsXR/Meshes/ABP_MannequinsXR.uasset b/Content/Characters/MannequinsXR/Meshes/ABP_MannequinsXR.uasset new file mode 100644 index 0000000..6b864aa --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/ABP_MannequinsXR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad0f28f27aeb894657cbbd6e9332efebd8b162cceb1511b0eac3dc22a6662275 +size 226784 diff --git a/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_left.uasset b/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_left.uasset new file mode 100644 index 0000000..1f703cf --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b28cc2a6c095077236aceb22a394112503012e9e42e43ab285266cf73538dd17 +size 2341961 diff --git a/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_right.uasset b/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_right.uasset new file mode 100644 index 0000000..89f7ae9 --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61b47127b906d3a4f85f50bb82c9e88176050d7e06611c041bf9d1626c0f6525 +size 2340949 diff --git a/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_left.uasset b/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_left.uasset new file mode 100644 index 0000000..3efd2f1 --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44b918b3846be21eedcd6a6497825c8e815d15f73e9a621c59592f7041768514 +size 2357852 diff --git a/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_right.uasset b/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_right.uasset new file mode 100644 index 0000000..9ccff76 --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/SKM_QuinnXR_right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ca639ea9c47188c946e9ab49610bbf9b218e244988aaa2a9769d283c8032fa8 +size 2358875 diff --git a/Content/Characters/MannequinsXR/Meshes/SK_MannequinsXR.uasset b/Content/Characters/MannequinsXR/Meshes/SK_MannequinsXR.uasset new file mode 100644 index 0000000..c76af0e --- /dev/null +++ b/Content/Characters/MannequinsXR/Meshes/SK_MannequinsXR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79644b2acaa4047e0c879ec304f1ee51daba187214a6e73ebd720d04340dda56 +size 53444 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..ac8888c --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09b015d8dfdec58c621b7232e422c95ce43b200ee7b2db8079cda6b1fe019731 +size 3612626 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.uasset new file mode 100644 index 0000000..37d2a7b --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a18f0ff4a283dc1668f46278ab4d33dcb60548b06e9b6be48d65cbd5d022412c +size 18514189 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..5e0cdee --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a146719a9d03e72c4e96fdfd71ec2b70bf7c28b23f97b6651b299336977ca95 +size 10271993 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.uasset new file mode 100644 index 0000000..39ecf97 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:306a6c65ada3d6478b8029c577b7754b55564bcd0ec6dcf6ff290d3f59dc7daa +size 5740376 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.uasset new file mode 100644 index 0000000..a2001dd --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:975d13a4187ac210f27163111814b18288610ff41fb8357b1a56e69aeb417bc4 +size 11038205 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.uasset new file mode 100644 index 0000000..5234f21 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c0c055794202551113d6ea7a5228c785f91390e2e902d0089668765ae3c6ec9 +size 7198272 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.uasset new file mode 100644 index 0000000..9c890e4 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32a0b6af96c3804bd9389bd8c1718e9298695bb1f31a651e4ec8b8adb509688f +size 1357791 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..a006801 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3539678288a44329455d6f585283e7cddda59802a395ea90dd2149bf3bfed0ab +size 8336154 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.uasset new file mode 100644 index 0000000..2e3b7f0 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a38d944b6fbc5439a19454b11233750b60e639b1c4cd8fc6e059d8218447a4 +size 21135759 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..a15f053 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c064c8613f9041e202b3d230cdef31a51b71a7e29c500fe6da311db59ede39be +size 13137448 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.uasset new file mode 100644 index 0000000..8c58aff --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f4db65d0b4464e3f9f11efcdfa718cb2815911a3f01c7790a040d2d92806d4 +size 9028708 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.uasset new file mode 100644 index 0000000..10450d2 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fb958a48a1d45c98fb14b664a93ebf129ff95857e7d6ad0bc3fcf87762b2f3a +size 13673322 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.uasset new file mode 100644 index 0000000..3212972 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86b51839df071d93e66c7012710ba63e090fbb2a58563fe8224b145792eab865 +size 7269358 diff --git a/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.uasset b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.uasset new file mode 100644 index 0000000..9f712b5 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1360815a471eb4a1f382090747d3c3db1a78ee3dd1901f992e8acad067277c00 +size 2151498 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_BN.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_BN.uasset new file mode 100644 index 0000000..d2be6ce --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:130beec1f234c4751f103d905196928c81d34602b2a57efeee0e816792ec3f5a +size 16108684 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_D.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_D.uasset new file mode 100644 index 0000000..9d838d8 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4478792fe2edac7f6b7abd730b24471be5d28457703be1c4ae41c4ca5de5dd39 +size 4711219 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset new file mode 100644 index 0000000..3806eef --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deb7fe0d401707b3d4e50059c2cea5c8d70a3700459f090a5ab0e3767a61b9da +size 11656231 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_N.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_N.uasset new file mode 100644 index 0000000..f08befd --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bf28b28485da301272c2d81264ebd855abf0cbc1b3e210fb11fa7717b32b629 +size 5217760 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_Tan.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_Tan.uasset new file mode 100644 index 0000000..16105e5 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01ID_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d67cc3c3377a6728964f0ab100882c7b0c107ff881ce1265abdf808541793e4 +size 1104713 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset new file mode 100644 index 0000000..2bc7be6 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_ASAOMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed5edd53bb18f70ddda644ee81f66345730a46fa21614bb44733685102afffac +size 5834927 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..35b3623 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_01_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1159f04651f5d65830ee3a68216828f219fd486e0587f19095765509b2fb1686 +size 12400023 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_BN.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_BN.uasset new file mode 100644 index 0000000..b5b3399 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_BN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cad9f2e00881286f6599c1863622e1b1a2b6fdcff0d82a6153f754afc98ac9f +size 19706968 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_D.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_D.uasset new file mode 100644 index 0000000..fd52b9f --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1151eec53332b24f3974cdf764a6f74a78045eab938dba4efdf0dd8ae8e272 +size 6732587 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset new file mode 100644 index 0000000..72340bc --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_MSR_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05ae4fe768211c6d76ff9a32adeb228de21ab084b4ff00e85fa47f663f3fca39 +size 13169861 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_N.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_N.uasset new file mode 100644 index 0000000..7f50dd0 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75e79d7f2275242ebb7d25b7aa44cbaf43b63dc30109f4625bcfd2b94622234a +size 5217760 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_Tan.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_Tan.uasset new file mode 100644 index 0000000..0664cd1 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02ID_Tan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41895407e99a7e7527584c550f3cfc4aab0196d0e4d8da7a87e3dac03ec8a98d +size 1758580 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset new file mode 100644 index 0000000..a81b659 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_ASAOMASK_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd38c0c245bd4f363272d4d6726bcf09d56e8e297ff8391c9c39caff3d971de2 +size 6902066 diff --git a/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..97794f5 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Quinn/T_Quinn_02_CCRCCPlastic_MSK.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:928b1bf9b5c3f2d877291599bc6aa64eacc7e2c323a7cfbe7d69d3ca160a1af0 +size 13427955 diff --git a/Content/Characters/MannequinsXR/Textures/Shared/T_UE_Logo_M.uasset b/Content/Characters/MannequinsXR/Textures/Shared/T_UE_Logo_M.uasset new file mode 100644 index 0000000..73a8737 --- /dev/null +++ b/Content/Characters/MannequinsXR/Textures/Shared/T_UE_Logo_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8ea0777df9d18e35e8940fe02012ddb9050837e64cf71cb2edcb0582c38ed6 +size 69981 diff --git a/Content/Clouds_Generator/FX/FX_Clouds_Box.uasset b/Content/Clouds_Generator/FX/FX_Clouds_Box.uasset new file mode 100644 index 0000000..d10d78f --- /dev/null +++ b/Content/Clouds_Generator/FX/FX_Clouds_Box.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86a03ff34a1dc60cec91c7c7c8bf6e38807b79cd3939c801b9714a3c510a8ab9 +size 7186928 diff --git a/Content/Crystals/Material/M_Crystal_1.uasset b/Content/Crystals/Material/M_Crystal_1.uasset new file mode 100644 index 0000000..43bb14b --- /dev/null +++ b/Content/Crystals/Material/M_Crystal_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d9f3b8875328a7f25a5bef65c517ad6ac3846487b688dfd8ea684457dc5b14c +size 66473 diff --git a/Content/Crystals/Material/M_Crystal_Inst6.uasset b/Content/Crystals/Material/M_Crystal_Inst6.uasset new file mode 100644 index 0000000..5217404 --- /dev/null +++ b/Content/Crystals/Material/M_Crystal_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb260ee350e94e6525971152974a6e7cca8517f10b24c04ca82a62f8ed5947d7 +size 25939 diff --git a/Content/Crystals/Material/M_Smoke.uasset b/Content/Crystals/Material/M_Smoke.uasset new file mode 100644 index 0000000..1696d1b --- /dev/null +++ b/Content/Crystals/Material/M_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c5c9f2fc907d07694eba70e2bb7bc90a2bd70e4857d066d7192ca41ef29e4ce +size 27998 diff --git a/Content/Crystals/Material/M_Smoke_Inst6.uasset b/Content/Crystals/Material/M_Smoke_Inst6.uasset new file mode 100644 index 0000000..07b5ade --- /dev/null +++ b/Content/Crystals/Material/M_Smoke_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a333f06736dd020a7867cfffcd75104ca32d9993d35b4747bb765c843f9fded9 +size 11001 diff --git a/Content/Crystals/Material/M_Spark.uasset b/Content/Crystals/Material/M_Spark.uasset new file mode 100644 index 0000000..1b2c007 --- /dev/null +++ b/Content/Crystals/Material/M_Spark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e325332adfed1d8cd0f9e5a548f5e4ce88cb2f1ccf2a9f551df3e089a60571ba +size 75875 diff --git a/Content/Crystals/Material/M_Trail.uasset b/Content/Crystals/Material/M_Trail.uasset new file mode 100644 index 0000000..5dd5eae --- /dev/null +++ b/Content/Crystals/Material/M_Trail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a3adbd84ccb781bac3c19d5105e5b8e2ac88f707fb21898153231fcb684b21 +size 101066 diff --git a/Content/Crystals/Material/M_Trail_Inst1.uasset b/Content/Crystals/Material/M_Trail_Inst1.uasset new file mode 100644 index 0000000..c37ed05 --- /dev/null +++ b/Content/Crystals/Material/M_Trail_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:665fcfccf394eadb6f276a11b2e1cdaa6c6e5066cc89f216baacf9e4f4d915df +size 89640 diff --git a/Content/Crystals/Material/SKD.uasset b/Content/Crystals/Material/SKD.uasset new file mode 100644 index 0000000..4502b6d --- /dev/null +++ b/Content/Crystals/Material/SKD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615a866d033bffe2debfd30299eec528d2722c3e5822111b1a2607baa21ded69 +size 54280 diff --git a/Content/Crystals/Mesh/SM_Trail_1.uasset b/Content/Crystals/Mesh/SM_Trail_1.uasset new file mode 100644 index 0000000..37fa651 --- /dev/null +++ b/Content/Crystals/Mesh/SM_Trail_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f142ae6022cde728fa4299cbbf54b8186a810ce60fab7ec5f5fbfcc9a0d77a8 +size 115556 diff --git a/Content/Crystals/Particles/P_Crystal_6.uasset b/Content/Crystals/Particles/P_Crystal_6.uasset new file mode 100644 index 0000000..f505993 --- /dev/null +++ b/Content/Crystals/Particles/P_Crystal_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eb636858b93e427eb764988355e41369ceb2e09351f3cd9fd8692c9814c5c8c +size 328134 diff --git a/Content/Crystals/Texture/T_Cracks.uasset b/Content/Crystals/Texture/T_Cracks.uasset new file mode 100644 index 0000000..e8e96d1 --- /dev/null +++ b/Content/Crystals/Texture/T_Cracks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:921caf76eaf48d5c44e5aa5760dbc32969082dcb31cbe89fa7ea284a7d13a628 +size 4284477 diff --git a/Content/Crystals/Texture/T_Cracks_N.uasset b/Content/Crystals/Texture/T_Cracks_N.uasset new file mode 100644 index 0000000..d96ee5c --- /dev/null +++ b/Content/Crystals/Texture/T_Cracks_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:912ede174423c6ef9391ac9d3da4630d198c3cd09e9b34ea8ee904c121dd6625 +size 12671718 diff --git a/Content/Crystals/Texture/T_Crystal_2.uasset b/Content/Crystals/Texture/T_Crystal_2.uasset new file mode 100644 index 0000000..ae015f1 --- /dev/null +++ b/Content/Crystals/Texture/T_Crystal_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e29d3e3c104bc7e1c793d09bdbd0efb66c3541999cec2ff0f96a66b161b9f0b +size 6606971 diff --git a/Content/Crystals/Texture/T_Crystal_2_N.uasset b/Content/Crystals/Texture/T_Crystal_2_N.uasset new file mode 100644 index 0000000..e6b553e --- /dev/null +++ b/Content/Crystals/Texture/T_Crystal_2_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c5eeb5a48f06511eec00c47377ee8e5a1de1fe3d6c383f871027a40f1f6cfb1 +size 13334231 diff --git a/Content/Crystals/Texture/T_Dents.uasset b/Content/Crystals/Texture/T_Dents.uasset new file mode 100644 index 0000000..8355817 --- /dev/null +++ b/Content/Crystals/Texture/T_Dents.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9436d7d8e9995d3f43532ccba3e95982339e43ee6250c8737f5d87eec2110b4 +size 4461640 diff --git a/Content/Crystals/Texture/T_Naki.uasset b/Content/Crystals/Texture/T_Naki.uasset new file mode 100644 index 0000000..29a4325 --- /dev/null +++ b/Content/Crystals/Texture/T_Naki.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ef61aae100e0d9201cf0860ce08ac5d1a9b4190096b88d2cb2502a4f770b152 +size 5102461 diff --git a/Content/Crystals/Texture/T_Noise_Liquify.uasset b/Content/Crystals/Texture/T_Noise_Liquify.uasset new file mode 100644 index 0000000..732a020 --- /dev/null +++ b/Content/Crystals/Texture/T_Noise_Liquify.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98953160e9666bbce3b61d2cb3aa5a25213fe87181a4e5bbad2aa2aea399d44a +size 1713354 diff --git a/Content/Crystals/Texture/T_Space_3.uasset b/Content/Crystals/Texture/T_Space_3.uasset new file mode 100644 index 0000000..259b0e8 --- /dev/null +++ b/Content/Crystals/Texture/T_Space_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a187468a3d6a7975e43002f109822d8690006d3068c65966ccad6cbf31beb5 +size 1998764 diff --git a/Content/Crystals/Texture/T_Space_6.uasset b/Content/Crystals/Texture/T_Space_6.uasset new file mode 100644 index 0000000..e6b9fd5 --- /dev/null +++ b/Content/Crystals/Texture/T_Space_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad502c37c7a85e4d0e1e15e09f81adfe035c466b5536b5b27e414a6c80754658 +size 1929472 diff --git a/Content/Crystals/Texture/T_Sub_Noise_10.uasset b/Content/Crystals/Texture/T_Sub_Noise_10.uasset new file mode 100644 index 0000000..5bb978a --- /dev/null +++ b/Content/Crystals/Texture/T_Sub_Noise_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de5563c6f8557f70169004fdce1b699f666a99cb80c88e61d3c1c22d266abe1 +size 7839026 diff --git a/Content/Crystals/Texture/T_Sub_Noise_4.uasset b/Content/Crystals/Texture/T_Sub_Noise_4.uasset new file mode 100644 index 0000000..b83c440 --- /dev/null +++ b/Content/Crystals/Texture/T_Sub_Noise_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1450c7f1cdebbf817208a3a5ce324943f3740e817a8e96e7852963469349a75 +size 5789610 diff --git a/Content/Crystals/Texture/T_Sub_Noise_6.uasset b/Content/Crystals/Texture/T_Sub_Noise_6.uasset new file mode 100644 index 0000000..ee822ad --- /dev/null +++ b/Content/Crystals/Texture/T_Sub_Noise_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c8574bfc2c1c5c5c2bb0912f00c4fcc87eb267ab94cfc690bba4122b779511f +size 6375579 diff --git a/Content/Crystals/Texture/T_Sub_Noise_8.uasset b/Content/Crystals/Texture/T_Sub_Noise_8.uasset new file mode 100644 index 0000000..989ad60 --- /dev/null +++ b/Content/Crystals/Texture/T_Sub_Noise_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d963c8785d4f8d226245162ceba2efd3b213ac409918c1fc109991553a6539d +size 7733128 diff --git a/Content/DaDian/Audio/秦始皇棺椁-01.uasset b/Content/DaDian/Audio/秦始皇棺椁-01.uasset new file mode 100644 index 0000000..d0f49f6 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3d2731371dc4d20d49e593436973931336b800736a87f03390d15afdbd7382a +size 1543723 diff --git a/Content/DaDian/Audio/秦始皇棺椁-03.uasset b/Content/DaDian/Audio/秦始皇棺椁-03.uasset new file mode 100644 index 0000000..2f6dae6 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b497a25e1758768a13b5fbff96a96e2ae76c45c051cca8ab4ff0a180caff1fa +size 4847268 diff --git a/Content/DaDian/Audio/秦始皇棺椁-05.uasset b/Content/DaDian/Audio/秦始皇棺椁-05.uasset new file mode 100644 index 0000000..99f6680 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08ee072cce55c74fdeabcd30f1335f81ceeec81bd5fafbde5efe70c365f71dd4 +size 2139856 diff --git a/Content/DaDian/Audio/秦始皇棺椁-07.uasset b/Content/DaDian/Audio/秦始皇棺椁-07.uasset new file mode 100644 index 0000000..e58c6e9 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1148d3e71c603ca72a0f13d8bd60f5656db2a127589e35b1d3ea75baac04cd8 +size 4779405 diff --git a/Content/DaDian/Audio/秦始皇棺椁-13.uasset b/Content/DaDian/Audio/秦始皇棺椁-13.uasset new file mode 100644 index 0000000..9863256 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d55077371320726fc1e130aee30f8f2e2db440075da511cd2f1d492860948d64 +size 5116641 diff --git a/Content/DaDian/Audio/秦始皇棺椁-15.uasset b/Content/DaDian/Audio/秦始皇棺椁-15.uasset new file mode 100644 index 0000000..d1fd963 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3664b0fcfd6199eb8b720fc9aaba6d293abdc0e0d52cd9f1bc5b729dedb7fd3 +size 1704505 diff --git a/Content/DaDian/Audio/秦始皇棺椁-17.uasset b/Content/DaDian/Audio/秦始皇棺椁-17.uasset new file mode 100644 index 0000000..0c58af1 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fae526062eba3793cfb863a59ada6102e2b60fbb784bd59bbbe04fe1e5b0215 +size 2660123 diff --git a/Content/DaDian/Audio/秦始皇棺椁-19.uasset b/Content/DaDian/Audio/秦始皇棺椁-19.uasset new file mode 100644 index 0000000..0e573c0 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7038afbb9293b562053d67f0a3fccf50a4ce2c4d2d99198ba141797a7dc5526 +size 579654 diff --git a/Content/DaDian/Audio/秦始皇棺椁-21.uasset b/Content/DaDian/Audio/秦始皇棺椁-21.uasset new file mode 100644 index 0000000..40118bd --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8956883382cde4151d72d85b3a5a6d652396f68587f04dd2e1ba0a17642e621 +size 827823 diff --git a/Content/DaDian/Audio/秦始皇棺椁-23.uasset b/Content/DaDian/Audio/秦始皇棺椁-23.uasset new file mode 100644 index 0000000..e114152 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ad4dfcb528ed45e5c652b4f8366f8269e4c43cc39d6c5d80d0395d34618b906 +size 947520 diff --git a/Content/DaDian/Audio/秦始皇棺椁-25.uasset b/Content/DaDian/Audio/秦始皇棺椁-25.uasset new file mode 100644 index 0000000..676d58c --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a7074ab4d296fe0d6c965def2c4503707bc8bf508978e5806d4cffb04184be +size 4299400 diff --git a/Content/DaDian/Audio/秦始皇棺椁-31.uasset b/Content/DaDian/Audio/秦始皇棺椁-31.uasset new file mode 100644 index 0000000..64c9030 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9eaa489593e7c9a6e1bc1ce448b0058206384c740478244fed816a868eeffce9 +size 572315 diff --git a/Content/DaDian/Audio/秦始皇棺椁-33.uasset b/Content/DaDian/Audio/秦始皇棺椁-33.uasset new file mode 100644 index 0000000..bd40eac --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99113f95c92a9199ebeb22aebb53f4117b1757e7aab1d7a67f8c423f823422da +size 3172161 diff --git a/Content/DaDian/Audio/秦始皇棺椁-39.uasset b/Content/DaDian/Audio/秦始皇棺椁-39.uasset new file mode 100644 index 0000000..9972969 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c319efc3a01e7166140bbf3c0c8f4fe4d7fdc4b066251b9248508eff9787025 +size 4447855 diff --git a/Content/DaDian/Audio/秦始皇棺椁-42.uasset b/Content/DaDian/Audio/秦始皇棺椁-42.uasset new file mode 100644 index 0000000..cf9a1ce --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁-42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:850bc8e01827624e233c94bed9c5a3059043ce83215ab582fe3c78b690c40095 +size 1980822 diff --git a/Content/DaDian/Audio/秦始皇棺椁_01.uasset b/Content/DaDian/Audio/秦始皇棺椁_01.uasset new file mode 100644 index 0000000..f7ef239 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bd599c00af3f84d68589e8e0d4f79345c3c9080a85811d9c6ba15043512ecf5 +size 4307738 diff --git a/Content/DaDian/Audio/秦始皇棺椁_02.uasset b/Content/DaDian/Audio/秦始皇棺椁_02.uasset new file mode 100644 index 0000000..b6a05a2 --- /dev/null +++ b/Content/DaDian/Audio/秦始皇棺椁_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6002d3d32cb51e4daf5df2a4d6ea8372ca0ccdc9a114109310826a2f0ff4413c +size 2288076 diff --git a/Content/DaDian/Audio/音效_水流.uasset b/Content/DaDian/Audio/音效_水流.uasset new file mode 100644 index 0000000..897dc21 --- /dev/null +++ b/Content/DaDian/Audio/音效_水流.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec925cc84e9401d5cad9fea1bb5abbf5c78cc84794e087855845592a58d5e5d2 +size 8486306 diff --git a/Content/DaDian/Level/Se_DD_End260.uasset b/Content/DaDian/Level/Se_DD_End260.uasset new file mode 100644 index 0000000..59a681e --- /dev/null +++ b/Content/DaDian/Level/Se_DD_End260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c37774c86eb409e60f5dd5b7cbb7cd96fec8d5f7c22a381ad2b3ada7120910 +size 1479 diff --git a/Content/DaDian/Level/Se_DD_End280.uasset b/Content/DaDian/Level/Se_DD_End280.uasset new file mode 100644 index 0000000..02206b7 --- /dev/null +++ b/Content/DaDian/Level/Se_DD_End280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9162689e51ad603cd5e8953343ee0be1975b3ba0d3def4afb64e6791ba40399b +size 1479 diff --git a/Content/DaDian/Level/Se_DD_Start260.uasset b/Content/DaDian/Level/Se_DD_Start260.uasset new file mode 100644 index 0000000..370be0e --- /dev/null +++ b/Content/DaDian/Level/Se_DD_Start260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21e1e91c71aa7cea2974606145d624626e6360d39550879b392a563806885a33 +size 1495 diff --git a/Content/DaDian/Level/Se_DD_Start280.uasset b/Content/DaDian/Level/Se_DD_Start280.uasset new file mode 100644 index 0000000..1ab6416 --- /dev/null +++ b/Content/DaDian/Level/Se_DD_Start280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c79e1e3c5a89a4428711c0fd7cc1c0260361e3cce91d81593cd689d149c215cb +size 1495 diff --git a/Content/DaDian/Level/dadainjinjing260.umap b/Content/DaDian/Level/dadainjinjing260.umap new file mode 100644 index 0000000..456f936 --- /dev/null +++ b/Content/DaDian/Level/dadainjinjing260.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb4ee2d3d8baa72a4c56abef3f305e3a3c6680a11b33bdaddca047a53731da9 +size 261630 diff --git a/Content/DaDian/Level/dadainjinjing280.umap b/Content/DaDian/Level/dadainjinjing280.umap new file mode 100644 index 0000000..c852aeb --- /dev/null +++ b/Content/DaDian/Level/dadainjinjing280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398390ef8cc01e697c80046dda290e570d1e21f43062e31cfaca4a98388d68b6 +size 217531 diff --git a/Content/DaDian/Level/dadainjinjing290.umap b/Content/DaDian/Level/dadainjinjing290.umap new file mode 100644 index 0000000..eedf9e0 --- /dev/null +++ b/Content/DaDian/Level/dadainjinjing290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e635a59e2d3b84193d7ddffb8dcd905febb0ae9b78e999fa319bb7f0e6963044 +size 244656 diff --git a/Content/DaDian/Level/dadainjinjing330.umap b/Content/DaDian/Level/dadainjinjing330.umap new file mode 100644 index 0000000..ef17b9a --- /dev/null +++ b/Content/DaDian/Level/dadainjinjing330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13d0357cdf233f168db8d2ef1f56943bbfaa78ac075b070fbf0e8f8dd0fe2995 +size 260094 diff --git a/Content/DaDian/Mesh/Sk_tanzi.uasset b/Content/DaDian/Mesh/Sk_tanzi.uasset new file mode 100644 index 0000000..a6be48a --- /dev/null +++ b/Content/DaDian/Mesh/Sk_tanzi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34b94abc51968265cbd28611e9d7a494772f85df084c330ec563757701b2199c +size 199402 diff --git a/Content/DaDian/Mesh/Sk_tanzi_Anim.uasset b/Content/DaDian/Mesh/Sk_tanzi_Anim.uasset new file mode 100644 index 0000000..da65b2d --- /dev/null +++ b/Content/DaDian/Mesh/Sk_tanzi_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f39babb6941381a8085e905cc00b31d2d9fefe9998a8604be790087506b67eba +size 842318 diff --git a/Content/DaDian/Mesh/Sk_tanzi_PhysicsAsset.uasset b/Content/DaDian/Mesh/Sk_tanzi_PhysicsAsset.uasset new file mode 100644 index 0000000..cbcb511 --- /dev/null +++ b/Content/DaDian/Mesh/Sk_tanzi_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34d0be789832b89ad4e6ea151d3f663ff479ef38f47a333f61b49e0937deaf4c +size 7514 diff --git a/Content/DaDian/Mesh/Sk_tanzi_Skeleton.uasset b/Content/DaDian/Mesh/Sk_tanzi_Skeleton.uasset new file mode 100644 index 0000000..2c466c9 --- /dev/null +++ b/Content/DaDian/Mesh/Sk_tanzi_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ec148dd24e8bf9f0e0e05541a238f66c7c6b1785f8d9e3960720a2c2daa9478 +size 17474 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI.uasset new file mode 100644 index 0000000..02e4e62 --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbff9717f811a7a1a3f0a68d78ff081fdb9cd311e0ac7e6501d596d3229178e1 +size 17860 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI1.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI1.uasset new file mode 100644 index 0000000..e7f1709 --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1db5d85d480645d07c12392f0b2177abb086dde2c4c679c76ac1557589b711e1 +size 16748 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI_Base_color.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Base_color.uasset new file mode 100644 index 0000000..ff4336f --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ffd55bf3a834035d78ecb316a2581f88bd20b6ec6d8e45fffb40c9fa764502a +size 669819 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI_Metallic.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Metallic.uasset new file mode 100644 index 0000000..1fd22f7 --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f0f0126d788dd3ea8ffee8d9160775b1050437341d24573614c460b0e02b293 +size 11137 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI_Normal_OpenGL.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Normal_OpenGL.uasset new file mode 100644 index 0000000..c3a95d0 --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb4c7cc122cf5e74084a09b998a1114714fd59f38ee8d215a1c7f9823b600155 +size 2558917 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_MI_Roughness.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Roughness.uasset new file mode 100644 index 0000000..eeb28ae --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_MI_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74a751ce84c030e777435919eac503cacb9628a0f0e97469a3567510db3d4584 +size 16263 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_diff02.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_diff02.uasset new file mode 100644 index 0000000..7023c99 --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_diff02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd674913986dcdd7014d3462229142628e26662f8bb4aa9181b00acc3b35dbce +size 1300536 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_norm.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_norm.uasset new file mode 100644 index 0000000..95b7c3d --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_norm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4abd0dea53a7dc12dfc48d88bfad72335bfd173261e5ffc4c712e18e657fa694 +size 1225998 diff --git a/Content/DaDian/Mesh/Vehicle_Carpet_spec.uasset b/Content/DaDian/Mesh/Vehicle_Carpet_spec.uasset new file mode 100644 index 0000000..1fab3ce --- /dev/null +++ b/Content/DaDian/Mesh/Vehicle_Carpet_spec.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caef9c2b7d9432906406fc48aac634b704f0a87b3a5edf7e6149cb5142aadb36 +size 328647 diff --git a/Content/DaDian/Mesh/lambert2.uasset b/Content/DaDian/Mesh/lambert2.uasset new file mode 100644 index 0000000..08e5128 --- /dev/null +++ b/Content/DaDian/Mesh/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dd56c6f679eeb48ed834e5050be026db0ea68480186a22fe9acf520e9f0735e +size 9143 diff --git a/Content/DaDian/Mesh/phong1.uasset b/Content/DaDian/Mesh/phong1.uasset new file mode 100644 index 0000000..b2515b7 --- /dev/null +++ b/Content/DaDian/Mesh/phong1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c669cdc165be5cf2a26f30e19530ed1b82f32826be0cd825eda930c06805a811 +size 9137 diff --git a/Content/DaDian/Mesh/毯子2_Anim.uasset b/Content/DaDian/Mesh/毯子2_Anim.uasset new file mode 100644 index 0000000..b523f37 --- /dev/null +++ b/Content/DaDian/Mesh/毯子2_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3171e5aeec227434733892827ad4340353935f4c8c4ebfd1f82470672d880469 +size 167977 diff --git a/Content/DaDian/Se_dadianAudio.uasset b/Content/DaDian/Se_dadianAudio.uasset new file mode 100644 index 0000000..34a0e7a --- /dev/null +++ b/Content/DaDian/Se_dadianAudio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4738d4939171f27f5b3e7ca6174a36adbec60437faf6d4d7c3a1cd08bfbeeb3 +size 95335 diff --git a/Content/DaDian/Sequence/260/Se_DD_End260.uasset b/Content/DaDian/Sequence/260/Se_DD_End260.uasset new file mode 100644 index 0000000..2ba1b08 --- /dev/null +++ b/Content/DaDian/Sequence/260/Se_DD_End260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dde39fb7bf16baa2318b75591f0641c0331a66e6a4a254b0ffd99831a101353f +size 102258 diff --git a/Content/DaDian/Sequence/260/Se_DD_End260Copy.uasset b/Content/DaDian/Sequence/260/Se_DD_End260Copy.uasset new file mode 100644 index 0000000..edc4088 --- /dev/null +++ b/Content/DaDian/Sequence/260/Se_DD_End260Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43584762d94b4b7710f775221153166310d1571de953022780670351344a4f1f +size 118030 diff --git a/Content/DaDian/Sequence/260/Se_DD_Start260.uasset b/Content/DaDian/Sequence/260/Se_DD_Start260.uasset new file mode 100644 index 0000000..9842b77 --- /dev/null +++ b/Content/DaDian/Sequence/260/Se_DD_Start260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aadf792227f7c78c44f8b090fc918dcb36beeb3c9a91d487ab33cd4f266c3c6 +size 98005 diff --git a/Content/DaDian/Sequence/260/Se_DD_Start26Copy.uasset b/Content/DaDian/Sequence/260/Se_DD_Start26Copy.uasset new file mode 100644 index 0000000..a0d7f85 --- /dev/null +++ b/Content/DaDian/Sequence/260/Se_DD_Start26Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db248b6a33a508d97c72d6b3635b39de59760514a377f0b1c9d59e8196ab9f9 +size 116822 diff --git a/Content/DaDian/Sequence/280/Se_DD_End280.uasset b/Content/DaDian/Sequence/280/Se_DD_End280.uasset new file mode 100644 index 0000000..e76af7e --- /dev/null +++ b/Content/DaDian/Sequence/280/Se_DD_End280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53b3ebb5ba4b4a77db7893c66e41df0e2264c43e8026553a7a203bd9949ec16b +size 97516 diff --git a/Content/DaDian/Sequence/280/Se_DD_End280Copy.uasset b/Content/DaDian/Sequence/280/Se_DD_End280Copy.uasset new file mode 100644 index 0000000..7f24f88 --- /dev/null +++ b/Content/DaDian/Sequence/280/Se_DD_End280Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e857863a86d2d07f1589ee0c918c6167274b40530803874fd49229825f0c4cb +size 200279 diff --git a/Content/DaDian/Sequence/280/Se_DD_Start280.uasset b/Content/DaDian/Sequence/280/Se_DD_Start280.uasset new file mode 100644 index 0000000..b41ac14 --- /dev/null +++ b/Content/DaDian/Sequence/280/Se_DD_Start280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5eee07c74c5e0d45d0fb7e569430d2d01a9b61a7f2baf3278372cd35e9c5fb7 +size 95553 diff --git a/Content/DaDian/Sequence/280/Se_DD_Start280Copy.uasset b/Content/DaDian/Sequence/280/Se_DD_Start280Copy.uasset new file mode 100644 index 0000000..e9fdc7d --- /dev/null +++ b/Content/DaDian/Sequence/280/Se_DD_Start280Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99c6f8abf1a1fecfa3ee531bd7c3f78a07d0a4ee356a7c9948fb9d9e903c7c27 +size 126237 diff --git a/Content/DaDian/Sequence/280/Se_DD_Start280Copydaiji.uasset b/Content/DaDian/Sequence/280/Se_DD_Start280Copydaiji.uasset new file mode 100644 index 0000000..acb219a --- /dev/null +++ b/Content/DaDian/Sequence/280/Se_DD_Start280Copydaiji.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba31575ce528d8ad638ddc820b24b06a149dfa55b2e9cb7f615400884111a887 +size 122533 diff --git a/Content/DaDian/Sequence/290/Se_DD_End290.uasset b/Content/DaDian/Sequence/290/Se_DD_End290.uasset new file mode 100644 index 0000000..488d185 --- /dev/null +++ b/Content/DaDian/Sequence/290/Se_DD_End290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9fd94112547ac8d8171afd6f795ec8901be39ca1639facf44a837e10cd49b3b +size 96272 diff --git a/Content/DaDian/Sequence/290/Se_DD_Start290.uasset b/Content/DaDian/Sequence/290/Se_DD_Start290.uasset new file mode 100644 index 0000000..6543ab9 --- /dev/null +++ b/Content/DaDian/Sequence/290/Se_DD_Start290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:845809fe324a99f674e9b541c88c301a035a3867363ab07b56cb8698699325de +size 93874 diff --git a/Content/DaDian/Sequence/330/Se_DD_End330.uasset b/Content/DaDian/Sequence/330/Se_DD_End330.uasset new file mode 100644 index 0000000..28f0edd --- /dev/null +++ b/Content/DaDian/Sequence/330/Se_DD_End330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c923db7e1258a705c778cc94d15495e56bd727161477e79bcb6ac06c664c617 +size 102666 diff --git a/Content/DaDian/Sequence/330/Se_DD_Start330.uasset b/Content/DaDian/Sequence/330/Se_DD_Start330.uasset new file mode 100644 index 0000000..aefb9d2 --- /dev/null +++ b/Content/DaDian/Sequence/330/Se_DD_Start330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e05bf821022935a4aeee71d5cd8a24728b866f4b26e4e030c8437b1f43999d02 +size 91058 diff --git a/Content/DaDian/Sequence/Se_DD_End.uasset b/Content/DaDian/Sequence/Se_DD_End.uasset new file mode 100644 index 0000000..816cbd7 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dcdf04cfd1d4eed728ea42d443c3be71ecd4194a0e5165fe138e61977ca6114 +size 117594 diff --git a/Content/DaDian/Sequence/Se_DD_End260.uasset b/Content/DaDian/Sequence/Se_DD_End260.uasset new file mode 100644 index 0000000..8351728 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_End260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc997d219f29eb2e30823a1b14b60ed098d64a3bd62f6af7f4ba360b6979af5 +size 1493 diff --git a/Content/DaDian/Sequence/Se_DD_End280.uasset b/Content/DaDian/Sequence/Se_DD_End280.uasset new file mode 100644 index 0000000..c64c5a5 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_End280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e12d8ec839d6246b62da90f50c9c1997e8aa9bcc365021f212e9d99b4f184b3 +size 1493 diff --git a/Content/DaDian/Sequence/Se_DD_Standby.uasset b/Content/DaDian/Sequence/Se_DD_Standby.uasset new file mode 100644 index 0000000..d7a33ab --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_Standby.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e190fede59090e0a801207001f22e6d306ab6416cea6e57741d02911e9bdfb52 +size 79484 diff --git a/Content/DaDian/Sequence/Se_DD_Start.uasset b/Content/DaDian/Sequence/Se_DD_Start.uasset new file mode 100644 index 0000000..dd9ce26 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_Start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f730a39079e87a4ff11745aebda82cdb3a303297080e95af604a1b1b5a55afb +size 129569 diff --git a/Content/DaDian/Sequence/Se_DD_Start260.uasset b/Content/DaDian/Sequence/Se_DD_Start260.uasset new file mode 100644 index 0000000..73368c8 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_Start260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ab2d010f0bf9fe5bd0bcda170ddea50caf4569c634ba255468c5b83dededbb7 +size 1509 diff --git a/Content/DaDian/Sequence/Se_DD_Start280.uasset b/Content/DaDian/Sequence/Se_DD_Start280.uasset new file mode 100644 index 0000000..6803d53 --- /dev/null +++ b/Content/DaDian/Sequence/Se_DD_Start280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35566d8716d5f89ff17cb10e2a30589465bc0f46f74d9d28045f994356c15d73 +size 1509 diff --git a/Content/DaDian/Sequence/Seq/Se_DD_EndCopy.uasset b/Content/DaDian/Sequence/Seq/Se_DD_EndCopy.uasset new file mode 100644 index 0000000..016a510 --- /dev/null +++ b/Content/DaDian/Sequence/Seq/Se_DD_EndCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6c2a76e1603d6e176f79e880c631e92c52fa76dd8c2096d92f399cf1d3a3432 +size 149258 diff --git a/Content/DaDian/Sequence/Seq/Se_DD_StartCopy.uasset b/Content/DaDian/Sequence/Seq/Se_DD_StartCopy.uasset new file mode 100644 index 0000000..620b794 --- /dev/null +++ b/Content/DaDian/Sequence/Seq/Se_DD_StartCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94eafa8655b7d643018084ae9927764e1c5f55821065399bc156530efd3127c2 +size 156300 diff --git a/Content/DaDian/dadainjinjing.umap b/Content/DaDian/dadainjinjing.umap new file mode 100644 index 0000000..ca6969e --- /dev/null +++ b/Content/DaDian/dadainjinjing.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cff446fc80b180ce36f7fd1610b6e8d0f5bd07623d64e1c8e05f937276567b1 +size 92925 diff --git a/Content/Dark_Castle/Materials/M_wall_2_top_low1.uasset b/Content/Dark_Castle/Materials/M_wall_2_top_low1.uasset new file mode 100644 index 0000000..ca4f656 --- /dev/null +++ b/Content/Dark_Castle/Materials/M_wall_2_top_low1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:111c7b3af803a8a59d718f990a2c37480f376e8a81fa92c80439d76c0d498f14 +size 15612 diff --git a/Content/Dark_Castle/Meshes/S_wall_2_top_low.uasset b/Content/Dark_Castle/Meshes/S_wall_2_top_low.uasset new file mode 100644 index 0000000..0b0b28b --- /dev/null +++ b/Content/Dark_Castle/Meshes/S_wall_2_top_low.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33222503196ca62c8005c5e74c22d2b163d840929f21ed7cfd2ad2255d9f6f79 +size 61651 diff --git a/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_BaseColor.uasset b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_BaseColor.uasset new file mode 100644 index 0000000..d5cf9b6 --- /dev/null +++ b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fd46d24a990d57469916f3a8d3d0f8ffb8a59b8e4cb74fba66cf0b4649c7659 +size 1436311 diff --git a/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_Normal.uasset b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_Normal.uasset new file mode 100644 index 0000000..1a98041 --- /dev/null +++ b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edd445fab1e27dfa9350960f8674d97301d2baf904273d4c869ab0563e58d55a +size 1914366 diff --git a/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_OcclusionRoughnessMetallic.uasset b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..34af79d --- /dev/null +++ b/Content/Dark_Castle/Textures/T_wall_2_top_low_wall_2_top_low_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b7c31b06f94399316af24df276e6b8e9ff3789d353cefb436842c9f56d8b41 +size 1661360 diff --git a/Content/DepthsBelow/Particles/Fog/Textures/T_Perlin_Noise_M.uasset b/Content/DepthsBelow/Particles/Fog/Textures/T_Perlin_Noise_M.uasset new file mode 100644 index 0000000..2ed15f9 --- /dev/null +++ b/Content/DepthsBelow/Particles/Fog/Textures/T_Perlin_Noise_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:585f8002641708f8e4cdf9dd7e21837b73681c0e8f343c177b9eeb9a469802c7 +size 461923 diff --git a/Content/DiXiaHe/Materials/qintongmen.uasset b/Content/DiXiaHe/Materials/qintongmen.uasset new file mode 100644 index 0000000..9201eef --- /dev/null +++ b/Content/DiXiaHe/Materials/qintongmen.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe6e1fa41e852759cdf90d7aeb8c0412138ba8719449ad9885912817b546e8e +size 28811 diff --git a/Content/DiXiaHe/Materials/qintongmen_Inst2.uasset b/Content/DiXiaHe/Materials/qintongmen_Inst2.uasset new file mode 100644 index 0000000..e0466fc --- /dev/null +++ b/Content/DiXiaHe/Materials/qintongmen_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7ae18e9c1f2d5eb9470ddcb00bf0a45984f19ddfa50428959f9915390621fc2 +size 15615 diff --git a/Content/DiXiaHe/Meshes/qintonmen/pastedpolySurface114_2.uasset b/Content/DiXiaHe/Meshes/qintonmen/pastedpolySurface114_2.uasset new file mode 100644 index 0000000..e7601a6 --- /dev/null +++ b/Content/DiXiaHe/Meshes/qintonmen/pastedpolySurface114_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e2efedde9355aec04e7676442e8148325e0940bd47c4ed607f55529b16c6ca +size 12147821 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Embers.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Embers.uasset new file mode 100644 index 0000000..f8be665 --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Embers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6539c886b0427a81be8df8b42d4b5af7bc54eef7c8baa50474a4db8b705f4d13 +size 166951 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Flames.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Flames.uasset new file mode 100644 index 0000000..37273be --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Flames.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ffd3cb1aa9266ababda05c448f1890a8bdf80d558f2465aeaa05e631208ef42 +size 226216 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Haze.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Haze.uasset new file mode 100644 index 0000000..c082013 --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Haze.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8441a21b88a6f544c7dca60d7e4f85cf359e02b29cd88691371a284af236e616 +size 176060 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Burn.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Burn.uasset new file mode 100644 index 0000000..ffb302d --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Burn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d65fc5894ee143dc50d514c7ffc0bd7fe2462d89486baada95d5d79ee645dc23 +size 174051 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Embers.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Embers.uasset new file mode 100644 index 0000000..1ca425b --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Embers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daa08830b38e909b809eb1e4f03efb92f905028a747c15202ac72e36d978df88 +size 126270 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Fire.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Fire.uasset new file mode 100644 index 0000000..cc6e880 --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5ad4c4d608d8af2d5ff73067f1a0967998b673efc5a7f52716f1151cb304e0e +size 137044 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Haze.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Haze.uasset new file mode 100644 index 0000000..5b3134a --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Scorch_Haze.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e3dd13c456c0ccf755f4dc1418f4676c602f35b449f51c9acc7f50c2140cd84 +size 125517 diff --git a/Content/DragonFlameFX/FX/Emitters/NE_Smoke.uasset b/Content/DragonFlameFX/FX/Emitters/NE_Smoke.uasset new file mode 100644 index 0000000..b71e082 --- /dev/null +++ b/Content/DragonFlameFX/FX/Emitters/NE_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aea4176536aa931d3fadd200558a25ceaf834744c8d962c17ce37c2abe72463 +size 205579 diff --git a/Content/DragonFlameFX/FX/NS_DragonFlame_Fire.uasset b/Content/DragonFlameFX/FX/NS_DragonFlame_Fire.uasset new file mode 100644 index 0000000..b51574f --- /dev/null +++ b/Content/DragonFlameFX/FX/NS_DragonFlame_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84b1817001a21c7c08f462588609d94e38556e31e8cd2fb61613a4e312ff275 +size 8982560 diff --git a/Content/DragonFlameFX/Materials/MI_Fire_01.uasset b/Content/DragonFlameFX/Materials/MI_Fire_01.uasset new file mode 100644 index 0000000..1b0f786 --- /dev/null +++ b/Content/DragonFlameFX/Materials/MI_Fire_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c080bc78155c3b5bfaec1a8d028b57e43ef04a336dd7c640d0ec4d4033d8c71c +size 77911 diff --git a/Content/DragonFlameFX/Materials/M_Embers.uasset b/Content/DragonFlameFX/Materials/M_Embers.uasset new file mode 100644 index 0000000..0ea155a --- /dev/null +++ b/Content/DragonFlameFX/Materials/M_Embers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb39b6af4fa65ebf8f36b1a7a57ae6174c3fa0b1cef5e655ee11e63ae22e030c +size 83891 diff --git a/Content/DragonFlameFX/Materials/M_Fire.uasset b/Content/DragonFlameFX/Materials/M_Fire.uasset new file mode 100644 index 0000000..0955159 --- /dev/null +++ b/Content/DragonFlameFX/Materials/M_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1154c3f151da4b9fdff3d69850b89ad54e666107125adb2148ae32ab43592b7e +size 88045 diff --git a/Content/DragonFlameFX/Materials/M_Haze.uasset b/Content/DragonFlameFX/Materials/M_Haze.uasset new file mode 100644 index 0000000..cd9dbf7 --- /dev/null +++ b/Content/DragonFlameFX/Materials/M_Haze.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b66393ad79ffe0f7d3265bf69b20324d0ad96930b33a913fb0bda2fc5322f7f9 +size 78690 diff --git a/Content/DragonFlameFX/Materials/M_Scorch.uasset b/Content/DragonFlameFX/Materials/M_Scorch.uasset new file mode 100644 index 0000000..4c5a06f --- /dev/null +++ b/Content/DragonFlameFX/Materials/M_Scorch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58c6032d0888d751bf017325c69403a74d0d6552c4a59a7db01dc6242a35f7dc +size 85191 diff --git a/Content/DragonFlameFX/Materials/M_Smoke.uasset b/Content/DragonFlameFX/Materials/M_Smoke.uasset new file mode 100644 index 0000000..53404b8 --- /dev/null +++ b/Content/DragonFlameFX/Materials/M_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb1e6f4ba9850fe292fea09bf9c03902a146a1aae3be845923afa92e19d55d31 +size 86035 diff --git a/Content/DragonFlameFX/Textures/T_CircleSoftest.uasset b/Content/DragonFlameFX/Textures/T_CircleSoftest.uasset new file mode 100644 index 0000000..629960b --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_CircleSoftest.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:651de94a6c7f0f00b4c9d4601a365fa8f4154f7ba2a0fb0bf22ceb92d3824698 +size 124494 diff --git a/Content/DragonFlameFX/Textures/T_Fire_01.uasset b/Content/DragonFlameFX/Textures/T_Fire_01.uasset new file mode 100644 index 0000000..b63c76c --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_Fire_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6acb78c65c7d9c00ae0103ab17c33e9cc2cdc5c8f52d2f09150f7008cfb6be29 +size 606678 diff --git a/Content/DragonFlameFX/Textures/T_HeatHaze_Normal.uasset b/Content/DragonFlameFX/Textures/T_HeatHaze_Normal.uasset new file mode 100644 index 0000000..e7602fd --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_HeatHaze_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d665d76d981a0aaf593d235ffaf5e1dd31948b02e2b1b777fa570b69c726af8 +size 2771380 diff --git a/Content/DragonFlameFX/Textures/T_Noise.uasset b/Content/DragonFlameFX/Textures/T_Noise.uasset new file mode 100644 index 0000000..9311592 --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_Noise.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a182aec9151f03bf6ec5bec89c684c204ee0af4b918881f12a3491b0c436deba +size 2281690 diff --git a/Content/DragonFlameFX/Textures/T_ScorchBurn.uasset b/Content/DragonFlameFX/Textures/T_ScorchBurn.uasset new file mode 100644 index 0000000..428470c --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_ScorchBurn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7f7500dd9126d0daf622972b830d3fb8d9fe2cb339bd8b929de7487d5cc8168 +size 1405760 diff --git a/Content/DragonFlameFX/Textures/T_ScorchBurn_Normal.uasset b/Content/DragonFlameFX/Textures/T_ScorchBurn_Normal.uasset new file mode 100644 index 0000000..481bacc --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_ScorchBurn_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5063310340c77f2ad42e04bb3683d6ba53f74f3b233cd74dd2cf220e0a796ca +size 2392808 diff --git a/Content/DragonFlameFX/Textures/T_Smoke_01.uasset b/Content/DragonFlameFX/Textures/T_Smoke_01.uasset new file mode 100644 index 0000000..4d3caca --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_Smoke_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b41a12954248d1a9814834e6ffbb9b5cbba2caadd65914a993ac4908060cf5ba +size 940581 diff --git a/Content/DragonFlameFX/Textures/T_Smoke_01_Normal.uasset b/Content/DragonFlameFX/Textures/T_Smoke_01_Normal.uasset new file mode 100644 index 0000000..c3aa04f --- /dev/null +++ b/Content/DragonFlameFX/Textures/T_Smoke_01_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7622bea033f0918cd503b84574bbdb5e4539c35784ea000e677112289b630d7d +size 951132 diff --git a/Content/Effect/1/Eff_Noise_05.uasset b/Content/Effect/1/Eff_Noise_05.uasset new file mode 100644 index 0000000..fc6448d --- /dev/null +++ b/Content/Effect/1/Eff_Noise_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:431e1a772d7da3f4fff54d35370ac9ecfa1011ce95b8298cdbbdc696b571b36f +size 117093 diff --git a/Content/Effect/1/Ns_1Kaimen_01Chuangsong.uasset b/Content/Effect/1/Ns_1Kaimen_01Chuangsong.uasset new file mode 100644 index 0000000..0d0435a --- /dev/null +++ b/Content/Effect/1/Ns_1Kaimen_01Chuangsong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fbd1a4ef0ec525895a26e4efcb3fbc97394d34a63954632cb014588244c5b98 +size 3323181 diff --git a/Content/Effect/1/TEX_waterwave_10.uasset b/Content/Effect/1/TEX_waterwave_10.uasset new file mode 100644 index 0000000..c3609b5 --- /dev/null +++ b/Content/Effect/1/TEX_waterwave_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ba5224d33d370406274f51f5b9c647f4dea5f1f039cd082e06b0d011c5fadd3 +size 65881 diff --git a/Content/Effect/1/Tex_Mask32.uasset b/Content/Effect/1/Tex_Mask32.uasset new file mode 100644 index 0000000..45df867 --- /dev/null +++ b/Content/Effect/1/Tex_Mask32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df35f3f706d6cf60eb0f24d70e14bef52f34f4320b412b8cf9688cea09953280 +size 22679 diff --git a/Content/Effect/1/Tex_Pattern01B.uasset b/Content/Effect/1/Tex_Pattern01B.uasset new file mode 100644 index 0000000..5010c4e --- /dev/null +++ b/Content/Effect/1/Tex_Pattern01B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12fe0b2647f9ebb406332c4f40a58e8ec2a2f0bc99392f1b7bebde18e841ee3d +size 62580 diff --git a/Content/Effect/1/Tex_Pattern54B.uasset b/Content/Effect/1/Tex_Pattern54B.uasset new file mode 100644 index 0000000..7569c14 --- /dev/null +++ b/Content/Effect/1/Tex_Pattern54B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:109f317a52373ce74c5679eb323f9b6d905f21753299fd64ff7a9f07e2a5ded4 +size 106517 diff --git a/Content/Effect/1/Tex_Pattern63.uasset b/Content/Effect/1/Tex_Pattern63.uasset new file mode 100644 index 0000000..0d6d282 --- /dev/null +++ b/Content/Effect/1/Tex_Pattern63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb6af2bcb9b702d5654475d9463ef70737622fa2185869cf2e509a193fc9127b +size 49986 diff --git a/Content/Effect/1/Tile_153_tex.uasset b/Content/Effect/1/Tile_153_tex.uasset new file mode 100644 index 0000000..b81dd40 --- /dev/null +++ b/Content/Effect/1/Tile_153_tex.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9bf246f50781bdc9ddc0782f3ddffbcf601dd356db099a3cc2366c6e2db3a77 +size 354623 diff --git a/Content/Effect/1/dbb.uasset b/Content/Effect/1/dbb.uasset new file mode 100644 index 0000000..766adc3 --- /dev/null +++ b/Content/Effect/1/dbb.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb674704209ad5ccd2e39d2e176408399f25be7a893c0765052528eb3dff8155 +size 29501 diff --git a/Content/Effect/1/dbb2.uasset b/Content/Effect/1/dbb2.uasset new file mode 100644 index 0000000..0e06b49 --- /dev/null +++ b/Content/Effect/1/dbb2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c73e34f2a56250c2809f42c88104b42a0d47b3171d80e88bf9a3b3f1a159835 +size 92728 diff --git a/Content/Effect/2/Env_Fx_Water_Dust.uasset b/Content/Effect/2/Env_Fx_Water_Dust.uasset new file mode 100644 index 0000000..3c96ebf --- /dev/null +++ b/Content/Effect/2/Env_Fx_Water_Dust.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28be1be659540d2ab2731ff27304bc95439170ef305e7af6ec181bb79e24c58c +size 14461 diff --git a/Content/Effect/2/Ns_QijuNear330_05Lvchuansongmen.uasset b/Content/Effect/2/Ns_QijuNear330_05Lvchuansongmen.uasset new file mode 100644 index 0000000..f211903 --- /dev/null +++ b/Content/Effect/2/Ns_QijuNear330_05Lvchuansongmen.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15d834e4d255ff2586cea0adc03f89c1d0cd67e493f5f5488b2438035d0f7ab3 +size 921918 diff --git a/Content/Effect/3/MI_AdditiveDe_v01_02.uasset b/Content/Effect/3/MI_AdditiveDe_v01_02.uasset new file mode 100644 index 0000000..8839bce --- /dev/null +++ b/Content/Effect/3/MI_AdditiveDe_v01_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c5d01a761e2c8c52703485163f05eecbbe1bc09b696e109063a7cbe0334d68 +size 11199 diff --git a/Content/Effect/3/Ns_jixielong_260_08Guangqiu.uasset b/Content/Effect/3/Ns_jixielong_260_08Guangqiu.uasset new file mode 100644 index 0000000..68c8e68 --- /dev/null +++ b/Content/Effect/3/Ns_jixielong_260_08Guangqiu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f801be9e61dcea28084dd672047a17bc85136c760747c8f3d1b2d2a53bc1cc27 +size 5432937 diff --git a/Content/Effect/3/trail_z_0222.uasset b/Content/Effect/3/trail_z_0222.uasset new file mode 100644 index 0000000..28508e1 --- /dev/null +++ b/Content/Effect/3/trail_z_0222.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38e5bf54546a5fb98c119921e4f2fa207df6aaa4a353e342e122a9011aeac048 +size 19395 diff --git a/Content/Effect/4/MI_Mesh_v01_08.uasset b/Content/Effect/4/MI_Mesh_v01_08.uasset new file mode 100644 index 0000000..62c7e48 --- /dev/null +++ b/Content/Effect/4/MI_Mesh_v01_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96494b91e59a7a4c6307535d244109f64f67e17863f61a788644cba0eec748bc +size 18503 diff --git a/Content/Effect/4/M_MagicCircle_v01.uasset b/Content/Effect/4/M_MagicCircle_v01.uasset new file mode 100644 index 0000000..b0caebc --- /dev/null +++ b/Content/Effect/4/M_MagicCircle_v01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3cf3f8e2c5667d31c59a94cb4d7e0cc270db360b3d3517b5194fc45da90d832 +size 34667 diff --git a/Content/Effect/4/M_MagicCircle_v01_Inst.uasset b/Content/Effect/4/M_MagicCircle_v01_Inst.uasset new file mode 100644 index 0000000..be14354 --- /dev/null +++ b/Content/Effect/4/M_MagicCircle_v01_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:708fbc56fab6c1e319e43bb5f52daead65a89f2b0adc9e128fcf526f72064ac0 +size 13305 diff --git a/Content/Effect/4/NewMaterial.uasset b/Content/Effect/4/NewMaterial.uasset new file mode 100644 index 0000000..14274c6 --- /dev/null +++ b/Content/Effect/4/NewMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6b0cdfa821d1f1adea42fa847da0f95b77f94f0b42331fcfd2648068663f611 +size 13600 diff --git a/Content/Effect/4/Noise451.uasset b/Content/Effect/4/Noise451.uasset new file mode 100644 index 0000000..fccb918 --- /dev/null +++ b/Content/Effect/4/Noise451.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a37b73ef7b0a05378a5f310d8c1513b06384a1fb7242968c110b31df220101dc +size 213602 diff --git a/Content/Effect/4/Noise615.uasset b/Content/Effect/4/Noise615.uasset new file mode 100644 index 0000000..e40a3de --- /dev/null +++ b/Content/Effect/4/Noise615.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:269fe4e06c99d478a55b54b00e64208fe3438ce19baeb73dc6172bd28ae7b106 +size 98759 diff --git a/Content/Effect/4/Ns_dadainjin_01fuwenchuangsong.uasset b/Content/Effect/4/Ns_dadainjin_01fuwenchuangsong.uasset new file mode 100644 index 0000000..d654f97 --- /dev/null +++ b/Content/Effect/4/Ns_dadainjin_01fuwenchuangsong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02c92586346a59808a3c7fce9d7350820e900fb0064c0744cef37feeba66dc1b +size 6294610 diff --git a/Content/Effect/4/TU1.uasset b/Content/Effect/4/TU1.uasset new file mode 100644 index 0000000..2444be7 --- /dev/null +++ b/Content/Effect/4/TU1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d46159eee19eff6a2b2cb9f65220c77677dbf4208926c17e15a06f23b0c3123 +size 668229 diff --git a/Content/Effect/4/Tex_Trail03A.uasset b/Content/Effect/4/Tex_Trail03A.uasset new file mode 100644 index 0000000..7ce4138 --- /dev/null +++ b/Content/Effect/4/Tex_Trail03A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76bdc8a447cb92010cdbd33ce4e34d37de4230030a1f5a06d04aa629bfd9cab9 +size 55316 diff --git a/Content/Effect/4/YXDR.uasset b/Content/Effect/4/YXDR.uasset new file mode 100644 index 0000000..cc4c1ab --- /dev/null +++ b/Content/Effect/4/YXDR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46044f1f2578ecf10ad994711c2d3793bd27aeb10185d277bc49c36cb5f86470 +size 27398 diff --git a/Content/Effect/4/fx_a_fire_117.uasset b/Content/Effect/4/fx_a_fire_117.uasset new file mode 100644 index 0000000..4ee1464 --- /dev/null +++ b/Content/Effect/4/fx_a_fire_117.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:892c6917d8aa6e14bf1ec59250d64d97180addaf65948d0cc84d152925f827a1 +size 117447 diff --git a/Content/Effect/4/fx_f_aura_004_1-2.uasset b/Content/Effect/4/fx_f_aura_004_1-2.uasset new file mode 100644 index 0000000..7784c75 --- /dev/null +++ b/Content/Effect/4/fx_f_aura_004_1-2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1943eef7a6ca9e2cca18e783b99672484287cdbb517f2f2415af79b7f09708e +size 80624 diff --git a/Content/Effect/4/fx_k_auraline_21.uasset b/Content/Effect/4/fx_k_auraline_21.uasset new file mode 100644 index 0000000..e22994f --- /dev/null +++ b/Content/Effect/4/fx_k_auraline_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9846748736c8f885dc6bc2e947f1a1c9cf2ba9249f9a63139bbec15f42a28c4d +size 48544 diff --git a/Content/Effect/4/fx_m_wave_001.uasset b/Content/Effect/4/fx_m_wave_001.uasset new file mode 100644 index 0000000..7db5876 --- /dev/null +++ b/Content/Effect/4/fx_m_wave_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:102fc7abbad4b39dedca06b879dfbcf988807c99c8fd2abce492ca2013ceac58 +size 49988 diff --git a/Content/Effect/4/shxx.uasset b/Content/Effect/4/shxx.uasset new file mode 100644 index 0000000..a1ba62b --- /dev/null +++ b/Content/Effect/4/shxx.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b717a76c7057c0da7d50c5c7c3bb0bc1161d65df9eed55749655c739e8d1059f +size 30956 diff --git a/Content/Effect/4/ybb.uasset b/Content/Effect/4/ybb.uasset new file mode 100644 index 0000000..05b407c --- /dev/null +++ b/Content/Effect/4/ybb.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0f7fe411243f920ee63d2fd2f76157ae77fa980630956ed70edec1cf0fb0e2e +size 26260 diff --git a/Content/Effect/6/MI_Hongwang_Inst.uasset b/Content/Effect/6/MI_Hongwang_Inst.uasset new file mode 100644 index 0000000..5da62fc --- /dev/null +++ b/Content/Effect/6/MI_Hongwang_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:faf62be43fa19538a933a93bf9bd384c31bf45e44a5cec47921f73064dcd833c +size 11362 diff --git a/Content/Effect/6/M_Hongwang.uasset b/Content/Effect/6/M_Hongwang.uasset new file mode 100644 index 0000000..ac0370d --- /dev/null +++ b/Content/Effect/6/M_Hongwang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cccba8822028b38874e7bc41ddb7719d1f9e23f7ce3960c6d7642c9e1e3ae83d +size 29566 diff --git a/Content/Effect/6/Tex_Pattern105.uasset b/Content/Effect/6/Tex_Pattern105.uasset new file mode 100644 index 0000000..e3c9e32 --- /dev/null +++ b/Content/Effect/6/Tex_Pattern105.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c13e6db63b487cce856bc1f36f53541a94fa3c305bdc001af7c8566f00038d0a +size 744309 diff --git a/Content/Effect/6/Tex_Pattern25C.uasset b/Content/Effect/6/Tex_Pattern25C.uasset new file mode 100644 index 0000000..53ec6bc --- /dev/null +++ b/Content/Effect/6/Tex_Pattern25C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:935d05781c78aac64dee97b822c92402513a7885f54b6a68930f57b7118e864b +size 37176 diff --git a/Content/Effect/6/Tex_Pattern58.uasset b/Content/Effect/6/Tex_Pattern58.uasset new file mode 100644 index 0000000..e20d57e --- /dev/null +++ b/Content/Effect/6/Tex_Pattern58.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6224c39b164452111df7af18ba2ee6db1994b2220725bc264dcd65e8fb60469d +size 31798 diff --git a/Content/Effect/Coloso/Mesh/Material/MI/MI_AdditiveDe_v02_02.uasset b/Content/Effect/Coloso/Mesh/Material/MI/MI_AdditiveDe_v02_02.uasset new file mode 100644 index 0000000..03e0a3f --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/MI/MI_AdditiveDe_v02_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:048c7a688179c3220aab629ce447f91d5b3dc1e242e38d3f6185270b2a285bdd +size 9544 diff --git a/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_06.uasset b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_06.uasset new file mode 100644 index 0000000..bcb9ef1 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6821352ea65f4c42b94f335bbf17cddd3efa2c21bf06174b012aefcebb37240b +size 16510 diff --git a/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_07.uasset b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_07.uasset new file mode 100644 index 0000000..59b7ad5 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16162af9ded5ffad951ff126ec4dbd74e90297fbe2f00ba6a0d3145c53bf86fe +size 16339 diff --git a/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_08.uasset b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_08.uasset new file mode 100644 index 0000000..c5b1c81 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/MI/MI_Mesh_v01_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eafc48652947709c0c95b68f18e463903bef6750d9e3331bc803a1cb137c2f93 +size 16412 diff --git a/Content/Effect/Coloso/Mesh/Material/MI/M_AdditiveDe_v02_01.uasset b/Content/Effect/Coloso/Mesh/Material/MI/M_AdditiveDe_v02_01.uasset new file mode 100644 index 0000000..1e83dc4 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/MI/M_AdditiveDe_v02_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aed8b9322455681b0101981130cd32fd9595a1fc16fcaac593c4d203a0a8c7eb +size 9715 diff --git a/Content/Effect/Coloso/Mesh/Material/Master/M_AdditiveDe_v02.uasset b/Content/Effect/Coloso/Mesh/Material/Master/M_AdditiveDe_v02.uasset new file mode 100644 index 0000000..6e7e4c9 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/Master/M_AdditiveDe_v02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d85efec08d4284f2f039558dd18f5a0d4689abafdfb439300601cd358986dbb0 +size 17463 diff --git a/Content/Effect/Coloso/Mesh/Material/Master/M_MagicCircle_v01.uasset b/Content/Effect/Coloso/Mesh/Material/Master/M_MagicCircle_v01.uasset new file mode 100644 index 0000000..af5ad3a --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/Master/M_MagicCircle_v01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c869f8c1d607bec8f68334817c4872fbff71137aea4c789c46d49123170a2eec +size 34546 diff --git a/Content/Effect/Coloso/Mesh/Material/Master/M_Mesh_v01.uasset b/Content/Effect/Coloso/Mesh/Material/Master/M_Mesh_v01.uasset new file mode 100644 index 0000000..749cad7 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Material/Master/M_Mesh_v01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:745e6fd36ff51edeb4ce51c815f9938cd6fed27760cf6ebca86268cfe6e3ba1e +size 54679 diff --git a/Content/Effect/Coloso/Mesh/Mesh/Cylinder_02.uasset b/Content/Effect/Coloso/Mesh/Mesh/Cylinder_02.uasset new file mode 100644 index 0000000..db85fe5 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Mesh/Cylinder_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cbd245395e1c823a7082fb29c7a2386157b66f3fc336c8a3003e84f0d18322a +size 35665 diff --git a/Content/Effect/Coloso/Mesh/Mesh/Half_Sphere_03.uasset b/Content/Effect/Coloso/Mesh/Mesh/Half_Sphere_03.uasset new file mode 100644 index 0000000..98c3393 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Mesh/Half_Sphere_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22579da64c5561d88b04a674770618e7981203e6636706aee3e6b54134494ab5 +size 46756 diff --git a/Content/Effect/Coloso/Mesh/Texture/C_Teleport_Emis.uasset b/Content/Effect/Coloso/Mesh/Texture/C_Teleport_Emis.uasset new file mode 100644 index 0000000..b003167 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/C_Teleport_Emis.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1048b6be6993849f83acef4bd6d928509969b244bec61b927592935be6563b96 +size 443067 diff --git a/Content/Effect/Coloso/Mesh/Texture/Eff_Wave01_01_ClampV_SG_Tex.uasset b/Content/Effect/Coloso/Mesh/Texture/Eff_Wave01_01_ClampV_SG_Tex.uasset new file mode 100644 index 0000000..45a99bf --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/Eff_Wave01_01_ClampV_SG_Tex.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dadb0fd6ae00c037742f4fc6f47d6f9eb7765a934a168ade3df2e7a9166a6c3 +size 104731 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_Beam_Gradient_02.uasset b/Content/Effect/Coloso/Mesh/Texture/T_Beam_Gradient_02.uasset new file mode 100644 index 0000000..5e2ffc5 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_Beam_Gradient_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a03768c04607ee6f02beebb43310b4af1e04356fffda6ff3ff0b5ce7b5de6f6 +size 6039 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_CloudScape_08_Details_N.uasset b/Content/Effect/Coloso/Mesh/Texture/T_CloudScape_08_Details_N.uasset new file mode 100644 index 0000000..abe42ca --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_CloudScape_08_Details_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beefc90d1b611779a326fc6ccb1b2df5dcd0b31ea60add7e778304712072fa6d +size 345483 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_Cloud_Wisp_Chromatic_Tile.uasset b/Content/Effect/Coloso/Mesh/Texture/T_Cloud_Wisp_Chromatic_Tile.uasset new file mode 100644 index 0000000..88c2058 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_Cloud_Wisp_Chromatic_Tile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41c5d22b8c437f49b3554edb0ad2df39b265ea0efe1e5ad9a548a9e373736336 +size 1058934 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_Soft_Energy_Trail_CL.uasset b/Content/Effect/Coloso/Mesh/Texture/T_Soft_Energy_Trail_CL.uasset new file mode 100644 index 0000000..e833afb --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_Soft_Energy_Trail_CL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01036eeb400597b7561ce7bf7c265c2dc0094bf93921e8ec855030d331bc50d0 +size 404950 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_StretchSpark_01.uasset b/Content/Effect/Coloso/Mesh/Texture/T_StretchSpark_01.uasset new file mode 100644 index 0000000..48e3f89 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_StretchSpark_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f74c008122667d5d76c4ef08fb03da203f4d6065178d76c8e3d0d9b179dfcea +size 35648 diff --git a/Content/Effect/Coloso/Mesh/Texture/T_Voronoi_Cells_02_NRM.uasset b/Content/Effect/Coloso/Mesh/Texture/T_Voronoi_Cells_02_NRM.uasset new file mode 100644 index 0000000..5922bd9 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/T_Voronoi_Cells_02_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09f9215bbd3573e7680c144fb650b228bc0d6d1e68f10cec5be478ac862dbd64 +size 1207988 diff --git a/Content/Effect/Coloso/Mesh/Texture/Tex_Elec17.uasset b/Content/Effect/Coloso/Mesh/Texture/Tex_Elec17.uasset new file mode 100644 index 0000000..8d5211c --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/Tex_Elec17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52c353179e279eb9321a5109697127bdc5c80ab584beb75971e5fc7f0e769fc3 +size 581956 diff --git a/Content/Effect/Coloso/Mesh/Texture/falloff_circle.uasset b/Content/Effect/Coloso/Mesh/Texture/falloff_circle.uasset new file mode 100644 index 0000000..614dfa8 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/falloff_circle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:716d9b9756cf13761012955f7d80d51370f3f92cc420a26b5bcd5367986672d6 +size 207240 diff --git a/Content/Effect/Coloso/Mesh/Texture/ramp_01.uasset b/Content/Effect/Coloso/Mesh/Texture/ramp_01.uasset new file mode 100644 index 0000000..6674b89 --- /dev/null +++ b/Content/Effect/Coloso/Mesh/Texture/ramp_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5474b39009062b87db4dff60b0e240e29b41326749713faa96c34b189804627d +size 28764 diff --git a/Content/Effect/Coloso/Sprite/Material/MI/MI_AdditiveDe_v02_02.uasset b/Content/Effect/Coloso/Sprite/Material/MI/MI_AdditiveDe_v02_02.uasset new file mode 100644 index 0000000..9ce5437 --- /dev/null +++ b/Content/Effect/Coloso/Sprite/Material/MI/MI_AdditiveDe_v02_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:944a5f3143c1b6ddffbf2717c5baa12f22bc8dbe606820f31cd8a89c4ca17286 +size 9605 diff --git a/Content/Effect/Coloso/Sprite/Material/Master/M_AdditiveDe_v01.uasset b/Content/Effect/Coloso/Sprite/Material/Master/M_AdditiveDe_v01.uasset new file mode 100644 index 0000000..bade030 --- /dev/null +++ b/Content/Effect/Coloso/Sprite/Material/Master/M_AdditiveDe_v01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b51e0dc4959d8ad1b78e3a8ba2e35d08bf07ed21020d672d9d6b955be352816 +size 16377 diff --git a/Content/Effect/Coloso/Sprite/Texture/T_StretchSpark_01.uasset b/Content/Effect/Coloso/Sprite/Texture/T_StretchSpark_01.uasset new file mode 100644 index 0000000..f797276 --- /dev/null +++ b/Content/Effect/Coloso/Sprite/Texture/T_StretchSpark_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb5e2809525e7eceb03e46950bbc89f4fb54fdeb47bb7384becbbc1b332d4eba +size 35652 diff --git a/Content/Effect/Coloso/Trail/Material/Master/M_AdditiveDe_v01.uasset b/Content/Effect/Coloso/Trail/Material/Master/M_AdditiveDe_v01.uasset new file mode 100644 index 0000000..801d39d --- /dev/null +++ b/Content/Effect/Coloso/Trail/Material/Master/M_AdditiveDe_v01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f661b8d9cae519a31d0a9cb30cd72077221ec51f09dbabe5b49e8fbef73415c +size 19629 diff --git a/Content/Effect/Coloso/Trail/Texture/T_Lensflare_02.uasset b/Content/Effect/Coloso/Trail/Texture/T_Lensflare_02.uasset new file mode 100644 index 0000000..0c403d4 --- /dev/null +++ b/Content/Effect/Coloso/Trail/Texture/T_Lensflare_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45199e1b6145fa238e20accc945518b92e8770f07adb11bb5a3c518f7826f79a +size 75634 diff --git a/Content/Effect/Coloso/Trail/Texture/T_SmokeTile_N.uasset b/Content/Effect/Coloso/Trail/Texture/T_SmokeTile_N.uasset new file mode 100644 index 0000000..2a37de9 --- /dev/null +++ b/Content/Effect/Coloso/Trail/Texture/T_SmokeTile_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c85aab9d79cd832082a0bf97c374f99ad310f659da93295d6c9129080e5968f +size 276180 diff --git a/Content/Effect/Coloso/Trail/Texture/T_StretchSpark_01.uasset b/Content/Effect/Coloso/Trail/Texture/T_StretchSpark_01.uasset new file mode 100644 index 0000000..4cb7eed --- /dev/null +++ b/Content/Effect/Coloso/Trail/Texture/T_StretchSpark_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e38556b4f9f0e67f85174b4cd12b74998101e33b9ecad18434b0b886b2a915e1 +size 35650 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Function/MF_Texcoord.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Function/MF_Texcoord.uasset new file mode 100644 index 0000000..372ff32 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Function/MF_Texcoord.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fff4db24cfd52151b88239d96ec80bb9856f47934b4ef564b8b547cc285dc03 +size 89979 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Basic_Tile_Inst_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Basic_Tile_Inst_2.uasset new file mode 100644 index 0000000..12c10f6 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Basic_Tile_Inst_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ae8a16c5956a1fb3f2c8236102484e80679c97e2082e0eebb1719603da50a87 +size 98537 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_11.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_11.uasset new file mode 100644 index 0000000..cdfcfde --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5655c08f56f738773349e2d168dcca9f338c2908952be9a75f26b0fa854fd4e4 +size 80100 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_14.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_14.uasset new file mode 100644 index 0000000..a5ee6a8 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3c563f2b1ee7f9ef0128e16febc698328c58dd1995cf1a0d84e1a6c387a7391 +size 78990 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_4.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_4.uasset new file mode 100644 index 0000000..9777948 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:211c9f6bc91c4a15591697383e1bc1e39eb2030c1a9cc6eb02cdeac5aaf6b0a1 +size 78442 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_6.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_6.uasset new file mode 100644 index 0000000..250bd3f --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Colorful_Inst_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8460a6d1184a412c798987958b26e39cf9b2f6303f726038243c827935b5800 +size 13571 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Core_Inst_6.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Core_Inst_6.uasset new file mode 100644 index 0000000..c38aa6a --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Core_Inst_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fe66c0a400e6e7be98c4eccc8a00d8ddd9fa059f17f771565d78f541cbb5b2 +size 77870 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_1.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_1.uasset new file mode 100644 index 0000000..433f96a --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f9fa248e2185a4dbdafa869587aada63349a4cee907b9d9022161580bed4c13 +size 99611 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_13.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_13.uasset new file mode 100644 index 0000000..26d3c58 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:794ad4f43d4ee709945ea8574ebd3cdc4bdcc326e1669810c0413d1123f0bba9 +size 11972 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_15.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_15.uasset new file mode 100644 index 0000000..ba87c71 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5715b0cdc6c8100a7664ca92f21112c5b9a3040d2b37e1df0cfd44bb0eb1baa +size 12051 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_16.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_16.uasset new file mode 100644 index 0000000..76b9c2e --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56798d6f061272d11c2ca723107607ea5ca16de6777f549be9f379f152daf2c6 +size 11866 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_17.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_17.uasset new file mode 100644 index 0000000..d05bf40 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57e8c8f470e6ba0ab72fafe30ea85f7bf5d64e4737356bf99753ca7132d41580 +size 11695 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_2.uasset new file mode 100644 index 0000000..cf0c5a2 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cab1ef020e3b1d0204aede9a34286803b2c8380fbf9c764eaf4bc17821c7bb3a +size 79345 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_3.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_3.uasset new file mode 100644 index 0000000..fb5fe88 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Curve_Inst_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:232ade9ff952126a8d5aa0540ed7c443d8d59becb6d703da0a980ea395ebd3fc +size 82320 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_3.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_3.uasset new file mode 100644 index 0000000..f210812 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cad7be3b9bfee405009d620749a4f5b72c4a9cdfc35fa846946bcf5cecfbd0ef +size 73593 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_5.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_5.uasset new file mode 100644 index 0000000..539aaa2 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:479fd4a198335c341b38acb6054d3e33685c703d12964c1de6739a8b86d5d241 +size 71159 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_7.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_7.uasset new file mode 100644 index 0000000..69c1e46 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Flare_Inst_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cb4146e0fbf6d4660be1bf8f8df5cae835d961cf9f2e161aceda781ab2c2fa0 +size 74085 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_2.uasset new file mode 100644 index 0000000..28b8379 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77464b1667ef9205ae9323a704a31472a7f5dbf2090766ee68ec0147243eff68 +size 73518 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_8.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_8.uasset new file mode 100644 index 0000000..2993f78 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Instance_Materials/MI_Ring_Inst_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5ce2dfe3275562a6f01f44d32b9e1e403ef466f00de3ce8d06c43cdec1b281 +size 76078 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Basic_Tile.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Basic_Tile.uasset new file mode 100644 index 0000000..16febf9 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Basic_Tile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0817531cf265c09c652d8b225ac34c1bb3792a046566c72cc1549d2ebdc8f6eb +size 98466 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Colorful.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Colorful.uasset new file mode 100644 index 0000000..7987ad2 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Colorful.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7502ece5b4d8e451d72947448f3ee34a08b1d49127578c0ab3392b03b322b987 +size 52349 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Core.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Core.uasset new file mode 100644 index 0000000..9c86a43 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Core.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2528082fb46da49562e36b80b47949b19847706b40f215d3aa20d677ba826491 +size 113023 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve.uasset new file mode 100644 index 0000000..933e0cd --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a23fe7c84f04aab9ac41422ae55b4f5709bc0a98021b0578ad1294b822b1dcbc +size 149135 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve1.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve1.uasset new file mode 100644 index 0000000..71036ae --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Curve1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4170db5c6f6330b436d5d8f92e93419d5bd094d31a626f97f7636e752577301c +size 53652 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Flare.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Flare.uasset new file mode 100644 index 0000000..ed81ae1 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Flare.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43ad5b6cc64f5e34a4e36508b69c5789a3129851b04ae024833f2f19546928e0 +size 29344 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Ring.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Ring.uasset new file mode 100644 index 0000000..ca857a2 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Materials/Main_Materials/M_Ring.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4562a33ec09893c8597c9dd4a2a99ce7d248bb945ebed3d407d9b9f9fd452364 +size 93090 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_10.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_10.uasset new file mode 100644 index 0000000..5891f58 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e287d9404521f8f8c7fcadfd1620902b3b9f11b56559f45a7c325b8aa4c6bd45 +size 178777 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_15.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_15.uasset new file mode 100644 index 0000000..66c2e2b --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Meshes/SM_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c477b3ea410ce9de2db95f10602a0a9fd240ba2fc10325cf756a2265109861fa +size 184656 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_1.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_1.uasset new file mode 100644 index 0000000..768992d --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58c7a5c12d3dc4d82bea888cf08eddb71e3a0a0d10e0af65bf1c828c49006709 +size 4055 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_2.uasset new file mode 100644 index 0000000..462c1f0 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c38285509f54c78c393d25f9590c2eecfb5456924d1a4cc3ca67dec0ab6f91e6 +size 4055 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_3.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_3.uasset new file mode 100644 index 0000000..11e453d --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65b2df0fba9e48ed023fdb282a3c3fea726db86dc399c82b0ba259c9d67bb5a5 +size 4055 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_4.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_4.uasset new file mode 100644 index 0000000..ca2d9b0 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1511e138fd0ea73ec395c9fdd3382e8818d0621f481bc3d1623255ec3fec18b +size 4055 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_5.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_5.uasset new file mode 100644 index 0000000..79c9481 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1189254478e357a52b4af0e96ba954284ee16df7c7a039a201d2f752c31621ed +size 4055 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_6.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_6.uasset new file mode 100644 index 0000000..8843c21 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:921106777a96ad094a175c9a090e284c3efbdae00de80788f26fb75613dba5b4 +size 4812 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_7.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_7.uasset new file mode 100644 index 0000000..ed5baf6 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Curve_Color_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:717159262906e3ee6eb721208897905aede01de8341a1a8beeffd6dd2dcc6d7e +size 4789 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask.uasset new file mode 100644 index 0000000..a28343f --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e4e6fe026083cbeba9c28d7fe6a29bf6fdfcb1f6c8106caddad49326fab14ce +size 4274 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_2_Lightning.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_2_Lightning.uasset new file mode 100644 index 0000000..2971ca5 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_2_Lightning.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e828c52f44b0dacfaf96aacdd05093127a8e207cfe5470c3f1e197b18a03b0b2 +size 4322 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Curve.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Curve.uasset new file mode 100644 index 0000000..af82d26 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Curve.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0081bff4ca7c278701e039de178ff4dddb5ff3e5ea0522e9c1103a93b9e3af61 +size 4044 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Lightning.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Lightning.uasset new file mode 100644 index 0000000..31cfc43 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Mask_Lightning.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5687588ed2e5c8174c0526cc0238b155fa4618e3cec722d251039b7199dc996a +size 4983 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset.uasset new file mode 100644 index 0000000..63d141c --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c7efbab73b245773e47b22c79d0dcb7dbd3b44506346d7136fe9aaadd02864f +size 4112 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset_Curve.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset_Curve.uasset new file mode 100644 index 0000000..57066ee --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/Offset_Curve.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bf0a6dcfa5be098035e89852eece46b5a59f5588f607d8dd84e4b8c1c2b9d86 +size 4054 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Basic_Tile.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Basic_Tile.uasset new file mode 100644 index 0000000..5c9d80e --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Basic_Tile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d16e889c7ac0486b86c82fe70ad4b2c71e5e2655687cc911e90d4772440bc4b8 +size 2179189 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Burst018.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Burst018.uasset new file mode 100644 index 0000000..b1e8a08 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Burst018.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:069f4f62f98b28dc86fe9e90015e193f8f49cda8fd7411de7e3617f52229a72c +size 631536 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Curve_Atlas.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Curve_Atlas.uasset new file mode 100644 index 0000000..bb5ca8e --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Curve_Atlas.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89eb308aa86da4bcfdb74c52cc7a897de03b2f1d7bdc59b5b1460348c1b31d01 +size 13649 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_1.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_1.uasset new file mode 100644 index 0000000..42abe9d --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd961309872eb43b002c9d0ac5402f6fb5ba1a37a99eb4a9c318e3cf58182ed0 +size 371869 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_2.uasset new file mode 100644 index 0000000..6501be6 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9199e3dbdf9a6f195f4aaf779ed9519d379dc01141c0d7d302837e5b4006e3dc +size 1807652 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_3.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_3.uasset new file mode 100644 index 0000000..8584858 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39c312a15cdabc7f13d3f70c20828f45b5fbe9d866c54713fa57c1b8983d5d80 +size 923364 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_4.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_4.uasset new file mode 100644 index 0000000..03e89da --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b6c131dd8ef7f6bc9cb23a3dc49c34ec7e4b03e7c249f9ccf521d3ab8e21b1b +size 696643 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_5.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_5.uasset new file mode 100644 index 0000000..6921d18 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b1d92255107073f412d9c21d82dd4abe47c8c48ccff345f5cef6508775ebea +size 644398 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_7.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_7.uasset new file mode 100644 index 0000000..7b57740 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Noise_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04947cafa5e3fb6c1db22b2dfc402956f8e1d3b930636caac5f4c269045241ea +size 985645 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_11.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_11.uasset new file mode 100644 index 0000000..49968f5 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96c9f5a060b0942c5108c9cbbbb59d609ebcd0ad9dbb462895f7a9fc72f6b781 +size 432451 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_2.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_2.uasset new file mode 100644 index 0000000..e293602 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:136f504d13f3584f424485cbb33a1406af82a397bd9a81221730e026ce005afc +size 398341 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_4.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_4.uasset new file mode 100644 index 0000000..4b5c178 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ee3d905643ddf1f2a30c6eb96b4a1a9ec8e156ba78541ac2a18a9f6be4c69b3 +size 258993 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_6.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_6.uasset new file mode 100644 index 0000000..e32faa1 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0bfc7b1f3d91e397a640ecda78cfecfa58470a37b8337344809a0897706471e +size 92808 diff --git a/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_9.uasset b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_9.uasset new file mode 100644 index 0000000..d322d15 --- /dev/null +++ b/Content/Effect/Mixed_Magic_VFX_Pack_3/Texture/T_Shape_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:927837d316a9b1db4cf3e4a38933f2e58f6de8df370e4c4d00b0277ff211b2a9 +size 921218 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Circle_3.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Circle_3.uasset new file mode 100644 index 0000000..3d29437 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Circle_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55f078208d68942a3d99372935739735ed6dec5b3de4eca42266bbc73063fe88 +size 8879 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_10.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_10.uasset new file mode 100644 index 0000000..cd0ac00 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9f6cf23464b2b0d3f276de00e33f968572e67e797391efae85defb856fda027 +size 8631 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_9.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_9.uasset new file mode 100644 index 0000000..74ea90e --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/MI_Fire01_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59e0edc1361c537848ea35f5f912360ddd48adf544918a99613da665c073948b +size 9305 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_Param_Translucent.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_Param_Translucent.uasset new file mode 100644 index 0000000..76fb8d9 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_Param_Translucent.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9409f1a9ab8f25a25f4bc53b26fc48789c9b643467a41bdfe83193afdde5792f +size 15604 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_base_3.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_base_3.uasset new file mode 100644 index 0000000..5d60a85 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_base_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f00510d7944ffa8e49a271ad00544983a12a0c64cd83e417dda0a9aa939f0a +size 15920 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_line01.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line01.uasset new file mode 100644 index 0000000..070caf5 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3390205096dca461b4ce952989abb87b15f3734aefe43f8043703e0d8b6ff78 +size 85989 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_18.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_18.uasset new file mode 100644 index 0000000..8b3ec3d --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c7119c2f58f3a8c3c556accee9dd23c7ca085d9597dd3abc76a012f2ba1588a +size 89741 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_24.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_24.uasset new file mode 100644 index 0000000..b1666c0 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35691ba5551cd00d4e8c1cb1db4201dbc9e1661f57e1c66846aa9d651ec85531 +size 38795 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_27.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_27.uasset new file mode 100644 index 0000000..4fb1224 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_line_Down_27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f477ceece7b28256155487e84187569a84fde7d839982d2639fc247aaca221b5 +size 42652 diff --git a/Content/Effect/NiagaraUpgradeGlow/Materials/M_mask.uasset b/Content/Effect/NiagaraUpgradeGlow/Materials/M_mask.uasset new file mode 100644 index 0000000..641edb5 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Materials/M_mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0360ae0e2b53e4ab47956c17b810d726dcd6e6afd3ead0909eb00354a6c22e8 +size 79905 diff --git a/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_BOX02.uasset b/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_BOX02.uasset new file mode 100644 index 0000000..7810782 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_BOX02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c2837e42e5be93100ca2b8651da3b0b5ff6d0e843dc90fb2a507563d0fb14ff +size 100088 diff --git a/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_cylinder.uasset b/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_cylinder.uasset new file mode 100644 index 0000000..049ffb7 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Mesh/SM_cylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d9198cd8eb61d5c8d4bfcfc33ea237d7a047a7c8f4b492d3e63a4a89a9b66f3 +size 97944 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Fire_Tiled_D.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Fire_Tiled_D.uasset new file mode 100644 index 0000000..66839ff --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Fire_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb204cdd6e9b7cee4bd6800257b7128f58b7857aa60d0fd36b73b46c8891bd5b +size 571419 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Flames_8x4_03.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Flames_8x4_03.uasset new file mode 100644 index 0000000..0ec97fe --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Flames_8x4_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be3c2ead17e797a8d89a4b643644f5fa5b59853e56723fd96b41e45c22fcb242 +size 3752231 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Glow02.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Glow02.uasset new file mode 100644 index 0000000..25188d4 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Glow02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb0b1edc31b9098a6e77038dc9572ed2eaa07fff58c67a74ce475c434906e28a +size 65142 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Gradient003.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Gradient003.uasset new file mode 100644 index 0000000..892bccf --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Gradient003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eaeb7c252977debccd7f462cdc1a0f64c414c282515a2f2cdaf8fd546c7ea6e +size 4664 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise07.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise07.uasset new file mode 100644 index 0000000..1662085 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:699e676bfc3f60f765f9086b7007f21f9bcf7713db2e7c8ad58bc1d845c9f1bc +size 44756 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise08.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise08.uasset new file mode 100644 index 0000000..23b0a7a --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f031fe7d9f7831619e5e8bf9fb5f64e4599f50dcc1d46601c9c7326898997d8e +size 47527 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise09.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise09.uasset new file mode 100644 index 0000000..567c057 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d0166afbcbc096c8aa457787aad75b59b0987757b8f2f6050567ee844e56c70 +size 139561 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise11_2.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise11_2.uasset new file mode 100644 index 0000000..74e7c63 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Noise11_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66eeea13b92db570ac87b96468cf9caf1c57117f4c7254370d8d20cae3bf7398 +size 30085 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke02.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke02.uasset new file mode 100644 index 0000000..5606f3f --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3f811c0cf4a48ab8f6f6c339db45db9ac23bf4fcceaeca85151b608bd9549fd +size 202851 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke03_A.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke03_A.uasset new file mode 100644 index 0000000..f8327be --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke03_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:455b763bd28aff46f620052aacd4b57c8b4fccfd2796a0be8e75762b7a966a45 +size 14421 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke19.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke19.uasset new file mode 100644 index 0000000..a202c2e --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e53b6a8c352dc82510cefd74f168ba1457987d2ac57b58408f43f260898dbfc +size 200902 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke_Tiled_D.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke_Tiled_D.uasset new file mode 100644 index 0000000..89ac114 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_Smoke_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:559b50a81b9708a36f5d528b36a12fff4c067f9bd03a0ee9e6ae61a8bc6abeab +size 112646 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_light0415.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_light0415.uasset new file mode 100644 index 0000000..f537899 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_light0415.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ca99c497bc359a5d86f2ff6bd8d8f0d9890bd444f15c812ee2b11736a54bb0f +size 36444 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_wenli0223.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_wenli0223.uasset new file mode 100644 index 0000000..1d54817 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_eff_cat_wenli0223.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:553902960d9dc541a40da81e3aacf3e54e46b93183d5f9ee46c1e0af5767b9ec +size 324658 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask.uasset new file mode 100644 index 0000000..d04e330 --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c035c3c3d75c3b6165d00b1df92bca0a2cb166d49251ada9fa190e0b446986d2 +size 29024 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask02.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask02.uasset new file mode 100644 index 0000000..1c8c0cd --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_mask02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec98aa6a1ca1fd4f7998c4b80df5b4dab61e1bad48ba09dae6a283f9b49d2f57 +size 55771 diff --git a/Content/Effect/NiagaraUpgradeGlow/Textures/T_smoke2.uasset b/Content/Effect/NiagaraUpgradeGlow/Textures/T_smoke2.uasset new file mode 100644 index 0000000..0e0eada --- /dev/null +++ b/Content/Effect/NiagaraUpgradeGlow/Textures/T_smoke2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8331d88fe8306b4643270f7cd53421bf2aab50b1f54c1ac9db82ae62d10ba34 +size 691433 diff --git a/Content/Effect/Ns_1Kaimen_01Chuangsong.uasset b/Content/Effect/Ns_1Kaimen_01Chuangsong.uasset new file mode 100644 index 0000000..d191365 --- /dev/null +++ b/Content/Effect/Ns_1Kaimen_01Chuangsong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6c4a0c357cc18716f4944587485916e770c4395ad67bde2a15aa06d4fc11d19 +size 3312402 diff --git a/Content/Effect/Ns_1Kaimen_01Chuangsong1.uasset b/Content/Effect/Ns_1Kaimen_01Chuangsong1.uasset new file mode 100644 index 0000000..3a9f162 --- /dev/null +++ b/Content/Effect/Ns_1Kaimen_01Chuangsong1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e520f1da3c8b25a50f654c712fa643b2c63ca91767db1b38baddb6b2068c0454 +size 2004004 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_Basic_Center_flash02_add.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_Basic_Center_flash02_add.uasset new file mode 100644 index 0000000..04ccd3e --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_Basic_Center_flash02_add.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ab935a2565afd339590eee090d18ad478ce1d3547ff80a1b1fa7d0fb16c0bef +size 11678 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_ParticleSubUV_Stamp_HitFistMagicStaff_42.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_ParticleSubUV_Stamp_HitFistMagicStaff_42.uasset new file mode 100644 index 0000000..aa9fd46 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/MI/MI_Vfx_ParticleSubUV_Stamp_HitFistMagicStaff_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23fee3a989a6dd90a67f457a789882b4012f9f41f05d41172a4f50b26b2a72ac +size 11132 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_Basic.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_Basic.uasset new file mode 100644 index 0000000..81f3970 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_Basic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e670d4a83f40651083dac72130cfe36e2346a4682df9174b841b4e1782a5fa82 +size 24885 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_ParticleSubUV.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_ParticleSubUV.uasset new file mode 100644 index 0000000..49cd604 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Material/M_Vfx_ParticleSubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad0f8b418e516700d597ee59a8195596088fce08c67617ce6b2bc2065d72d45e +size 24156 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_BasicDot.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_BasicDot.uasset new file mode 100644 index 0000000..fff416a --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_BasicDot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70f86d28257f9729b4e82cab49ff1f7095a97316d50cad943637d6e32e326f30 +size 65845 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Center_flash02.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Center_flash02.uasset new file mode 100644 index 0000000..99e430f --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Center_flash02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4e819f06d9daec8057997a6d1d401dfeb62d54e4f6dedd778cdb989798992d +size 16726 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_03.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_03.uasset new file mode 100644 index 0000000..d61d68a --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e9205556fe8111709e2acff362ac0c457fecc440e75c3f36594d9ec07cae403 +size 35999 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_06.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_06.uasset new file mode 100644 index 0000000..a717e21 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44d3d7c51a8521ca235b808fb9951bc6df9784bf1b553161771eaa0fa6b280c3 +size 68966 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_caustic_02.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_caustic_02.uasset new file mode 100644 index 0000000..806067a --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_caustic_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dc90a0715951b403d6581b2934822645c8230e66810aad1387d2aec47861786 +size 26038 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_fire03.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_fire03.uasset new file mode 100644 index 0000000..bc2dccf --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Noise_fire03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c85da39fe67a247e3c2a37b7f56ed95f5d1e2b2b5a6dbbf587113d8063473187 +size 105842 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Stamp_HitFistMagicStaff_42.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Stamp_HitFistMagicStaff_42.uasset new file mode 100644 index 0000000..d209719 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_Stamp_HitFistMagicStaff_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39fb56f429e0d8f153a3d129832b17c8b01a2bb77b10afb6f4695f200478e38f +size 104866 diff --git a/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_stamp_fog4_88.uasset b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_stamp_fog4_88.uasset new file mode 100644 index 0000000..ee2bbb6 --- /dev/null +++ b/Content/Effect/ProjectileHitVFX/_GenericSource/Texture/T_Vfx_stamp_fog4_88.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7220fe0663503d5f14790aa94c0ef306b608d8b16d38e54338dcbcb7c4b81cf +size 627662 diff --git a/Content/Effect/WarpsPack/Materials/M_BG.uasset b/Content/Effect/WarpsPack/Materials/M_BG.uasset new file mode 100644 index 0000000..1e5bf8d --- /dev/null +++ b/Content/Effect/WarpsPack/Materials/M_BG.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c83b977f65953c1ffce6f6d4bd246ec9d64bb97f1015aa0b07800870968e0eb8 +size 16488 diff --git a/Content/Effect/WarpsPack/Materials/M_BG1.uasset b/Content/Effect/WarpsPack/Materials/M_BG1.uasset new file mode 100644 index 0000000..724d0c7 --- /dev/null +++ b/Content/Effect/WarpsPack/Materials/M_BG1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d55395a5f4899108a258dd2cfd9d1edea6fadf723ee33bcb324103452d18683 +size 15972 diff --git a/Content/Effect/WarpsPack/Meshes/SM_Sphere.uasset b/Content/Effect/WarpsPack/Meshes/SM_Sphere.uasset new file mode 100644 index 0000000..83af3d5 --- /dev/null +++ b/Content/Effect/WarpsPack/Meshes/SM_Sphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c5f27ccf70ce64261bd09111c041428c16e35eae11c677a0deb08e7f4c83a83 +size 61877 diff --git a/Content/Effect/WarpsPack/Meshes/SM_Warp.uasset b/Content/Effect/WarpsPack/Meshes/SM_Warp.uasset new file mode 100644 index 0000000..8e3e87e --- /dev/null +++ b/Content/Effect/WarpsPack/Meshes/SM_Warp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37d25f39f41ac43738a25c359d3938b99429eed499066cde8403d8919e3bb1a8 +size 38880 diff --git a/Content/Effect/WarpsPack/Meshes/SM_WarpBG_2.uasset b/Content/Effect/WarpsPack/Meshes/SM_WarpBG_2.uasset new file mode 100644 index 0000000..0ddb29b --- /dev/null +++ b/Content/Effect/WarpsPack/Meshes/SM_WarpBG_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1ab2196b793e64774f7a6bc77eef2abded91eff83e624e8387e571d680f72a6 +size 38575 diff --git a/Content/Effect/WarpsPack/Textures/Noise498.uasset b/Content/Effect/WarpsPack/Textures/Noise498.uasset new file mode 100644 index 0000000..86a25f2 --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/Noise498.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2132b7d33246c9652028275923cb1c8924f873c9f206cc97da6c97cabd848040 +size 106677 diff --git a/Content/Effect/WarpsPack/Textures/T_Noise_4.uasset b/Content/Effect/WarpsPack/Textures/T_Noise_4.uasset new file mode 100644 index 0000000..6a267b7 --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Noise_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48c94692f4e4178138b3010cf7032a5565d984dc5d7e2e3a8adc8bb9b46f5c2a +size 2747435 diff --git a/Content/Effect/WarpsPack/Textures/T_Noise_5.uasset b/Content/Effect/WarpsPack/Textures/T_Noise_5.uasset new file mode 100644 index 0000000..d24e6df --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Noise_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbf20800b074ea19900680dbed1f87235a9c01e381156ad032940854592f3e64 +size 2101182 diff --git a/Content/Effect/WarpsPack/Textures/T_Noise_7.uasset b/Content/Effect/WarpsPack/Textures/T_Noise_7.uasset new file mode 100644 index 0000000..b59db8b --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Noise_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35fc696a0c2368437b35dd0786c0a76212fc1f9556ab25be603326056f5394a +size 2300495 diff --git a/Content/Effect/WarpsPack/Textures/T_Noise_8.uasset b/Content/Effect/WarpsPack/Textures/T_Noise_8.uasset new file mode 100644 index 0000000..ec8937e --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Noise_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998beb843835bbb8d6733d7606b09e070ed5eb074986ce3f8dfe55abe0b826c9 +size 1641705 diff --git a/Content/Effect/WarpsPack/Textures/T_Noise_9.uasset b/Content/Effect/WarpsPack/Textures/T_Noise_9.uasset new file mode 100644 index 0000000..e03b50b --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Noise_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f83bc38d3f6fbd16f505bbe534c97406073218b87807386589513e3ab48d9c07 +size 2535626 diff --git a/Content/Effect/WarpsPack/Textures/T_Star.uasset b/Content/Effect/WarpsPack/Textures/T_Star.uasset new file mode 100644 index 0000000..39a2418 --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/T_Star.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56554e4c2b693bf4d2fa289bc34ca8a4d9ec1b4ae2f86cea69f6f52f2e3d2ff4 +size 110702 diff --git a/Content/Effect/WarpsPack/Textures/Tex_Pattern99.uasset b/Content/Effect/WarpsPack/Textures/Tex_Pattern99.uasset new file mode 100644 index 0000000..7df36cd --- /dev/null +++ b/Content/Effect/WarpsPack/Textures/Tex_Pattern99.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e099034fac45fa77e30893e58d3849849119e5e4e02bde5bac4ee1c1fb3a24 +size 294137 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp.uasset new file mode 100644 index 0000000..25bda7d --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeb24b19d00ce5766a8d0f1b53fc87ff1b97cf4e23d18ff0bd8e1ad4abd438a2 +size 63168 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive.uasset new file mode 100644 index 0000000..c7c69c6 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c5f77e2a05930d9f406fe7a216c12b5cb141c8b4dc2954e9c8d75614c3f55a3 +size 30266 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive_Inst1.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive_Inst1.uasset new file mode 100644 index 0000000..6422ebc --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarpIntensive_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f932f52f3925118faa63243b6b4bb9bdf1c7ac8ecc768d2ddb962d62936bd6ab +size 14512 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst1.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst1.uasset new file mode 100644 index 0000000..2bfb88c --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1aae94f308c299d1f5a87c0fa2c4ac42c9b03f142fca2d6eb6c9418e308df08 +size 23681 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst2.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst2.uasset new file mode 100644 index 0000000..51f6ca5 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_RedWarp_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd4e640e40bccfdbb84ffcf5c7c0c54e4f9f2781bb325ec9fa5529291cfccaac +size 23905 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Red_BG_Inst2.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Red_BG_Inst2.uasset new file mode 100644 index 0000000..5b888f6 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Red_BG_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48d6a60398bb4f9ce9a5897fb301448a594cede4058c412071ef20a6bd848c5a +size 8645 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp.uasset new file mode 100644 index 0000000..1fde672 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9af79f7d8877c9555a1fbff7870b4f948b84183d510d2adb2c6127ed91e443c1 +size 22639 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp1.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp1.uasset new file mode 100644 index 0000000..b171bb5 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5041cb315c733dbd57c3a738395f3a37e347637505e1b936b6f4f84399159a42 +size 23022 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp2.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp2.uasset new file mode 100644 index 0000000..cb81146 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarp2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:977c04b45e49a653bd0ecf19b669e0e99aa5f4a0874b56b037e90bbf8a49fce8 +size 23367 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst2.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst2.uasset new file mode 100644 index 0000000..4b5a863 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0ed65976e52aa2d072be178eb378d1c65be509c76d9e82afc8cab87c5f7b984 +size 14556 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst3.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst3.uasset new file mode 100644 index 0000000..df1529b --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_YellowWarpIntensive_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa5341007cf618263ddb5a5ddb55409fa773db66cd5fc3c14d026957e5c76977 +size 13885 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_BG_Inst3.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_BG_Inst3.uasset new file mode 100644 index 0000000..3e271f9 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_BG_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e30c8f171d469c77de2fdf8c1e373eb2d5f13733d45a9850bb050aa986228d +size 8668 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst3.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst3.uasset new file mode 100644 index 0000000..d93ad83 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ef6d0fd49e2c80444f16f354fc557fe615e1834ce978cf4176d655810e8374 +size 25536 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst4.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst4.uasset new file mode 100644 index 0000000..ba297d7 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d1edcd43f96943500fa09ecd58fbd25520459cee3920a6fb3ea88599511d77d +size 24114 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst5.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst5.uasset new file mode 100644 index 0000000..53b06dd --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca716775f004d7bc99ef5637de9489b0afb4744dd4d01f56478e8498bab9072a +size 23944 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst6.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst6.uasset new file mode 100644 index 0000000..a1df0c0 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00c6af95473f3d46914c5c4e5fffeee0dfdd5add1df8f01cf6bb64225afbe174 +size 22594 diff --git a/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst7.uasset b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst7.uasset new file mode 100644 index 0000000..b9f3237 --- /dev/null +++ b/Content/Effect/WarpsPack/Warps/RedWarp/M_Yellow_Inst7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fcbe561b679854a5be1ce676a2c24480184daade006b26f5911c3553ef11cff +size 23618 diff --git a/Content/Effect/chuansuo/Mat/M_Glow.uasset b/Content/Effect/chuansuo/Mat/M_Glow.uasset new file mode 100644 index 0000000..2877c73 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a434964c60b08f9de63323ebe9dac8a1af230970a0f666965fcd114c656f9b6 +size 16939 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst.uasset new file mode 100644 index 0000000..7b3dfb3 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925e2745ebb273d66e901021489d88e39676fec5c98c94e21ef267274321ef45 +size 11971 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst1.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst1.uasset new file mode 100644 index 0000000..11a3175 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c28701adeb75e6521c486a75c52e872c22cb26776a00f99c2e94173302195fe6 +size 10812 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst2.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst2.uasset new file mode 100644 index 0000000..f3ec1ca --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b66a109cdd70100e94570d87f836f42acb9e91332c1b411a223d9cc5660e1756 +size 11208 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst3.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst3.uasset new file mode 100644 index 0000000..7e16981 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e011bad9bd4597d368cf115ff4721248eaa0b0f90556e0876cdc268b6ca66250 +size 10825 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst5.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst5.uasset new file mode 100644 index 0000000..62ebf76 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef7591fae7338a08560a604ad9ef71dd129bdb0531b1485544a9502449a75c84 +size 11196 diff --git a/Content/Effect/chuansuo/Mat/M_Glow_Inst6.uasset b/Content/Effect/chuansuo/Mat/M_Glow_Inst6.uasset new file mode 100644 index 0000000..177410c --- /dev/null +++ b/Content/Effect/chuansuo/Mat/M_Glow_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a692c9b8615c7bb71ca9b9d786105c1b86d53e8a0c674f20b8d2b0f5bac611a +size 11062 diff --git a/Content/Effect/chuansuo/Mat/Tex_Flare20.uasset b/Content/Effect/chuansuo/Mat/Tex_Flare20.uasset new file mode 100644 index 0000000..d9b0bc0 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/Tex_Flare20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:972da5b152eb08a5d44fbf28bdb9daf1c4e42ba6c02656c0a4179e2c46d1edff +size 109496 diff --git a/Content/Effect/chuansuo/Mat/Tex_Glow09A.uasset b/Content/Effect/chuansuo/Mat/Tex_Glow09A.uasset new file mode 100644 index 0000000..b8891b7 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/Tex_Glow09A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93ed4039279c00ea4a9e1786cede9abc154954002d6117a31ffe39e3d4f4ac73 +size 17438 diff --git a/Content/Effect/chuansuo/Mat/Tex_Glow14.uasset b/Content/Effect/chuansuo/Mat/Tex_Glow14.uasset new file mode 100644 index 0000000..9320645 --- /dev/null +++ b/Content/Effect/chuansuo/Mat/Tex_Glow14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bfc191222b326c00b7c60e4a55738847b986fa1cf2e860f9f664a21b5b587ca +size 29087 diff --git a/Content/Effect/chuansuo/NS_Chongdong.uasset b/Content/Effect/chuansuo/NS_Chongdong.uasset new file mode 100644 index 0000000..4d189cc --- /dev/null +++ b/Content/Effect/chuansuo/NS_Chongdong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf151dda19bd796f68d3934906f6a05217b5167c3a90cdab29bdd12d2aa0ff01 +size 1456467 diff --git a/Content/Effect/chuansuo/NS_Chongdong_mishi.uasset b/Content/Effect/chuansuo/NS_Chongdong_mishi.uasset new file mode 100644 index 0000000..3e1bea0 --- /dev/null +++ b/Content/Effect/chuansuo/NS_Chongdong_mishi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2ee5a65e9c1942444c25d05dc431890a439784fe5a473d42ffea5ac62bd7793 +size 2235316 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow.uasset new file mode 100644 index 0000000..c612d0b --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:808c19e1b1ff44a6e5f1bbfd6f87463e560a4fdc1d0cf5ed5fe4f88642434a76 +size 16943 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow_Inst1.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst1.uasset new file mode 100644 index 0000000..bdaf50d --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36517a18ae09b9294134d999777f61f9e5479f31dc5a416a27eb02e88992f37d +size 10822 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow_Inst2.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst2.uasset new file mode 100644 index 0000000..1d5dbe3 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f4fdba5b5a44fccfb87c03abe5b5beee78a83600ce92ccc5814efa374655b79 +size 10423 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow_Inst5.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst5.uasset new file mode 100644 index 0000000..2b39ee4 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62b82d78925b406c832ebbc258fb938f291da25656bcc4205c90ac866dcb2d5c +size 11204 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow_Inst6.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst6.uasset new file mode 100644 index 0000000..0e04090 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a4ce607fb721c5eefcac527305aa3f4f6f27225f1e1421c8913ce6211ea991 +size 11072 diff --git a/Content/Effect/chuansuo_2/Mat/M_Glow_Inst7.uasset b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst7.uasset new file mode 100644 index 0000000..45c54f3 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/M_Glow_Inst7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5489fffadd6774736552bff8ea9623b220f70d6a5ae8a9aee2c5cb8beaffe218 +size 10445 diff --git a/Content/Effect/chuansuo_2/Mat/Tex_Flare20.uasset b/Content/Effect/chuansuo_2/Mat/Tex_Flare20.uasset new file mode 100644 index 0000000..048fda6 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/Tex_Flare20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c796e3e1b67829613b07c7649fca13ef1de25ee0494ca363b84ce9267b7ff2b +size 109500 diff --git a/Content/Effect/chuansuo_2/Mat/Tex_Flare21.uasset b/Content/Effect/chuansuo_2/Mat/Tex_Flare21.uasset new file mode 100644 index 0000000..80949e9 --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/Tex_Flare21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f400eb6e475096d127abfbcf58a05fda085dfea841a7aca5ce7d98c2266bacfe +size 90987 diff --git a/Content/Effect/chuansuo_2/Mat/Tex_Glow09A.uasset b/Content/Effect/chuansuo_2/Mat/Tex_Glow09A.uasset new file mode 100644 index 0000000..4c7cb2a --- /dev/null +++ b/Content/Effect/chuansuo_2/Mat/Tex_Glow09A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8de89521a1aaaf50be6afd37bcd48602263d1a45226bbc19cf5a2882c6142c86 +size 17442 diff --git a/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu.uasset b/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu.uasset new file mode 100644 index 0000000..aeee094 --- /dev/null +++ b/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e73d55aa5c1a21c0bae1c288205b86024f5f3d5e9f1c50b0c92764c4978ec5 +size 3134960 diff --git a/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu2.uasset b/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu2.uasset new file mode 100644 index 0000000..05b8ad0 --- /dev/null +++ b/Content/Effect/chuansuo_2/NS_Chongdong1_QiJu2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63e03dd08ae98fb66e67389b2356b047643023ea886236413f8800b983069ad2 +size 2907828 diff --git a/Content/Effect/chuansuo_2/NS_Chongdong_dadainjin.uasset b/Content/Effect/chuansuo_2/NS_Chongdong_dadainjin.uasset new file mode 100644 index 0000000..7c043b8 --- /dev/null +++ b/Content/Effect/chuansuo_2/NS_Chongdong_dadainjin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e817915f0ab31b1b5bc400218755b000988423c9aeb0e3b30162e68754049e4b +size 3675577 diff --git a/Content/Effect/chuansuo_2/Noise620.uasset b/Content/Effect/chuansuo_2/Noise620.uasset new file mode 100644 index 0000000..f80a8fd --- /dev/null +++ b/Content/Effect/chuansuo_2/Noise620.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b9341840717b26a4ad18cbbedc14424983d67cc1da22e196420ddc91f42769f +size 66151 diff --git a/Content/Effect/chuansuo_2/pmyx.uasset b/Content/Effect/chuansuo_2/pmyx.uasset new file mode 100644 index 0000000..37e58c2 --- /dev/null +++ b/Content/Effect/chuansuo_2/pmyx.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9bc464d52e1bbf5a9b82e81cc157a25868a5fa840f72db1bb4908632c10ec31 +size 84766 diff --git a/Content/ElementalSword/BluePrint/BP_SwordFire2.uasset b/Content/ElementalSword/BluePrint/BP_SwordFire2.uasset new file mode 100644 index 0000000..b037f3f --- /dev/null +++ b/Content/ElementalSword/BluePrint/BP_SwordFire2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee9b6cf463989d518acc211be06a13ea1e6d187fbb62e6ada5564c6db1dd813d +size 27737 diff --git a/Content/ElementalSword/MICs/M_FireRefraction_Inst.uasset b/Content/ElementalSword/MICs/M_FireRefraction_Inst.uasset new file mode 100644 index 0000000..5fbb06a --- /dev/null +++ b/Content/ElementalSword/MICs/M_FireRefraction_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e41eff2bfe1a01957f354e66bd8a2010258eb275e51ca8cc4f7c874e43d4f6b +size 84200 diff --git a/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst.uasset b/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst.uasset new file mode 100644 index 0000000..dfb5adc --- /dev/null +++ b/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b28f0827d6158b98b6ba71197075fcedf251d820fb7b51d1f8f35fcc607d1114 +size 21004 diff --git a/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst1.uasset b/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst1.uasset new file mode 100644 index 0000000..d1cebdf --- /dev/null +++ b/Content/ElementalSword/MICs/M_SimpleSword_Fire_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c99fbb39f7a5d179e82eb0aac2921708d01716d44b51dc15830f9efa92db2979 +size 21010 diff --git a/Content/ElementalSword/MaterialFunction/MF_FloatLerp.uasset b/Content/ElementalSword/MaterialFunction/MF_FloatLerp.uasset new file mode 100644 index 0000000..b1eac6d --- /dev/null +++ b/Content/ElementalSword/MaterialFunction/MF_FloatLerp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18da83f7d838c69d04f0e265de79740cd6e6075865560fd5afa7fc5a48907150 +size 41306 diff --git a/Content/ElementalSword/MaterialFunction/MF_FloatPanner.uasset b/Content/ElementalSword/MaterialFunction/MF_FloatPanner.uasset new file mode 100644 index 0000000..588b9cf --- /dev/null +++ b/Content/ElementalSword/MaterialFunction/MF_FloatPanner.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f63b844d0dd5dbd618f75f2279c3d5f98ab621ee972d4c7f6b12f3d081610efe +size 78508 diff --git a/Content/ElementalSword/MaterialFunction/MF_FlowAnim.uasset b/Content/ElementalSword/MaterialFunction/MF_FlowAnim.uasset new file mode 100644 index 0000000..2a8b4d2 --- /dev/null +++ b/Content/ElementalSword/MaterialFunction/MF_FlowAnim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c754bc4facb0897adb1eaec974aa9f52cc1797328f06c0a5e08cebe340e3505 +size 107767 diff --git a/Content/ElementalSword/Materials/M_FireRefraction.uasset b/Content/ElementalSword/Materials/M_FireRefraction.uasset new file mode 100644 index 0000000..21081ad --- /dev/null +++ b/Content/ElementalSword/Materials/M_FireRefraction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f43a3ad1b01ec0b318cfc0cc0c66bcbfd0ec5a77c00d7359bea6340650f8d93 +size 80585 diff --git a/Content/ElementalSword/Materials/M_PSFire_1.uasset b/Content/ElementalSword/Materials/M_PSFire_1.uasset new file mode 100644 index 0000000..de825d0 --- /dev/null +++ b/Content/ElementalSword/Materials/M_PSFire_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1725996b16e7668c9b5bd4662464b0f8e1c0db41bf9c3992a553db18ed2f06a8 +size 94915 diff --git a/Content/ElementalSword/Materials/M_SimpleSword_Fire.uasset b/Content/ElementalSword/Materials/M_SimpleSword_Fire.uasset new file mode 100644 index 0000000..c64aaff --- /dev/null +++ b/Content/ElementalSword/Materials/M_SimpleSword_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7cc254651a247305761da24e0c22538a397d9689a080cb02d98b7208e969ce +size 52877 diff --git a/Content/ElementalSword/Materials/M_SpriteFire.uasset b/Content/ElementalSword/Materials/M_SpriteFire.uasset new file mode 100644 index 0000000..0469ce5 --- /dev/null +++ b/Content/ElementalSword/Materials/M_SpriteFire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bec3744aaa72522fd0fd60706c54d074e547199fe536c3422596ff685025219 +size 79157 diff --git a/Content/ElementalSword/Meshes/SM_SimpleSword_01_c.uasset b/Content/ElementalSword/Meshes/SM_SimpleSword_01_c.uasset new file mode 100644 index 0000000..8fc435f --- /dev/null +++ b/Content/ElementalSword/Meshes/SM_SimpleSword_01_c.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1270decc10c674ff8f3d5964e2847e0fbd94c8a14ac05719366ac4905d2a56ce +size 49867 diff --git a/Content/ElementalSword/ParticleSystem/PS_SwordField2.uasset b/Content/ElementalSword/ParticleSystem/PS_SwordField2.uasset new file mode 100644 index 0000000..7872f16 --- /dev/null +++ b/Content/ElementalSword/ParticleSystem/PS_SwordField2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:150b49c34042be0b270446bc8a45ef6084fff02404bc9ee962c68aa0a32a3d10 +size 274656 diff --git a/Content/ElementalSword/Textures/T_FireFlipbook_01.uasset b/Content/ElementalSword/Textures/T_FireFlipbook_01.uasset new file mode 100644 index 0000000..96bff11 --- /dev/null +++ b/Content/ElementalSword/Textures/T_FireFlipbook_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2b9388d72160e9f156ff8223f778868e31c4bdeb096a5e6f360268213b88d90 +size 375189 diff --git a/Content/ElementalSword/Textures/T_FireFlow_01.uasset b/Content/ElementalSword/Textures/T_FireFlow_01.uasset new file mode 100644 index 0000000..d64ca80 --- /dev/null +++ b/Content/ElementalSword/Textures/T_FireFlow_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3662505761eac2ac8c7eb69807e92e310929134a86941df1e9a0805555e1d4c0 +size 412802 diff --git a/Content/ElementalSword/Textures/T_SimpleSword_01_A.uasset b/Content/ElementalSword/Textures/T_SimpleSword_01_A.uasset new file mode 100644 index 0000000..9dc65eb --- /dev/null +++ b/Content/ElementalSword/Textures/T_SimpleSword_01_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2f85cae8f5ec488c82bb1d0f69d02c6ecffc1ec1e76445afd65ea54d0cf9cbe +size 5519315 diff --git a/Content/ElementalSword/Textures/T_SimpleSword_01_M.uasset b/Content/ElementalSword/Textures/T_SimpleSword_01_M.uasset new file mode 100644 index 0000000..596ebe7 --- /dev/null +++ b/Content/ElementalSword/Textures/T_SimpleSword_01_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7381ba46bb47e9ad609be9fc125c8ea3967a1e555f27cd03c72a8404c9d4a02a +size 1726832 diff --git a/Content/ElementalSword/Textures/T_SimpleSword_01_N.uasset b/Content/ElementalSword/Textures/T_SimpleSword_01_N.uasset new file mode 100644 index 0000000..e98afd6 --- /dev/null +++ b/Content/ElementalSword/Textures/T_SimpleSword_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5050d60b27aadaed628db229289a5a19987f8f1d3d24afe2cd8150eebadfa50 +size 3095287 diff --git a/Content/ElementalSword/VectorField/VF_Sword_Fire.uasset b/Content/ElementalSword/VectorField/VF_Sword_Fire.uasset new file mode 100644 index 0000000..cd08feb --- /dev/null +++ b/Content/ElementalSword/VectorField/VF_Sword_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:957d57bfff3ee6132cefcf59065063b2b3638ead3d797b9eba9220f355e8b2a9 +size 159038 diff --git a/Content/EnergyBallVFX/Material/MI_DissolveOutLine.uasset b/Content/EnergyBallVFX/Material/MI_DissolveOutLine.uasset new file mode 100644 index 0000000..2218485 --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_DissolveOutLine.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e852ae5355073b78ca580a4c39747a0daa6aa1abf35205855f0ce32ebbd887f +size 15073 diff --git a/Content/EnergyBallVFX/Material/MI_EnergyBall.uasset b/Content/EnergyBallVFX/Material/MI_EnergyBall.uasset new file mode 100644 index 0000000..0af2800 --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_EnergyBall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efa6085fad373d33b1790040d7fd1821b0c98c8f328df65c3a46b3f574ff6bc2 +size 8635 diff --git a/Content/EnergyBallVFX/Material/MI_EnergyBall2.uasset b/Content/EnergyBallVFX/Material/MI_EnergyBall2.uasset new file mode 100644 index 0000000..1d98e45 --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_EnergyBall2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b0b03afd779a788f7bc6a3d5d99a77078da3bc7ba057c6d424263c1623c527 +size 13020 diff --git a/Content/EnergyBallVFX/Material/MI_EnergyBall3.uasset b/Content/EnergyBallVFX/Material/MI_EnergyBall3.uasset new file mode 100644 index 0000000..f41578e --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_EnergyBall3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dfebc661d71bf68a37a9d3f7004558346305f03e7347da202eee4079fd5e9e5 +size 12820 diff --git a/Content/EnergyBallVFX/Material/MI_EnergyBall5.uasset b/Content/EnergyBallVFX/Material/MI_EnergyBall5.uasset new file mode 100644 index 0000000..47dd55e --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_EnergyBall5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5d490ad8ca1b6d10d1469dbe3f35fcde9ff60bd6ebcc5915c8774e7813c468a +size 8642 diff --git a/Content/EnergyBallVFX/Material/MI_FireSwirl_UV2.uasset b/Content/EnergyBallVFX/Material/MI_FireSwirl_UV2.uasset new file mode 100644 index 0000000..29b9db5 --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_FireSwirl_UV2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbd99b573de35ec4752436308a5eff17e4b8fc31244e1db2c3ae16075cf62357 +size 13246 diff --git a/Content/EnergyBallVFX/Material/MI_Outline.uasset b/Content/EnergyBallVFX/Material/MI_Outline.uasset new file mode 100644 index 0000000..d887db3 --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_Outline.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9042dec58895fad102a1617e4266d59377f5653488ac15a788a7e8836a6c108 +size 12647 diff --git a/Content/EnergyBallVFX/Material/MI_Spark.uasset b/Content/EnergyBallVFX/Material/MI_Spark.uasset new file mode 100644 index 0000000..db6a1fd --- /dev/null +++ b/Content/EnergyBallVFX/Material/MI_Spark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1104337af68493c89bec107d97176bdcad0d1b035ca646b6a1988685dd8416c +size 11029 diff --git a/Content/EnergyBallVFX/Material/M_Depth.uasset b/Content/EnergyBallVFX/Material/M_Depth.uasset new file mode 100644 index 0000000..7e4f362 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Depth.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf8b93a4691ad004e29fc3876ec03e924253aa366f8a534d95c85ecf5e8c1965 +size 12028 diff --git a/Content/EnergyBallVFX/Material/M_DepthBlack.uasset b/Content/EnergyBallVFX/Material/M_DepthBlack.uasset new file mode 100644 index 0000000..12a5388 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_DepthBlack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4a7940cf2388707238950809ec4fbcd44cff15d1d2cc8d70b6fb4beced624c +size 12870 diff --git a/Content/EnergyBallVFX/Material/M_DissolveOutLine.uasset b/Content/EnergyBallVFX/Material/M_DissolveOutLine.uasset new file mode 100644 index 0000000..8052276 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_DissolveOutLine.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:582044130f740eb8331d7d4c2b7dfeab2b1093d0fa1e199fe31f09db61fc3d88 +size 37468 diff --git a/Content/EnergyBallVFX/Material/M_EnergyBall.uasset b/Content/EnergyBallVFX/Material/M_EnergyBall.uasset new file mode 100644 index 0000000..fe2c2d9 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_EnergyBall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5949125ba7db7ba0bbc5abe6e4a4b700efa400a2ba89359309417858aa186bc0 +size 11862 diff --git a/Content/EnergyBallVFX/Material/M_EnergyBall3.uasset b/Content/EnergyBallVFX/Material/M_EnergyBall3.uasset new file mode 100644 index 0000000..94e454f --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_EnergyBall3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3498490779278edeb765aa7a61e328aff67da7bae073a3363b4f07b159384488 +size 28147 diff --git a/Content/EnergyBallVFX/Material/M_FireSwirl_UV.uasset b/Content/EnergyBallVFX/Material/M_FireSwirl_UV.uasset new file mode 100644 index 0000000..2c3959b --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_FireSwirl_UV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b41c52453a71e8a29a775da995cc42d5e1ef90e4aead3e6acf2bd5f331fc1477 +size 29035 diff --git a/Content/EnergyBallVFX/Material/M_Fresnel.uasset b/Content/EnergyBallVFX/Material/M_Fresnel.uasset new file mode 100644 index 0000000..07f20c1 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Fresnel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:392ddfcfc5f6e519e0925191b4363a30be02ec5cdf742028c36bb933cd80d00a +size 13305 diff --git a/Content/EnergyBallVFX/Material/M_Fresnel4.uasset b/Content/EnergyBallVFX/Material/M_Fresnel4.uasset new file mode 100644 index 0000000..b83f8ff --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Fresnel4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c560e61e5af220090497770370828738b38a10d2a99831c9141f29f9f775fd7 +size 12689 diff --git a/Content/EnergyBallVFX/Material/M_Glow2.uasset b/Content/EnergyBallVFX/Material/M_Glow2.uasset new file mode 100644 index 0000000..bb7627a --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Glow2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ada5bd85b31a0f91b02ead4b3c74b05c3a552ad7a1f48dcf938124d3cb96deb2 +size 10672 diff --git a/Content/EnergyBallVFX/Material/M_Outline.uasset b/Content/EnergyBallVFX/Material/M_Outline.uasset new file mode 100644 index 0000000..3065b25 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Outline.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2efa21f015504dd5cc4a4202af5d5cf710517a1ae989b3246f477a7abaea497f +size 23511 diff --git a/Content/EnergyBallVFX/Material/M_RainbowRing.uasset b/Content/EnergyBallVFX/Material/M_RainbowRing.uasset new file mode 100644 index 0000000..1735182 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_RainbowRing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6329eb22eb9d3395af37ff24e4cff54d45e3a24425e7a007edc717f0a6815c37 +size 29779 diff --git a/Content/EnergyBallVFX/Material/M_Spark.uasset b/Content/EnergyBallVFX/Material/M_Spark.uasset new file mode 100644 index 0000000..b84f337 --- /dev/null +++ b/Content/EnergyBallVFX/Material/M_Spark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9800314754b0da26a04755dc67eac9ce1c7321c4f000b9f0d1c5eae866f9085 +size 23910 diff --git a/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricLightning.uasset b/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricLightning.uasset new file mode 100644 index 0000000..b71595a --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricLightning.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df21e0a521529815f59bc18cb2ac9988ba2fd724210325555e7ebfa6c1119b06 +size 109929 diff --git a/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricOrb.uasset b/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricOrb.uasset new file mode 100644 index 0000000..df36e29 --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/Emitter/NE_ElectricOrb.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ddeb6f892ad74b91f36c74d88cb2c71e6c06f0313df418f5e44fdb8bcc07482 +size 85891 diff --git a/Content/EnergyBallVFX/Niagara/Emitter/NE_EnergyBall.uasset b/Content/EnergyBallVFX/Niagara/Emitter/NE_EnergyBall.uasset new file mode 100644 index 0000000..10c6605 --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/Emitter/NE_EnergyBall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0462527b02ac8892f3cf60738a0972e29288887f145372c0a9ce7fad9b9b9a9d +size 69664 diff --git a/Content/EnergyBallVFX/Niagara/Emitter/NE_OrbBall.uasset b/Content/EnergyBallVFX/Niagara/Emitter/NE_OrbBall.uasset new file mode 100644 index 0000000..ba9a1ff --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/Emitter/NE_OrbBall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f5451e15587aa4f684e03481ae149b576314624cf356fe2b02b2adfa03087e +size 94571 diff --git a/Content/EnergyBallVFX/Niagara/Emitter/NE_Smoke.uasset b/Content/EnergyBallVFX/Niagara/Emitter/NE_Smoke.uasset new file mode 100644 index 0000000..b17a964 --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/Emitter/NE_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f462d0825584478b4166a282b662f2e159285b7babe2229f1a1b7184b4330cf +size 125648 diff --git a/Content/EnergyBallVFX/Niagara/NS_AuraEnergyBall2.uasset b/Content/EnergyBallVFX/Niagara/NS_AuraEnergyBall2.uasset new file mode 100644 index 0000000..10bcf46 --- /dev/null +++ b/Content/EnergyBallVFX/Niagara/NS_AuraEnergyBall2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f28e307e4abfe73b0452d04e3fae446f1f39d8e19efbc5cb03fa2294662e272f +size 3031787 diff --git a/Content/EnergyBallVFX/StaticMesh/SM_NoiseSphere.uasset b/Content/EnergyBallVFX/StaticMesh/SM_NoiseSphere.uasset new file mode 100644 index 0000000..06046dc --- /dev/null +++ b/Content/EnergyBallVFX/StaticMesh/SM_NoiseSphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d55578deeee316e3b6098ce0d91fdb89a760690ea25ca223986e16b0823df839 +size 123355 diff --git a/Content/EnergyBallVFX/StaticMesh/SM_Sphere2.uasset b/Content/EnergyBallVFX/StaticMesh/SM_Sphere2.uasset new file mode 100644 index 0000000..f1b9caf --- /dev/null +++ b/Content/EnergyBallVFX/StaticMesh/SM_Sphere2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c72a4e38f00bf647bf8807d671eedb83fff76c1e2fec4e64a462f98c0b71bfe +size 52418 diff --git a/Content/EnergyBallVFX/Texture/T_Caustic.uasset b/Content/EnergyBallVFX/Texture/T_Caustic.uasset new file mode 100644 index 0000000..f8b4cd1 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Caustic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:768c6a14a82987833ad5f1a7495fe9bbbaf4422ca9c53a548eceefe515410f1a +size 151882 diff --git a/Content/EnergyBallVFX/Texture/T_CloudNoise2.uasset b/Content/EnergyBallVFX/Texture/T_CloudNoise2.uasset new file mode 100644 index 0000000..14cd8d8 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_CloudNoise2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:654e8c321a6d874d9a9a225601b735288507dc66b94eafb949b350f1f5496aa3 +size 1348017 diff --git a/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8.uasset b/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8.uasset new file mode 100644 index 0000000..b874d98 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a8bb2c4d67af1e6d2a503860f7f5753db0420d5d59f8f8365cd4871daba016c +size 135890549 diff --git a/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8_Normal.uasset b/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8_Normal.uasset new file mode 100644 index 0000000..6419cc0 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_FireSwirlUV_8X8_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:722eb4babe038d40d3b30313a45f00a5fa8fdd4c1880c1823e9919240e730a57 +size 45250364 diff --git a/Content/EnergyBallVFX/Texture/T_Glow3.uasset b/Content/EnergyBallVFX/Texture/T_Glow3.uasset new file mode 100644 index 0000000..93f81a9 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Glow3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a9f91bd72980743eb06bcc47b5e91d518c3aa7d9c3b5b2f4e2515caf85683a6 +size 29134 diff --git a/Content/EnergyBallVFX/Texture/T_Noise.uasset b/Content/EnergyBallVFX/Texture/T_Noise.uasset new file mode 100644 index 0000000..5187e2f --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Noise.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9acee8f5225beb652816ebfe490adae7ab21530adcf93fda5caeef43d0e29501 +size 1367066 diff --git a/Content/EnergyBallVFX/Texture/T_Noise2.uasset b/Content/EnergyBallVFX/Texture/T_Noise2.uasset new file mode 100644 index 0000000..ab62d94 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Noise2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53bd11a49382d7ee01bc29ef0d3c905296cc56c6d3dd5b7026651656f5e0c8a3 +size 1177769 diff --git a/Content/EnergyBallVFX/Texture/T_Noise4.uasset b/Content/EnergyBallVFX/Texture/T_Noise4.uasset new file mode 100644 index 0000000..31e3a18 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Noise4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90932c9af716ae8f4abdf997bfe8e585b38195e61183748034bd1bdcdf225ae7 +size 151591 diff --git a/Content/EnergyBallVFX/Texture/T_Perlin_Noise.uasset b/Content/EnergyBallVFX/Texture/T_Perlin_Noise.uasset new file mode 100644 index 0000000..f323978 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Perlin_Noise.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc5269adb9ce19c32167f8c79eb689a6158cd7a67de6bcc2be501f759af223e3 +size 12013779 diff --git a/Content/EnergyBallVFX/Texture/T_Smoke_Tiled_D.uasset b/Content/EnergyBallVFX/Texture/T_Smoke_Tiled_D.uasset new file mode 100644 index 0000000..8f1a01a --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Smoke_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4c74b3a0fa6d72d8f89dc6e30bc2a02ecee7126526d48b817710ef8097b69c1 +size 56249 diff --git a/Content/EnergyBallVFX/Texture/T_Water_N.uasset b/Content/EnergyBallVFX/Texture/T_Water_N.uasset new file mode 100644 index 0000000..ea8378c --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Water_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0af8f307c074c2cfedb8acf6a4fbe8e400220d22bcff8762f1ce65ecbc49714b +size 2064223 diff --git a/Content/EnergyBallVFX/Texture/T_Wave_Noise.uasset b/Content/EnergyBallVFX/Texture/T_Wave_Noise.uasset new file mode 100644 index 0000000..4fabf72 --- /dev/null +++ b/Content/EnergyBallVFX/Texture/T_Wave_Noise.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7876cf78c9fc50387885f6cb2f4885093e2890d92109eb9a1754d16aff0f1b8a +size 1515138 diff --git a/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset new file mode 100644 index 0000000..9f4c3eb --- /dev/null +++ b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e95cabe5ed6f7d8171636526d43e6439afa0726496810069b5ce8aaad4f6865c +size 308381 diff --git a/Content/FPWeapon/Materials/BaseMaterial.uasset b/Content/FPWeapon/Materials/BaseMaterial.uasset new file mode 100644 index 0000000..7b69fd9 --- /dev/null +++ b/Content/FPWeapon/Materials/BaseMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f88c01235b95b297b78ef3eb0f165ef5958ea395df00efc79f175248046b06 +size 114754 diff --git a/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset new file mode 100644 index 0000000..bbe4ff4 --- /dev/null +++ b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f18cf4a81202b76462f923d7e394a08c18f2f48fc4345e70b0044df537d2ffb8 +size 98751 diff --git a/Content/FPWeapon/Materials/M_FPGun.uasset b/Content/FPWeapon/Materials/M_FPGun.uasset new file mode 100644 index 0000000..b0fdf95 --- /dev/null +++ b/Content/FPWeapon/Materials/M_FPGun.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe7d865c29d4a9b393413e2b06ac07d18db5c73180321829cb8f147a03044540 +size 135198 diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset new file mode 100644 index 0000000..1882944 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9e17524241935882b3c7d3b40f8497b555eca64cbbc419d2dfcd3ab3eb4baa2 +size 116110 diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset new file mode 100644 index 0000000..8b398ea --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56815475b3e4755609990348b2678c22ebfc5e85ae884e3e609c82b0f92d4d4f +size 99007 diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset new file mode 100644 index 0000000..e6cb752 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84f8ab6e7c2117ee8f7a6f9c20f3bb1d9d44ed4b2f8c95b84d50d7069ea57637 +size 96590 diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset new file mode 100644 index 0000000..8e4c1e3 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e598fff8f159d48b1f8febc143616bbeef44fd51331487d652a1c776114025ee +size 116886 diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset new file mode 100644 index 0000000..4c4e70c --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fda38b7222415bde3a7b44e711c78feaf8f1a75bca0645c3ae4101c983a13216 +size 8753839 diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset new file mode 100644 index 0000000..deeba26 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb297b2d2966af5cd4c4c019e3c65a81b55f31ac33657dcbc772851e35ea62c6 +size 4448460 diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset new file mode 100644 index 0000000..fb6172f --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0beafa8dc8fc41f7c027397c4706ab6d03176032a3539202b0f9ee094bd468be +size 6357504 diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset new file mode 100644 index 0000000..c14aec2 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5729fdd2f679bde8db97927a11052d7df6bd6282508ce082076f2d09b04d1c40 +size 5504250 diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset new file mode 100644 index 0000000..5cbf264 --- /dev/null +++ b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edbfb81b6f0a67e846e3ea0c707f1e727041828192efa42590ee6aebeebb3db9 +size 4902831 diff --git a/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset new file mode 100644 index 0000000..7ddff6c --- /dev/null +++ b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7eae0846352463a606831be13a985662e8632dd3faf7d0620dc70e81a59c52c +size 32570 diff --git a/Content/FPWeapon/Mesh/SK_FPGun.uasset b/Content/FPWeapon/Mesh/SK_FPGun.uasset new file mode 100644 index 0000000..0f1eb26 --- /dev/null +++ b/Content/FPWeapon/Mesh/SK_FPGun.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67c8259a243d5c66d35b91458da2dd7e9e860224052098ba554eba470cee4a2a +size 2162660 diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset new file mode 100644 index 0000000..d7353c6 --- /dev/null +++ b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98d95ebc9f2eb7af7ae4bcd09241b51999eb6631755f1f1e05f07420f4341a66 +size 9725 diff --git a/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset new file mode 100644 index 0000000..8d957d0 --- /dev/null +++ b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec59a9d8c1854bccaf19055899ccbe7acb4236a87448d763161414657c51da9a +size 9750 diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset new file mode 100644 index 0000000..e2ed362 --- /dev/null +++ b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96e62989c619661fe1742c15a314f78b2297cfcc52b8f8ddb2c2c323f7137f1a +size 8719 diff --git a/Content/FPWeapon/Textures/T_FPGun_M.uasset b/Content/FPWeapon/Textures/T_FPGun_M.uasset new file mode 100644 index 0000000..672feb4 --- /dev/null +++ b/Content/FPWeapon/Textures/T_FPGun_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88ff19857498031c943afcb0e715a6b5c0ef521cec80a9fc8b7666ead7254ecd +size 266945 diff --git a/Content/FPWeapon/Textures/T_FPGun_N.uasset b/Content/FPWeapon/Textures/T_FPGun_N.uasset new file mode 100644 index 0000000..fb9cd10 --- /dev/null +++ b/Content/FPWeapon/Textures/T_FPGun_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:991fc740b71c3fccc1b2a3ba021a0c297eeb400f9fb71dd76eb9215fb99cbb99 +size 1616497 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_DaShiZhu.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_DaShiZhu.uasset new file mode 100644 index 0000000..82b8605 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_DaShiZhu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46dae2c07a0e9f97eabbb10011e9ed3748a51a925d16b2f1552f1c2daf24ce95 +size 14935 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_ueknfaclw.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_ueknfaclw.uasset new file mode 100644 index 0000000..5dfc9d3 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/MI_ueknfaclw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef6aca6498afa990fee732e457f8afed5199513d66712fd68e9fd18a22369435 +size 40738 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/M_DaShiZhu_02.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/M_DaShiZhu_02.uasset new file mode 100644 index 0000000..cdc011a --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/M_DaShiZhu_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba91bf1e47c4fac611dc64fd758df2c242b23f5248ddd45d6f30d13d22e92f07 +size 25194 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_B.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_B.uasset new file mode 100644 index 0000000..46b04b1 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec13795e1924bdb82f480452cb23a05c0b682a5a47002f1732f8b36e0f791b34 +size 8516981 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_N.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_N.uasset new file mode 100644 index 0000000..1f487da --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:661dd782a53591e75339b15f837f2ba4631ee040d4baca42fd0f58e57170f60e +size 11905958 diff --git a/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_ORM.uasset b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_ORM.uasset new file mode 100644 index 0000000..6e0c989 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Mine_Rock_Wall_ueknfaclw/Medium/T_ueknfaclw_2K_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dc090c9960b6be74eda39bdcefeda0d72b1a180a181ec07a1992dcf35347006 +size 6461784 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU.uasset new file mode 100644 index 0000000..49659b2 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a56d87cc92b138ed71f683b50cdcd81db9d2c5fe2c2298ea1122e4e0bf75b0f +size 19506 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst.uasset new file mode 100644 index 0000000..4f5735e --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cabd50f832ade3d4d0d27a7ed9c2c4e8b033d22b821db473becd1bca5faf9304 +size 14170 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst1.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst1.uasset new file mode 100644 index 0000000..01d63e1 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/M_SHIZHU_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:975b7f9ce9cc3b712eb8215b5dfc098bf8bc58ef165cc96cf10096d904caf5cd +size 13497 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_B.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_B.uasset new file mode 100644 index 0000000..83457c8 --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f999123921407c7dd027dba37c103ceb44ff1758fa76c959a81e4b3073065c29 +size 7924624 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_N.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_N.uasset new file mode 100644 index 0000000..1791dee --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b57bb113b144dd38142f23e6fd3f09a8f13e3b102025c599078d60af5dc3c208 +size 11515155 diff --git a/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_ORM.uasset b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_ORM.uasset new file mode 100644 index 0000000..bb2aaaa --- /dev/null +++ b/Content/Fab/Megascans/Surfaces/Rock_Rough_omfr20/Medium/T_omfr20_2K_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:243c905440ee7acd81fd9875b006b628af46e2f4f1f780af70956d212a62cb2e +size 4017885 diff --git a/Content/Fabric_Material_Pack/Material/M_Fabric_26.uasset b/Content/Fabric_Material_Pack/Material/M_Fabric_26.uasset new file mode 100644 index 0000000..517143b --- /dev/null +++ b/Content/Fabric_Material_Pack/Material/M_Fabric_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1829dc5eb79207142b7628353f5a5d9fab8f8f8fd4f1801165e54198839c8094 +size 22727 diff --git a/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_AmbientOcclusion.uasset b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_AmbientOcclusion.uasset new file mode 100644 index 0000000..a0285c9 --- /dev/null +++ b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_AmbientOcclusion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:855a70ac3fca4ebcab71babb473d77d62be7455180c57ba3e7b5aaf16278cae9 +size 3749029 diff --git a/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_BaseColor.uasset b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_BaseColor.uasset new file mode 100644 index 0000000..c6c778a --- /dev/null +++ b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d12d3d8c183f57d3b7853d17190a9ffcf4fae912e448df61dec79e63e46e6ca7 +size 23916941 diff --git a/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Height.uasset b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Height.uasset new file mode 100644 index 0000000..5b07743 --- /dev/null +++ b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcffeed5977a498a2ac01ec511de05994a94bea233d1e99256bf8ed7de1cfecf +size 19422138 diff --git a/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Normal.uasset b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Normal.uasset new file mode 100644 index 0000000..0e904cd --- /dev/null +++ b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ccb82be50574eac10e1ff65cb186160e3b443e9f63dc68ba1747eb05e79e32e +size 99409100 diff --git a/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Roughness.uasset b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Roughness.uasset new file mode 100644 index 0000000..9edd1b4 --- /dev/null +++ b/Content/Fabric_Material_Pack/Textures/T_Fabric_26/T_Fabric_26_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56c831617dac57df5672dea0cf1324b9afa0fdcdcba4471e28353afd2eba9d99 +size 3747256 diff --git a/Content/FantasyDungeon/Materials/BaseMaterials/bese_material.uasset b/Content/FantasyDungeon/Materials/BaseMaterials/bese_material.uasset new file mode 100644 index 0000000..81423c4 --- /dev/null +++ b/Content/FantasyDungeon/Materials/BaseMaterials/bese_material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63fd9e2bdab91f6b51cae2a78c000a3201a0ff30636c7a4fc3cf75f2a311d20e +size 16866 diff --git a/Content/FantasyDungeon/Materials/Colimn/column.uasset b/Content/FantasyDungeon/Materials/Colimn/column.uasset new file mode 100644 index 0000000..2481094 --- /dev/null +++ b/Content/FantasyDungeon/Materials/Colimn/column.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc129d8835300a4a119c9a2bf7e747036e69bd26d947190426ce7491a191f85e +size 16262 diff --git a/Content/FantasyDungeon/Materials/Colimn/column1.uasset b/Content/FantasyDungeon/Materials/Colimn/column1.uasset new file mode 100644 index 0000000..55af9f1 --- /dev/null +++ b/Content/FantasyDungeon/Materials/Colimn/column1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f24a863443a8c0fd607ae05443f8b924bef6b14b33c5e67f5536986c2ec9ba +size 15014 diff --git a/Content/FantasyDungeon/Textures/BaseTexture/base_black_d.uasset b/Content/FantasyDungeon/Textures/BaseTexture/base_black_d.uasset new file mode 100644 index 0000000..2b1453b --- /dev/null +++ b/Content/FantasyDungeon/Textures/BaseTexture/base_black_d.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dc628f9e743937ba1119ac6d138ae1f4d43160fbb64812c7e52eb742c238afd +size 3649 diff --git a/Content/FantasyDungeon/Textures/BaseTexture/base_flat_n.uasset b/Content/FantasyDungeon/Textures/BaseTexture/base_flat_n.uasset new file mode 100644 index 0000000..41d9f7e --- /dev/null +++ b/Content/FantasyDungeon/Textures/BaseTexture/base_flat_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb59bc1000200c2d18b5e50ad62453be72b877214e617831a26b5eef7d11414d +size 3932 diff --git a/Content/FantasyDungeon/Textures/BaseTexture/base_gray_d.uasset b/Content/FantasyDungeon/Textures/BaseTexture/base_gray_d.uasset new file mode 100644 index 0000000..db01ca9 --- /dev/null +++ b/Content/FantasyDungeon/Textures/BaseTexture/base_gray_d.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1d4e17912c18da43450a7a8e8d46d7fb0a576719848d8f06f3e0784b5f52bb0 +size 3703 diff --git a/Content/FantasyDungeon/Textures/Column/Column_D.uasset b/Content/FantasyDungeon/Textures/Column/Column_D.uasset new file mode 100644 index 0000000..1c16b31 --- /dev/null +++ b/Content/FantasyDungeon/Textures/Column/Column_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f39a16c294a44a28a910f732f6dc99c9c949e9976e6701e0e7a605e0bbd47a1 +size 548047 diff --git a/Content/FantasyDungeon/Textures/Column/Column_N.uasset b/Content/FantasyDungeon/Textures/Column/Column_N.uasset new file mode 100644 index 0000000..156695e --- /dev/null +++ b/Content/FantasyDungeon/Textures/Column/Column_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71ab5e339af32e513866875380bf251fa94c22e1b5d06e480ee8af6e8ecb7747 +size 485473 diff --git a/Content/FantasyDungeon/Textures/Wall/Brick4_SRM.uasset b/Content/FantasyDungeon/Textures/Wall/Brick4_SRM.uasset new file mode 100644 index 0000000..51a8d3d --- /dev/null +++ b/Content/FantasyDungeon/Textures/Wall/Brick4_SRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34a7b24bd14e51b2aea258ed6b53920eb7657e503167afa7c1ffa6ea9a7ec529 +size 6435458 diff --git a/Content/FantasyDungeon/meshes/Column/Column03.uasset b/Content/FantasyDungeon/meshes/Column/Column03.uasset new file mode 100644 index 0000000..3460a12 --- /dev/null +++ b/Content/FantasyDungeon/meshes/Column/Column03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b588a453bc8cdfc5a1e66f8189d4fea43a6d1348e0231ef5d6a7c2a25291c2e1 +size 486848 diff --git a/Content/FireEffects/Materials/M_CampfireFlip.uasset b/Content/FireEffects/Materials/M_CampfireFlip.uasset new file mode 100644 index 0000000..7fce3c1 --- /dev/null +++ b/Content/FireEffects/Materials/M_CampfireFlip.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aa86447275a3fca3e7702ee67a9ca7046b8004e2cf027ad8272039bd69f4d51 +size 111557 diff --git a/Content/FireEffects/Materials/M_Embers.uasset b/Content/FireEffects/Materials/M_Embers.uasset new file mode 100644 index 0000000..42d7d93 --- /dev/null +++ b/Content/FireEffects/Materials/M_Embers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e91ac0cfbd4bbb04643bbfcfded2f6c3fcd976b6c11ae876c27bd58a21158b8 +size 75223 diff --git a/Content/FireEffects/Materials/M_Flames.uasset b/Content/FireEffects/Materials/M_Flames.uasset new file mode 100644 index 0000000..f3850ba --- /dev/null +++ b/Content/FireEffects/Materials/M_Flames.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:508faadc571c7d4113812c3171948ba26399fa8e11c589627f3d08d877e0e3dd +size 82235 diff --git a/Content/FireEffects/Materials/M_TorchFire.uasset b/Content/FireEffects/Materials/M_TorchFire.uasset new file mode 100644 index 0000000..ada369f --- /dev/null +++ b/Content/FireEffects/Materials/M_TorchFire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fd88f1aa42a9de2538f72ef12d4b9d68568b618eb31d8cd69c093208f1692bb +size 96988 diff --git a/Content/FireEffects/Materials/M_TorchFlip.uasset b/Content/FireEffects/Materials/M_TorchFlip.uasset new file mode 100644 index 0000000..e245bc8 --- /dev/null +++ b/Content/FireEffects/Materials/M_TorchFlip.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf1400b60e27e77a3aa110ec15b3c8beb670196b3939f5f86067f217406e3841 +size 94144 diff --git a/Content/FireEffects/Materials/M_Torch_Campfire.uasset b/Content/FireEffects/Materials/M_Torch_Campfire.uasset new file mode 100644 index 0000000..4f6b70e --- /dev/null +++ b/Content/FireEffects/Materials/M_Torch_Campfire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f775a2c5b91e1b6c96a588bf57767fb36b8bc3eddca408d8614dbfd15870711d +size 15615 diff --git a/Content/FireEffects/Meshes/SM_Campfire.uasset b/Content/FireEffects/Meshes/SM_Campfire.uasset new file mode 100644 index 0000000..f4de448 --- /dev/null +++ b/Content/FireEffects/Meshes/SM_Campfire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89c2173191a672589a6f8b2325cf0eb12528c585a5785d949e4c7cccb7d464a0 +size 96214 diff --git a/Content/FireEffects/Particles/P_Campfire.uasset b/Content/FireEffects/Particles/P_Campfire.uasset new file mode 100644 index 0000000..9b06b10 --- /dev/null +++ b/Content/FireEffects/Particles/P_Campfire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a14b1c911901249cf71614bddc94ebb42800f9de188eeb7cfec28345d1605e3 +size 268608 diff --git a/Content/FireEffects/Particles/P_TorchFire.uasset b/Content/FireEffects/Particles/P_TorchFire.uasset new file mode 100644 index 0000000..f0e582e --- /dev/null +++ b/Content/FireEffects/Particles/P_TorchFire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2fef2fb8d3d1192431b755cb2bf80e27980d9100298b903aa433039175790a +size 222615 diff --git a/Content/FireEffects/Textures/T_CampfireFlames.uasset b/Content/FireEffects/Textures/T_CampfireFlames.uasset new file mode 100644 index 0000000..5a9b601 --- /dev/null +++ b/Content/FireEffects/Textures/T_CampfireFlames.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f0d33fcce68e33fa57a0ba9d052609d1a9cb2783b47a55bad1fde5e91c41da7 +size 2113679 diff --git a/Content/FireEffects/Textures/T_Campfire_Torch.uasset b/Content/FireEffects/Textures/T_Campfire_Torch.uasset new file mode 100644 index 0000000..9e723c8 --- /dev/null +++ b/Content/FireEffects/Textures/T_Campfire_Torch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a44a93bc92c13eead58efdf31bfdf3bb85411d9389d37eac282dec2324b9254f +size 2134800 diff --git a/Content/FireEffects/Textures/T_Campfire_Torch_N.uasset b/Content/FireEffects/Textures/T_Campfire_Torch_N.uasset new file mode 100644 index 0000000..571a049 --- /dev/null +++ b/Content/FireEffects/Textures/T_Campfire_Torch_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39078c316338abc81d899c9f79f335d4dc48721e8dc737340ce2d4f93f885d3a +size 2150748 diff --git a/Content/FireEffects/Textures/T_CandleMasks.uasset b/Content/FireEffects/Textures/T_CandleMasks.uasset new file mode 100644 index 0000000..1169757 --- /dev/null +++ b/Content/FireEffects/Textures/T_CandleMasks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e81f351b87ee3fdb58b31e4009a7e332cd172038623dc5c044bf5cbc9c047bb +size 863273 diff --git a/Content/FireEffects/Textures/T_Embers.uasset b/Content/FireEffects/Textures/T_Embers.uasset new file mode 100644 index 0000000..d219267 --- /dev/null +++ b/Content/FireEffects/Textures/T_Embers.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08bded1f6f7d5d6e87fb6302dbf60db484d0da9104ca0f28419c4ab17ff51db9 +size 22107 diff --git a/Content/FireEffects/Textures/T_FireGradient.uasset b/Content/FireEffects/Textures/T_FireGradient.uasset new file mode 100644 index 0000000..3360d65 --- /dev/null +++ b/Content/FireEffects/Textures/T_FireGradient.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e001eb3a977897f56e758b0a26b5c5a327ae385cdb5a38f2e963a5ca1028cde1 +size 96063 diff --git a/Content/FireEffects/Textures/T_FrameClamp.uasset b/Content/FireEffects/Textures/T_FrameClamp.uasset new file mode 100644 index 0000000..6a6ee27 --- /dev/null +++ b/Content/FireEffects/Textures/T_FrameClamp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1919506c46e4c8b492902a82ef26d52b5b3c375ca47e48f731e2f61121751beb +size 638784 diff --git a/Content/FireEffects/Textures/T_TilingFire.uasset b/Content/FireEffects/Textures/T_TilingFire.uasset new file mode 100644 index 0000000..dcd79c1 --- /dev/null +++ b/Content/FireEffects/Textures/T_TilingFire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:158ce0954bca985c1552b7fa0bd2271e37a03027d3db4eb5599ff0842eaba8f6 +size 1934362 diff --git a/Content/FireEffects/Textures/T_TorchFire.uasset b/Content/FireEffects/Textures/T_TorchFire.uasset new file mode 100644 index 0000000..16152da --- /dev/null +++ b/Content/FireEffects/Textures/T_TorchFire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66bb89d08b12fdd180190524f7ca0b726c26cac7edda081545148f7b30afeefc +size 902528 diff --git a/Content/FireEffects/Textures/T_TorchFlip1.uasset b/Content/FireEffects/Textures/T_TorchFlip1.uasset new file mode 100644 index 0000000..63deef2 --- /dev/null +++ b/Content/FireEffects/Textures/T_TorchFlip1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eef72ff7d8fdb3c88424f25356c9ac8b23a63591cd6e6894bb62425671264946 +size 366786 diff --git a/Content/FireEffects/Textures/t_TorchMasks.uasset b/Content/FireEffects/Textures/t_TorchMasks.uasset new file mode 100644 index 0000000..dfcaa11 --- /dev/null +++ b/Content/FireEffects/Textures/t_TorchMasks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dab83a1e93e3d1e9123e688bda99664f7a768793b409f3acfacfe365adea2166 +size 749601 diff --git a/Content/FireLoops/Fields/Turbulence02.uasset b/Content/FireLoops/Fields/Turbulence02.uasset new file mode 100644 index 0000000..e4a3b55 --- /dev/null +++ b/Content/FireLoops/Fields/Turbulence02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68c30f0aaf64baed098a08d39dd2932f214dc996c405b76d97e1864dde3132c4 +size 98147 diff --git a/Content/FireLoops/Functions/Func_Flicker.uasset b/Content/FireLoops/Functions/Func_Flicker.uasset new file mode 100644 index 0000000..e63235d --- /dev/null +++ b/Content/FireLoops/Functions/Func_Flicker.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edc09b2d81c3f5de3114f15c7923ea99976d532b902432a51c4716f7291715f8 +size 80593 diff --git a/Content/FireLoops/Functions/Func_Flipbook.uasset b/Content/FireLoops/Functions/Func_Flipbook.uasset new file mode 100644 index 0000000..e47939d --- /dev/null +++ b/Content/FireLoops/Functions/Func_Flipbook.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e66bb7e559d51d873c904f363086dea92f503f7488346d6a0fe44d8a3e49df4 +size 74955 diff --git a/Content/FireLoops/Materials/M_Ember2.uasset b/Content/FireLoops/Materials/M_Ember2.uasset new file mode 100644 index 0000000..9c2c329 --- /dev/null +++ b/Content/FireLoops/Materials/M_Ember2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0de1494bcf9ca95cc5817c85e39622585b93c7f5d92b599600099b46ffe49d71 +size 78582 diff --git a/Content/FireLoops/Materials/M_FlameLoop_Master.uasset b/Content/FireLoops/Materials/M_FlameLoop_Master.uasset new file mode 100644 index 0000000..e3eea34 --- /dev/null +++ b/Content/FireLoops/Materials/M_FlameLoop_Master.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bacf11578454d0198e6706a757f9571610c534cbc840da5fea5d17b1875ca8e8 +size 133900 diff --git a/Content/FireLoops/Materials/M_FlameLoop_Master_Inst02.uasset b/Content/FireLoops/Materials/M_FlameLoop_Master_Inst02.uasset new file mode 100644 index 0000000..c0a8d24 --- /dev/null +++ b/Content/FireLoops/Materials/M_FlameLoop_Master_Inst02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21b914053e00edbe7d42809e22f34ee492bc40572f5b087f6b15b926f5311d7f +size 131861 diff --git a/Content/FireLoops/Particles/PS_Flame02.uasset b/Content/FireLoops/Particles/PS_Flame02.uasset new file mode 100644 index 0000000..a537455 --- /dev/null +++ b/Content/FireLoops/Particles/PS_Flame02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f69e022ac9bc29340e739d130931aea4dfed7aff7cacb1d8e1c950e5ff5a0b69 +size 251890 diff --git a/Content/FireLoops/Textures/T_Flame01.uasset b/Content/FireLoops/Textures/T_Flame01.uasset new file mode 100644 index 0000000..c4d65c7 --- /dev/null +++ b/Content/FireLoops/Textures/T_Flame01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94b936003fff9d12cd88f58daad684cdc5d1648cb66f87b9e9e35577f84cf57b +size 5849718 diff --git a/Content/FireLoops/Textures/T_Flame01_Alpha.uasset b/Content/FireLoops/Textures/T_Flame01_Alpha.uasset new file mode 100644 index 0000000..aa5dec8 --- /dev/null +++ b/Content/FireLoops/Textures/T_Flame01_Alpha.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0121c7c0b272d3eade86b004822fc921a3cc5a9261b73a134d807d57eb092f0d +size 2496754 diff --git a/Content/FireLoops/Textures/T_Flame02.uasset b/Content/FireLoops/Textures/T_Flame02.uasset new file mode 100644 index 0000000..12f400a --- /dev/null +++ b/Content/FireLoops/Textures/T_Flame02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66c3b2fb71d2de205ba871d7dd6b8e8e8682b7d4a80d0c7b2f41672dc39179bc +size 5013367 diff --git a/Content/FireLoops/Textures/T_Flame02_Alpha.uasset b/Content/FireLoops/Textures/T_Flame02_Alpha.uasset new file mode 100644 index 0000000..bde0f25 --- /dev/null +++ b/Content/FireLoops/Textures/T_Flame02_Alpha.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa67b70c395fa6e93de73dcad4bea3a1e138f106e56a390bcf8be702475f0a82 +size 1949462 diff --git a/Content/FireworksSpecialEffect/Fx/Texture/T_Fx_NoiseA.uasset b/Content/FireworksSpecialEffect/Fx/Texture/T_Fx_NoiseA.uasset new file mode 100644 index 0000000..439362c --- /dev/null +++ b/Content/FireworksSpecialEffect/Fx/Texture/T_Fx_NoiseA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfb54da56f1424912727542dd451c2c7bab2603a54850bc80497cf6344e576f1 +size 218773 diff --git a/Content/FluidNinja/Input/SharedBitmaps/T_Noise2.uasset b/Content/FluidNinja/Input/SharedBitmaps/T_Noise2.uasset new file mode 100644 index 0000000..288e890 --- /dev/null +++ b/Content/FluidNinja/Input/SharedBitmaps/T_Noise2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf819c0194350da7d23351a49e0e2ad5d37e40e6f129d7af49752be15e1f1a8b +size 38892 diff --git a/Content/GothicDungeon/Textures/T_GD_StoneWall_00B_BaseColor.uasset b/Content/GothicDungeon/Textures/T_GD_StoneWall_00B_BaseColor.uasset new file mode 100644 index 0000000..35d1d8c --- /dev/null +++ b/Content/GothicDungeon/Textures/T_GD_StoneWall_00B_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cafa0d327b4414913b38baf2b1ea4f22e0a92779a566aa64d9f79874e0f7e807 +size 31708622 diff --git a/Content/Hulaoguan/Meshs/hulaoguan/Model-723636-files-1.uasset b/Content/Hulaoguan/Meshs/hulaoguan/Model-723636-files-1.uasset new file mode 100644 index 0000000..7567608 --- /dev/null +++ b/Content/Hulaoguan/Meshs/hulaoguan/Model-723636-files-1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1e2a97a3c25fc0c087ad0788287ca17b11a20a4a17653a87a3e1ae041b7d346 +size 70947 diff --git a/Content/Hulaoguan/Meshs/hulaoguan/lambert2.uasset b/Content/Hulaoguan/Meshs/hulaoguan/lambert2.uasset new file mode 100644 index 0000000..d8ea3d7 --- /dev/null +++ b/Content/Hulaoguan/Meshs/hulaoguan/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2670530b444ef7829c26016e89ea643ab5703c67eb5675a4466255123c3c1601 +size 8762 diff --git a/Content/Hulaoguan/Meshs/hulaoguan/lambert3.uasset b/Content/Hulaoguan/Meshs/hulaoguan/lambert3.uasset new file mode 100644 index 0000000..1a3d627 --- /dev/null +++ b/Content/Hulaoguan/Meshs/hulaoguan/lambert3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53028abb34a5fdddd134f0501c59fa0ee0742eee29fd7ba2df6b47d77bd87762 +size 8879 diff --git a/Content/Hulaoguan/Meshs/lambert1.uasset b/Content/Hulaoguan/Meshs/lambert1.uasset new file mode 100644 index 0000000..6746b1a --- /dev/null +++ b/Content/Hulaoguan/Meshs/lambert1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a3c9e07840bbbfab6a0d9a02829fa40a41a8717b8a3e9acae2e17f9b97d469 +size 18878 diff --git a/Content/Hulaoguan/Meshs/虎牢关/H-JJKJ-20-01-11-7001.uasset b/Content/Hulaoguan/Meshs/虎牢关/H-JJKJ-20-01-11-7001.uasset new file mode 100644 index 0000000..7a23205 --- /dev/null +++ b/Content/Hulaoguan/Meshs/虎牢关/H-JJKJ-20-01-11-7001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba76a44cbfd5ed0719d23e675b220390ea6974de9c36295b156d6e47e849159 +size 1759094 diff --git a/Content/JadeMaterialPack/Materials/MI_DentJade.uasset b/Content/JadeMaterialPack/Materials/MI_DentJade.uasset new file mode 100644 index 0000000..4cf3acd --- /dev/null +++ b/Content/JadeMaterialPack/Materials/MI_DentJade.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efbd53db62885c982d8f7550d0861acd6ef0349a25bd20d58c3a7cab4348f42d +size 135656 diff --git a/Content/JadeMaterialPack/Materials/M_JadeBase.uasset b/Content/JadeMaterialPack/Materials/M_JadeBase.uasset new file mode 100644 index 0000000..425f015 --- /dev/null +++ b/Content/JadeMaterialPack/Materials/M_JadeBase.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48d2ce7c84fd1f185a32699fa3b2b13075677d3cf5cd49ae92d208b28b042bf4 +size 25270 diff --git a/Content/JadeMaterialPack/Textures/T_CleanJade_D.uasset b/Content/JadeMaterialPack/Textures/T_CleanJade_D.uasset new file mode 100644 index 0000000..1755613 --- /dev/null +++ b/Content/JadeMaterialPack/Textures/T_CleanJade_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71d3366860b0833f645ff95ea32dc7686feaa535daab9bdbf96627bd9eb5d125 +size 22444209 diff --git a/Content/JadeMaterialPack/Textures/T_CleanJade_N.uasset b/Content/JadeMaterialPack/Textures/T_CleanJade_N.uasset new file mode 100644 index 0000000..0ea28aa --- /dev/null +++ b/Content/JadeMaterialPack/Textures/T_CleanJade_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c66946b48a04b63b4b646a1da65e206e8b91cbe4ac7fe56dd3c344a298de333 +size 7206 diff --git a/Content/JadeMaterialPack/Textures/T_CleanJade_ORM.uasset b/Content/JadeMaterialPack/Textures/T_CleanJade_ORM.uasset new file mode 100644 index 0000000..50f058b --- /dev/null +++ b/Content/JadeMaterialPack/Textures/T_CleanJade_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8441a6df3702bbc937ed79a4fc44dd0ea675a667ebbdcc90c6e8cfd0b5d7d64e +size 12814872 diff --git a/Content/JadeMaterialPack/Textures/T_DentJade_N.uasset b/Content/JadeMaterialPack/Textures/T_DentJade_N.uasset new file mode 100644 index 0000000..ca860e2 --- /dev/null +++ b/Content/JadeMaterialPack/Textures/T_DentJade_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbe25e81bfba15b874d4cb83319e182ff135f95516da391ffd82ff00a87d09cc +size 16456590 diff --git a/Content/JadeMaterialPack/Textures/T_DentJade_ORM.uasset b/Content/JadeMaterialPack/Textures/T_DentJade_ORM.uasset new file mode 100644 index 0000000..6998066 --- /dev/null +++ b/Content/JadeMaterialPack/Textures/T_DentJade_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:184fb2473ba0988c3e4b4497a0ebdb99b6ee19d3b2938b47dd565ca9930fa991 +size 12814863 diff --git a/Content/KiAuras/Effects/P_Ki_aura_basic.uasset b/Content/KiAuras/Effects/P_Ki_aura_basic.uasset new file mode 100644 index 0000000..b650051 --- /dev/null +++ b/Content/KiAuras/Effects/P_Ki_aura_basic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a491f950b50045f88b7cfcbacde1cccb2b07e3a876fcdcbf829f1f5ed0ab5d54 +size 1866931 diff --git a/Content/KiAuras/Functions/MF_Scale_n_Offset.uasset b/Content/KiAuras/Functions/MF_Scale_n_Offset.uasset new file mode 100644 index 0000000..ee66c3d --- /dev/null +++ b/Content/KiAuras/Functions/MF_Scale_n_Offset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81972281985eed5303c21fe2a423e8e81cbbbca3f1a12fe72c498ce1e01cb9be +size 82218 diff --git a/Content/KiAuras/Materials/MI_Circle131b.uasset b/Content/KiAuras/Materials/MI_Circle131b.uasset new file mode 100644 index 0000000..d8824b7 --- /dev/null +++ b/Content/KiAuras/Materials/MI_Circle131b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf1370ba25bbd166f1b9d394d4cdf858bff17f233bb6e769c2fc4dfd53fc3f9 +size 10561 diff --git a/Content/KiAuras/Materials/MI_Smoke30b.uasset b/Content/KiAuras/Materials/MI_Smoke30b.uasset new file mode 100644 index 0000000..2327343 --- /dev/null +++ b/Content/KiAuras/Materials/MI_Smoke30b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23fd256386ab1670d686e5bd8996739c8b99d032d91e1fdc20830f08cb225e5d +size 69698 diff --git a/Content/KiAuras/Materials/M_Circle80b.uasset b/Content/KiAuras/Materials/M_Circle80b.uasset new file mode 100644 index 0000000..e2712ab --- /dev/null +++ b/Content/KiAuras/Materials/M_Circle80b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cccf3889628011e83fca6134e649ed9837d92c8f32e677ff09457e2401cc4f0 +size 82087 diff --git a/Content/KiAuras/Materials/M_Point12b.uasset b/Content/KiAuras/Materials/M_Point12b.uasset new file mode 100644 index 0000000..9a07b6f --- /dev/null +++ b/Content/KiAuras/Materials/M_Point12b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e951fa0d7c3ad893db3f66bc851869379db77e2f7c8ac1d635358e67195bc4a2 +size 73879 diff --git a/Content/KiAuras/Materials/M_Smoke24b.uasset b/Content/KiAuras/Materials/M_Smoke24b.uasset new file mode 100644 index 0000000..71232bd --- /dev/null +++ b/Content/KiAuras/Materials/M_Smoke24b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43f545d6b8584e1bf7d2866c3818fe0e522e99f94e5cadcc21aa05f7cbbccb01 +size 14638 diff --git a/Content/KiAuras/Materials/M_Trail73bd.uasset b/Content/KiAuras/Materials/M_Trail73bd.uasset new file mode 100644 index 0000000..7a3b5ac --- /dev/null +++ b/Content/KiAuras/Materials/M_Trail73bd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99dd60dffec18033a8edd595a44de4d2127e458b07c3a0a0fd5e08690d3d95db +size 115367 diff --git a/Content/KiAuras/Models/SM_CylindricalCone.uasset b/Content/KiAuras/Models/SM_CylindricalCone.uasset new file mode 100644 index 0000000..7da2472 --- /dev/null +++ b/Content/KiAuras/Models/SM_CylindricalCone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd38779fc7ac9cf79bb32f59cd48f7d8fe722ecf85f285e4fd7252a459170b27 +size 19741 diff --git a/Content/KiAuras/Models/SM_Twist4.uasset b/Content/KiAuras/Models/SM_Twist4.uasset new file mode 100644 index 0000000..ffd1dab --- /dev/null +++ b/Content/KiAuras/Models/SM_Twist4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e157929e95fbccffb354ca62d8b2673f03854e9ff8be4e2c33b83d4d66ad5f0 +size 22319 diff --git a/Content/KiAuras/Textures/T_Circle131.uasset b/Content/KiAuras/Textures/T_Circle131.uasset new file mode 100644 index 0000000..7832baf --- /dev/null +++ b/Content/KiAuras/Textures/T_Circle131.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f975abc209929471334ff6261bc93dac965fc88651ea1fe8c165e870571aeac +size 178507 diff --git a/Content/KiAuras/Textures/T_Circle80.uasset b/Content/KiAuras/Textures/T_Circle80.uasset new file mode 100644 index 0000000..aa1e4cd --- /dev/null +++ b/Content/KiAuras/Textures/T_Circle80.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35208daa76705944beae1a8fefad062791393cc161da209267bf42c299d80810 +size 78468 diff --git a/Content/KiAuras/Textures/T_MaskForShader.uasset b/Content/KiAuras/Textures/T_MaskForShader.uasset new file mode 100644 index 0000000..2158bf4 --- /dev/null +++ b/Content/KiAuras/Textures/T_MaskForShader.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dff4f5a2a2658eb8e452481671c69136be914f485d9ae69fe0f5d1e3441e30b1 +size 109935 diff --git a/Content/KiAuras/Textures/T_Noise34.uasset b/Content/KiAuras/Textures/T_Noise34.uasset new file mode 100644 index 0000000..826708d --- /dev/null +++ b/Content/KiAuras/Textures/T_Noise34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80b18a7f7fd2dcd0f31b03c8efc6ee4830d7ca998fb4f4e482475aa916d25c63 +size 478331 diff --git a/Content/KiAuras/Textures/T_NormalMap1.uasset b/Content/KiAuras/Textures/T_NormalMap1.uasset new file mode 100644 index 0000000..df92b49 --- /dev/null +++ b/Content/KiAuras/Textures/T_NormalMap1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f7eb0774cf5a1f7f13aed79d85e47da46c3138db3ba6f7c359b19f5897bd99a +size 692358 diff --git a/Content/KiAuras/Textures/T_Point12.uasset b/Content/KiAuras/Textures/T_Point12.uasset new file mode 100644 index 0000000..cb0a0a0 --- /dev/null +++ b/Content/KiAuras/Textures/T_Point12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc06d15a88b0005432e5c79aff15ef550c0f4578cb0354d57157a826b42cbd80 +size 238599 diff --git a/Content/KiAuras/Textures/T_Point19.uasset b/Content/KiAuras/Textures/T_Point19.uasset new file mode 100644 index 0000000..63f9a1c --- /dev/null +++ b/Content/KiAuras/Textures/T_Point19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8769396f573f0d3ba9dbbda2dbbf0cf0afd20765bcd32283b947d787ebe3bb0f +size 80439 diff --git a/Content/KiAuras/Textures/T_Smoke24.uasset b/Content/KiAuras/Textures/T_Smoke24.uasset new file mode 100644 index 0000000..532ec0f --- /dev/null +++ b/Content/KiAuras/Textures/T_Smoke24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb9872af9455f5770b5e6c2de18c1df8648c0ef1f9a955ba35c680a38a5d861a +size 56132 diff --git a/Content/KiAuras/Textures/T_Smoke30.uasset b/Content/KiAuras/Textures/T_Smoke30.uasset new file mode 100644 index 0000000..81011d8 --- /dev/null +++ b/Content/KiAuras/Textures/T_Smoke30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ca4d95200ca3751560da84c038794c8133cc0315d531bc04043e5a7cafa4b3 +size 132309 diff --git a/Content/KiAuras/Textures/T_Trail73.uasset b/Content/KiAuras/Textures/T_Trail73.uasset new file mode 100644 index 0000000..f1bbb82 --- /dev/null +++ b/Content/KiAuras/Textures/T_Trail73.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3816b9f1385da34597fd3d4cd248d85c0bca2c90ed03a198fc7ebb2fff958c4f +size 103171 diff --git a/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset new file mode 100644 index 0000000..e0cc490 --- /dev/null +++ b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:966c86a7f625ec5d25da7a05a293c025c46ed7fbc30cb76ab442cef6401d37e4 +size 48315 diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset new file mode 100644 index 0000000..1391026 --- /dev/null +++ b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3165e72dd96b47ca452bbcdd19a17a55ab2efe10d5a0149425099f8aa8b4ff9f +size 13162 diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset new file mode 100644 index 0000000..d727d35 --- /dev/null +++ b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa0f2a06a7d937127d7d737c13bacb3f8fe88c8e0479f5e6b7cda81fd225d077 +size 11922 diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset new file mode 100644 index 0000000..1eae7f9 --- /dev/null +++ b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:838034e5afc7ab3a70bfff6de2e1237aa02337fb423e95c1b536b3e30c61c982 +size 11957 diff --git a/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset new file mode 100644 index 0000000..b45fb00 --- /dev/null +++ b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d093684fcd818033571f85740d99b8a78ebae0fb808db2041cbec0d1b6a30160 +size 8835 diff --git a/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset new file mode 100644 index 0000000..f326fc9 --- /dev/null +++ b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08a87880a4f324600ea7dd2dfab36d69e439cc853e6d93fc7de1aed3d051e0a2 +size 42222 diff --git a/Content/LevelPrototyping/Materials/M_Solid.uasset b/Content/LevelPrototyping/Materials/M_Solid.uasset new file mode 100644 index 0000000..659eada --- /dev/null +++ b/Content/LevelPrototyping/Materials/M_Solid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:789a040cc1c81ed81bcfe2c269c422196872c718b31c1550ef4d444e01161e68 +size 10998 diff --git a/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset new file mode 100644 index 0000000..964bb61 --- /dev/null +++ b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f96b1183a49b6dfe3e238b8c75051ab959aaee33fa42c771016d543d60525257 +size 23242 diff --git a/Content/LevelPrototyping/Meshes/SM_Cube.uasset b/Content/LevelPrototyping/Meshes/SM_Cube.uasset new file mode 100644 index 0000000..e1707de --- /dev/null +++ b/Content/LevelPrototyping/Meshes/SM_Cube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1987598679c19fbd36f2fc9206bfb02e7344ca4a87a53c75bfab228dc56c63b1 +size 17381 diff --git a/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset new file mode 100644 index 0000000..0ab270f --- /dev/null +++ b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a59270c4e29b708c93c0872970bd7f8cc2a9db0e898ba6792605364b25fee585 +size 20348 diff --git a/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset new file mode 100644 index 0000000..5edf332 --- /dev/null +++ b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8da43997ae75f32c7fba7047ca3f34ca88d68613845d556072b74c93de74e6a5 +size 17827 diff --git a/Content/LevelPrototyping/Meshes/SM_Ramp.uasset b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset new file mode 100644 index 0000000..d099706 --- /dev/null +++ b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81a46d90c20408e4246e37c4c00bf764b5a05d3752eadd1c3b10e8946a79ffbe +size 17169 diff --git a/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset new file mode 100644 index 0000000..b75de35 --- /dev/null +++ b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dabaf0fd46e7b024c568e2ca09d06ae4f2b909650251e56a5b15ae4e6df6671f +size 9701 diff --git a/Content/MSPresets/M_MS_Default_Fuzz_Material/M_MS_Default_Fuzz_Material.uasset b/Content/MSPresets/M_MS_Default_Fuzz_Material/M_MS_Default_Fuzz_Material.uasset new file mode 100644 index 0000000..d87c990 --- /dev/null +++ b/Content/MSPresets/M_MS_Default_Fuzz_Material/M_MS_Default_Fuzz_Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98491881634da74a58697449089f66d5437afcb30b84636b640dcab25eebeb10 +size 26914 diff --git a/Content/MWSkeleton/Materials/MASTER/Func/MF_MW_CombineNormal.uasset b/Content/MWSkeleton/Materials/MASTER/Func/MF_MW_CombineNormal.uasset new file mode 100644 index 0000000..590cc53 --- /dev/null +++ b/Content/MWSkeleton/Materials/MASTER/Func/MF_MW_CombineNormal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe554d3a830477887f5b1db6dc5b3f6bf07342dbc46ae15d11408db3fefc4b0 +size 58488 diff --git a/Content/MWSkeleton/Materials/MASTER/Func/SSP_SKL_Skeleton.uasset b/Content/MWSkeleton/Materials/MASTER/Func/SSP_SKL_Skeleton.uasset new file mode 100644 index 0000000..0651c5b --- /dev/null +++ b/Content/MWSkeleton/Materials/MASTER/Func/SSP_SKL_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc420b5c5bb9fa3a040e0becadbc60cb1a90adcfdd63c00e600be1384ccb1e23 +size 2384 diff --git a/Content/MWSkeleton/Materials/MASTER/MTL_SKL_SkeletonGhost_MASTER.uasset b/Content/MWSkeleton/Materials/MASTER/MTL_SKL_SkeletonGhost_MASTER.uasset new file mode 100644 index 0000000..e4ce464 --- /dev/null +++ b/Content/MWSkeleton/Materials/MASTER/MTL_SKL_SkeletonGhost_MASTER.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c86b5599b1be77a3a1604e1fcad7e29839729b8c27aed418e75e4292cf4bed42 +size 21151 diff --git a/Content/MWSkeleton/Materials/MASTER/MTL_SKL_Skeleton_MASTER.uasset b/Content/MWSkeleton/Materials/MASTER/MTL_SKL_Skeleton_MASTER.uasset new file mode 100644 index 0000000..d74ad64 --- /dev/null +++ b/Content/MWSkeleton/Materials/MASTER/MTL_SKL_Skeleton_MASTER.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b022e87d3890c8f83145a6f60f7be2b5b1c171443fedd137ba8202e45f3ae8 +size 20709 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanArm.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanArm.uasset new file mode 100644 index 0000000..3296b73 --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanArm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f24e43fa11a8b915304af1280e94bb171bc3b4388f10f393f13a3fa12890732e +size 15837 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanLeg.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanLeg.uasset new file mode 100644 index 0000000..c541444 --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanLeg.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1afb4d0c68448618a79c94bbfcd8e896ef59590bfe9ec231352361acfb8ba832 +size 15550 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanSkull.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanSkull.uasset new file mode 100644 index 0000000..e82b318 --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanSkull.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c31aeb723b8958f5b2586e4afd751b9cde4f6b175ae99f3e74313fc6a6741f9 +size 14857 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanTorso.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanTorso.uasset new file mode 100644 index 0000000..7eceecf --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_CleanTorso.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a29700f22b7f7316f3d820289d4618453225e63ebfaaa4a85ded87ba522bfa9 +size 15087 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostArm.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostArm.uasset new file mode 100644 index 0000000..310d0d6 --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostArm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e9fba7e53d598d0a1572f8e5b17cad959be9122e008b0dbe6da267311b0509 +size 21053 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostLeg.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostLeg.uasset new file mode 100644 index 0000000..c7294ae --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostLeg.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e38c9898b3b85432b9228c5fb86b5cd6aac51bb164f5b2d39f9264920ac3d041 +size 19879 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostSkull.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostSkull.uasset new file mode 100644 index 0000000..0dedbf2 --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostSkull.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92d5ba22a013d97cf15f115832fd80f95c20fbe225706a6354e2bb3d9f50cb27 +size 17926 diff --git a/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostTorso.uasset b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostTorso.uasset new file mode 100644 index 0000000..76b06fd --- /dev/null +++ b/Content/MWSkeleton/Materials/Skeleton/MTL_SKL_GhostTorso.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5239a18bcfe00d2ddf7d25c1530482b4e1bab8e9ee197bd04d67910cabf8ee4 +size 17097 diff --git a/Content/MWSkeleton/SM_gutou01.uasset b/Content/MWSkeleton/SM_gutou01.uasset new file mode 100644 index 0000000..21b699e --- /dev/null +++ b/Content/MWSkeleton/SM_gutou01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f8f95e0624d933290d56149202463fc4a5936b24ef250c5798c6eaf76d077b +size 354534 diff --git a/Content/MWSkeleton/SM_gutou02.uasset b/Content/MWSkeleton/SM_gutou02.uasset new file mode 100644 index 0000000..93e8a82 --- /dev/null +++ b/Content/MWSkeleton/SM_gutou02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc095c1c216f706630e10182dd8deff39814d2fe6dc10fc1b5a01f3bd3f8d7de +size 236699 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_col.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_col.uasset new file mode 100644 index 0000000..6471aa4 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6527790e54639d54f2a33f2738257fd572ce642c1970b00f2fd58a45ec3b1d91 +size 44295784 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_nrm.uasset new file mode 100644 index 0000000..d4566ec --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Ash_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca73ec28cb931b882f7990b4678246b2dd9c25efd0f1ab19d5583d87e07fe7fd +size 51677348 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_msk.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_msk.uasset new file mode 100644 index 0000000..91354eb --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_msk.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0789405e92cc03d4cf43a5f341a7f1c48f9fa68043bc1594fa8f1de13637a6b6 +size 3665065 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_nrm.uasset new file mode 100644 index 0000000..ef05418 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Blood_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eef905ea28780c4db7893a9e3a7be78597a729e55a4adc9200b8f905d40f891 +size 9325111 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_col.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_col.uasset new file mode 100644 index 0000000..9ca1303 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e8a2cb65a1b99f4273cff88d0c3ab2c4b089225b5470d9cd2952f931de767d +size 18969203 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_nrm.uasset new file mode 100644 index 0000000..2270d69 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Burned_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf73ce9b69191489646d6862a4d4ceaa6887003406829b38379194c7cd45411 +size 24551718 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_col.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_col.uasset new file mode 100644 index 0000000..4c60645 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69bb8ec3baae9b8ed8b4ac6e5d999098670983110556f174711dc49cf3d5aee3 +size 27285726 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_nrm.uasset new file mode 100644 index 0000000..29230ba --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Flesh_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ae0b4d7624fdc67006b90d20b7657b25ea956c141cfdf0eb525df6c719a0294 +size 41913725 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_col.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_col.uasset new file mode 100644 index 0000000..c1bc857 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f92f1ce0d9c47632e3adc773d5df37271781e1a5303ebb9fd868d270249917 +size 45197723 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_nrm.uasset new file mode 100644 index 0000000..06e2341 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Moss_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27728bd599c43be05c8fc569d8fdf310492e11521a48d77b1a2a38e5e210b1c +size 47772027 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_col.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_col.uasset new file mode 100644 index 0000000..d914b74 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc412c136df92865edfa2fe4e75afd137662be531667187fcd2403e9875c8d38 +size 53343521 diff --git a/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_nrm.uasset b/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_nrm.uasset new file mode 100644 index 0000000..0998306 --- /dev/null +++ b/Content/MWSkeleton/Textures/Details/TEX_SKL_Old_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38fd698911cff9babf6f32840032bd86a150e55ce2ce18f2ea9481d892ca1e94 +size 43147584 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_col.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_col.uasset new file mode 100644 index 0000000..55daf7a --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e9d6ac5e846dbed798a2b2bfac65c33343cbde4e7a2ba2e41e7617c63d2c179 +size 423607 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_msk.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_msk.uasset new file mode 100644 index 0000000..ffa9e78 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_msk.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7df33215cfb2181e6b5924b4c8cf34c59f0bc7d21fa60fb9a9f341aac134335 +size 526506 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_nrm.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_nrm.uasset new file mode 100644 index 0000000..6bde251 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Arm_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f595ed425336bc6edd8bcf3365e8af6671d887d9165b4ba12445ae2843b193b6 +size 666371 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_col.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_col.uasset new file mode 100644 index 0000000..fb14bc8 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d35048bab99e4aaa8bf8869eaa44ac833c4f6fcd7a332e8823c276212e56a133 +size 367569 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_msk.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_msk.uasset new file mode 100644 index 0000000..187d9a2 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_msk.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c45a237260f6135eaf4bdf38667cc683e61759ce0248a7b894674ab057bc1877 +size 470097 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_nrm.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_nrm.uasset new file mode 100644 index 0000000..4800b5c --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Leg_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:427df6f52cdc53d49f52d6eeb59e3ddd6818aa7dbb282835660b833c8a2c3172 +size 554019 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_col.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_col.uasset new file mode 100644 index 0000000..af94e6b --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34bfbc225516b536174492c20b29ecb3ed2d62ee58a2d12d12fb2af8650aaf87 +size 391999 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_msk.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_msk.uasset new file mode 100644 index 0000000..2f71a47 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_msk.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c376906c848c90acb72ced7a323f87567a576e23a13ddc839f3617480bef1851 +size 495977 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_nrm.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_nrm.uasset new file mode 100644 index 0000000..18b8deb --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Skull_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2500cd0e172e90651b8821ee27c6a931256291719847ffa356d7b658ecabfe8 +size 547412 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_col.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_col.uasset new file mode 100644 index 0000000..43004f4 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_col.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08f7355299549647b36391bc5e399957d41f70e97fdaa025e3e47eba762d8048 +size 471980 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_msk.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_msk.uasset new file mode 100644 index 0000000..de1f5ff --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_msk.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:745ba0688c703667ff330809cf6fd518cf0588857b5b6a9fbb9d790387f1ee37 +size 589113 diff --git a/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_nrm.uasset b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_nrm.uasset new file mode 100644 index 0000000..b165e90 --- /dev/null +++ b/Content/MWSkeleton/Textures/Skeleton/TEX_SKL_Torso_nrm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34a0af4bed3da3d32b229b9920030851a91263ce372f997be1e4ced5dd49d91 +size 2466193 diff --git a/Content/M_huxi.uasset b/Content/M_huxi.uasset new file mode 100644 index 0000000..a6c3466 --- /dev/null +++ b/Content/M_huxi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6853246f2d71431b4e8f96771ba56b44d0736608905a5bb29392a8a5065d75e7 +size 15534 diff --git a/Content/M_huxi_Inst.uasset b/Content/M_huxi_Inst.uasset new file mode 100644 index 0000000..149ecde --- /dev/null +++ b/Content/M_huxi_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e885a515d9946bb45a415374b561f331f5fa2a5d572b56b42aeac5e957488e8 +size 8762 diff --git a/Content/M_zhiyingxian_QiJu.uasset b/Content/M_zhiyingxian_QiJu.uasset new file mode 100644 index 0000000..93153f6 --- /dev/null +++ b/Content/M_zhiyingxian_QiJu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:352f6f596dab0d29b349724169d0f2cf1678275b9c7cc5669fb1edf4d3f238b8 +size 10070 diff --git a/Content/M_zhiyingxian_kaichang.uasset b/Content/M_zhiyingxian_kaichang.uasset new file mode 100644 index 0000000..89d1978 --- /dev/null +++ b/Content/M_zhiyingxian_kaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9a9453b73fe009d95dd7940e210cdf11fd5cd8b5301db7474b7b9e3fd499119 +size 11378 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_01/MI_Magic_Circle_1.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_01/MI_Magic_Circle_1.uasset new file mode 100644 index 0000000..583ec25 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_01/MI_Magic_Circle_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e344d0fb65db97752c4ae75cd87d5c00192f662e3cf5ffe6094e13df8d5a850e +size 76598 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_2.uasset new file mode 100644 index 0000000..17394e0 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:114f0edddc23e686514852c2cedacf630df6fca8a3baae0a5c01b1243c33ea75 +size 77024 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_Lower_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_Lower_2.uasset new file mode 100644 index 0000000..ba38137 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/MI_Magic_Circle_Lower_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13f25cca5aabeae519e846d5e10294342ca089e873332c06d314e2a4aea730ca +size 82394 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/NS_Magic_Circle_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/NS_Magic_Circle_2.uasset new file mode 100644 index 0000000..2abacca --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_02/NS_Magic_Circle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0046da09633a0fca5b292bbd8ca38292ed6cfa85fee4de72168814e602d84560 +size 2134232 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/MI_Magic_Circle_8.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/MI_Magic_Circle_8.uasset new file mode 100644 index 0000000..66ed73f --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/MI_Magic_Circle_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b73b91c275fd597dd1be5f203f7bf8849b05f6c06a06e7899383a1cada96a16 +size 80754 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/NS_Magic_Circle_8.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/NS_Magic_Circle_8.uasset new file mode 100644 index 0000000..1bca040 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_08/NS_Magic_Circle_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa6050f0a76d528a98c0c91e83c6e8e405e71e028b582afa7d0a1fadb7dfcc36 +size 3740602 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_23.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_23.uasset new file mode 100644 index 0000000..1123561 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:537a1fb9e012e17ce413053a912fc0570418674de830ffda8cb3f8b3561a001c +size 78924 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_NoSmoothStep_23.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_NoSmoothStep_23.uasset new file mode 100644 index 0000000..00f4db8 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/MI_Magic_Circle_NoSmoothStep_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1bc33bdcf1d257a5203f92a2f019768cb462c239019369cd56474a2492bec00 +size 79343 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/NS_Magic_Circle_23.uasset b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/NS_Magic_Circle_23.uasset new file mode 100644 index 0000000..d0a6cda --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Effect_Systems/Magic_Circle_23/NS_Magic_Circle_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b380a17864d5541868ff313b8d52dec26ddd5812844ba50c91b63d394f29d8b +size 3495019 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Glow.uasset b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Glow.uasset new file mode 100644 index 0000000..314e890 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Glow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb644335035fd74a4587a8de4a746b929e2dab268de5d695cc14b59b58232a5 +size 17739 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Magic_Circle.uasset b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Magic_Circle.uasset new file mode 100644 index 0000000..6b99cd3 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Magic_Circle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea7646a5decd0f7f0f4c922bb7ab484e1165b1ce75d45d1ca3b687fd3c894faf +size 63577 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Outer_Circle.uasset b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Outer_Circle.uasset new file mode 100644 index 0000000..28c6e47 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Outer_Circle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f5ae2a0cc097a720948dca2b86039414a55a96b706ca065c6961b69f37639a +size 35785 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Sparks.uasset b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Sparks.uasset new file mode 100644 index 0000000..8d8a348 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Master_Materials/MM_Sparks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c818091e41427e86430407718af0be56f95f7b44ce2e6dc750d9ca7444c01af +size 89277 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Meshes/SM_Disc.uasset b/Content/Magic_Circles_Auras_and_Buffs/Meshes/SM_Disc.uasset new file mode 100644 index 0000000..0d9d1d1 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Meshes/SM_Disc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fb4df210045e6d6909e46de6ce882b68c503ec67edcab24064f1a37e6d12b49 +size 102081 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Soft.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Soft.uasset new file mode 100644 index 0000000..85d9a01 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Soft.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:974a37277062c89a6c10e5ed190103c682a76190b3e577ff39682a12e1df8e4e +size 72520 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Super_Soft.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Super_Soft.uasset new file mode 100644 index 0000000..023deb1 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Glow_Super_Soft.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2088d283e17775897d42ab4f279e8ea762e26a2e179fcb2aeaea4be535f79a2 +size 74387 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Lens_3.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Lens_3.uasset new file mode 100644 index 0000000..1828b69 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Lens_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4b76c9e5c1085d3fc7b5dc16a549069197ff7d51b5d220541b51cfdd1108fb +size 72157 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_2.uasset new file mode 100644 index 0000000..65bc37e --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efa66a0ca3a1c48580849229dcb43188c136deef43888128223eaa14b62dd012 +size 72106 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_4.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_4.uasset new file mode 100644 index 0000000..7d40130 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1a0faa2757a575f790ec0a2d35290235b36ba239a8a3d82e702df1af3601f3b +size 71090 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_7.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_7.uasset new file mode 100644 index 0000000..92c2660 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Outer_Circle_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2861f2a312b22f095fd59fdb1cac9e9a420d620ea477041b82098195948fcc5a +size 76052 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_1.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_1.uasset new file mode 100644 index 0000000..2580f52 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee91c135f3a31592f2873a4d40417f08541cc7def0f6823a5baad8d4524d9c8d +size 73276 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_2.uasset new file mode 100644 index 0000000..9d42460 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Shared_Materials/MI_Sparks_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a36af5b8b8b11dfa4e2c750a27e4b17a43af46e26297cfa1da772547a862e04 +size 73276 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_1.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_1.uasset new file mode 100644 index 0000000..46d0948 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ce92e688493556594392e3948ab0e4f03bd1014dd555e75174d3fb71a2239a6 +size 1594610 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_2.uasset new file mode 100644 index 0000000..4b00076 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Circle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b1f8fcfe15286ed0a9e2e67717a19488aec97ba1f71e5ed4d3891465961c56b +size 1268922 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_23.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_23.uasset new file mode 100644 index 0000000..e6f3bc0 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52057974f18029f954fe9c6d0cced9a46f29154310ba69b963c1e00daf0575eb +size 1740396 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_8.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_8.uasset new file mode 100644 index 0000000..06536a5 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Magic_Circles/T_Magic_Cricle_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28de943e11687cbda686e88af9e79928991f84460d3fe12a4aaf6bebbf1e7b0f +size 2261436 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_11.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_11.uasset new file mode 100644 index 0000000..b2e642c --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c41d540605af2bae4e83edb428cac3efa8e97fc75187ccc8a81b8326b82b179 +size 844499 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_30.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_30.uasset new file mode 100644 index 0000000..a672132 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9abf04ea33198a6b58cc9e7f47ff01799e199d522cc648b7024ca9bdcb6c5fed +size 2507459 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_32.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_32.uasset new file mode 100644 index 0000000..adbd147 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4302f2079eaa555ed2b252595e1ae003434c1f756cb2a16606f875979b0616ed +size 9593945 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_34.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_34.uasset new file mode 100644 index 0000000..9a03888 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abf0cb31adfd0b5774fe25eb1577ed758e20f480ba5b2129928b7fa29d3dd6be +size 371473 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_35.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_35.uasset new file mode 100644 index 0000000..e93423a --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6c2658a7188f2e8e4daf3decd2610306506624e5444e97a9586f5ea7407c1b9 +size 1017486 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_39.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_39.uasset new file mode 100644 index 0000000..d21b583 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d863126cc999f57db2e013c4890011ee31e9de75a8071543f90b965fbc5bcc54 +size 238738 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_43.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_43.uasset new file mode 100644 index 0000000..4bd0d62 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b527bba0fa31d142fa5d9f6143d79247e9e6eefd8e7d5fd2638aab1e288f8c +size 210122 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_48.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_48.uasset new file mode 100644 index 0000000..6e959f1 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_48.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7102ea2537873ead10542aebaf9b6fd18718ca475c372dadc784e9e55954fe99 +size 700065 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_5.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_5.uasset new file mode 100644 index 0000000..e873d71 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a50658d9ce0b71ab996dea1030547a974d8aed55a2e17e56a9ec1c62be2a17cf +size 206551 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_53.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_53.uasset new file mode 100644 index 0000000..a8f65c5 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a611a8317057c4bf44b0830df0332571f1354dd0ce0afc964400cb785d79ef81 +size 2452224 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_59.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_59.uasset new file mode 100644 index 0000000..51b0ed1 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_59.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f79ee31350731e48ef27b6a9f5b215134115d5d247e2c2ccb7433122d37b0cf0 +size 1859987 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_60.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_60.uasset new file mode 100644 index 0000000..c72fe99 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Noises/T_Noise_60.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9315aeae93a8017af6d8164a44203ed52ba7f591fee55d8f77780d86327511be +size 2178493 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Soft.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Soft.uasset new file mode 100644 index 0000000..f01d689 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Soft.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71f770d7e27c416aa7940826c73f32cfe185e0590ba5222cc7d04d0de981adc5 +size 1080365 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Super_Soft.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Super_Soft.uasset new file mode 100644 index 0000000..f5f2723 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Glow_Super_Soft.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c3253da8d148caf4c7df1a1e6a56315f3fa8842eca69137676113d643f7342 +size 770081 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Lens_3.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Lens_3.uasset new file mode 100644 index 0000000..1b01872 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Lens_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:806160ccbfff404de86cc3cef2b3c21b9e7705a2ef55267dadb7c428578f5bdb +size 1611792 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_2.uasset new file mode 100644 index 0000000..bf89b14 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec110d6f9e62124df452a3ec3d1f5d07ef15e0f51d2f51c2ce881e0fb265417 +size 1325759 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_4.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_4.uasset new file mode 100644 index 0000000..47c0c6e --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1ce45939a49428c58483dfd5b208aac2c8bb172adc78296123d11d6fe70d99b +size 1419874 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_7.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_7.uasset new file mode 100644 index 0000000..6358926 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Outer_Circle_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e180a329fc1abbf14e1245818c0d3bc226997b202bec1aeedaab4278cbb1465 +size 679128 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_1.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_1.uasset new file mode 100644 index 0000000..61c0286 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76f8737c0d9191103590ffb8be6562341faf6272ea110a5a5e58a6cbfc62e5d0 +size 1150198 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_2.uasset new file mode 100644 index 0000000..d5271b2 --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Sparks_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2deb7774d3768cc9d66057ef439ca9605ce1c843bbd685477d6d860f313e7dc2 +size 692832 diff --git a/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Trail_2.uasset b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Trail_2.uasset new file mode 100644 index 0000000..bbcd1cd --- /dev/null +++ b/Content/Magic_Circles_Auras_and_Buffs/Textures/Shared_Textures/T_Trail_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:772ddd6920bea327835ca39202838ae7c22a74f213909698e8a7acf008fa8b7c +size 879420 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_1.uasset b/Content/MapTrackMarkers/Effects/P_Marker_1.uasset new file mode 100644 index 0000000..1da2217 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c884a241e24603a67ad59e57e5285e8b0905c2e18886db1d336bf6e3222639d1 +size 1634902 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_13.uasset b/Content/MapTrackMarkers/Effects/P_Marker_13.uasset new file mode 100644 index 0000000..78f7df4 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9686154579b765b149cd726a6e5bc3267b9546130bd57f428d079745e4196f3c +size 1091721 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_14.uasset b/Content/MapTrackMarkers/Effects/P_Marker_14.uasset new file mode 100644 index 0000000..d8bd111 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7338ba9b203a71e8679cbe7511ff6aadb91c8e8765a0df8e8427d96c8b97b56 +size 536981 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_15.uasset b/Content/MapTrackMarkers/Effects/P_Marker_15.uasset new file mode 100644 index 0000000..0a0459b --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6a8b215beeb3b9082ce60acce22254481a7205c746c59103860b2e077f4ace6 +size 1030045 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_6.uasset b/Content/MapTrackMarkers/Effects/P_Marker_6.uasset new file mode 100644 index 0000000..aed77a8 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7201775bed0776b98134052a821c9c1ae7daf16f640c442132a30c1c5145f0ca +size 664535 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_bingyong.uasset b/Content/MapTrackMarkers/Effects/P_Marker_bingyong.uasset new file mode 100644 index 0000000..a32a342 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_bingyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95cfbc6612127fc9922c39e42d953c2878b50de092ccb66df6686587ff8ab310 +size 1076557 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_bingyong1.uasset b/Content/MapTrackMarkers/Effects/P_Marker_bingyong1.uasset new file mode 100644 index 0000000..73f0dd2 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_bingyong1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c233334365af63fb52985a6f91ac4088029ada9c44c44d630c45632cc751cd1 +size 886373 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_bingyong2.uasset b/Content/MapTrackMarkers/Effects/P_Marker_bingyong2.uasset new file mode 100644 index 0000000..36862f8 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_bingyong2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ffafc9c1965fa9ab9859f6f4ae6082400169560fe7f2e2c416743c8db6c8c7d +size 1188063 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_kaichang.uasset b/Content/MapTrackMarkers/Effects/P_Marker_kaichang.uasset new file mode 100644 index 0000000..225b759 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_kaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9353685a5cb8e17d50515c8af8d7a8f7873a59c6f2fa07928e37b7a6ce424dda +size 1194942 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_qiju.uasset b/Content/MapTrackMarkers/Effects/P_Marker_qiju.uasset new file mode 100644 index 0000000..3e40ccb --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_qiju.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbd995d0c34abb403caf6de25a888a5cc528516595c8ebecdf284d785f576147 +size 882407 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起往上抛.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起往上抛.uasset new file mode 100644 index 0000000..69557ca --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:420dfc6597af7b8e99ec357be50f7d1f21922f2455a1fe9c97ded703ab964e2b +size 688549 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起火把点燃火盆.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起火把点燃火盆.uasset new file mode 100644 index 0000000..4d80439 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起火把点燃火盆.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7823b23423f118a4a7bcfe472f96a5b1cc4d2e1d8ca7dd855690ade79df70b48 +size 979197 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起虎符.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起虎符.uasset new file mode 100644 index 0000000..83c64bd --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起虎符.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:667cbb16b0abe13e69dc07e788211fda849258b66a8dbe8d286b767a0cb3fd5e +size 967394 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起观察.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起观察.uasset new file mode 100644 index 0000000..37b043e --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起观察.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79d22d833de031c00fa167acc7fefe54ffd02f22d9197d69e991d8a6ccfd9795 +size 688401 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起骰子往上抛.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起骰子往上抛.uasset new file mode 100644 index 0000000..2fd2930 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起骰子往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1393907bec6d00f1e1058d6c24abdb5e9a15278b8eb94a53921b44bcd977862d +size 979049 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_拿起鼓锤可敲鼓.uasset b/Content/MapTrackMarkers/Effects/P_Marker_拿起鼓锤可敲鼓.uasset new file mode 100644 index 0000000..f274d13 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_拿起鼓锤可敲鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c52b1a877699fad5afc36882c54b85fead350638047a42c8193c74d9ce11f3c3 +size 979049 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_放上去.uasset b/Content/MapTrackMarkers/Effects/P_Marker_放上去.uasset new file mode 100644 index 0000000..e9375e5 --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_放上去.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cab0928cc2225073236268722119e90536d2dd5cd5658512b399bbd549c37782 +size 916592 diff --git a/Content/MapTrackMarkers/Effects/P_Marker_触摸兵佣.uasset b/Content/MapTrackMarkers/Effects/P_Marker_触摸兵佣.uasset new file mode 100644 index 0000000..d19583a --- /dev/null +++ b/Content/MapTrackMarkers/Effects/P_Marker_触摸兵佣.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf8ba46791fb6b2e2c7a677f2f74a4779a8fcaf9da6f20c1d646b1164b97595d +size 966695 diff --git a/Content/MapTrackMarkers/Materials/MI_Marker1b.uasset b/Content/MapTrackMarkers/Materials/MI_Marker1b.uasset new file mode 100644 index 0000000..6371f92 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_Marker1b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32dbf3f8fa2a10dc6cedec33dc72df71ce7ec78563bd3bcf75f6bec07b872432 +size 11016 diff --git a/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst.uasset b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst.uasset new file mode 100644 index 0000000..c1e9aad --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f6ed925904221c8ed12d5cf51aa326a4bad1530087e6f18c0a52a61cfba78bd +size 10775 diff --git a/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst1.uasset b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst1.uasset new file mode 100644 index 0000000..9129c2e --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:117806ee8e72fe4d0f145dfd9cfa746d90e84cec3727a82ee9ba797169906147 +size 9345 diff --git a/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst2.uasset b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst2.uasset new file mode 100644 index 0000000..c6a2fc6 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_Marker1b_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37cfdd5843f36459fd0ad63b758ceb5c83a5b600aa4b69aab74bd62435b683ba +size 11820 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起往上抛.uasset b/Content/MapTrackMarkers/Materials/MI_拿起往上抛.uasset new file mode 100644 index 0000000..eea754b --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1694a3230e8f3103741a730b18333d9ab69eb0bdd3fe7674c29c51264af2a58 +size 9384 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起火把点燃火盆.uasset b/Content/MapTrackMarkers/Materials/MI_拿起火把点燃火盆.uasset new file mode 100644 index 0000000..f5bc2af --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起火把点燃火盆.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:491e6dea00480017eb1f9d0729e8cd56db7798b13a3a917612b47cd577d022c4 +size 9637 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起虎符.uasset b/Content/MapTrackMarkers/Materials/MI_拿起虎符.uasset new file mode 100644 index 0000000..d29a537 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起虎符.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8ffa496eaca4c9adda7fbeeacbb2b4988091d3412b3c418a52510567e358d85 +size 9039 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起观察.uasset b/Content/MapTrackMarkers/Materials/MI_拿起观察.uasset new file mode 100644 index 0000000..09ace45 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起观察.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2faf60da2c31b740eadb8ae1f277fe8197849f78256ab8fce27432f3d2c069d0 +size 9548 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起骰子往上抛.uasset b/Content/MapTrackMarkers/Materials/MI_拿起骰子往上抛.uasset new file mode 100644 index 0000000..37c237d --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起骰子往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b577ab0f7a1f0cadb82b040cc2f9f7b23ab09b414277490b3ff74b07f42a57b +size 9390 diff --git a/Content/MapTrackMarkers/Materials/MI_拿起鼓锤可敲鼓.uasset b/Content/MapTrackMarkers/Materials/MI_拿起鼓锤可敲鼓.uasset new file mode 100644 index 0000000..8cf3a5e --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_拿起鼓锤可敲鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe1d3564f2a29cb06c939508b08e85c951724d7207104da5f1e3612ba22b07a +size 9789 diff --git a/Content/MapTrackMarkers/Materials/MI_放上去.uasset b/Content/MapTrackMarkers/Materials/MI_放上去.uasset new file mode 100644 index 0000000..8989a53 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_放上去.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4304033ad797e6c74a8e7cd952e47cbabc9524c1250ee741d323d20a4b45eedd +size 9717 diff --git a/Content/MapTrackMarkers/Materials/MI_触摸兵佣.uasset b/Content/MapTrackMarkers/Materials/MI_触摸兵佣.uasset new file mode 100644 index 0000000..ffdbcbe --- /dev/null +++ b/Content/MapTrackMarkers/Materials/MI_触摸兵佣.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:714e790ef8ac8372f032427c9ae2657fce3081d555f5c598a0da98b1ee90342e +size 8788 diff --git a/Content/MapTrackMarkers/Materials/M_Arrow4b.uasset b/Content/MapTrackMarkers/Materials/M_Arrow4b.uasset new file mode 100644 index 0000000..89f3010 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Arrow4b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03b5a9cb033740be12229249c5bf5e09b01b33dd2251cbdc2928b2d22f22835c +size 15567 diff --git a/Content/MapTrackMarkers/Materials/M_Arrow4b2.uasset b/Content/MapTrackMarkers/Materials/M_Arrow4b2.uasset new file mode 100644 index 0000000..57faafd --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Arrow4b2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3451954003e252fb7cda69f53efdaee7f95d0b2413bac65029befa62416c4a4 +size 29501 diff --git a/Content/MapTrackMarkers/Materials/M_Circle38a2.uasset b/Content/MapTrackMarkers/Materials/M_Circle38a2.uasset new file mode 100644 index 0000000..6363c9b --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Circle38a2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:204fb3c99fde573c80cff0f5d00ea0382307dc984a2d5a6cd6b8c78088413b98 +size 81817 diff --git a/Content/MapTrackMarkers/Materials/M_Circle41a2.uasset b/Content/MapTrackMarkers/Materials/M_Circle41a2.uasset new file mode 100644 index 0000000..bacbee4 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Circle41a2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba42b774075f51c15104995cc9d8699084ea9076c24b5d827a983346dcf470a7 +size 14850 diff --git a/Content/MapTrackMarkers/Materials/M_Circle79a.uasset b/Content/MapTrackMarkers/Materials/M_Circle79a.uasset new file mode 100644 index 0000000..91bfdec --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Circle79a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f82bba10692d878d2875fe28bf3c700b83f71dd84485a03929a4981f4cf30d66 +size 85375 diff --git a/Content/MapTrackMarkers/Materials/M_Circle80b.uasset b/Content/MapTrackMarkers/Materials/M_Circle80b.uasset new file mode 100644 index 0000000..e518655 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Circle80b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f596a465f9d17eaf7414fa16c1792c5cfb298c79a5a2e4e333fc315ee6339011 +size 82111 diff --git a/Content/MapTrackMarkers/Materials/M_MagicCircle82a.uasset b/Content/MapTrackMarkers/Materials/M_MagicCircle82a.uasset new file mode 100644 index 0000000..7137084 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_MagicCircle82a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb29c35cef01bc9491b460142355e178a7584cb133937e9dd944c3f15edd80bc +size 81006 diff --git a/Content/MapTrackMarkers/Materials/M_MaskPoint1a.uasset b/Content/MapTrackMarkers/Materials/M_MaskPoint1a.uasset new file mode 100644 index 0000000..659eb56 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_MaskPoint1a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9a61e2034a9623fff1d53506d6210dcffd9216b01aee4343a7bd3461d86b0f +size 79492 diff --git a/Content/MapTrackMarkers/Materials/M_Trail4bt.uasset b/Content/MapTrackMarkers/Materials/M_Trail4bt.uasset new file mode 100644 index 0000000..a80c00b --- /dev/null +++ b/Content/MapTrackMarkers/Materials/M_Trail4bt.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9b38ceb83b05704209f925ec3e6e4e2089c12a63f867df2d627d92204b9a163 +size 29447 diff --git a/Content/MapTrackMarkers/Materials/T_Marker2.uasset b/Content/MapTrackMarkers/Materials/T_Marker2.uasset new file mode 100644 index 0000000..58ec607 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/T_Marker2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bb4b4fef616a9df271742b7b82061d96ba329d93ab2c5dd17315ff36607277d +size 22125 diff --git a/Content/MapTrackMarkers/Materials/T_Marker3.uasset b/Content/MapTrackMarkers/Materials/T_Marker3.uasset new file mode 100644 index 0000000..18eb3db --- /dev/null +++ b/Content/MapTrackMarkers/Materials/T_Marker3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:002319aea50e25ca0041c71203cd1f21c76bd1d3eebd29c4566b4db8c50f38cd +size 16340 diff --git a/Content/MapTrackMarkers/Materials/T_Zhua.uasset b/Content/MapTrackMarkers/Materials/T_Zhua.uasset new file mode 100644 index 0000000..a85d2e7 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/T_Zhua.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18d980bb625d7bcb5b2e7c8320de31451c75e2b61816f64cfc6bdb431aaa6b29 +size 16385 diff --git a/Content/MapTrackMarkers/Materials/拿起往上抛.uasset b/Content/MapTrackMarkers/Materials/拿起往上抛.uasset new file mode 100644 index 0000000..d938779 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d509bc157905c4e233e5228d20576331ab1a502d4da5767f2f23741c6824add +size 37253 diff --git a/Content/MapTrackMarkers/Materials/拿起火把点燃火盆.uasset b/Content/MapTrackMarkers/Materials/拿起火把点燃火盆.uasset new file mode 100644 index 0000000..b039b90 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起火把点燃火盆.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca14707a114750eab8acebaa9c1d0060214a4f49c25c3c1492d0a09c88871c56 +size 17866 diff --git a/Content/MapTrackMarkers/Materials/拿起虎符.uasset b/Content/MapTrackMarkers/Materials/拿起虎符.uasset new file mode 100644 index 0000000..e7fa2f7 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起虎符.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2d627fc8476cc489cdfae740b500ce3d1f2901c5ebcbf54890d1dea472c3024 +size 13235 diff --git a/Content/MapTrackMarkers/Materials/拿起观察.uasset b/Content/MapTrackMarkers/Materials/拿起观察.uasset new file mode 100644 index 0000000..72e72dd --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起观察.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5836455754141c61c1e20d0512474718dbbc98d0227f22d6323804f09c7f5132 +size 15483 diff --git a/Content/MapTrackMarkers/Materials/拿起骰子往上抛.uasset b/Content/MapTrackMarkers/Materials/拿起骰子往上抛.uasset new file mode 100644 index 0000000..675288b --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起骰子往上抛.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:666e130d0b5e66b84a3069a3cedfe143760b95ac4e2aa84d975cecce084ed458 +size 14094 diff --git a/Content/MapTrackMarkers/Materials/拿起鼓锤可敲鼓.uasset b/Content/MapTrackMarkers/Materials/拿起鼓锤可敲鼓.uasset new file mode 100644 index 0000000..a2b2b50 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/拿起鼓锤可敲鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:153ed5eaa62ce2544a0372c6a68dd6ae56d2f942206c5cb1d898c934802e2c0a +size 16095 diff --git a/Content/MapTrackMarkers/Materials/放上去.uasset b/Content/MapTrackMarkers/Materials/放上去.uasset new file mode 100644 index 0000000..705510c --- /dev/null +++ b/Content/MapTrackMarkers/Materials/放上去.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310762e100d190a148f24903eb77bfbf76a0ddbb7694482772bd64c86fc0a4ad +size 12670 diff --git a/Content/MapTrackMarkers/Materials/文物介绍.uasset b/Content/MapTrackMarkers/Materials/文物介绍.uasset new file mode 100644 index 0000000..d7b013c --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51fcaffad445a97834433aefa2d0c8957b7822892c20b9089f60183dd6080476 +size 46088 diff --git a/Content/MapTrackMarkers/Materials/文物介绍2.uasset b/Content/MapTrackMarkers/Materials/文物介绍2.uasset new file mode 100644 index 0000000..4b4b211 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:537e5012ac786aa32e8d83f23948bd3e00f9a0990b1da4573c3be2d5756a3f0e +size 120469 diff --git a/Content/MapTrackMarkers/Materials/文物介绍_Mat.uasset b/Content/MapTrackMarkers/Materials/文物介绍_Mat.uasset new file mode 100644 index 0000000..724a802 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:778db35bf162633795923f49aa48821d1bed381b24c294bef59a1c235bf494e1 +size 22268 diff --git a/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst.uasset b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst.uasset new file mode 100644 index 0000000..1886378 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2727d48427556746531963a697d8f906f5dc5897bf1a9219c9c1cb9046b86d1 +size 17421 diff --git a/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst1.uasset b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst1.uasset new file mode 100644 index 0000000..eb56223 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e797778aec22cf7fd6bd2086dbfeb5719d079ab78cbe40d45fdc69ac1ef9f8f0 +size 17726 diff --git a/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst2.uasset b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst2.uasset new file mode 100644 index 0000000..acd8b02 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/文物介绍_Mat_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc4728c38a45eef33a8be84061daeeec6008cf6d4c8c2e44bdf1ac3f593dde54 +size 17605 diff --git a/Content/MapTrackMarkers/Materials/触摸兵佣.uasset b/Content/MapTrackMarkers/Materials/触摸兵佣.uasset new file mode 100644 index 0000000..47e9019 --- /dev/null +++ b/Content/MapTrackMarkers/Materials/触摸兵佣.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae2d93d6a745befd4756dd4c5ef679e49bff72e77330d18a09fd3475f7f88a5e +size 12252 diff --git a/Content/MapTrackMarkers/Models/SM_HalfCylinder2.uasset b/Content/MapTrackMarkers/Models/SM_HalfCylinder2.uasset new file mode 100644 index 0000000..640ead8 --- /dev/null +++ b/Content/MapTrackMarkers/Models/SM_HalfCylinder2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bc0eb9dcfcc8d0d88268a04ebd3ee63b5c8c13759b0819670010f30b94467ef +size 16429 diff --git a/Content/MapTrackMarkers/Textures/T_Arrow4b.uasset b/Content/MapTrackMarkers/Textures/T_Arrow4b.uasset new file mode 100644 index 0000000..13e5240 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Arrow4b.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49087d4d8a3a12e12ec60b1b86c2bb291013d0891a725c46d189c5cf21012b78 +size 25805 diff --git a/Content/MapTrackMarkers/Textures/T_Arrow4b2.uasset b/Content/MapTrackMarkers/Textures/T_Arrow4b2.uasset new file mode 100644 index 0000000..95f1ca1 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Arrow4b2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1c59c125a98f22ab7f67369de9d2d294782bd830bedc5a83a1780ded5e83f8 +size 11650 diff --git a/Content/MapTrackMarkers/Textures/T_Circle38.uasset b/Content/MapTrackMarkers/Textures/T_Circle38.uasset new file mode 100644 index 0000000..3698abe --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Circle38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f062930e80b9dbd8e3bedc69326bba7144919da39f7d2e9cfe78d9c8d8aeaa64 +size 78202 diff --git a/Content/MapTrackMarkers/Textures/T_Circle41.uasset b/Content/MapTrackMarkers/Textures/T_Circle41.uasset new file mode 100644 index 0000000..009748d --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Circle41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ef39b51e2bb0c58c9da100af64b4253a5c324174bdcdb43ef2a82361f03f2c2 +size 113011 diff --git a/Content/MapTrackMarkers/Textures/T_Circle79.uasset b/Content/MapTrackMarkers/Textures/T_Circle79.uasset new file mode 100644 index 0000000..d5b60a3 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Circle79.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1766eb3ec09b24ac95db8ff93b3546de46a762cdf53ded2667adb3ad2946d69c +size 493729 diff --git a/Content/MapTrackMarkers/Textures/T_Circle80.uasset b/Content/MapTrackMarkers/Textures/T_Circle80.uasset new file mode 100644 index 0000000..bc25308 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Circle80.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e7c0e8bb0b201f6ab4ca81259021ccf57bc8ebc41345b3367ba909e3f302818 +size 78484 diff --git a/Content/MapTrackMarkers/Textures/T_Circle82.uasset b/Content/MapTrackMarkers/Textures/T_Circle82.uasset new file mode 100644 index 0000000..11ef5f0 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Circle82.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67978097312fa4bb5662b4d72a4334c89a71e9b2e01dff1e6068a18d46135056 +size 502778 diff --git a/Content/MapTrackMarkers/Textures/T_Marker1.uasset b/Content/MapTrackMarkers/Textures/T_Marker1.uasset new file mode 100644 index 0000000..378b20b --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Marker1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d5c04f04ff17a9a10d613c46eabf7cf827ecbaf05e16e0d4b8b7c1998c1609e +size 60462 diff --git a/Content/MapTrackMarkers/Textures/T_Marker2.uasset b/Content/MapTrackMarkers/Textures/T_Marker2.uasset new file mode 100644 index 0000000..9fc7b10 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Marker2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e894e89f5c5ee7d76e8a9f924adefc52f3991428ccbc6f04d5dc611cf0825509 +size 21531 diff --git a/Content/MapTrackMarkers/Textures/T_MaskForShader.uasset b/Content/MapTrackMarkers/Textures/T_MaskForShader.uasset new file mode 100644 index 0000000..5501cbc --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_MaskForShader.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64d338d28fd88b449be194524ed350ce15cd3873baed148a350d61209b7554c6 +size 109951 diff --git a/Content/MapTrackMarkers/Textures/T_Noise1.uasset b/Content/MapTrackMarkers/Textures/T_Noise1.uasset new file mode 100644 index 0000000..a919b58 --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_Noise1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c7e44f36e7981f6c58d6b9712b97c3abb2cd8255ebd53b7177db0aa742217a +size 431370 diff --git a/Content/MapTrackMarkers/Textures/T_rectangle.uasset b/Content/MapTrackMarkers/Textures/T_rectangle.uasset new file mode 100644 index 0000000..32b50fd --- /dev/null +++ b/Content/MapTrackMarkers/Textures/T_rectangle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f178747aa55180609591599f65be77b01424774101b37b530d497b29941b13e8 +size 17145 diff --git a/Content/Mat3d66_11918829_4_96787.uasset b/Content/Mat3d66_11918829_4_96787.uasset new file mode 100644 index 0000000..e44aa5b --- /dev/null +++ b/Content/Mat3d66_11918829_4_96787.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64eb3699c3c21514702ed1d6b48edfcb8def7be55323ae3e95531f66d589f776 +size 1442 diff --git a/Content/Materials/Hand/MI_Hand.uasset b/Content/Materials/Hand/MI_Hand.uasset new file mode 100644 index 0000000..a7860be --- /dev/null +++ b/Content/Materials/Hand/MI_Hand.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4a065a50eea2b1c1f61745275506591ff7a6d5e811b1dbeadcaa0b31174dd51 +size 91303 diff --git a/Content/Materials/Hand/MI_RaymatState1.uasset b/Content/Materials/Hand/MI_RaymatState1.uasset new file mode 100644 index 0000000..dddf599 --- /dev/null +++ b/Content/Materials/Hand/MI_RaymatState1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c46c7e7e8f449011130ac8bcfe33996c0830c80748206801b732ae3e864daf +size 76327 diff --git a/Content/Materials/Hand/MI_RaymatState2.uasset b/Content/Materials/Hand/MI_RaymatState2.uasset new file mode 100644 index 0000000..09b20fd --- /dev/null +++ b/Content/Materials/Hand/MI_RaymatState2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71ca8c087c280b84d6cd33bf5c8468aeee189f2dad739c0021d6d7e269a9f58c +size 74225 diff --git a/Content/Materials/Hand/M_Hand.uasset b/Content/Materials/Hand/M_Hand.uasset new file mode 100644 index 0000000..b9d4c89 --- /dev/null +++ b/Content/Materials/Hand/M_Hand.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3647fa6d29d47ef0c3b510585c70fae6ecf47375060590aa0df2d09f5ad1e83 +size 120714 diff --git a/Content/Materials/Hand/M_Raymat.uasset b/Content/Materials/Hand/M_Raymat.uasset new file mode 100644 index 0000000..b1ab795 --- /dev/null +++ b/Content/Materials/Hand/M_Raymat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc58d0207d359f02303d418e793e66d5153de8293a9b7344e5eb3f1b8de7fc0 +size 87409 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_1K.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_1K.uasset new file mode 100644 index 0000000..120b6f7 --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_1K.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4ab313c798fc2ed7bbf7afee702a5d067b212b53aeb2e74aeaf50523cfc21d8 +size 5064 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_till.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_till.uasset new file mode 100644 index 0000000..dacb5ad --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/MI_Ancient_Temple_Stairs_tj1qafrfa_till.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fade8da85fa400a04ff0424320d74ca8afbba9ec5090a6224c5e5c573e52352 +size 16642 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/S_Ancient_Temple_Stairs_tj1qafrfa_lod5.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/S_Ancient_Temple_Stairs_tj1qafrfa_lod5.uasset new file mode 100644 index 0000000..4972688 --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/S_Ancient_Temple_Stairs_tj1qafrfa_lod5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398e464549ea8cc1978baec897892bfeda7657bbc73aec940e0f835a5b634b3a +size 67084 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_AncientTempleStairs_tj1qafrfa_1K_DpRF.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_AncientTempleStairs_tj1qafrfa_1K_DpRF.uasset new file mode 100644 index 0000000..6094a29 --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_AncientTempleStairs_tj1qafrfa_1K_DpRF.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de09400038338a55e7ccaaaaff8171af70d75e5930890bf2b5781306cede93b7 +size 4213364 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_D.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_D.uasset new file mode 100644 index 0000000..3f9bfe4 --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ef2fec42f8c041691a0e3193d48ca8975ecb6ef52fba107532fe786326699f +size 5259120 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_Dtill.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_Dtill.uasset new file mode 100644 index 0000000..ebe727e --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_Dtill.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ed999e12e6649922c838958bbc97269f39cf642c4d336bad46bbc818524a1e3 +size 3101958 diff --git a/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_N.uasset b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_N.uasset new file mode 100644 index 0000000..c509840 --- /dev/null +++ b/Content/Megascans/3D_Assets/Ancient_Temple_Stairs_tj1qafrfa/T_Ancient_Temple_Stairs_tj1qafrfa_1K_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ff5974f7a86815c8143e783f710685c828ed5c4f65f791a95da7a5504b92ccf +size 4533437 diff --git a/Content/MerlinsCave/Blueprints/BP_Stairs03.uasset b/Content/MerlinsCave/Blueprints/BP_Stairs03.uasset new file mode 100644 index 0000000..dbbffc1 --- /dev/null +++ b/Content/MerlinsCave/Blueprints/BP_Stairs03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4b07f4135f455b4dec1d1a528c84c7293fdda7e16765e3447a0e1898ebae1f3 +size 30324 diff --git a/Content/MerlinsCave/Materials/M_MasterPBROpaque.uasset b/Content/MerlinsCave/Materials/M_MasterPBROpaque.uasset new file mode 100644 index 0000000..d3cd65b --- /dev/null +++ b/Content/MerlinsCave/Materials/M_MasterPBROpaque.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6b38e572a852e153c7b2b4174e5b11d098c415086ba24f365a439537b58bad +size 148013 diff --git a/Content/MerlinsCave/Materials/M_MasterPBROpaqueWorldSpace.uasset b/Content/MerlinsCave/Materials/M_MasterPBROpaqueWorldSpace.uasset new file mode 100644 index 0000000..d025041 --- /dev/null +++ b/Content/MerlinsCave/Materials/M_MasterPBROpaqueWorldSpace.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f7a0cd2571a2fcd1d36294204c005e3ca76f1fdbd20bb963c81f3674ea32728 +size 142335 diff --git a/Content/MerlinsCave/Materials/M_MasterPBRTrims.uasset b/Content/MerlinsCave/Materials/M_MasterPBRTrims.uasset new file mode 100644 index 0000000..a94ac04 --- /dev/null +++ b/Content/MerlinsCave/Materials/M_MasterPBRTrims.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787b0831cf0ddc8f2790f483d692676ab409fa1efceb6ba9f6a2fad5e35cb365 +size 166310 diff --git a/Content/MerlinsCave/Materials/MaterialFunctions/MF_Dust.uasset b/Content/MerlinsCave/Materials/MaterialFunctions/MF_Dust.uasset new file mode 100644 index 0000000..a9ae072 --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialFunctions/MF_Dust.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c10e59c20a32e75bfdf67a69186d9f88f4274ef29e219856f02424fe77907f2 +size 123750 diff --git a/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Base.uasset b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Base.uasset new file mode 100644 index 0000000..8b12118 --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Base.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04d321649dcfa1498ec92cfa5a61d5fe472a981cce4c9b98ffc176140fd3e08d +size 108710 diff --git a/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_BaseWorldSpace.uasset b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_BaseWorldSpace.uasset new file mode 100644 index 0000000..958d1be --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_BaseWorldSpace.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a67f51018d266c923d654a01a25a6eb39125d9da3ad8cd43178577d0bf2826d +size 119426 diff --git a/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Trims.uasset b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Trims.uasset new file mode 100644 index 0000000..9adf222 --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialFunctions/MF_MasterPBR_Trims.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f2a48a230a1e66fd01d6d8cf45d590c9aad0f377bbda3d8d93257262c384afa +size 142359 diff --git a/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltCliff_v1.uasset b/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltCliff_v1.uasset new file mode 100644 index 0000000..8ab8245 --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltCliff_v1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0036a955ebf66d81890a4f87d84ec50d807bab4a88d4aa5e83171ce17966a319 +size 129574 diff --git a/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltColumns.uasset b/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltColumns.uasset new file mode 100644 index 0000000..58acb78 --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialInstances/MI_BasaltColumns.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bfc62f9fcfc289255764d3471f6f84f339bbd0f5ccfb4209dc2751fcfdc2ab6 +size 23398 diff --git a/Content/MerlinsCave/Materials/MaterialInstances/MI_Trim_StoneMetal01_Stair03.uasset b/Content/MerlinsCave/Materials/MaterialInstances/MI_Trim_StoneMetal01_Stair03.uasset new file mode 100644 index 0000000..d320cff --- /dev/null +++ b/Content/MerlinsCave/Materials/MaterialInstances/MI_Trim_StoneMetal01_Stair03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce1aef36c3f4a6ce0497ed45f4d8d3c6a1883758bf185c2ae69a8d83cc47054c +size 135810 diff --git a/Content/MerlinsCave/Meshes/SM_BasaltColumn03.uasset b/Content/MerlinsCave/Meshes/SM_BasaltColumn03.uasset new file mode 100644 index 0000000..f60ba8a --- /dev/null +++ b/Content/MerlinsCave/Meshes/SM_BasaltColumn03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f371405fd16bfe92db73cfda391ef96c739e41ccee671f66c55f4fc287306b8c +size 47267 diff --git a/Content/MerlinsCave/Meshes/SM_BasaltColumnGroup02.uasset b/Content/MerlinsCave/Meshes/SM_BasaltColumnGroup02.uasset new file mode 100644 index 0000000..940af78 --- /dev/null +++ b/Content/MerlinsCave/Meshes/SM_BasaltColumnGroup02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a21d3201650a006839c457c4f111dedaca552345b62d22da00294bd2bd029b99 +size 338098 diff --git a/Content/MerlinsCave/Meshes/SM_StairsGroup03.uasset b/Content/MerlinsCave/Meshes/SM_StairsGroup03.uasset new file mode 100644 index 0000000..242fe7a --- /dev/null +++ b/Content/MerlinsCave/Meshes/SM_StairsGroup03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77b3237cd70aa991800f40f9df2c6a07f1cbd9607e74f2e899eadf8c87cac106 +size 30370 diff --git a/Content/MerlinsCave/Meshes/SM_StairsHelper.uasset b/Content/MerlinsCave/Meshes/SM_StairsHelper.uasset new file mode 100644 index 0000000..3e85055 --- /dev/null +++ b/Content/MerlinsCave/Meshes/SM_StairsHelper.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:584c9786f668b11dbea8e77269f35f80beaafb73ebcb75cae51941703ab1b9b1 +size 28756 diff --git a/Content/MerlinsCave/Textures/T_BasaltColumns_C.uasset b/Content/MerlinsCave/Textures/T_BasaltColumns_C.uasset new file mode 100644 index 0000000..0629992 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_BasaltColumns_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acc2a68fd1aaa7dcfd768b87031641f4dac01d582042e64896854b5544badc2c +size 8940948 diff --git a/Content/MerlinsCave/Textures/T_BasaltColumns_C01.uasset b/Content/MerlinsCave/Textures/T_BasaltColumns_C01.uasset new file mode 100644 index 0000000..bf67a73 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_BasaltColumns_C01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f97f6952a28d0ad2c23ed90db61d6775429fdf87b2cf30205565a1b7fe89f18 +size 79086789 diff --git a/Content/MerlinsCave/Textures/T_BasaltColumns_N.uasset b/Content/MerlinsCave/Textures/T_BasaltColumns_N.uasset new file mode 100644 index 0000000..d4a64c8 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_BasaltColumns_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdb3eb167adfe7d150021ae9c08829d7aa641af29c59453ef5e966f7321b7a86 +size 20773069 diff --git a/Content/MerlinsCave/Textures/T_BasaltColumns_N01.uasset b/Content/MerlinsCave/Textures/T_BasaltColumns_N01.uasset new file mode 100644 index 0000000..7ddba0a --- /dev/null +++ b/Content/MerlinsCave/Textures/T_BasaltColumns_N01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5402cae2d70eff5823fbdb887fabbd2b9565ca112e64e56b93bfb5ac9ee30f9 +size 90202632 diff --git a/Content/MerlinsCave/Textures/T_BasaltColumns_ORM.uasset b/Content/MerlinsCave/Textures/T_BasaltColumns_ORM.uasset new file mode 100644 index 0000000..01a7fb7 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_BasaltColumns_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8043662b0b59be056418f1cd6aad4665d7889c4f7c0d6a939604a9c19574d2f +size 29731601 diff --git a/Content/MerlinsCave/Textures/T_Base_Black.uasset b/Content/MerlinsCave/Textures/T_Base_Black.uasset new file mode 100644 index 0000000..fd464a6 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Base_Black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f8aa2fb8e2356a6f119f98261fc0d83ed55f06f1f5b5833b352bd496cf74d0 +size 4095 diff --git a/Content/MerlinsCave/Textures/T_Base_Grey.uasset b/Content/MerlinsCave/Textures/T_Base_Grey.uasset new file mode 100644 index 0000000..6283557 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Base_Grey.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b9760f6c22852f12d3e4de2792eb1127e216f4978689baebedf26a171fb4db +size 4040 diff --git a/Content/MerlinsCave/Textures/T_Base_White.uasset b/Content/MerlinsCave/Textures/T_Base_White.uasset new file mode 100644 index 0000000..cb1d0c6 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Base_White.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:701322168aeb5a1949bd082dc75be6f440b0b889f935a68b05eb7093130abe0a +size 4086 diff --git a/Content/MerlinsCave/Textures/T_CliffLayered_AO.uasset b/Content/MerlinsCave/Textures/T_CliffLayered_AO.uasset new file mode 100644 index 0000000..14cbe94 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_CliffLayered_AO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1316cc2139ff023a6d72dc8fc286dd03f3a2725472995739ca6115806ae5b44c +size 11191846 diff --git a/Content/MerlinsCave/Textures/T_CliffLayered_B.uasset b/Content/MerlinsCave/Textures/T_CliffLayered_B.uasset new file mode 100644 index 0000000..4e123c5 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_CliffLayered_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77100f9039a034ad680883c76498d509a848e2cb22b1f60e4f3d102fcfdd6ee6 +size 12493429 diff --git a/Content/MerlinsCave/Textures/T_CliffLayered_N.uasset b/Content/MerlinsCave/Textures/T_CliffLayered_N.uasset new file mode 100644 index 0000000..93730a6 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_CliffLayered_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171a40171c5f31374686d5d26f34fbc5d4be584ec4f995fcc3ebe3546c7bfd4a +size 27733198 diff --git a/Content/MerlinsCave/Textures/T_CliffLayered_R.uasset b/Content/MerlinsCave/Textures/T_CliffLayered_R.uasset new file mode 100644 index 0000000..d07cac8 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_CliffLayered_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:276251ab867a7b84665b22835253f6ce4150fd909fef4f94f1881252e880bf6b +size 2161824 diff --git a/Content/MerlinsCave/Textures/T_DetailColor01.uasset b/Content/MerlinsCave/Textures/T_DetailColor01.uasset new file mode 100644 index 0000000..69c4fbd --- /dev/null +++ b/Content/MerlinsCave/Textures/T_DetailColor01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb91f67cb74c430c0ea3491b29737be0afc74823184009b58f3e3a24f6032652 +size 382714 diff --git a/Content/MerlinsCave/Textures/T_DetailOverlay01_B.uasset b/Content/MerlinsCave/Textures/T_DetailOverlay01_B.uasset new file mode 100644 index 0000000..2b3b509 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_DetailOverlay01_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c325abd0c4143c5467e614464711d67ff96c157ca1aa7efba5103f0233e25d2b +size 3193842 diff --git a/Content/MerlinsCave/Textures/T_DetailOverlay01_N.uasset b/Content/MerlinsCave/Textures/T_DetailOverlay01_N.uasset new file mode 100644 index 0000000..4b08634 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_DetailOverlay01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4267c42f9383d6fbbcc3a711daf0657015a32197886eff35b88bf30a720ee6be +size 6423600 diff --git a/Content/MerlinsCave/Textures/T_Dust01.uasset b/Content/MerlinsCave/Textures/T_Dust01.uasset new file mode 100644 index 0000000..ef20fd7 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Dust01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cd976f87b84707696fb58c658d874a63da5096791c7468188eca851ef1c14e7 +size 3760105 diff --git a/Content/MerlinsCave/Textures/T_Pillar01A_C.uasset b/Content/MerlinsCave/Textures/T_Pillar01A_C.uasset new file mode 100644 index 0000000..72cc478 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Pillar01A_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70bfb1bf7ea25014febbff0547f40c28ed48f0e5953580ef3cdc1e07d7b3ed48 +size 855496 diff --git a/Content/MerlinsCave/Textures/T_Pillar01A_N.uasset b/Content/MerlinsCave/Textures/T_Pillar01A_N.uasset new file mode 100644 index 0000000..c4b37cd --- /dev/null +++ b/Content/MerlinsCave/Textures/T_Pillar01A_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f039445d3aa472007f5dba80bf30574c5ee85ea1b37e65a32e63d3f81d9e64a8 +size 1657710 diff --git a/Content/MerlinsCave/Textures/T_StairsGroup03_C.uasset b/Content/MerlinsCave/Textures/T_StairsGroup03_C.uasset new file mode 100644 index 0000000..cf0f568 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StairsGroup03_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dec07c1d1092a6722a3e3993828e291bea0d56a01cdf7164b8d1d4334f3ca005 +size 3508056 diff --git a/Content/MerlinsCave/Textures/T_StairsGroup03_N.uasset b/Content/MerlinsCave/Textures/T_StairsGroup03_N.uasset new file mode 100644 index 0000000..d8c0804 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StairsGroup03_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aed6cf785f417c807cfe1fa6c40920eaf71519ae18094bad45a992d899d9407e +size 9040250 diff --git a/Content/MerlinsCave/Textures/T_StoneMetal01Trim_B.uasset b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_B.uasset new file mode 100644 index 0000000..ab74ca8 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30c891b9b29bdcf2b800a149e95fb6fadee8419367bc21aeb83a53e7a3e3cafe +size 79878910 diff --git a/Content/MerlinsCave/Textures/T_StoneMetal01Trim_MRO.uasset b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_MRO.uasset new file mode 100644 index 0000000..c0c065b --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_MRO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d31ff0537bfac89068d84385f21786c1df1ae250f9c1d872663f0b68a85f015c +size 65985171 diff --git a/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N.uasset b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N.uasset new file mode 100644 index 0000000..eb83f8e --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ad06c4a68e90f98c87233a603edcfff87ebb23bf072b02d08dd55ba41ae0da0 +size 91884072 diff --git a/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N01.uasset b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N01.uasset new file mode 100644 index 0000000..8c4e296 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_StoneMetal01Trim_N01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d31f6eea394af832b745bf83d3a8de6fc767ad68fe8159aa3fb0c434fdfb6d82 +size 96385353 diff --git a/Content/MerlinsCave/Textures/T_WSC_Variation01.uasset b/Content/MerlinsCave/Textures/T_WSC_Variation01.uasset new file mode 100644 index 0000000..f082178 --- /dev/null +++ b/Content/MerlinsCave/Textures/T_WSC_Variation01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35325f3bfd54522afb470acff87367e49d0fe7f8169d32224f31ec6b07c88501 +size 6935 diff --git a/Content/Mesh/BP_JianYu.uasset b/Content/Mesh/BP_JianYu.uasset new file mode 100644 index 0000000..6236df1 --- /dev/null +++ b/Content/Mesh/BP_JianYu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdfb59692d06cd5dc380ca4aeee6c09345af1d7b81475a6cddb29652abd572bc +size 69586 diff --git a/Content/Mesh/Bingmayong/lambert2.uasset b/Content/Mesh/Bingmayong/lambert2.uasset new file mode 100644 index 0000000..2087d8f --- /dev/null +++ b/Content/Mesh/Bingmayong/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4c259d9a50c99d0793848bb8608b3e2b816fa3b5c1e38ac44bbf1e4a163aa4c +size 9154 diff --git a/Content/Mesh/Blender249_modify.uasset b/Content/Mesh/Blender249_modify.uasset new file mode 100644 index 0000000..a265038 --- /dev/null +++ b/Content/Mesh/Blender249_modify.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11d73f24474b2e380d61a96dab5905676efa6bb2a31aa977b1e79765357d5cb9 +size 72001 diff --git a/Content/Mesh/ChangDi/3_-_Default.uasset b/Content/Mesh/ChangDi/3_-_Default.uasset new file mode 100644 index 0000000..3f61de4 --- /dev/null +++ b/Content/Mesh/ChangDi/3_-_Default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f5afdca47a1d16a933c31f4616bfe1af389fc29f755c1ef9080808f4b7c1720 +size 9156 diff --git a/Content/Mesh/ChangDi/Material.uasset b/Content/Mesh/ChangDi/Material.uasset new file mode 100644 index 0000000..1152636 --- /dev/null +++ b/Content/Mesh/ChangDi/Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43045be60c4bc01a295d2de6c57c17d397b82729120067c8e09390079285601e +size 8985 diff --git a/Content/Mesh/ChangDi/Material_001.uasset b/Content/Mesh/ChangDi/Material_001.uasset new file mode 100644 index 0000000..e9e392d --- /dev/null +++ b/Content/Mesh/ChangDi/Material_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3c63a1ac6ace7d9f2e63cccb8619899162b3b01a2584d4b362f112ce23de931 +size 9950 diff --git a/Content/Mesh/ChangDi/Material_002.uasset b/Content/Mesh/ChangDi/Material_002.uasset new file mode 100644 index 0000000..109f071 --- /dev/null +++ b/Content/Mesh/ChangDi/Material_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1000150992a272444f3e93e3263618981bf57f8ce1447672fc88d4460793e62f +size 11836 diff --git a/Content/Mesh/ChangDi/Material_007.uasset b/Content/Mesh/ChangDi/Material_007.uasset new file mode 100644 index 0000000..e85eb18 --- /dev/null +++ b/Content/Mesh/ChangDi/Material_007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9828872667414fcb01f8d8578c03a8e6a2e160000353bc5f1abbd6d27d62261b +size 9950 diff --git a/Content/Mesh/ChangDi/Material_008.uasset b/Content/Mesh/ChangDi/Material_008.uasset new file mode 100644 index 0000000..d78bf63 --- /dev/null +++ b/Content/Mesh/ChangDi/Material_008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29a65dbe99353c215f7dc0a5edf2c5bf45d5c2e80f70cfd07016f20c5ef292b9 +size 10920 diff --git a/Content/Mesh/ChangDi/Material_009.uasset b/Content/Mesh/ChangDi/Material_009.uasset new file mode 100644 index 0000000..202824a --- /dev/null +++ b/Content/Mesh/ChangDi/Material_009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e86357ab9107e4fc5fa77f3b7f1d7042950d54af6dd2eae278138b10ba380300 +size 1187 diff --git a/Content/Mesh/ChangDi/Material_010.uasset b/Content/Mesh/ChangDi/Material_010.uasset new file mode 100644 index 0000000..20c6e78 --- /dev/null +++ b/Content/Mesh/ChangDi/Material_010.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a01293458cd311efb71e7d11d395eb4a20cd17220eb0d8e985af6b6f2688e1 +size 9123 diff --git a/Content/Mesh/ChangDi/Material_011.uasset b/Content/Mesh/ChangDi/Material_011.uasset new file mode 100644 index 0000000..feaaa5e --- /dev/null +++ b/Content/Mesh/ChangDi/Material_011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4cf0bfe9921203c59e3e3d897f6848bfe7ecfaa7558b08a5043228e203e1fbe +size 9466 diff --git a/Content/Mesh/ChangDi/Material_013.uasset b/Content/Mesh/ChangDi/Material_013.uasset new file mode 100644 index 0000000..06aa90f --- /dev/null +++ b/Content/Mesh/ChangDi/Material_013.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:714d55844317fdba701a08f60622842e2b72a34ec600cfc5e7868a24972a01dd +size 8599 diff --git a/Content/Mesh/ChangDi/SM_1_280.uasset b/Content/Mesh/ChangDi/SM_1_280.uasset new file mode 100644 index 0000000..2407da9 --- /dev/null +++ b/Content/Mesh/ChangDi/SM_1_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1b1d3897695aa90e4422464f3376d2273dee54c6308fefaefc6e694681c9222 +size 918288 diff --git a/Content/Mesh/ChangDi/SM_2_260.uasset b/Content/Mesh/ChangDi/SM_2_260.uasset new file mode 100644 index 0000000..8b7696f --- /dev/null +++ b/Content/Mesh/ChangDi/SM_2_260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0eae862ecefd32c2af3fe18e48171bdb7aa9b6a0585d76a629b19e6b5af63b5 +size 933308 diff --git a/Content/Mesh/ChangDi/SM_2_290.uasset b/Content/Mesh/ChangDi/SM_2_290.uasset new file mode 100644 index 0000000..3ba3dd4 --- /dev/null +++ b/Content/Mesh/ChangDi/SM_2_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643ffa09bcc5ab55b0fc58da473bf2de717c0cb81da08ba9734d53d98de098bd +size 924535 diff --git a/Content/Mesh/ChangDi/SM_2_330.uasset b/Content/Mesh/ChangDi/SM_2_330.uasset new file mode 100644 index 0000000..c74d08d --- /dev/null +++ b/Content/Mesh/ChangDi/SM_2_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7789f8add67b9c049d5392610536bf7967b6101bdc2db59c9de86366638cd6c +size 981583 diff --git a/Content/Mesh/ChangDi/T_ditu.uasset b/Content/Mesh/ChangDi/T_ditu.uasset new file mode 100644 index 0000000..32e26da --- /dev/null +++ b/Content/Mesh/ChangDi/T_ditu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77a04044bae0b1e3d5aa719d54774cbdfae5e94d5e0707b1e4ab5ef6971f0fe1 +size 85659 diff --git a/Content/Mesh/ChangDi/T_ditu1.uasset b/Content/Mesh/ChangDi/T_ditu1.uasset new file mode 100644 index 0000000..d4b4927 --- /dev/null +++ b/Content/Mesh/ChangDi/T_ditu1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e34d1db5b7f917133d0ff4225cf0f51b42e6ce145df2c52531ec06d34443ad8 +size 149305 diff --git a/Content/Mesh/ChangDi/xin/260.uasset b/Content/Mesh/ChangDi/xin/260.uasset new file mode 100644 index 0000000..1a47cf4 --- /dev/null +++ b/Content/Mesh/ChangDi/xin/260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51d8ffb96c328f660ff1a1942a6fae8e3eb4f6416c17858c9c7e636a8894459b +size 16905057 diff --git a/Content/Mesh/ChangDi/xin/280.uasset b/Content/Mesh/ChangDi/xin/280.uasset new file mode 100644 index 0000000..46f184d --- /dev/null +++ b/Content/Mesh/ChangDi/xin/280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2732a78ff050e778771e8686866fe91c9cf2d27e754acc5b4e07b5c0a0f54d2e +size 16399022 diff --git a/Content/Mesh/ChangDi/xin/290.uasset b/Content/Mesh/ChangDi/xin/290.uasset new file mode 100644 index 0000000..ce912c2 --- /dev/null +++ b/Content/Mesh/ChangDi/xin/290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdb51807e9919c043fd2acf15059c54e021793b7dad6bb9c9708288110f1f8b1 +size 918440 diff --git a/Content/Mesh/ChangDi/xin/330.uasset b/Content/Mesh/ChangDi/xin/330.uasset new file mode 100644 index 0000000..6e027ee --- /dev/null +++ b/Content/Mesh/ChangDi/xin/330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a365bf25784673f810a9942cf669c2d22460cee71ad2fcb1846e8b44199e364 +size 18315841 diff --git a/Content/Mesh/ChangDi/微信图片_00002147483647.uasset b/Content/Mesh/ChangDi/微信图片_00002147483647.uasset new file mode 100644 index 0000000..dc835b0 --- /dev/null +++ b/Content/Mesh/ChangDi/微信图片_00002147483647.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcd0777d2ffaaa171c10456dee569e129c5429481551d47ab4568a8b0ec2612f +size 1342 diff --git a/Content/Mesh/Culture/2.uasset b/Content/Mesh/Culture/2.uasset new file mode 100644 index 0000000..64ec9e1 --- /dev/null +++ b/Content/Mesh/Culture/2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e19360950cdb46b9a997861350a236a0bf251308073915c4ef0f9bc2347a6a4 +size 3623468 diff --git a/Content/Mesh/Culture/5.uasset b/Content/Mesh/Culture/5.uasset new file mode 100644 index 0000000..def6af1 --- /dev/null +++ b/Content/Mesh/Culture/5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2028e66c284454f06e0671784e9c023cc4b4d9687f36e1b8b710519ede2b77ea +size 5473703 diff --git a/Content/Mesh/Culture/Cube.uasset b/Content/Mesh/Culture/Cube.uasset new file mode 100644 index 0000000..7ad6f88 --- /dev/null +++ b/Content/Mesh/Culture/Cube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62c87efe31e5f7d6295680409bdaa29f06dac5dfc5041fc227f78b80eeed9144 +size 17881 diff --git a/Content/Mesh/Culture/Dirty_Materail_0067.uasset b/Content/Mesh/Culture/Dirty_Materail_0067.uasset new file mode 100644 index 0000000..f495161 --- /dev/null +++ b/Content/Mesh/Culture/Dirty_Materail_0067.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47765cfd8bd01a33f83ff64673ecbb06add378e21d061d23b3ee339ce686553e +size 700649 diff --git a/Content/Mesh/Culture/Fbx_Default_Material.uasset b/Content/Mesh/Culture/Fbx_Default_Material.uasset new file mode 100644 index 0000000..446266c --- /dev/null +++ b/Content/Mesh/Culture/Fbx_Default_Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b368b56f4b9aaf4cce07a08e444d6b727f7e0280277a5e8d12f13ae43cd28712 +size 8931 diff --git a/Content/Mesh/Culture/GW-Normal_BaseColor.uasset b/Content/Mesh/Culture/GW-Normal_BaseColor.uasset new file mode 100644 index 0000000..1518742 --- /dev/null +++ b/Content/Mesh/Culture/GW-Normal_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc4a311fd24dd15d8a5ebb0c2cd4363f0db7efeeb51c5a277e39d43c794cd1c2 +size 14673533 diff --git a/Content/Mesh/Culture/M_Guchui.uasset b/Content/Mesh/Culture/M_Guchui.uasset new file mode 100644 index 0000000..b15560a --- /dev/null +++ b/Content/Mesh/Culture/M_Guchui.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99bb74142f6b39e6076a0fc45bdc2814ac77780660f548be962460ad001d84a5 +size 16782 diff --git a/Content/Mesh/Culture/M_HuaXiangShi.uasset b/Content/Mesh/Culture/M_HuaXiangShi.uasset new file mode 100644 index 0000000..2ec4fc7 --- /dev/null +++ b/Content/Mesh/Culture/M_HuaXiangShi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eafaf265c98ca42d151db4e419547c033d0fcd3238f63e715e648e3ce8987eb8 +size 33824 diff --git a/Content/Mesh/Culture/M_HuaXiangShi_Inst9.uasset b/Content/Mesh/Culture/M_HuaXiangShi_Inst9.uasset new file mode 100644 index 0000000..60355cf --- /dev/null +++ b/Content/Mesh/Culture/M_HuaXiangShi_Inst9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec0caf6ef0f41cd223f789479b713647fe6eabe0a53ccfc2f27359d49caeb416 +size 19584 diff --git a/Content/Mesh/Culture/M_Mat.uasset b/Content/Mesh/Culture/M_Mat.uasset new file mode 100644 index 0000000..40e5a60 --- /dev/null +++ b/Content/Mesh/Culture/M_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b230d4cf20ad431401fe45bfe72a135489d972941be8d11d2d8371968049bc20 +size 14028 diff --git a/Content/Mesh/Culture/M_Mat2.uasset b/Content/Mesh/Culture/M_Mat2.uasset new file mode 100644 index 0000000..8a4f260 --- /dev/null +++ b/Content/Mesh/Culture/M_Mat2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b0bbfb970029f028677e1eb652c3b9eb962cbddbd96e74f2134638e57af17a6 +size 13563 diff --git a/Content/Mesh/Culture/M_Mat3.uasset b/Content/Mesh/Culture/M_Mat3.uasset new file mode 100644 index 0000000..107b5a0 --- /dev/null +++ b/Content/Mesh/Culture/M_Mat3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0f359dc68701e4bec57afa8652bf955a1dbcbd1c87dd05b4dab66678f0cfeb4 +size 18895 diff --git a/Content/Mesh/Culture/M_changlangding.uasset b/Content/Mesh/Culture/M_changlangding.uasset new file mode 100644 index 0000000..afebed8 --- /dev/null +++ b/Content/Mesh/Culture/M_changlangding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ddc7e854a62feef1e454eee794c26be4c9780d8fa49c1f6ed6bd0e29ccd76c +size 21101 diff --git a/Content/Mesh/Culture/M_changlangding_Inst.uasset b/Content/Mesh/Culture/M_changlangding_Inst.uasset new file mode 100644 index 0000000..b269452 --- /dev/null +++ b/Content/Mesh/Culture/M_changlangding_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aff7cee53fa5cab5f2a2d05b4d42eb7495eb1276ab72131e3e6f0fe39389c64 +size 14954 diff --git a/Content/Mesh/Culture/M_dimian.uasset b/Content/Mesh/Culture/M_dimian.uasset new file mode 100644 index 0000000..e6779a7 --- /dev/null +++ b/Content/Mesh/Culture/M_dimian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c39366dde7f09b839d0740dc6445539e28b445c5a0e262164a96a10d47e2b1ba +size 26988 diff --git a/Content/Mesh/Culture/M_dimian_Inst.uasset b/Content/Mesh/Culture/M_dimian_Inst.uasset new file mode 100644 index 0000000..2b75733 --- /dev/null +++ b/Content/Mesh/Culture/M_dimian_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab125c686da04c3c6a96f1306eb66c2558d0bc866a0b765cd4f850db8b1d0420 +size 13278 diff --git a/Content/Mesh/Culture/M_wenyang_1.uasset b/Content/Mesh/Culture/M_wenyang_1.uasset new file mode 100644 index 0000000..0371a6c --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9786ea0a712e70a25e25af18386a8b567b1c09fb276e6d830913ab27870efc2 +size 709917 diff --git a/Content/Mesh/Culture/M_wenyang_26.uasset b/Content/Mesh/Culture/M_wenyang_26.uasset new file mode 100644 index 0000000..8959c22 --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3086bd71c1bc47d4438877cc88799f9b488446e205a560aa1553327b7fbf0f6b +size 324887 diff --git a/Content/Mesh/Culture/M_wenyang_3.uasset b/Content/Mesh/Culture/M_wenyang_3.uasset new file mode 100644 index 0000000..d4ddc89 --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:181926b029ca96832a79dc8fa816747ea7d57c4b5d1a129c16070e3a6fd0586a +size 898407 diff --git a/Content/Mesh/Culture/M_wenyang_4.uasset b/Content/Mesh/Culture/M_wenyang_4.uasset new file mode 100644 index 0000000..1186d2d --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bffbcc3f89e88bdb2c60e90d7c2c20271299924af62ba9972d10f149d6ce0575 +size 444265 diff --git a/Content/Mesh/Culture/M_wenyang_53.uasset b/Content/Mesh/Culture/M_wenyang_53.uasset new file mode 100644 index 0000000..0d3b310 --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_53.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd2b7f9b752ef769087a4645aa4314ecea3324e5de08d225de03aa1e06701a60 +size 115427 diff --git a/Content/Mesh/Culture/M_wenyang_6.uasset b/Content/Mesh/Culture/M_wenyang_6.uasset new file mode 100644 index 0000000..e87ff17 --- /dev/null +++ b/Content/Mesh/Culture/M_wenyang_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9241f2aa914165cdc7007de6c21f65d856054ed3b87ac5bd03f7f03a44b1a9c +size 458915 diff --git a/Content/Mesh/Culture/Ma002147483647.uasset b/Content/Mesh/Culture/Ma002147483647.uasset new file mode 100644 index 0000000..ff2baff --- /dev/null +++ b/Content/Mesh/Culture/Ma002147483647.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7328bce155d8c20fd36a07f0c31ca4837b14b3c133327a3e9c83c5282aab011a +size 13810 diff --git a/Content/Mesh/Culture/Materiaddedw.uasset b/Content/Mesh/Culture/Materiaddedw.uasset new file mode 100644 index 0000000..5af045e --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f7fd913a9ea49c78951043462a6c5363d7c42bb01cd6428b7f6c4d20f0812c7 +size 13133 diff --git a/Content/Mesh/Culture/Materiaddedw2222.uasset b/Content/Mesh/Culture/Materiaddedw2222.uasset new file mode 100644 index 0000000..0214ab3 --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw2222.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afeaaf03bb5cce8305d486a9054a5da0eee7a04b473864b697999c5e0ead9c61 +size 14943 diff --git a/Content/Mesh/Culture/Materiaddedw_002.uasset b/Content/Mesh/Culture/Materiaddedw_002.uasset new file mode 100644 index 0000000..3250e2e --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fc273c6aa6bc91a60ad072c436775a22d0e7aef5d638caaed8b82b403dbf719 +size 13762 diff --git a/Content/Mesh/Culture/Materiaddedw_003.uasset b/Content/Mesh/Culture/Materiaddedw_003.uasset new file mode 100644 index 0000000..848ca50 --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw_003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37a67768a2a80ee55093bb9e3e4e6bea48bd15877fc09f143ae37b1bc8e02b86 +size 18412 diff --git a/Content/Mesh/Culture/Materiaddedw_003_Inst.uasset b/Content/Mesh/Culture/Materiaddedw_003_Inst.uasset new file mode 100644 index 0000000..4768250 --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw_003_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a97b84b1545cb5353730dff9f029c5e824f710aabb7231abb26084846ade0f0 +size 12151 diff --git a/Content/Mesh/Culture/Materiaddedw_qiang.uasset b/Content/Mesh/Culture/Materiaddedw_qiang.uasset new file mode 100644 index 0000000..c05491d --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw_qiang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ad16ef6d0c9b1026ac49faac2f61ea13119ca771fa3a2425c0c8a553d2aae6b +size 11818 diff --git a/Content/Mesh/Culture/Materiaddedw_qiang_Inst.uasset b/Content/Mesh/Culture/Materiaddedw_qiang_Inst.uasset new file mode 100644 index 0000000..8c5682b --- /dev/null +++ b/Content/Mesh/Culture/Materiaddedw_qiang_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a3128234992d350986320b76784e169ced8cc494afc94bffeb32bb5720602c +size 10253 diff --git a/Content/Mesh/Culture/Material__1665.uasset b/Content/Mesh/Culture/Material__1665.uasset new file mode 100644 index 0000000..a1bda7e --- /dev/null +++ b/Content/Mesh/Culture/Material__1665.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e924454bddeb23f60a239454b1dff67679e1efe789a26282f29d8b1ef309ba +size 12638 diff --git a/Content/Mesh/Culture/Material__1665_002.uasset b/Content/Mesh/Culture/Material__1665_002.uasset new file mode 100644 index 0000000..2b96472 --- /dev/null +++ b/Content/Mesh/Culture/Material__1665_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d6bda7a9bbd09c90b01d9c470e8ba4f007bfb382983c2c5071c3131e8df8b6 +size 12401 diff --git a/Content/Mesh/Culture/Material__1666_001.uasset b/Content/Mesh/Culture/Material__1666_001.uasset new file mode 100644 index 0000000..2fb4383 --- /dev/null +++ b/Content/Mesh/Culture/Material__1666_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f30a9d40e340d59d9886463a4d0f8a12464e40e511544f5ae74696303a7bb3a0 +size 11342 diff --git a/Content/Mesh/Culture/Material__1670.uasset b/Content/Mesh/Culture/Material__1670.uasset new file mode 100644 index 0000000..ced873d --- /dev/null +++ b/Content/Mesh/Culture/Material__1670.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b873424867a60944a4097ba23664aabfb9df7350bcf7d02713e509f6a7a2333 +size 14593 diff --git a/Content/Mesh/Culture/Material__1670_001.uasset b/Content/Mesh/Culture/Material__1670_001.uasset new file mode 100644 index 0000000..29de6a1 --- /dev/null +++ b/Content/Mesh/Culture/Material__1670_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2d08ff3762818491bdffe4dd88d67fa8633ce038b0cd544efb3e5485cf8fd59 +size 14673 diff --git a/Content/Mesh/Culture/Material__1671.uasset b/Content/Mesh/Culture/Material__1671.uasset new file mode 100644 index 0000000..9cc4a10 --- /dev/null +++ b/Content/Mesh/Culture/Material__1671.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e770662b68cb5a03ae862be2a4c30655be8455004b3fe19f22b9f7a0433889 +size 21420 diff --git a/Content/Mesh/Culture/Material__1671_Inst.uasset b/Content/Mesh/Culture/Material__1671_Inst.uasset new file mode 100644 index 0000000..0e77f73 --- /dev/null +++ b/Content/Mesh/Culture/Material__1671_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6430940e0a1ff39581ee366bbf72b7aaf3111219fa28c9959b29cd4101c55a82 +size 17986 diff --git a/Content/Mesh/Culture/Material__1672.uasset b/Content/Mesh/Culture/Material__1672.uasset new file mode 100644 index 0000000..6b60260 --- /dev/null +++ b/Content/Mesh/Culture/Material__1672.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adf4ae576343f52eef004b7e7860082050064e6733ef7a1dd7e86edb1b2c8917 +size 16472 diff --git a/Content/Mesh/Culture/Material__1674.uasset b/Content/Mesh/Culture/Material__1674.uasset new file mode 100644 index 0000000..cbb9405 --- /dev/null +++ b/Content/Mesh/Culture/Material__1674.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63a0176ac6c8dec1cca9123bb1a687d8cc1afc24aaebb23da00849dc05bcd935 +size 10528 diff --git a/Content/Mesh/Culture/Material__2134742714.uasset b/Content/Mesh/Culture/Material__2134742714.uasset new file mode 100644 index 0000000..64c454a --- /dev/null +++ b/Content/Mesh/Culture/Material__2134742714.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b0335d69630c3be101e2356f482294a3ebb634f9918d9533111817436e102e3 +size 15157 diff --git a/Content/Mesh/Culture/Material__32.uasset b/Content/Mesh/Culture/Material__32.uasset new file mode 100644 index 0000000..4222f54 --- /dev/null +++ b/Content/Mesh/Culture/Material__32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4742f778af5b093cf5c04dfd62673c68d56882b2ea2ccc15dbdc8c6a8ac6a074 +size 9130 diff --git a/Content/Mesh/Culture/Material__43_001.uasset b/Content/Mesh/Culture/Material__43_001.uasset new file mode 100644 index 0000000..5857b09 --- /dev/null +++ b/Content/Mesh/Culture/Material__43_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d4fa837dd32021c92f6b0b7a99501c6f54d128413920ce4a955618f7a820961 +size 11053 diff --git a/Content/Mesh/Culture/Material__95.uasset b/Content/Mesh/Culture/Material__95.uasset new file mode 100644 index 0000000..6937a94 --- /dev/null +++ b/Content/Mesh/Culture/Material__95.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46bb2a1096aa7ce3625d727fac3c3974d96a7b6b3783888ecb87f622cf77b318 +size 12988 diff --git a/Content/Mesh/Culture/Material__95_001.uasset b/Content/Mesh/Culture/Material__95_001.uasset new file mode 100644 index 0000000..fa0c0c8 --- /dev/null +++ b/Content/Mesh/Culture/Material__95_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:679433695b6d8eca4a80c67b24130d172b67f86c910925306846dc2ca0d341dd +size 15541 diff --git a/Content/Mesh/Culture/Material__95_001_Inst.uasset b/Content/Mesh/Culture/Material__95_001_Inst.uasset new file mode 100644 index 0000000..8598f8b --- /dev/null +++ b/Content/Mesh/Culture/Material__95_001_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e245f897a0ff31a8570678a16dcac74d42c3c6c9a00970bd0087ad5543b014f2 +size 10589 diff --git a/Content/Mesh/Culture/Pavestone_Set_xl3jadjqx.uasset b/Content/Mesh/Culture/Pavestone_Set_xl3jadjqx.uasset new file mode 100644 index 0000000..e7fb7ff --- /dev/null +++ b/Content/Mesh/Culture/Pavestone_Set_xl3jadjqx.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40cee654545e3721eef9572c7396e34ddce63dd8e1813f5111e558d0f852a34 +size 15971 diff --git a/Content/Mesh/Culture/SM_BingMaYongBd.uasset b/Content/Mesh/Culture/SM_BingMaYongBd.uasset new file mode 100644 index 0000000..1f9844d --- /dev/null +++ b/Content/Mesh/Culture/SM_BingMaYongBd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:823d0b320a95dbe42a3646f4b8970f5a2a92035afdbdd8b337b82ff37ace9922 +size 2092184 diff --git a/Content/Mesh/Culture/SM_BirdQingTong.uasset b/Content/Mesh/Culture/SM_BirdQingTong.uasset new file mode 100644 index 0000000..667518c --- /dev/null +++ b/Content/Mesh/Culture/SM_BirdQingTong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c9fb43ae2f5f838ead829969e085f1c63af03d8eaeb28e484467672998ebb37 +size 353257 diff --git a/Content/Mesh/Culture/SM_BirdQingTong2.uasset b/Content/Mesh/Culture/SM_BirdQingTong2.uasset new file mode 100644 index 0000000..6d7a9a4 --- /dev/null +++ b/Content/Mesh/Culture/SM_BirdQingTong2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd79cfa931f77588098666e3e6471a95c9078053cddf30cc091c048fc7a3f25c +size 8081793 diff --git a/Content/Mesh/Culture/SM_Door.uasset b/Content/Mesh/Culture/SM_Door.uasset new file mode 100644 index 0000000..fc36c51 --- /dev/null +++ b/Content/Mesh/Culture/SM_Door.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f31e9e4328f2bfbb7784de2742205319373e1b105995ef807da74c42fa48d32 +size 181775 diff --git a/Content/Mesh/Culture/SM_Door2.uasset b/Content/Mesh/Culture/SM_Door2.uasset new file mode 100644 index 0000000..4706d98 --- /dev/null +++ b/Content/Mesh/Culture/SM_Door2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ca2d5b7bb924b5c871228533030f4a547a0321b5b183327b8b88c945b93866 +size 3217967 diff --git a/Content/Mesh/Culture/SM_Gongdeng02_未央宫2120.uasset b/Content/Mesh/Culture/SM_Gongdeng02_未央宫2120.uasset new file mode 100644 index 0000000..0c3e622 --- /dev/null +++ b/Content/Mesh/Culture/SM_Gongdeng02_未央宫2120.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b89e6d5f79cab7236b8d5b2b92300a388e38e58e077ad25a8918f50a174322fe +size 279064 diff --git a/Content/Mesh/Culture/SM_GuChui.uasset b/Content/Mesh/Culture/SM_GuChui.uasset new file mode 100644 index 0000000..a3dcf6c --- /dev/null +++ b/Content/Mesh/Culture/SM_GuChui.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:782e2d15accf85abeea8c8d0bc7689a9d5aa6f1db4c52e1a55d595b8156fdf73 +size 112381 diff --git a/Content/Mesh/Culture/SM_GuChui1.uasset b/Content/Mesh/Culture/SM_GuChui1.uasset new file mode 100644 index 0000000..bf8f26a --- /dev/null +++ b/Content/Mesh/Culture/SM_GuChui1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:024f48b7a4e33e4695ed82b104a7c1699186780f9de543115c1248c09feb278e +size 131792 diff --git a/Content/Mesh/Culture/SM_HuFu1.uasset b/Content/Mesh/Culture/SM_HuFu1.uasset new file mode 100644 index 0000000..441f0d6 --- /dev/null +++ b/Content/Mesh/Culture/SM_HuFu1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c61086b745876b56a7493a59b56e8ee0abe5f44c4cf4abc22c9826a34e59b5e4 +size 343308 diff --git a/Content/Mesh/Culture/SM_HuFu2.uasset b/Content/Mesh/Culture/SM_HuFu2.uasset new file mode 100644 index 0000000..8a241e9 --- /dev/null +++ b/Content/Mesh/Culture/SM_HuFu2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:569f95873256a423c54d7a7da7e0969677063b38851f718b40f8801bf8456b9b +size 350693 diff --git a/Content/Mesh/Culture/SM_QSH.uasset b/Content/Mesh/Culture/SM_QSH.uasset new file mode 100644 index 0000000..1cfa65c --- /dev/null +++ b/Content/Mesh/Culture/SM_QSH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d305fce47e3a81291279dbfbb880c0bdaf5196faa34ffdaaf9f43570245f876b +size 248679 diff --git a/Content/Mesh/Culture/SM_QiZi.uasset b/Content/Mesh/Culture/SM_QiZi.uasset new file mode 100644 index 0000000..919da82 --- /dev/null +++ b/Content/Mesh/Culture/SM_QiZi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4085115824722a4c0b11f36f59424d623b6209e2e42dde2f993249e79c908f07 +size 285634 diff --git a/Content/Mesh/Culture/SM_ShaiZi.uasset b/Content/Mesh/Culture/SM_ShaiZi.uasset new file mode 100644 index 0000000..932a91b --- /dev/null +++ b/Content/Mesh/Culture/SM_ShaiZi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5dfbb1eebd970318d2301a02a2be42a56ee9f220ccf0a79a1f7e9f6ca097204 +size 23800 diff --git a/Content/Mesh/Culture/SM_SuoYan.uasset b/Content/Mesh/Culture/SM_SuoYan.uasset new file mode 100644 index 0000000..12781cf --- /dev/null +++ b/Content/Mesh/Culture/SM_SuoYan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3857a98ff0ff1fc6cde6d8b52ce8b210e227d7691244b8db4611e872745c610c +size 3209450 diff --git a/Content/Mesh/Culture/SM_Wall2.uasset b/Content/Mesh/Culture/SM_Wall2.uasset new file mode 100644 index 0000000..213de86 --- /dev/null +++ b/Content/Mesh/Culture/SM_Wall2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:386c17d5688a2b2a12b11b17f9d1cfa0fa29ad3827fcb5fb1c6ec75162817fb6 +size 14661 diff --git a/Content/Mesh/Culture/SM_XINGKONG01.uasset b/Content/Mesh/Culture/SM_XINGKONG01.uasset new file mode 100644 index 0000000..6db175e --- /dev/null +++ b/Content/Mesh/Culture/SM_XINGKONG01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d02cb8c384c6d6d201305a04c2e02d11f6a45a93c47d8b36c0050e0d1276d6d +size 798030 diff --git a/Content/Mesh/Culture/SM_XINGKONG02.uasset b/Content/Mesh/Culture/SM_XINGKONG02.uasset new file mode 100644 index 0000000..849280e --- /dev/null +++ b/Content/Mesh/Culture/SM_XINGKONG02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc50c5967e62e2b66284c9734561da7bd62ad513145d06c675a08775b06d37de +size 968551 diff --git a/Content/Mesh/Culture/SM_XINGKONG03.uasset b/Content/Mesh/Culture/SM_XINGKONG03.uasset new file mode 100644 index 0000000..aafc933 --- /dev/null +++ b/Content/Mesh/Culture/SM_XINGKONG03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2167463d514037655d56427e20c4056bf5af6a03b2d1091ad713b1cf3684b65f +size 1283071 diff --git a/Content/Mesh/Culture/SM_XINGKONG04.uasset b/Content/Mesh/Culture/SM_XINGKONG04.uasset new file mode 100644 index 0000000..388069b --- /dev/null +++ b/Content/Mesh/Culture/SM_XINGKONG04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9c5a8b0b38de3bc6cea71446581528260c3d3eb292104b15a22c325660e5fcb +size 1453394 diff --git a/Content/Mesh/Culture/SM_ZhuZi.uasset b/Content/Mesh/Culture/SM_ZhuZi.uasset new file mode 100644 index 0000000..33e7214 --- /dev/null +++ b/Content/Mesh/Culture/SM_ZhuZi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33be889cbf58c66e714caa153ff3d481417c17b7d32151d084c8bea7c2df80c1 +size 88529 diff --git a/Content/Mesh/Culture/SM_ZhuZi2.uasset b/Content/Mesh/Culture/SM_ZhuZi2.uasset new file mode 100644 index 0000000..57c8ef7 --- /dev/null +++ b/Content/Mesh/Culture/SM_ZhuZi2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bf87e2c145892e4369b2edd833132e8060cc54a8616de3acdba4f8730757ca5 +size 793191 diff --git a/Content/Mesh/Culture/SM_ZhuangShi.uasset b/Content/Mesh/Culture/SM_ZhuangShi.uasset new file mode 100644 index 0000000..7879f22 --- /dev/null +++ b/Content/Mesh/Culture/SM_ZhuangShi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c19486cdd8c1ca14b3457fa8b7e1a6e9d1616d973322b4f283fecf45fe09518a +size 333348 diff --git a/Content/Mesh/Culture/SM_ZhuangShi3.uasset b/Content/Mesh/Culture/SM_ZhuangShi3.uasset new file mode 100644 index 0000000..ec32b65 --- /dev/null +++ b/Content/Mesh/Culture/SM_ZhuangShi3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7cb8f3dde6098853b3c0252da6b8d5a6f60c28300a69387b207e6dc5b7b901c +size 393489 diff --git a/Content/Mesh/Culture/SM_ZhuangShi4.uasset b/Content/Mesh/Culture/SM_ZhuangShi4.uasset new file mode 100644 index 0000000..8978d02 --- /dev/null +++ b/Content/Mesh/Culture/SM_ZhuangShi4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b0b99f4e8c8315fd9765f6f1e7ce7a16b8152e8cd8ad99ae08e5dfa89767a71 +size 430668 diff --git a/Content/Mesh/Culture/SM_Zhuzi4.uasset b/Content/Mesh/Culture/SM_Zhuzi4.uasset new file mode 100644 index 0000000..ff18962 --- /dev/null +++ b/Content/Mesh/Culture/SM_Zhuzi4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a5b234b809b2950c8bbc1b3ee0a72450e5f1810f01e37b34eaaac2805440a0b +size 2921475 diff --git a/Content/Mesh/Culture/SM_Zhuzi6.uasset b/Content/Mesh/Culture/SM_Zhuzi6.uasset new file mode 100644 index 0000000..06ee727 --- /dev/null +++ b/Content/Mesh/Culture/SM_Zhuzi6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4424d26eb94c75a111539822760013c136b3e0f3262a35a8517cd5e1006e5ec8 +size 26137 diff --git a/Content/Mesh/Culture/SM_floor.uasset b/Content/Mesh/Culture/SM_floor.uasset new file mode 100644 index 0000000..45cd593 --- /dev/null +++ b/Content/Mesh/Culture/SM_floor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:023ee29c93ef28f32b61bdc603f4400d667d0a7e7fffd0aa71ebd4a493258c06 +size 67143 diff --git a/Content/Mesh/Culture/SM_floor2.uasset b/Content/Mesh/Culture/SM_floor2.uasset new file mode 100644 index 0000000..892fb15 --- /dev/null +++ b/Content/Mesh/Culture/SM_floor2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d710e3297e16b81bb687707c2d42e626f862a20f14173c3fe7b0c7de262a7938 +size 351182 diff --git a/Content/Mesh/Culture/SM_gongnu.uasset b/Content/Mesh/Culture/SM_gongnu.uasset new file mode 100644 index 0000000..4f3308c --- /dev/null +++ b/Content/Mesh/Culture/SM_gongnu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40aa9f986e132e0c44860c1ffb24cbc25497ab1820a9a74094e84ef8526ac07 +size 1759094 diff --git a/Content/Mesh/Culture/SM_gongnu2.uasset b/Content/Mesh/Culture/SM_gongnu2.uasset new file mode 100644 index 0000000..e26a54f --- /dev/null +++ b/Content/Mesh/Culture/SM_gongnu2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba113d5cc8392c58b89445e0b3afbbb3b87d04061cab4fc4a71af4fe29723afe +size 49635 diff --git a/Content/Mesh/Culture/SM_huaxiang.uasset b/Content/Mesh/Culture/SM_huaxiang.uasset new file mode 100644 index 0000000..05da17b --- /dev/null +++ b/Content/Mesh/Culture/SM_huaxiang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ce30ece405a211ee8010d4a1b778833c8b144540f4807d5a716586a6a287e08 +size 153863 diff --git a/Content/Mesh/Culture/SM_huaxiang1.uasset b/Content/Mesh/Culture/SM_huaxiang1.uasset new file mode 100644 index 0000000..7f3239d --- /dev/null +++ b/Content/Mesh/Culture/SM_huaxiang1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6f91f172b267a5e9bf8eb879811f4280b287952fec5578816ab5cf94f87068f +size 262210 diff --git a/Content/Mesh/Culture/SM_huaxiangzhuan.uasset b/Content/Mesh/Culture/SM_huaxiangzhuan.uasset new file mode 100644 index 0000000..239f721 --- /dev/null +++ b/Content/Mesh/Culture/SM_huaxiangzhuan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6349dcdfb7f3161c6af416c111065c207a3e1b0ccb43493fd301b08526cc4b05 +size 84919 diff --git a/Content/Mesh/Culture/SM_huaxiangzhuan2.uasset b/Content/Mesh/Culture/SM_huaxiangzhuan2.uasset new file mode 100644 index 0000000..22673f0 --- /dev/null +++ b/Content/Mesh/Culture/SM_huaxiangzhuan2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd7110b122972ef40268c7e4d6cf2268e6b18c77104ffb7edd7e1f1283bacf1c +size 1255525 diff --git a/Content/Mesh/Culture/SM_langan.uasset b/Content/Mesh/Culture/SM_langan.uasset new file mode 100644 index 0000000..4ba9c11 --- /dev/null +++ b/Content/Mesh/Culture/SM_langan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed93a234c63ae829fe4259405891091182e693d3ba8a375f05eaed98eaa42a21 +size 204129 diff --git a/Content/Mesh/Culture/SM_langan02.uasset b/Content/Mesh/Culture/SM_langan02.uasset new file mode 100644 index 0000000..95f1e39 --- /dev/null +++ b/Content/Mesh/Culture/SM_langan02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26ac7d7721696153b680239f3542e9d3669800ed965d93dbbf2c5261e39be961 +size 59728 diff --git a/Content/Mesh/Culture/SM_light.uasset b/Content/Mesh/Culture/SM_light.uasset new file mode 100644 index 0000000..a566251 --- /dev/null +++ b/Content/Mesh/Culture/SM_light.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a01316c28eeb434357e783731e47bc58c52bd68749b3f1503fddf9a3b7f0fd4 +size 3286737 diff --git a/Content/Mesh/Culture/SM_light2.uasset b/Content/Mesh/Culture/SM_light2.uasset new file mode 100644 index 0000000..999f46a --- /dev/null +++ b/Content/Mesh/Culture/SM_light2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6718f36eedcbdfb67e4493c6683c4500aab1a630a926de59544b9c51e0f6004d +size 1378678 diff --git a/Content/Mesh/Culture/SM_stair.uasset b/Content/Mesh/Culture/SM_stair.uasset new file mode 100644 index 0000000..6f27944 --- /dev/null +++ b/Content/Mesh/Culture/SM_stair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b049cffb3d69210480415649b96b071346f16a371d51ff0e9d7b08c093694b7e +size 841499 diff --git a/Content/Mesh/Culture/SM_stair2.uasset b/Content/Mesh/Culture/SM_stair2.uasset new file mode 100644 index 0000000..165bd7b --- /dev/null +++ b/Content/Mesh/Culture/SM_stair2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d600910eb973cad3c08ef61e596c292ecf3f718712a3ab0e4b7769d3b7dcb28 +size 346847 diff --git a/Content/Mesh/Culture/Standardmaterial2_002.uasset b/Content/Mesh/Culture/Standardmaterial2_002.uasset new file mode 100644 index 0000000..2b3c68d --- /dev/null +++ b/Content/Mesh/Culture/Standardmaterial2_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f9f2e27856e7b5b3a8977182fd1f4079f4c19ec1773a19060537e7c0e03665 +size 19481 diff --git a/Content/Mesh/Culture/T_HU_Base_BSP_Concrete032.uasset b/Content/Mesh/Culture/T_HU_Base_BSP_Concrete032.uasset new file mode 100644 index 0000000..ea27540 --- /dev/null +++ b/Content/Mesh/Culture/T_HU_Base_BSP_Concrete032.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8dbbe27d7a04da662fcf6d649ae1cafe4987b56ec8a3ce22d2ac8f3ff02a64f +size 1407153 diff --git a/Content/Mesh/Culture/T_HU_Base_BSP_Concrete033.uasset b/Content/Mesh/Culture/T_HU_Base_BSP_Concrete033.uasset new file mode 100644 index 0000000..1b11ddf --- /dev/null +++ b/Content/Mesh/Culture/T_HU_Base_BSP_Concrete033.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70ead0d13683c31ac11fd1af3221a9f25149e59d77169261f5da9672babc3ea8 +size 2890228 diff --git a/Content/Mesh/Culture/T_ShaiZidiNormal.uasset b/Content/Mesh/Culture/T_ShaiZidiNormal.uasset new file mode 100644 index 0000000..75ea420 --- /dev/null +++ b/Content/Mesh/Culture/T_ShaiZidiNormal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76511c843884bd890bdbebe5fd1beea86a754f424c19b01d4ad713d12fd4db16 +size 156871 diff --git a/Content/Mesh/Culture/T_ShaiZidiffuse.uasset b/Content/Mesh/Culture/T_ShaiZidiffuse.uasset new file mode 100644 index 0000000..51a8fff --- /dev/null +++ b/Content/Mesh/Culture/T_ShaiZidiffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba39407ca17ad7d8ff009dafadcd9f1d8faecef473593935e0b2316d62230ebd +size 91056 diff --git a/Content/Mesh/Culture/T_ShaiZidiffuse_OCC.uasset b/Content/Mesh/Culture/T_ShaiZidiffuse_OCC.uasset new file mode 100644 index 0000000..e2ff69d --- /dev/null +++ b/Content/Mesh/Culture/T_ShaiZidiffuse_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5a2338344844e5b701a409a331e2f96d20ff1e9af91a83dafa58823abbae5e9 +size 396735 diff --git a/Content/Mesh/Culture/T_ShaiZidiffuse_SPEC.uasset b/Content/Mesh/Culture/T_ShaiZidiffuse_SPEC.uasset new file mode 100644 index 0000000..4283992 --- /dev/null +++ b/Content/Mesh/Culture/T_ShaiZidiffuse_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59c4e9f67a5f1485bd957951b44ffdbdb612b8db23d24431fb8cca07ecf43004 +size 39529 diff --git a/Content/Mesh/Culture/T_Texture.uasset b/Content/Mesh/Culture/T_Texture.uasset new file mode 100644 index 0000000..fd47df7 --- /dev/null +++ b/Content/Mesh/Culture/T_Texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa63223b97432596de939d8b484da559bf8cecff15f832ced99c0461e4dc7401 +size 12107321 diff --git a/Content/Mesh/Culture/T_Texture2.uasset b/Content/Mesh/Culture/T_Texture2.uasset new file mode 100644 index 0000000..ac1bd90 --- /dev/null +++ b/Content/Mesh/Culture/T_Texture2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3ccf9e465ba4b0940bb1b6582fc1df5b93d74e86557507fdc4d846cbc81d9d0 +size 2251223 diff --git a/Content/Mesh/Culture/T_Texture3.uasset b/Content/Mesh/Culture/T_Texture3.uasset new file mode 100644 index 0000000..447e9b4 --- /dev/null +++ b/Content/Mesh/Culture/T_Texture3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fdd3f847e2385527d5c667b661734344f9eb7ca30ef69b71abb6c3f6583a7c2 +size 2780917 diff --git a/Content/Mesh/Culture/T_Texture4.uasset b/Content/Mesh/Culture/T_Texture4.uasset new file mode 100644 index 0000000..58a771e --- /dev/null +++ b/Content/Mesh/Culture/T_Texture4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a50d0bd8132c5ddb17e353cba7210edb22a50a448b36a25b0f67f43d5be4360 +size 696812 diff --git a/Content/Mesh/Culture/T_Texture5.uasset b/Content/Mesh/Culture/T_Texture5.uasset new file mode 100644 index 0000000..d0f5731 --- /dev/null +++ b/Content/Mesh/Culture/T_Texture5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93d271c47c53a68b384abe40964a65f7d7d62ef9b13cb31ef79d5970d678bff3 +size 120959 diff --git a/Content/Mesh/Culture/T_Texture6.uasset b/Content/Mesh/Culture/T_Texture6.uasset new file mode 100644 index 0000000..f035e43 --- /dev/null +++ b/Content/Mesh/Culture/T_Texture6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcaa4a98a087571ed1e36a5e7f7d4265451f4907c406b6c15bdeb326a0effd5f +size 621565 diff --git a/Content/Mesh/Culture/T_Tietu.uasset b/Content/Mesh/Culture/T_Tietu.uasset new file mode 100644 index 0000000..72a064d --- /dev/null +++ b/Content/Mesh/Culture/T_Tietu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e47560ca09008fbe49c776317d44ad938552455fcf467823062a4ba56b801d +size 600969 diff --git a/Content/Mesh/Culture/T_Tietu1.uasset b/Content/Mesh/Culture/T_Tietu1.uasset new file mode 100644 index 0000000..2dfc99c --- /dev/null +++ b/Content/Mesh/Culture/T_Tietu1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3105d6f8fe991115c89c6f88f0a6eb5a62a8b078a81a2170c9e0e0d27095672 +size 1823199 diff --git a/Content/Mesh/Culture/T_Tietu2.uasset b/Content/Mesh/Culture/T_Tietu2.uasset new file mode 100644 index 0000000..612979b --- /dev/null +++ b/Content/Mesh/Culture/T_Tietu2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:520d9ba4b15ae57bc7388e501d7f55d24a12e42dfce0d0d95eacb2fa37566768 +size 2104384 diff --git a/Content/Mesh/Culture/T_Tietu3.uasset b/Content/Mesh/Culture/T_Tietu3.uasset new file mode 100644 index 0000000..9cc0a76 --- /dev/null +++ b/Content/Mesh/Culture/T_Tietu3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f267ad27ec17de4c91900e75f14bed7f6240ebc785b663782f7e789d528a76d4 +size 33900990 diff --git a/Content/Mesh/Culture/T_huaxiang.uasset b/Content/Mesh/Culture/T_huaxiang.uasset new file mode 100644 index 0000000..c27d39d --- /dev/null +++ b/Content/Mesh/Culture/T_huaxiang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb81a642436b2b03298024666feffccff1596b16594c61f2e9bbafa041e43fb +size 4905407 diff --git a/Content/Mesh/Culture/UT0.uasset b/Content/Mesh/Culture/UT0.uasset new file mode 100644 index 0000000..5a08438 --- /dev/null +++ b/Content/Mesh/Culture/UT0.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e055f897311b1799d573f293ced6822dea2274cfa461a407994d03eecdae4293 +size 1380480 diff --git a/Content/Mesh/Culture/UT20040574_y.uasset b/Content/Mesh/Culture/UT20040574_y.uasset new file mode 100644 index 0000000..95b4abc --- /dev/null +++ b/Content/Mesh/Culture/UT20040574_y.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b4ec65569509134cfb9c1554213e8d68c59933c679606fb4d152a6b375c3705 +size 109091 diff --git a/Content/Mesh/Culture/bas08ALred_1.uasset b/Content/Mesh/Culture/bas08ALred_1.uasset new file mode 100644 index 0000000..520a525 --- /dev/null +++ b/Content/Mesh/Culture/bas08ALred_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfcca3fd2289ca2430045eaec540cf6df65f2e67b3a448e83e5dcb8eccead6c2 +size 717521 diff --git a/Content/Mesh/Culture/base01BO.uasset b/Content/Mesh/Culture/base01BO.uasset new file mode 100644 index 0000000..bc9df3d --- /dev/null +++ b/Content/Mesh/Culture/base01BO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4622743800fe8f011d5d1e2098f18bcbc9c02bcd41879cb13f9c451b27533cb3 +size 2067376 diff --git a/Content/Mesh/Culture/defaultMat.uasset b/Content/Mesh/Culture/defaultMat.uasset new file mode 100644 index 0000000..f28395f --- /dev/null +++ b/Content/Mesh/Culture/defaultMat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd3d3f23c940842e928adf54ba22bb7d241645965eeddb5cbdd6c00a8bc3deff +size 9028 diff --git a/Content/Mesh/Culture/dizhuan1_002.uasset b/Content/Mesh/Culture/dizhuan1_002.uasset new file mode 100644 index 0000000..62f05ff --- /dev/null +++ b/Content/Mesh/Culture/dizhuan1_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b27ad71c824ebad93976f3fc029ae05b198164253ad37217b533a37e0bcd914 +size 13264 diff --git a/Content/Mesh/Culture/dkhb.uasset b/Content/Mesh/Culture/dkhb.uasset new file mode 100644 index 0000000..e800b03 --- /dev/null +++ b/Content/Mesh/Culture/dkhb.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f557c78418965cc6dfccde5f3acfca8c6d271ee8f805612db8b290f5d83ffba4 +size 129009 diff --git a/Content/Mesh/Culture/emmis.uasset b/Content/Mesh/Culture/emmis.uasset new file mode 100644 index 0000000..72df12d --- /dev/null +++ b/Content/Mesh/Culture/emmis.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:557afdea96ba04e49513117717ff4ab01c1c3145dfd89a0443566bca73594514 +size 9655 diff --git a/Content/Mesh/Culture/gai-2.uasset b/Content/Mesh/Culture/gai-2.uasset new file mode 100644 index 0000000..a83eef7 --- /dev/null +++ b/Content/Mesh/Culture/gai-2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:590eb535f925d6126c946984971c90ee714105e02ac0e8f9b0143a60d958af95 +size 480506 diff --git a/Content/Mesh/Culture/gai-2_ncl1_1.uasset b/Content/Mesh/Culture/gai-2_ncl1_1.uasset new file mode 100644 index 0000000..c9cd16f --- /dev/null +++ b/Content/Mesh/Culture/gai-2_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bc1f22f7d73c1ec6d46ce04d29b1a408f178de307b988723b9b28a2d25a79cc +size 472128 diff --git a/Content/Mesh/Culture/gai-3.uasset b/Content/Mesh/Culture/gai-3.uasset new file mode 100644 index 0000000..46dc2a2 --- /dev/null +++ b/Content/Mesh/Culture/gai-3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb6801ecb5e49b788161257c89045f69f1ff9ed27ba0224e53c278215c2dc67a +size 562954 diff --git a/Content/Mesh/Culture/gai-4-1.uasset b/Content/Mesh/Culture/gai-4-1.uasset new file mode 100644 index 0000000..8e7885b --- /dev/null +++ b/Content/Mesh/Culture/gai-4-1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f10ffd05b0067f577b7782274d5e2b4cfc4bb56701cf9732ab66c41db15d564 +size 623561 diff --git a/Content/Mesh/Culture/gai-4-1_ncl1_1.uasset b/Content/Mesh/Culture/gai-4-1_ncl1_1.uasset new file mode 100644 index 0000000..9ad41bd --- /dev/null +++ b/Content/Mesh/Culture/gai-4-1_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e671d33333d4a111d6fa4134e77d97ed56890b11947ef61d85dfaabdddfd211 +size 623915 diff --git a/Content/Mesh/Culture/greek_roman004.uasset b/Content/Mesh/Culture/greek_roman004.uasset new file mode 100644 index 0000000..e75b943 --- /dev/null +++ b/Content/Mesh/Culture/greek_roman004.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:006a7830c3dfa3d455d6bae24344e6d4290602c637b9eec909e011d975f90748 +size 768907 diff --git a/Content/Mesh/Culture/hufu_COLOR.uasset b/Content/Mesh/Culture/hufu_COLOR.uasset new file mode 100644 index 0000000..cf66539 --- /dev/null +++ b/Content/Mesh/Culture/hufu_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5de1aed4b0a451089e1b4241cbf3a4f3a97f37d8363d4ad045089ca35e78e6ea +size 1965266 diff --git a/Content/Mesh/Culture/hufu_NRM.uasset b/Content/Mesh/Culture/hufu_NRM.uasset new file mode 100644 index 0000000..e125f34 --- /dev/null +++ b/Content/Mesh/Culture/hufu_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c474d3f0b4fea0d41e0133aa8c77b5d3b259acee10f804027e21cebac95bac9a +size 1600349 diff --git a/Content/Mesh/Culture/hufu_OCC.uasset b/Content/Mesh/Culture/hufu_OCC.uasset new file mode 100644 index 0000000..48f2f43 --- /dev/null +++ b/Content/Mesh/Culture/hufu_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:433063d1f0c4eca17c7b800c5aceee851633f131bfb09e8ee0e5f57f3f761541 +size 427824 diff --git a/Content/Mesh/Culture/hufu_SPEC.uasset b/Content/Mesh/Culture/hufu_SPEC.uasset new file mode 100644 index 0000000..a1f4e47 --- /dev/null +++ b/Content/Mesh/Culture/hufu_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e97734bad2a17851205b98b3d611c1e9452245c8551d7e8eb5b47c7847640e7 +size 591781 diff --git a/Content/Mesh/Culture/innadrillu8.uasset b/Content/Mesh/Culture/innadrillu8.uasset new file mode 100644 index 0000000..180b4de --- /dev/null +++ b/Content/Mesh/Culture/innadrillu8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0a92a5d166cddfd5dfbe2e2e3cdb2da4b0e9556d88947fb6396f93b4b399770 +size 146153 diff --git a/Content/Mesh/Culture/innadrw2su8.uasset b/Content/Mesh/Culture/innadrw2su8.uasset new file mode 100644 index 0000000..192bd57 --- /dev/null +++ b/Content/Mesh/Culture/innadrw2su8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84935017c9494157006a027447ac6933daa2c2eb16ef13246abf3dae82ca88d4 +size 138213 diff --git a/Content/Mesh/Culture/p13.uasset b/Content/Mesh/Culture/p13.uasset new file mode 100644 index 0000000..bde38cc --- /dev/null +++ b/Content/Mesh/Culture/p13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2703162e5032f48ab14e0721531bd760b038d59979853a5c935861fd3bf2534 +size 1134957 diff --git a/Content/Mesh/Culture/qiang1.uasset b/Content/Mesh/Culture/qiang1.uasset new file mode 100644 index 0000000..ed98596 --- /dev/null +++ b/Content/Mesh/Culture/qiang1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b68fef9602aab3639da2b26493e2e5d9e8c2811a1a54e764616421e3302c35a5 +size 157165 diff --git a/Content/Mesh/Culture/qiangmian01.uasset b/Content/Mesh/Culture/qiangmian01.uasset new file mode 100644 index 0000000..57db523 --- /dev/null +++ b/Content/Mesh/Culture/qiangmian01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:844448fd2a040c3c6dae3305c7d0fe7a0605ac545f15e43da4a07fa8642f4e57 +size 1576709 diff --git a/Content/Mesh/Culture/qiangmian02.uasset b/Content/Mesh/Culture/qiangmian02.uasset new file mode 100644 index 0000000..5247300 --- /dev/null +++ b/Content/Mesh/Culture/qiangmian02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ab97a7baf1abdce4f2e2588117021abe94c148988cf3f0aa9b4ca6bbc70c1d +size 1523705 diff --git a/Content/Mesh/Culture/slate_floor_04.uasset b/Content/Mesh/Culture/slate_floor_04.uasset new file mode 100644 index 0000000..8e8ac66 --- /dev/null +++ b/Content/Mesh/Culture/slate_floor_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e45fda786169d63802e0ce2ad57a826dd15369dc4e432b84a9c4f4f7f3502e4e +size 2615392 diff --git a/Content/Mesh/Culture/sm_Huan.uasset b/Content/Mesh/Culture/sm_Huan.uasset new file mode 100644 index 0000000..34a2c84 --- /dev/null +++ b/Content/Mesh/Culture/sm_Huan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc42958817efd0793969029ceeb95bf8c15c297820a08bc161a87cd1a285be53 +size 23643 diff --git a/Content/Mesh/Culture/sm_qinshihuang.uasset b/Content/Mesh/Culture/sm_qinshihuang.uasset new file mode 100644 index 0000000..8160d06 --- /dev/null +++ b/Content/Mesh/Culture/sm_qinshihuang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bd78a3b10d32b96d1123a54c114ded8467ee3a25827295fe0a8168bca8bebb5 +size 20721245 diff --git a/Content/Mesh/Culture/taijiyan_1_002.uasset b/Content/Mesh/Culture/taijiyan_1_002.uasset new file mode 100644 index 0000000..b55886c --- /dev/null +++ b/Content/Mesh/Culture/taijiyan_1_002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:242e4927e6781499b8892c9f4e51494b7627ffe4adee9fc4d9e457fbd1c78211 +size 18928 diff --git a/Content/Mesh/Culture/va.uasset b/Content/Mesh/Culture/va.uasset new file mode 100644 index 0000000..f7b6ae0 --- /dev/null +++ b/Content/Mesh/Culture/va.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:effbd8847aa8813c30c565d6fd20e051b2b0a8305ebe7cf76202c8ba2d01e9dd +size 12415 diff --git a/Content/Mesh/Culture/xl3jadjqx_4K_Albedo.uasset b/Content/Mesh/Culture/xl3jadjqx_4K_Albedo.uasset new file mode 100644 index 0000000..69ef9cc --- /dev/null +++ b/Content/Mesh/Culture/xl3jadjqx_4K_Albedo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b75476512fd352c827d05e90078450a8ab345035363199587cc64561720d6138 +size 148481 diff --git a/Content/Mesh/Culture/xl3jadjqx_4K_Normal_LOD0.uasset b/Content/Mesh/Culture/xl3jadjqx_4K_Normal_LOD0.uasset new file mode 100644 index 0000000..50fdd90 --- /dev/null +++ b/Content/Mesh/Culture/xl3jadjqx_4K_Normal_LOD0.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9cd7daf404b8fe6e70a6a70e9264f1ab97d9fb48d484a8e8fe8cc2b9de9adf +size 148982 diff --git a/Content/Mesh/Culture/xl3jadjqx_4K_Roughness.uasset b/Content/Mesh/Culture/xl3jadjqx_4K_Roughness.uasset new file mode 100644 index 0000000..3d2d5ac --- /dev/null +++ b/Content/Mesh/Culture/xl3jadjqx_4K_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36eaf28ecfea4bf5beaec530275a4f9d98a009d46b452183a663e04ec00c8b6c +size 37454 diff --git a/Content/Mesh/Culture/方正小篆体.uasset b/Content/Mesh/Culture/方正小篆体.uasset new file mode 100644 index 0000000..066663f --- /dev/null +++ b/Content/Mesh/Culture/方正小篆体.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba9befa8eb9aa13fafb9d5f46aaec0478c310e44ae3bf028eda0579b72c8344e +size 5287990 diff --git a/Content/Mesh/Culture/方正小篆体_Font.uasset b/Content/Mesh/Culture/方正小篆体_Font.uasset new file mode 100644 index 0000000..56c0220 --- /dev/null +++ b/Content/Mesh/Culture/方正小篆体_Font.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43c8da2635af71d69fa06a2656a47610c6f215b3e18ce5d2ea172cc35f21de49 +size 6494 diff --git a/Content/Mesh/Culture/暗色石柱-黑白.uasset b/Content/Mesh/Culture/暗色石柱-黑白.uasset new file mode 100644 index 0000000..4a978ec --- /dev/null +++ b/Content/Mesh/Culture/暗色石柱-黑白.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccedf0457fec15dabc16066638389b20dc591cb1846af4f44a99e578fb253c33 +size 296054 diff --git a/Content/Mesh/Culture/朱雀--S副本_NRM.uasset b/Content/Mesh/Culture/朱雀--S副本_NRM.uasset new file mode 100644 index 0000000..b98bd1f --- /dev/null +++ b/Content/Mesh/Culture/朱雀--S副本_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:971255848a2d3217ac914e7df0a86d34220495d4af8745d63f20c0981522f717 +size 830420 diff --git a/Content/Mesh/Culture/石壁副本_N.uasset b/Content/Mesh/Culture/石壁副本_N.uasset new file mode 100644 index 0000000..5c43e92 --- /dev/null +++ b/Content/Mesh/Culture/石壁副本_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e63da35f73da1565688b2ac1ea34bc3fa2609d89a35db472b5afc82dbc0173d0 +size 166795 diff --git a/Content/Mesh/Culture/石材3.uasset b/Content/Mesh/Culture/石材3.uasset new file mode 100644 index 0000000..29cca98 --- /dev/null +++ b/Content/Mesh/Culture/石材3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6efb19bbe333129edf1102f2989d7f873f9011f89584377dec961a48f420d72d +size 449990 diff --git a/Content/Mesh/Culture/石材3_DISP.uasset b/Content/Mesh/Culture/石材3_DISP.uasset new file mode 100644 index 0000000..8fe71ad --- /dev/null +++ b/Content/Mesh/Culture/石材3_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c69d733a5b1c3fa94e6a1715c7e75655bb73c4f0908a444debcc12c5c8a04181 +size 126097 diff --git a/Content/Mesh/Culture/石材3_NRM.uasset b/Content/Mesh/Culture/石材3_NRM.uasset new file mode 100644 index 0000000..dac44bb --- /dev/null +++ b/Content/Mesh/Culture/石材3_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee9fed235101fbf85251c0c1242188f74b1ca88556074ff954b3ae798a435206 +size 671816 diff --git a/Content/Mesh/Culture/石材3_SPEC.uasset b/Content/Mesh/Culture/石材3_SPEC.uasset new file mode 100644 index 0000000..f2acca3 --- /dev/null +++ b/Content/Mesh/Culture/石材3_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0144bbdbb2270d9c987c867f1aa62f08f8ceaec9d29188dd782c2c0fa3c8bbe +size 278198 diff --git a/Content/Mesh/Culture/绑定模型源文件2.uasset b/Content/Mesh/Culture/绑定模型源文件2.uasset new file mode 100644 index 0000000..29f230d --- /dev/null +++ b/Content/Mesh/Culture/绑定模型源文件2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3e9bbb65e3075195ea02391e8819934fcf22a5a7276681aa48ebed071b45a22 +size 2603215 diff --git a/Content/Mesh/Flora/MI_chang.uasset b/Content/Mesh/Flora/MI_chang.uasset new file mode 100644 index 0000000..461c5d1 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a00a13868f49a92e6373c27311c79b759e0726c76f3f2b893f3a22e898994da4 +size 15477 diff --git a/Content/Mesh/Flora/MI_chang_1.uasset b/Content/Mesh/Flora/MI_chang_1.uasset new file mode 100644 index 0000000..3d906c2 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1fb180ab354f770b1780daf186da91b1b8835e8a70f89fc89ee89661d017716 +size 13869 diff --git a/Content/Mesh/Flora/MI_chang_10.uasset b/Content/Mesh/Flora/MI_chang_10.uasset new file mode 100644 index 0000000..60f5204 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71214434ba424e6f71ba73d765d6a5287d591053d85c43022fe59630082e917b +size 13172 diff --git a/Content/Mesh/Flora/MI_chang_11.uasset b/Content/Mesh/Flora/MI_chang_11.uasset new file mode 100644 index 0000000..54a29ec --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77796a4f7fc3a57de592683b2ea3cf58e29f8c871a0f132b81a76d395f72a62f +size 11270 diff --git a/Content/Mesh/Flora/MI_chang_12.uasset b/Content/Mesh/Flora/MI_chang_12.uasset new file mode 100644 index 0000000..167871c --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:712c90b245ac5232ffec53c41f198d667a62862132ff93b10abdcdd964245f5f +size 11490 diff --git a/Content/Mesh/Flora/MI_chang_13.uasset b/Content/Mesh/Flora/MI_chang_13.uasset new file mode 100644 index 0000000..a2d7db3 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c788efcd1b7978e3c6d01ebbad6de71ac3397d9df3ec231218df3e0d06cb6ab4 +size 14127 diff --git a/Content/Mesh/Flora/MI_chang_14.uasset b/Content/Mesh/Flora/MI_chang_14.uasset new file mode 100644 index 0000000..65b00ea --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40e0e521c6c47ae1a37269cef8bc797d08d03b2d235a8d46f9fc20e4823d88d3 +size 11535 diff --git a/Content/Mesh/Flora/MI_chang_15.uasset b/Content/Mesh/Flora/MI_chang_15.uasset new file mode 100644 index 0000000..efd008c --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a84fb9998603f021be0c2566d7b217a49c02084c5dc17d562fca6e662326f29c +size 13503 diff --git a/Content/Mesh/Flora/MI_chang_16.uasset b/Content/Mesh/Flora/MI_chang_16.uasset new file mode 100644 index 0000000..b04126f --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1f9ad0dd03d21f7eb3a38d1a5e813056e99815610286adda3f4eb3f1fc7dd40 +size 13330 diff --git a/Content/Mesh/Flora/MI_chang_17.uasset b/Content/Mesh/Flora/MI_chang_17.uasset new file mode 100644 index 0000000..2eed11a --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2e13e4eabcb32d4b7804588e852c54c00b663c9a350c4cf107c4ec5eebb0794 +size 12937 diff --git a/Content/Mesh/Flora/MI_chang_18.uasset b/Content/Mesh/Flora/MI_chang_18.uasset new file mode 100644 index 0000000..68e44f9 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0a005e9383db04767fc90f839fb6a3a527649c0251d9ffec0ae07401834c8fa +size 13782 diff --git a/Content/Mesh/Flora/MI_chang_19.uasset b/Content/Mesh/Flora/MI_chang_19.uasset new file mode 100644 index 0000000..adf7617 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:430f8820ae12d919044dbced624d354c9c7aecabfe6f6881a03486e9134014b6 +size 13574 diff --git a/Content/Mesh/Flora/MI_chang_2.uasset b/Content/Mesh/Flora/MI_chang_2.uasset new file mode 100644 index 0000000..13e4fea --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a065bf647f4f66d29a78427ebc2e117ffdfacf0de30843c1192db96f83c25391 +size 13675 diff --git a/Content/Mesh/Flora/MI_chang_20.uasset b/Content/Mesh/Flora/MI_chang_20.uasset new file mode 100644 index 0000000..6eb0ef2 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e52316f5f9462ecc7837d85e6430efc71e33f0c0520fb379921bccdcb006dc1c +size 13422 diff --git a/Content/Mesh/Flora/MI_chang_21.uasset b/Content/Mesh/Flora/MI_chang_21.uasset new file mode 100644 index 0000000..1d03267 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b91bb7eb15e322a7fccf3d749738570fce258fede96a1265395feadefb4c0b7 +size 11228 diff --git a/Content/Mesh/Flora/MI_chang_23.uasset b/Content/Mesh/Flora/MI_chang_23.uasset new file mode 100644 index 0000000..927f919 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54a7ef4fe52fea1b69e91f7b257d035f97fb9d218747f4499980afcd8e1bd046 +size 11516 diff --git a/Content/Mesh/Flora/MI_chang_24.uasset b/Content/Mesh/Flora/MI_chang_24.uasset new file mode 100644 index 0000000..73d5546 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c5dc59214fd5889862d6cf581afe0c5bbfc75ecb5491ba52f5d9483eb018e1 +size 11497 diff --git a/Content/Mesh/Flora/MI_chang_3.uasset b/Content/Mesh/Flora/MI_chang_3.uasset new file mode 100644 index 0000000..49cacb1 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ba27389d972f1c14ad7703db13e22acea5b12b53b2bebaa6e4a0170e00cdd9b +size 13814 diff --git a/Content/Mesh/Flora/MI_chang_4.uasset b/Content/Mesh/Flora/MI_chang_4.uasset new file mode 100644 index 0000000..7db3b63 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e7308267bfa8a295dd379b62d5e464da9fb97cbc458ca3e0ab79eb94daea07c +size 12783 diff --git a/Content/Mesh/Flora/MI_chang_5.uasset b/Content/Mesh/Flora/MI_chang_5.uasset new file mode 100644 index 0000000..4164ee7 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d8cec6fc2eba2a8efe19bc60619d8be5bc0967deda570c8718dd7985879c5c5 +size 13117 diff --git a/Content/Mesh/Flora/MI_chang_6.uasset b/Content/Mesh/Flora/MI_chang_6.uasset new file mode 100644 index 0000000..b5f8488 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38b7e8b17824c4567d1c4f46a88b412062509b1c165bb36759d3fc6bab9d444f +size 12933 diff --git a/Content/Mesh/Flora/MI_chang_7.uasset b/Content/Mesh/Flora/MI_chang_7.uasset new file mode 100644 index 0000000..7ab549f --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33e8aea281f6e50b5cc97c61e8f0ebfaaf0991f2c47c6e4e020dc5c9190633f4 +size 13308 diff --git a/Content/Mesh/Flora/MI_chang_8.uasset b/Content/Mesh/Flora/MI_chang_8.uasset new file mode 100644 index 0000000..b489f42 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58c99fd7a8164d2371c975b82833a96cc33f0bbd1bb270ce82a7484a57758382 +size 13274 diff --git a/Content/Mesh/Flora/MI_chang_9.uasset b/Content/Mesh/Flora/MI_chang_9.uasset new file mode 100644 index 0000000..acbb980 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e43aebe2ae138591c1f8515b468a76cb27690d0ae85d0a61648b3c294a96091e +size 13992 diff --git a/Content/Mesh/Flora/MI_chang_Inst.uasset b/Content/Mesh/Flora/MI_chang_Inst.uasset new file mode 100644 index 0000000..6d453b6 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:887a41de8d6814a5a7b5965463f07b208c9040a08c2136ac93e6b4e27de8e23b +size 1489 diff --git a/Content/Mesh/Flora/MI_chang_Inst1.uasset b/Content/Mesh/Flora/MI_chang_Inst1.uasset new file mode 100644 index 0000000..70587e8 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0939804901b32ff4cb4bbb165f62c1afb39a5defc563435e1daff98811d71b9c +size 9441 diff --git a/Content/Mesh/Flora/MI_chang_Inst10.uasset b/Content/Mesh/Flora/MI_chang_Inst10.uasset new file mode 100644 index 0000000..9eb4b04 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ad81e17b9d76d0ffc0396082435ee588b5369e9117a2760391b44318378fef +size 1499 diff --git a/Content/Mesh/Flora/MI_chang_Inst11.uasset b/Content/Mesh/Flora/MI_chang_Inst11.uasset new file mode 100644 index 0000000..668cfd6 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3be9eb17b38a490923cdb1d2be47b7d2faea2587f3e9318b696d84c8f9b2217e +size 11513 diff --git a/Content/Mesh/Flora/MI_chang_Inst12.uasset b/Content/Mesh/Flora/MI_chang_Inst12.uasset new file mode 100644 index 0000000..5afd5bd --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f75d2c8cacf2924603ad181a44921d9e52ae54e276df3f6e49120f332f2ec286 +size 1499 diff --git a/Content/Mesh/Flora/MI_chang_Inst13.uasset b/Content/Mesh/Flora/MI_chang_Inst13.uasset new file mode 100644 index 0000000..f65f1cb --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7897641cf411ba9b9275d2c57ce267d72f3b68890ee66c7a10b9428e96e02a95 +size 1497 diff --git a/Content/Mesh/Flora/MI_chang_Inst2.uasset b/Content/Mesh/Flora/MI_chang_Inst2.uasset new file mode 100644 index 0000000..0b3670e --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6a34dd30c7f822a6b2a69c087eaa8f39ac1cd57444c738129484d75826545ac +size 1494 diff --git a/Content/Mesh/Flora/MI_chang_Inst3.uasset b/Content/Mesh/Flora/MI_chang_Inst3.uasset new file mode 100644 index 0000000..ae483b2 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0fe6c04310b308f2fcdd0bfdab715526cffb577573d737677fa7cabd713c86 +size 1494 diff --git a/Content/Mesh/Flora/MI_chang_Inst4.uasset b/Content/Mesh/Flora/MI_chang_Inst4.uasset new file mode 100644 index 0000000..8edea55 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:525d74fd9b0cb29f90fd0caba3443c6fa883160a52a0114e6d1554812a57c13a +size 1492 diff --git a/Content/Mesh/Flora/MI_chang_Inst5.uasset b/Content/Mesh/Flora/MI_chang_Inst5.uasset new file mode 100644 index 0000000..df035e3 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc14d9ba1c924aeac64eefc2244b20f94bc4be17a4d6cf6a5c4bba3381a621f0 +size 1492 diff --git a/Content/Mesh/Flora/MI_chang_Inst5_Inst1.uasset b/Content/Mesh/Flora/MI_chang_Inst5_Inst1.uasset new file mode 100644 index 0000000..259497c --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5884557e525c417ad317d857fe474b451be83bf9eb8b6cd18edaa9c207b6540 +size 1524 diff --git a/Content/Mesh/Flora/MI_chang_Inst5_Inst2.uasset b/Content/Mesh/Flora/MI_chang_Inst5_Inst2.uasset new file mode 100644 index 0000000..42a5876 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec74de9744052e339afd0fa28d14fd711cfda60ccbdf993a2d30823f05fc7ce7 +size 1524 diff --git a/Content/Mesh/Flora/MI_chang_Inst5_Inst3.uasset b/Content/Mesh/Flora/MI_chang_Inst5_Inst3.uasset new file mode 100644 index 0000000..b53cd8e --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3d174bbd9f80f1697ce308f376d578a213effe02d43bc4e87fcfc8c5fd2df8e +size 1524 diff --git a/Content/Mesh/Flora/MI_chang_Inst5_Inst4.uasset b/Content/Mesh/Flora/MI_chang_Inst5_Inst4.uasset new file mode 100644 index 0000000..e1a8bc4 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d606fb341893e7cd8a5a95acf06b86259c37eb130510444425cbc3aa9d084bf +size 1524 diff --git a/Content/Mesh/Flora/MI_chang_Inst5_Inst5.uasset b/Content/Mesh/Flora/MI_chang_Inst5_Inst5.uasset new file mode 100644 index 0000000..35502bf --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst5_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f3d5a99e18ca9bedbc2350832c6e84bd41a18045e0ccc030cea8f3f7743e641 +size 1524 diff --git a/Content/Mesh/Flora/MI_chang_Inst6.uasset b/Content/Mesh/Flora/MI_chang_Inst6.uasset new file mode 100644 index 0000000..a90674c --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05a00e4e9f92bdbba00bdf2baa9676f08fe081f3abfa3562341cecc3a442d0e8 +size 1492 diff --git a/Content/Mesh/Flora/MI_chang_Inst7.uasset b/Content/Mesh/Flora/MI_chang_Inst7.uasset new file mode 100644 index 0000000..5860831 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01ded45bc136effa9a74076464dc72f71376e27a354e7bf349b71dc8fb50521 +size 1492 diff --git a/Content/Mesh/Flora/MI_chang_Inst8.uasset b/Content/Mesh/Flora/MI_chang_Inst8.uasset new file mode 100644 index 0000000..b5d19cb --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9adc6f632269f6f66fbc7c64e0f4a93bfd0798577af92da2c3eef425046f1831 +size 1492 diff --git a/Content/Mesh/Flora/MI_chang_Inst9.uasset b/Content/Mesh/Flora/MI_chang_Inst9.uasset new file mode 100644 index 0000000..a1f2dfc --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f86fefefea231dc6cd7096cb7e62a9d3355a9ecb06db6f18715c882578dd5e90 +size 1494 diff --git a/Content/Mesh/Flora/MI_chang_Inst_Inst.uasset b/Content/Mesh/Flora/MI_chang_Inst_Inst.uasset new file mode 100644 index 0000000..2b37a81 --- /dev/null +++ b/Content/Mesh/Flora/MI_chang_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2934d40ebabe8d14a5658e1423feabc8176b946b5c44b4a90585d31d010b55d8 +size 1512 diff --git a/Content/Mesh/Flora/MI_jinzhuomuniao.uasset b/Content/Mesh/Flora/MI_jinzhuomuniao.uasset new file mode 100644 index 0000000..e694f87 --- /dev/null +++ b/Content/Mesh/Flora/MI_jinzhuomuniao.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fc6a56af932f231fd1bc56ff142c3a6cd396bca0c9e3d125ff14478a0d534e4 +size 24756 diff --git a/Content/Mesh/Flora/MI_jinzhuomuniao_Inst.uasset b/Content/Mesh/Flora/MI_jinzhuomuniao_Inst.uasset new file mode 100644 index 0000000..1712a5d --- /dev/null +++ b/Content/Mesh/Flora/MI_jinzhuomuniao_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb91019b337ea7535aae21478b789bca42dad9bac9184ba166a9cc24db56e10 +size 13658 diff --git a/Content/Mesh/Flora/M_Concrete_Panels.uasset b/Content/Mesh/Flora/M_Concrete_Panels.uasset new file mode 100644 index 0000000..27356e4 --- /dev/null +++ b/Content/Mesh/Flora/M_Concrete_Panels.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b494cdddd659a678cf1f010c011e3f5788a0e7a963902f0dca1aef28c27a9c9 +size 17013 diff --git a/Content/Mesh/Flora/M_Concrete_Tiles.uasset b/Content/Mesh/Flora/M_Concrete_Tiles.uasset new file mode 100644 index 0000000..19abc55 --- /dev/null +++ b/Content/Mesh/Flora/M_Concrete_Tiles.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9229e7e9f998315d65faa59cc8bf16b734f7ee6c9707359a02755e0a8f4da53d +size 42000 diff --git a/Content/Mesh/Flora/M_Concrete_Tiles_Inst.uasset b/Content/Mesh/Flora/M_Concrete_Tiles_Inst.uasset new file mode 100644 index 0000000..198e41d --- /dev/null +++ b/Content/Mesh/Flora/M_Concrete_Tiles_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c69f3a5365d8b4114b4357d74b6327d640a54e09610cb3540d71b357774697c +size 14220 diff --git a/Content/Mesh/Flora/M_Concrete_Tiles_Inst1.uasset b/Content/Mesh/Flora/M_Concrete_Tiles_Inst1.uasset new file mode 100644 index 0000000..0d78ff3 --- /dev/null +++ b/Content/Mesh/Flora/M_Concrete_Tiles_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87a78c7fa0cd6b5be5f842e7fa375553b3cc5cd773281cdab378f06541f0d592 +size 13153 diff --git a/Content/Mesh/Flora/M_Concrete_Tiles_Inst2.uasset b/Content/Mesh/Flora/M_Concrete_Tiles_Inst2.uasset new file mode 100644 index 0000000..e7bf52e --- /dev/null +++ b/Content/Mesh/Flora/M_Concrete_Tiles_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:929efba8392745adcc8b5b7dfd88680e531474df3f779cedb423594e86a4a0f8 +size 13041 diff --git a/Content/Mesh/Flora/M_Metal_Gold.uasset b/Content/Mesh/Flora/M_Metal_Gold.uasset new file mode 100644 index 0000000..b26549e --- /dev/null +++ b/Content/Mesh/Flora/M_Metal_Gold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7548ce2a5343a2fa0c9a3d59dd0a1d8240a3dbd07f484beaba7a750e5400233c +size 23334 diff --git a/Content/Mesh/Flora/M_Metal_Gold_Inst.uasset b/Content/Mesh/Flora/M_Metal_Gold_Inst.uasset new file mode 100644 index 0000000..5d65bfa --- /dev/null +++ b/Content/Mesh/Flora/M_Metal_Gold_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57af9b0a21d2f319a4f31ded7c768fb10bb2d90bd38b548d72860ab64225817d +size 10480 diff --git a/Content/Mesh/Flora/M_Metal_Goldjianbin.uasset b/Content/Mesh/Flora/M_Metal_Goldjianbin.uasset new file mode 100644 index 0000000..3a88fe7 --- /dev/null +++ b/Content/Mesh/Flora/M_Metal_Goldjianbin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21c09b65d7c3e0f4682c4b28b59279d9ea7f1c9c3526d2d9cbbba609eaec9cc +size 25602 diff --git a/Content/Mesh/Flora/M_Zhutai.uasset b/Content/Mesh/Flora/M_Zhutai.uasset new file mode 100644 index 0000000..ac35701 --- /dev/null +++ b/Content/Mesh/Flora/M_Zhutai.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20e244beaddfe608d9001b926b18de8384b331f62b2c5571e3a7aab3e9053f4d +size 12059 diff --git a/Content/Mesh/Flora/M_Zhutai2.uasset b/Content/Mesh/Flora/M_Zhutai2.uasset new file mode 100644 index 0000000..2c6c758 --- /dev/null +++ b/Content/Mesh/Flora/M_Zhutai2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb88b1b0040d498b5d4327af48a084097b472a549ef909beaa1c39e1c10f0a1b +size 17161 diff --git a/Content/Mesh/Flora/M_Zhutai3.uasset b/Content/Mesh/Flora/M_Zhutai3.uasset new file mode 100644 index 0000000..0fdf9fe --- /dev/null +++ b/Content/Mesh/Flora/M_Zhutai3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:335ac60489c73209f197eb4c5b38e0d928eb12ebbdbdc9229e793f489d3137cc +size 19248 diff --git a/Content/Mesh/Flora/M_Zhutai4.uasset b/Content/Mesh/Flora/M_Zhutai4.uasset new file mode 100644 index 0000000..d9b5e7c --- /dev/null +++ b/Content/Mesh/Flora/M_Zhutai4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7c996fd636467679ffe949956fb45eae981ffee4e16a920332bde0e0b9133f8 +size 17230 diff --git a/Content/Mesh/Flora/Mat3d66-8764574-1-84161.uasset b/Content/Mesh/Flora/Mat3d66-8764574-1-84161.uasset new file mode 100644 index 0000000..a4d3675 --- /dev/null +++ b/Content/Mesh/Flora/Mat3d66-8764574-1-84161.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8da869d1c44070b7c2167248b78d2b97d5c4005d1d01c132118c04be5ebb196f +size 1505 diff --git a/Content/Mesh/Flora/Mat3d66-8764574-2-39391.uasset b/Content/Mesh/Flora/Mat3d66-8764574-2-39391.uasset new file mode 100644 index 0000000..f0008cf --- /dev/null +++ b/Content/Mesh/Flora/Mat3d66-8764574-2-39391.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eac218171d5717fd360623b98d8680380a5960106a0a3ba3ebd6a8551805cdae +size 1505 diff --git a/Content/Mesh/Flora/SM_Ding02.uasset b/Content/Mesh/Flora/SM_Ding02.uasset new file mode 100644 index 0000000..2150b64 --- /dev/null +++ b/Content/Mesh/Flora/SM_Ding02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79d08db1a4a731c79b228ef552fc03a88be1b4895bc1b4a76d2611bdd71f35a2 +size 17445 diff --git a/Content/Mesh/Flora/SM_ZhuZi02.uasset b/Content/Mesh/Flora/SM_ZhuZi02.uasset new file mode 100644 index 0000000..bdcbc7d --- /dev/null +++ b/Content/Mesh/Flora/SM_ZhuZi02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dcf2d7b23f1de7dd19252056c16d5a950b9513108ac80dab6afc14ecd60b35e +size 70178 diff --git a/Content/Mesh/Flora/SM_bideng_changlang.uasset b/Content/Mesh/Flora/SM_bideng_changlang.uasset new file mode 100644 index 0000000..2f2a399 --- /dev/null +++ b/Content/Mesh/Flora/SM_bideng_changlang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f739be9259e02cffff8c281ad1e41e7d6024e2c6322aa0460c0778fc514cfdd7 +size 1601310 diff --git a/Content/Mesh/Flora/SM_bideng_changlang02.uasset b/Content/Mesh/Flora/SM_bideng_changlang02.uasset new file mode 100644 index 0000000..8e7a812 --- /dev/null +++ b/Content/Mesh/Flora/SM_bideng_changlang02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5ea5934ad28a64f36d40aaa37a8f7b3935c0a853f34e22914b6314767ff1545 +size 77063 diff --git a/Content/Mesh/Flora/SM_bideng_changlang_PhysicsAsset.uasset b/Content/Mesh/Flora/SM_bideng_changlang_PhysicsAsset.uasset new file mode 100644 index 0000000..26dd529 --- /dev/null +++ b/Content/Mesh/Flora/SM_bideng_changlang_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32a1ae17bd3fbce58c29cacea087ff59b3c8acd145fa500d5d22dde5b85d801d +size 6526 diff --git a/Content/Mesh/Flora/SM_bideng_changlang_Skeleton.uasset b/Content/Mesh/Flora/SM_bideng_changlang_Skeleton.uasset new file mode 100644 index 0000000..470a426 --- /dev/null +++ b/Content/Mesh/Flora/SM_bideng_changlang_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b317b9cbb46e7fd4843b169ec44699c0013decf6493ec2ef6c7d0d18bf7bfafd +size 5776 diff --git a/Content/Mesh/Flora/SM_jinzhuomuniao.uasset b/Content/Mesh/Flora/SM_jinzhuomuniao.uasset new file mode 100644 index 0000000..9b49552 --- /dev/null +++ b/Content/Mesh/Flora/SM_jinzhuomuniao.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2e402c1b579a6bdd009786bd422028375f09d6c3d41695a320f25a80e38e2c +size 4260433 diff --git a/Content/Mesh/Flora/Texture/3d66Model-5403530-files-1.uasset b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-1.uasset new file mode 100644 index 0000000..c9d3585 --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b079a2d06b2dad15e53bcc88537e6ec5a8b65667a10d192053b77b6917d3556 +size 1259334 diff --git a/Content/Mesh/Flora/Texture/3d66Model-5403530-files-2.uasset b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-2.uasset new file mode 100644 index 0000000..4efb12a --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57b8771854c9c1804b2514404760d69ba950586a2a92213bdcc792459d4edd87 +size 1379186 diff --git a/Content/Mesh/Flora/Texture/3d66Model-5403530-files-3.uasset b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-3.uasset new file mode 100644 index 0000000..16cde4d --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-5403530-files-3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc08d71ecaeff0439e46826943f37d9212bf3263853e8b2d3a148219599f66f +size 3150841 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1.uasset new file mode 100644 index 0000000..f3b4875 --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415f802ba05ba08a33dd133ef8994174198b105f791991c3de7807b359534697 +size 10991 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1_ncl1_1.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1_ncl1_1.uasset new file mode 100644 index 0000000..8ef8123 --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-1_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:102adda3f973efc334a922c39dfa366fc24635fa7d02bc40341e77554cba086b +size 11276 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2.uasset new file mode 100644 index 0000000..23f43cb --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe60aed0f5cf166378f9c46a3203b97d44e694739486ac3370cc45a6433ee19 +size 622546 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2_ncl1_1.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2_ncl1_1.uasset new file mode 100644 index 0000000..239969a --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-2_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb4856bc540744d95fd830dcaeb9f757642c6e0f1b14d8dc4028f47cb7a52a08 +size 620348 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3.uasset new file mode 100644 index 0000000..24cca5e --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4075623607208678f90d95c78f7550e56c2ffcbaf49e21884f076c8fd00b443 +size 650538 diff --git a/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3_ncl1_1.uasset b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3_ncl1_1.uasset new file mode 100644 index 0000000..bac5112 --- /dev/null +++ b/Content/Mesh/Flora/Texture/3d66Model-8764574-files-3_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4782e0f0e4c51ae106d00d4a9e5d824076b5a9f80a0c0b15c154bd2d44b233eb +size 653374 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Panels_D.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Panels_D.uasset new file mode 100644 index 0000000..b702818 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Panels_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef03db995095439f3c2fe8e36202af22db00e6274500802cf44854448e07d20c +size 2769272 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Panels_N.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Panels_N.uasset new file mode 100644 index 0000000..475e020 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Panels_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b0dbf16172c2fcc6c2460a6e4b5b7ddb14c7f6cdf4f02d6a3ef5a6de58cd913 +size 2768646 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Tiles_D.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_D.uasset new file mode 100644 index 0000000..cb04dc7 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:292385b599ddeeef59dcce036c3096cd89fdbe7716b2427d1a20ea75e2a2c379 +size 4929137 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Tiles_M.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_M.uasset new file mode 100644 index 0000000..9fbce65 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e776100bf63ab5877ed6b697ab922c9d102ac983599c84542157ff729fcea770 +size 5740922 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Tiles_N.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_N.uasset new file mode 100644 index 0000000..45091e5 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:477b9bb28f0913bb63a8c99ad0b571b8f8ed022024f793a0a5220a0d4a2924ad +size 6602477 diff --git a/Content/Mesh/Flora/Texture/T_Concrete_Tiles_Variation_M.uasset b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_Variation_M.uasset new file mode 100644 index 0000000..5bdecf4 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Concrete_Tiles_Variation_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ecdf9d216ca8ba487879f79c4c9b85eecbb1ed811a1688c6f895d57afec85ec +size 6618 diff --git a/Content/Mesh/Flora/Texture/T_MacroVariation.uasset b/Content/Mesh/Flora/Texture/T_MacroVariation.uasset new file mode 100644 index 0000000..038f89c --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_MacroVariation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3977bd9afab6e64a9975c524d5a927d3ea7ba3e6e35d7f052d5ecf6814eabe27 +size 2913700 diff --git a/Content/Mesh/Flora/Texture/T_Metal_Gold_D.uasset b/Content/Mesh/Flora/Texture/T_Metal_Gold_D.uasset new file mode 100644 index 0000000..d654f6a --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Metal_Gold_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d11c90a5df5663345e22cfa8fa88f58fa77544e0df355fee8912236f5739e7f +size 8787721 diff --git a/Content/Mesh/Flora/Texture/T_Metal_Gold_N.uasset b/Content/Mesh/Flora/Texture/T_Metal_Gold_N.uasset new file mode 100644 index 0000000..a1c9529 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Metal_Gold_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3f3431a8a483546680f5a477c17a616b54457515cffebe56d71cbc19a1be541 +size 2811636 diff --git a/Content/Mesh/Flora/Texture/T_Perlin_Noise_M.uasset b/Content/Mesh/Flora/Texture/T_Perlin_Noise_M.uasset new file mode 100644 index 0000000..24963ed --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_Perlin_Noise_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2de0d2d3567bd70f27f886bac85a5e03632889ec42a0816947b0e9099e8d4d5 +size 7834409 diff --git a/Content/Mesh/Flora/Texture/T_bihua01.uasset b/Content/Mesh/Flora/Texture/T_bihua01.uasset new file mode 100644 index 0000000..60657c5 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc283f0e637bb94b9faac465f537e82d5e6267b9bd0cf6702728714d402b4957 +size 75626 diff --git a/Content/Mesh/Flora/Texture/T_bihua01_DISP.uasset b/Content/Mesh/Flora/Texture/T_bihua01_DISP.uasset new file mode 100644 index 0000000..4e42edd --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua01_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c24e8e20fc8d5cfd7dce2c80566984b9138e66ba8d338b78496b4dfa2b292997 +size 186544 diff --git a/Content/Mesh/Flora/Texture/T_bihua01_NRM.uasset b/Content/Mesh/Flora/Texture/T_bihua01_NRM.uasset new file mode 100644 index 0000000..696023f --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua01_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:594a57b04f33b449ce961d98ac31310db6bb6d98dd79fc0050ccb43229952dfb +size 309684 diff --git a/Content/Mesh/Flora/Texture/T_bihua01_OCC.uasset b/Content/Mesh/Flora/Texture/T_bihua01_OCC.uasset new file mode 100644 index 0000000..ad2a8e0 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua01_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:548bf666ff1a57ff721c40b7af982cba23e3314120baa16424ea96ee587fe998 +size 204658 diff --git a/Content/Mesh/Flora/Texture/T_bihua02.uasset b/Content/Mesh/Flora/Texture/T_bihua02.uasset new file mode 100644 index 0000000..c3df449 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8241512c424051f33aa712d3e5079500654cfa4d5fe477c4b2a2ea4e4ce8070 +size 631902 diff --git a/Content/Mesh/Flora/Texture/T_bihua02_NRM.uasset b/Content/Mesh/Flora/Texture/T_bihua02_NRM.uasset new file mode 100644 index 0000000..d36de72 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua02_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4004a8923091e08aa2ba1ebbee95170301a8733d7b2f2ec2d8a42523c790f59 +size 292447 diff --git a/Content/Mesh/Flora/Texture/T_bihua03.uasset b/Content/Mesh/Flora/Texture/T_bihua03.uasset new file mode 100644 index 0000000..a484c53 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86f74894c65fb5a9732cabde61e759afbc5da7fdbfbd42b26b1666e68204f800 +size 82620 diff --git a/Content/Mesh/Flora/Texture/T_bihua04.uasset b/Content/Mesh/Flora/Texture/T_bihua04.uasset new file mode 100644 index 0000000..16e02d1 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeff01c4ba694c87098d843c282c143d6d70df9f781733b7a63b0df72d48bc80 +size 64427 diff --git a/Content/Mesh/Flora/Texture/T_bihua05.uasset b/Content/Mesh/Flora/Texture/T_bihua05.uasset new file mode 100644 index 0000000..396a29f --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea4dc517eb3fd18e4265b05245b15d5bb8218e7373c9944a123aac5bdce74b6f +size 85931 diff --git a/Content/Mesh/Flora/Texture/T_bihua06.uasset b/Content/Mesh/Flora/Texture/T_bihua06.uasset new file mode 100644 index 0000000..6764a05 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2723eb88a0b6a0c07f70af3528f0385d91c79b0d3393654a5ae0b26404fbd7c3 +size 75404 diff --git a/Content/Mesh/Flora/Texture/T_bihua07.uasset b/Content/Mesh/Flora/Texture/T_bihua07.uasset new file mode 100644 index 0000000..9efa829 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c443ffc88c924d0bd30323624677756ea099a31f2bef9be468aee8293fa3b238 +size 75195 diff --git a/Content/Mesh/Flora/Texture/T_bihua09.uasset b/Content/Mesh/Flora/Texture/T_bihua09.uasset new file mode 100644 index 0000000..5b17723 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5252efb43909b054fb1b98982860bdfa266673d55c6035739c725ad4cec46070 +size 64249 diff --git a/Content/Mesh/Flora/Texture/T_bihua11.uasset b/Content/Mesh/Flora/Texture/T_bihua11.uasset new file mode 100644 index 0000000..56336a2 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24be36fbce7000bc6b7afbf555f589a0abcf0c04bd1b2acdacb9905862f60b6a +size 75146 diff --git a/Content/Mesh/Flora/Texture/T_bihua12.uasset b/Content/Mesh/Flora/Texture/T_bihua12.uasset new file mode 100644 index 0000000..79e7d92 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e531620376b93395974865958f24cedd923d7d9a0ff1d6ebe4480abef6f63ce +size 70708 diff --git a/Content/Mesh/Flora/Texture/T_bihua14.uasset b/Content/Mesh/Flora/Texture/T_bihua14.uasset new file mode 100644 index 0000000..3e63899 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:651fdcc05e162f6101ea7898f52cc63e84beda46f54d93e9d93e2b7efe5bca3a +size 99691 diff --git a/Content/Mesh/Flora/Texture/T_bihua18.uasset b/Content/Mesh/Flora/Texture/T_bihua18.uasset new file mode 100644 index 0000000..7c58af4 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77add974e47ff86b5435843cd64515fd726a80fe0080d53b60863a5fe3b104cf +size 588910 diff --git a/Content/Mesh/Flora/Texture/T_bihua19.uasset b/Content/Mesh/Flora/Texture/T_bihua19.uasset new file mode 100644 index 0000000..152c213 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e4c12916829aa36665b0dee69987e5da8a3b9bee4f9508b739977bbc7080a4 +size 114547 diff --git a/Content/Mesh/Flora/Texture/T_bihua21.uasset b/Content/Mesh/Flora/Texture/T_bihua21.uasset new file mode 100644 index 0000000..ab81d8d --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58a2aba07f9534bf57a94bfa5b2c8f8f1c4389f9b9fb946fd03855609b05c5b7 +size 100554 diff --git a/Content/Mesh/Flora/Texture/T_bihua23.uasset b/Content/Mesh/Flora/Texture/T_bihua23.uasset new file mode 100644 index 0000000..c4ca8a4 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31ddbb31c3be15bfbfd47f60a728db01929834dc783618001d92a86d485916ed +size 73383 diff --git a/Content/Mesh/Flora/Texture/T_bihua24.uasset b/Content/Mesh/Flora/Texture/T_bihua24.uasset new file mode 100644 index 0000000..33242e7 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f14184832810e42572dfd461a685519ad08c7ff3d3e8ed1229b3d70e7b11f0e +size 124846 diff --git a/Content/Mesh/Flora/Texture/T_bihua26.uasset b/Content/Mesh/Flora/Texture/T_bihua26.uasset new file mode 100644 index 0000000..28d1f61 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e85d893ef5e51cafadc6a1debf70e503831287edaa21f2b80dae8c20527acb +size 96142 diff --git a/Content/Mesh/Flora/Texture/T_bihua27.uasset b/Content/Mesh/Flora/Texture/T_bihua27.uasset new file mode 100644 index 0000000..dea45e2 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fa5060247fae422af8bf7de8e17b4c447519e70dbc7ed70c5e3ea205531c238 +size 90905 diff --git a/Content/Mesh/Flora/Texture/T_bihua28.uasset b/Content/Mesh/Flora/Texture/T_bihua28.uasset new file mode 100644 index 0000000..3b8da1d --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua28.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c9203b2e2defb01ee08ba756b421c80678f4b5949833d7c347555eb19e39e0 +size 87185 diff --git a/Content/Mesh/Flora/Texture/T_bihua29.uasset b/Content/Mesh/Flora/Texture/T_bihua29.uasset new file mode 100644 index 0000000..3586aa8 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc5facbef5792a9451742f4b51755f9603a21cc644aff411a5ca362533b65c6b +size 1097088 diff --git a/Content/Mesh/Flora/Texture/T_bihua30.uasset b/Content/Mesh/Flora/Texture/T_bihua30.uasset new file mode 100644 index 0000000..976a962 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua30.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01ff2cee601be61df6b347a691a34a8e30b7b41aed20a27c2c0f9f635ddeb90a +size 95392 diff --git a/Content/Mesh/Flora/Texture/T_bihua31.uasset b/Content/Mesh/Flora/Texture/T_bihua31.uasset new file mode 100644 index 0000000..9ba5f26 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua31.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9700f9e06e8173bc74533c66628455f35736b98b6c7467590dcbcdf2cd07cc37 +size 77544 diff --git a/Content/Mesh/Flora/Texture/T_bihua31_1.uasset b/Content/Mesh/Flora/Texture/T_bihua31_1.uasset new file mode 100644 index 0000000..70189d5 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua31_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fb444dcf2e857a76fe765c2e2753bb251c795ac07708a102f7abbb6553ad6e1 +size 33437 diff --git a/Content/Mesh/Flora/Texture/T_bihua31_2.uasset b/Content/Mesh/Flora/Texture/T_bihua31_2.uasset new file mode 100644 index 0000000..380f935 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua31_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af33ab2869ce8a1f9a00b5dbea4d98c6ab2d3e271a095553788ba4193361984 +size 33271 diff --git a/Content/Mesh/Flora/Texture/T_bihua32.uasset b/Content/Mesh/Flora/Texture/T_bihua32.uasset new file mode 100644 index 0000000..0a231e6 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua32.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9facf92183067cb8e2413333ce05ada4870ed37e82406d3a5d48a52d0db109b4 +size 101842 diff --git a/Content/Mesh/Flora/Texture/T_bihua33.uasset b/Content/Mesh/Flora/Texture/T_bihua33.uasset new file mode 100644 index 0000000..d235310 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40db25ef3052511dbe709bd3843ffd0d49345383ae799b7867ea8875e7939685 +size 100499 diff --git a/Content/Mesh/Flora/Texture/T_bihua34.uasset b/Content/Mesh/Flora/Texture/T_bihua34.uasset new file mode 100644 index 0000000..e4b4848 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3591e539d2faa6238aee1f00da66bf41ca3cef1ee8a9d38b2783d609db79269f +size 270667 diff --git a/Content/Mesh/Flora/Texture/T_bihua35.uasset b/Content/Mesh/Flora/Texture/T_bihua35.uasset new file mode 100644 index 0000000..04ca9c2 --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e90b727410f0a49cce9fa4dfdb8e3079cda495d787ca1ddead87e150d866eeaa +size 312973 diff --git a/Content/Mesh/Flora/Texture/T_bihua36.uasset b/Content/Mesh/Flora/Texture/T_bihua36.uasset new file mode 100644 index 0000000..e32197f --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c5d21ca17eeee243b18149f6f6b1073be5db2004bbb935be150f10b90f154e +size 468782 diff --git a/Content/Mesh/Flora/Texture/T_bihua38.uasset b/Content/Mesh/Flora/Texture/T_bihua38.uasset new file mode 100644 index 0000000..b7e86cc --- /dev/null +++ b/Content/Mesh/Flora/Texture/T_bihua38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52fca132f7de5d2811c6db1113725c964cc8f0d56f3879f6075e68e9ab3a0e11 +size 386316 diff --git a/Content/Mesh/Flora/Texture/yuan.uasset b/Content/Mesh/Flora/Texture/yuan.uasset new file mode 100644 index 0000000..41e2d4a --- /dev/null +++ b/Content/Mesh/Flora/Texture/yuan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:440f5d0a3625cfc0af4ca313f2729f4120c1bb4993286b9084faa72667d224e1 +size 105126 diff --git a/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜1_爱给网_aigei_com.uasset b/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜1_爱给网_aigei_com.uasset new file mode 100644 index 0000000..ce5732a --- /dev/null +++ b/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜1_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cd2f3cbaef119eaaea262dec7df3a394e2bc49dbc63abbbede97c96ac577d9d +size 1271406 diff --git a/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜3_爱给网_aigei_com.uasset b/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜3_爱给网_aigei_com.uasset new file mode 100644 index 0000000..c15926d --- /dev/null +++ b/Content/Mesh/Flora/Texture/生锈旧金属侵蚀古铜青铜3_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75d762c73565804ce3c5d295b1a793d8afcbe304f4a6142c769ade04915dc711 +size 995120 diff --git a/Content/Mesh/Flora/Texture/知识库3D_WAR金属青铜污垢粗糙度_KB3D_WAR_Me_爱给网_aigei_com.uasset b/Content/Mesh/Flora/Texture/知识库3D_WAR金属青铜污垢粗糙度_KB3D_WAR_Me_爱给网_aigei_com.uasset new file mode 100644 index 0000000..1919cf2 --- /dev/null +++ b/Content/Mesh/Flora/Texture/知识库3D_WAR金属青铜污垢粗糙度_KB3D_WAR_Me_爱给网_aigei_com.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83fa12ad9f55c80490ba80f155fccb71e77f85a677f3e953f3d06cf8b8ecdb3f +size 8088995 diff --git a/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-002_001.uasset b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-002_001.uasset new file mode 100644 index 0000000..85de862 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-002_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97db35dfae538e031bc1e69c06a81a6d1b43b4cadc868244149b9226ed26362d +size 13561 diff --git a/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-006.uasset b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-006.uasset new file mode 100644 index 0000000..3b5c479 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-006.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6771df2c828970c987153ab37bee33f6a08a55a061a038a2c8ad665b9bccc7 +size 14913 diff --git a/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-008_001.uasset b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-008_001.uasset new file mode 100644 index 0000000..3ff7f5b --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66-Standardmaterial-20587780-008_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bc5c597591d280fb98073c51efcf4ed7cf5ddde06793b2bcd4b7769a19d164a +size 12659 diff --git a/Content/Mesh/Flora/mesh/3d66Model-17367997-files-001.uasset b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-001.uasset new file mode 100644 index 0000000..9fd0124 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1806ddd3a038486a6eab7ca34676b5fa9276f4494a024b5235a7db1d97aae99 +size 1420768 diff --git a/Content/Mesh/Flora/mesh/3d66Model-17367997-files-004.uasset b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-004.uasset new file mode 100644 index 0000000..7fc0303 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-004.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:572846731262ae96065d5acf3706e269b26b3688b6d1388b6b1c359288065f3c +size 417566 diff --git a/Content/Mesh/Flora/mesh/3d66Model-17367997-files-005.uasset b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-005.uasset new file mode 100644 index 0000000..7d778ea --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ce5943824e5a041638f94cea76bc3ccfe81b2f6d5847836e49f660d154b39f0 +size 1435067 diff --git a/Content/Mesh/Flora/mesh/3d66Model-17367997-files-007.uasset b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-007.uasset new file mode 100644 index 0000000..bb70c6c --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-17367997-files-007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ed8e1756e94ad90a091096730de07d758d5ceab6da1066c12a1238353d4f7ff +size 440072 diff --git a/Content/Mesh/Flora/mesh/3d66Model-20587780-files-005.uasset b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-005.uasset new file mode 100644 index 0000000..0877d7a --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b94c0aa5aec675f96573c23b2ad75bb5daec4a9f5ccfd905080373548f516c0c +size 23714303 diff --git a/Content/Mesh/Flora/mesh/3d66Model-20587780-files-007.uasset b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-007.uasset new file mode 100644 index 0000000..6775e87 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed7bd4a69aeafe4c3f6f1c5fc575d05c446b4973acb922695014294e5008337f +size 21098670 diff --git a/Content/Mesh/Flora/mesh/3d66Model-20587780-files-015.uasset b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-015.uasset new file mode 100644 index 0000000..d1f92a0 --- /dev/null +++ b/Content/Mesh/Flora/mesh/3d66Model-20587780-files-015.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36e4fb3d4ed4cddb6a0bad20828b5b63b5565d862264322d8c77021c0e45edd2 +size 24798831 diff --git a/Content/Mesh/Flora/mesh/L_ChangLang_qiang02.uasset b/Content/Mesh/Flora/mesh/L_ChangLang_qiang02.uasset new file mode 100644 index 0000000..04721c3 --- /dev/null +++ b/Content/Mesh/Flora/mesh/L_ChangLang_qiang02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66edad20e9faada2a0cfb1059bcbc8b1d0b0c6fa6d6e4f31b0f668ffda8df5f9 +size 15465 diff --git a/Content/Mesh/Flora/mesh/MI_huoqiu.uasset b/Content/Mesh/Flora/mesh/MI_huoqiu.uasset new file mode 100644 index 0000000..b8e0a3c --- /dev/null +++ b/Content/Mesh/Flora/mesh/MI_huoqiu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d20efd1f6ab870e6dc2afe3d63f6ccb778cc5b973ef00535314dfbd8db8559c +size 21450 diff --git a/Content/Mesh/Flora/mesh/SM_Free_Stone_Sphere.uasset b/Content/Mesh/Flora/mesh/SM_Free_Stone_Sphere.uasset new file mode 100644 index 0000000..0fa4086 --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_Free_Stone_Sphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f465d9b173d7df4361c22877e1bbe10c35f0ec4b360c0c3cb09df21ea02ad040 +size 450689 diff --git a/Content/Mesh/Flora/mesh/SM_huoqiu.uasset b/Content/Mesh/Flora/mesh/SM_huoqiu.uasset new file mode 100644 index 0000000..c61f73b --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_huoqiu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66031d1082b6fd6111b2f2fd24846af04bb1d01df4e7e55a8c8a605a44eb837c +size 438065 diff --git a/Content/Mesh/Flora/mesh/SM_men02.uasset b/Content/Mesh/Flora/mesh/SM_men02.uasset new file mode 100644 index 0000000..846e3e3 --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_men02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcf839dbae7d2d0c132744cf9e32c170b84a2589cb79501daffe4ddd9c9d1fbb +size 680988 diff --git a/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010.uasset b/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010.uasset new file mode 100644 index 0000000..59ba7c6 --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e9bfa796c7aa761eb1d99e5ecc8de852b05d760e91189d2f2055b36cd91492 +size 1610 diff --git a/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010_001.uasset b/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010_001.uasset new file mode 100644 index 0000000..4c78937 --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_men02_3d66-Editable_Poly-20587780-010_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec3f2121486ab800a7300f739465f08536a069c2ec9dae3988dd940368e57115 +size 1630 diff --git a/Content/Mesh/Flora/mesh/SM_men03.uasset b/Content/Mesh/Flora/mesh/SM_men03.uasset new file mode 100644 index 0000000..cc7bff6 --- /dev/null +++ b/Content/Mesh/Flora/mesh/SM_men03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58487a176c5ea69c7f13caa2f9e432a40c456097893865299dbbe30f9fb17263 +size 32516 diff --git a/Content/Mesh/Flora/mesh/Stone_BaseColor.uasset b/Content/Mesh/Flora/mesh/Stone_BaseColor.uasset new file mode 100644 index 0000000..137c378 --- /dev/null +++ b/Content/Mesh/Flora/mesh/Stone_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea2544bc55ddf3dcf2cd1886db4aaaf8d73dd72e13acfdfdf7d64b0add8b87f +size 4093266 diff --git a/Content/Mesh/Flora/mesh/Stone_normal.uasset b/Content/Mesh/Flora/mesh/Stone_normal.uasset new file mode 100644 index 0000000..a6fdceb --- /dev/null +++ b/Content/Mesh/Flora/mesh/Stone_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be4b45327de34c6cb74fc90d0a5e802a9a8243ca58b6d1142401d35e23dbeb88 +size 8506732 diff --git a/Content/Mesh/Flora/mesh/T_shitou_color.uasset b/Content/Mesh/Flora/mesh/T_shitou_color.uasset new file mode 100644 index 0000000..f5762a0 --- /dev/null +++ b/Content/Mesh/Flora/mesh/T_shitou_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed61cd975392b838f4ee833ccce50063c4324c869d76e9cd8b34ff093200c73 +size 21290031 diff --git a/Content/Mesh/Flora/mesh/default.uasset b/Content/Mesh/Flora/mesh/default.uasset new file mode 100644 index 0000000..8d69c8d --- /dev/null +++ b/Content/Mesh/Flora/mesh/default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fe33d04d80b45ea118a8871e6e18da7c5749076dbd1c5b07050dae87b4bced7 +size 13852 diff --git a/Content/Mesh/Flora/mesh/sm_changtu01.uasset b/Content/Mesh/Flora/mesh/sm_changtu01.uasset new file mode 100644 index 0000000..ae967d3 --- /dev/null +++ b/Content/Mesh/Flora/mesh/sm_changtu01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de90012db5be35a91033b1b22497a8bf47545546ff56a8b47b7be286025e8afd +size 14964 diff --git a/Content/Mesh/Flora/mesh/sm_ding2.uasset b/Content/Mesh/Flora/mesh/sm_ding2.uasset new file mode 100644 index 0000000..897d957 --- /dev/null +++ b/Content/Mesh/Flora/mesh/sm_ding2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ff68da53ce382c788eaaf60703ad7e1b9c537f40c1ad0ef7809f86a8744e207 +size 16934 diff --git a/Content/Mesh/Flora/mesh/sm_xiaotutu02.uasset b/Content/Mesh/Flora/mesh/sm_xiaotutu02.uasset new file mode 100644 index 0000000..abebfdc --- /dev/null +++ b/Content/Mesh/Flora/mesh/sm_xiaotutu02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fb39089559aede7a4f593186ca106c12999b7f97e51bbc50eda937767e8c7a2 +size 21352 diff --git a/Content/Mesh/Flora/mesh/sm_xiaotutu03.uasset b/Content/Mesh/Flora/mesh/sm_xiaotutu03.uasset new file mode 100644 index 0000000..d505fe4 --- /dev/null +++ b/Content/Mesh/Flora/mesh/sm_xiaotutu03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e3ea0b16c207cf8243893bcc15124f3daadcbf5e9dbd1d9d5ce802ed69923e +size 16608 diff --git a/Content/Mesh/Flora/sm_DIMIAN.uasset b/Content/Mesh/Flora/sm_DIMIAN.uasset new file mode 100644 index 0000000..a8807d2 --- /dev/null +++ b/Content/Mesh/Flora/sm_DIMIAN.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaab9494ad89babe92f12d892b8109772b01e5cc8ebd64fa6946c14b23ce82e8 +size 17714 diff --git a/Content/Mesh/Flora/sm_zhengmushou_ue.uasset b/Content/Mesh/Flora/sm_zhengmushou_ue.uasset new file mode 100644 index 0000000..92d322a --- /dev/null +++ b/Content/Mesh/Flora/sm_zhengmushou_ue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a10dd922e5846bb478a9000c4be693e29d9ef0fdfe9c501af14d6c1d6d7fdb9 +size 1056196 diff --git a/Content/Mesh/Jiangjunyong/jia_BaseColor.uasset b/Content/Mesh/Jiangjunyong/jia_BaseColor.uasset new file mode 100644 index 0000000..295438f --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jia_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e14d5eee27b519299b523a3e173bba30e7492c051c300df02075dc36bde8c7bd +size 430710 diff --git a/Content/Mesh/Jiangjunyong/jia_Height.uasset b/Content/Mesh/Jiangjunyong/jia_Height.uasset new file mode 100644 index 0000000..7bf535a --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jia_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cb4dc3de3e12474534cc62ad6c28356d08829a734465c6b596f830b1c2f0b57 +size 10117 diff --git a/Content/Mesh/Jiangjunyong/jia_Metallic.uasset b/Content/Mesh/Jiangjunyong/jia_Metallic.uasset new file mode 100644 index 0000000..0d12465 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jia_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6abffa9533ca19ce0a77eccf5ec79a26de374a892f2bf7542a9d5f6f665d4c15 +size 8379 diff --git a/Content/Mesh/Jiangjunyong/jia_Normal.uasset b/Content/Mesh/Jiangjunyong/jia_Normal.uasset new file mode 100644 index 0000000..030e948 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jia_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aefd58d0e5ec1246fec45e4c869ff81717b48d016086b9fe4a9b5fb75f5a2431 +size 331872 diff --git a/Content/Mesh/Jiangjunyong/jia_Roughness.uasset b/Content/Mesh/Jiangjunyong/jia_Roughness.uasset new file mode 100644 index 0000000..6601392 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jia_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f91d365756421f97b78781637e8838c3eb6116f08031692a43f4a92acd8a6f4e +size 124187 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong.uasset new file mode 100644 index 0000000..1a482b0 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ba2c895d63c58c5ae187c8f28e2b9dd5659706b149bfb78049865b15d32f49b +size 25444 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst.uasset new file mode 100644 index 0000000..fa21354 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f64ae580e988346f883f23615fb977115782d54600ce342383e3393dd0642c12 +size 16529 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst1.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst1.uasset new file mode 100644 index 0000000..46b28dc --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1130e639c93cf2af76bd0d9c87049365a6f20d817192d0b2ae7623056aaebcf9 +size 11956 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst2.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst2.uasset new file mode 100644 index 0000000..0c8e1be --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c8da83dbc0e957c33991c54442fb97639347e58c141580257d6f10e2bd4dbec +size 16173 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst3.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst3.uasset new file mode 100644 index 0000000..390b6d5 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:926287c4db95a72d05c5f64d28ca9cc5f98a1f5272b6b13e7e8553d9843aa570 +size 12925 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst4.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst4.uasset new file mode 100644 index 0000000..26508c7 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:216b417cc962f0672a8beae15d76e9cd0051eceb33977fa833b01be25db90f99 +size 11508 diff --git a/Content/Mesh/Jiangjunyong/jiangjunyong_Inst5.uasset b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst5.uasset new file mode 100644 index 0000000..00b3496 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiangjunyong_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e916bd00705ab3a7ced718dfeda602143d487226687d64cab7d6c56852a08763 +size 11204 diff --git a/Content/Mesh/Jiangjunyong/jiao_BaseColor.uasset b/Content/Mesh/Jiangjunyong/jiao_BaseColor.uasset new file mode 100644 index 0000000..09d61d4 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiao_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db205cd6126c203a19600a7dd89159472662c924d7d0299880a17301dca838e +size 132692 diff --git a/Content/Mesh/Jiangjunyong/jiao_Height.uasset b/Content/Mesh/Jiangjunyong/jiao_Height.uasset new file mode 100644 index 0000000..5edee05 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiao_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5484c7924a194c07fe6cdcba6255db45e76b92dae077b1b7f8efb82bfb9e644 +size 8405 diff --git a/Content/Mesh/Jiangjunyong/jiao_Metallic.uasset b/Content/Mesh/Jiangjunyong/jiao_Metallic.uasset new file mode 100644 index 0000000..2ac9841 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiao_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74c442338d08734d504dbd51a3c297df88852735dca166de3ccea64510c88c36 +size 9606 diff --git a/Content/Mesh/Jiangjunyong/jiao_Normal.uasset b/Content/Mesh/Jiangjunyong/jiao_Normal.uasset new file mode 100644 index 0000000..3701219 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiao_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d42a6a9934839b1949cedebee21d81ac4a007f25526bdd308302df319874665 +size 237423 diff --git a/Content/Mesh/Jiangjunyong/jiao_Roughness.uasset b/Content/Mesh/Jiangjunyong/jiao_Roughness.uasset new file mode 100644 index 0000000..0aeb9c4 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/jiao_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:debb512ef993d58514a5e1f92dfb240ffe0bcd4edf3918717f93ea560bdef81c +size 111738 diff --git a/Content/Mesh/Jiangjunyong/shenti_BaseColor.uasset b/Content/Mesh/Jiangjunyong/shenti_BaseColor.uasset new file mode 100644 index 0000000..e47f98f --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shenti_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5d09635fabd00dd87ac6e4ceb14a51c98ad493d435d48066d0964ae36048348 +size 2510945 diff --git a/Content/Mesh/Jiangjunyong/shenti_Height.uasset b/Content/Mesh/Jiangjunyong/shenti_Height.uasset new file mode 100644 index 0000000..61fd8c5 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shenti_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dba5e495a5d2bf9d320cd8b94c28c289cf10ae392c9dfd654b7dea82e880fd8f +size 9676 diff --git a/Content/Mesh/Jiangjunyong/shenti_Metallic.uasset b/Content/Mesh/Jiangjunyong/shenti_Metallic.uasset new file mode 100644 index 0000000..a0ac847 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shenti_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:090e7523ab61d471b0b061095139a8691b0c942feedb8aaad1c60bcac49a24c5 +size 8452 diff --git a/Content/Mesh/Jiangjunyong/shenti_Normal.uasset b/Content/Mesh/Jiangjunyong/shenti_Normal.uasset new file mode 100644 index 0000000..9beeeeb --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shenti_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78f12c4441461b45c6f0dacd7019b84f114951eb31c689f70cccb34879c744b0 +size 306195 diff --git a/Content/Mesh/Jiangjunyong/shenti_Roughness.uasset b/Content/Mesh/Jiangjunyong/shenti_Roughness.uasset new file mode 100644 index 0000000..25d8838 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shenti_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d033881585462104a8f0cb5e89c954b967a2631f6d9eca65b7dbf3cec6d408e +size 112688 diff --git a/Content/Mesh/Jiangjunyong/shou_BaseColor.uasset b/Content/Mesh/Jiangjunyong/shou_BaseColor.uasset new file mode 100644 index 0000000..fbcf87b --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shou_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15d2227875340137332c6ab204127c2c0e603107ed94507f100fde6fbecc4772 +size 2066046 diff --git a/Content/Mesh/Jiangjunyong/shou_Height.uasset b/Content/Mesh/Jiangjunyong/shou_Height.uasset new file mode 100644 index 0000000..b2067b8 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shou_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fbd79d7e4d36c1a9f091070e44c97af10e31291f5b745db571ca5c9dba2c096 +size 8404 diff --git a/Content/Mesh/Jiangjunyong/shou_Metallic.uasset b/Content/Mesh/Jiangjunyong/shou_Metallic.uasset new file mode 100644 index 0000000..925386a --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shou_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:532d42287e8ee785bcbb722ec0c3aab841679041dcbd51684aa34bcd063f3df7 +size 8404 diff --git a/Content/Mesh/Jiangjunyong/shou_Normal.uasset b/Content/Mesh/Jiangjunyong/shou_Normal.uasset new file mode 100644 index 0000000..1f926f9 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shou_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebd87cf849bbfbacd1749c6d35498e6a2cc5c67b7bbbe8514d94250fb8e5f200 +size 404960 diff --git a/Content/Mesh/Jiangjunyong/shou_Roughness.uasset b/Content/Mesh/Jiangjunyong/shou_Roughness.uasset new file mode 100644 index 0000000..09070d1 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/shou_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72084f4cf85f40535d68808ac944c259b30f6a0128f5c3e046c543e70c0dacd +size 163088 diff --git a/Content/Mesh/Jiangjunyong/tou1_BaseColor.uasset b/Content/Mesh/Jiangjunyong/tou1_BaseColor.uasset new file mode 100644 index 0000000..a3d0bdf --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tou1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41ab50e657e43cb3b3597eb7dcc7a59828ad62d1611495017259d78456c6257d +size 1927677 diff --git a/Content/Mesh/Jiangjunyong/tou1_Height.uasset b/Content/Mesh/Jiangjunyong/tou1_Height.uasset new file mode 100644 index 0000000..e33b8c6 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tou1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c776dba567ee59a0983b1ed6874c6b1bd7d961ff20f0e05ebb998f32a8bbbf +size 8405 diff --git a/Content/Mesh/Jiangjunyong/tou1_Metallic.uasset b/Content/Mesh/Jiangjunyong/tou1_Metallic.uasset new file mode 100644 index 0000000..dafecd6 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tou1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f13f8afe5a417687daf4d859c802477ce33fb4dced84281a11ac3f6047d4c1ec +size 8404 diff --git a/Content/Mesh/Jiangjunyong/tou1_Normal.uasset b/Content/Mesh/Jiangjunyong/tou1_Normal.uasset new file mode 100644 index 0000000..5857be9 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tou1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:267ccc53b3bee42d48ed6f0255dd9e13971b23bbb223dbeb7fa3b987135a187f +size 13324518 diff --git a/Content/Mesh/Jiangjunyong/tou1_Roughness.uasset b/Content/Mesh/Jiangjunyong/tou1_Roughness.uasset new file mode 100644 index 0000000..5ac4482 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tou1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b409e0b0d0ef6fafa0d46b0924f8fb7bb1181c5a4514a057eacfdb7a8f2b547d +size 1453050 diff --git a/Content/Mesh/Jiangjunyong/tui_BaseColor.uasset b/Content/Mesh/Jiangjunyong/tui_BaseColor.uasset new file mode 100644 index 0000000..85f430e --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tui_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42780ef7587e56cd40fa6cad3e92f26fb6730ced8da2fb1986d92709c8335411 +size 257480 diff --git a/Content/Mesh/Jiangjunyong/tui_Height.uasset b/Content/Mesh/Jiangjunyong/tui_Height.uasset new file mode 100644 index 0000000..cd42b58 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tui_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0043418f6fcc400ffadaf70b268089e6476bb995314d02edb2390091196854f +size 9601 diff --git a/Content/Mesh/Jiangjunyong/tui_Metallic.uasset b/Content/Mesh/Jiangjunyong/tui_Metallic.uasset new file mode 100644 index 0000000..b430521 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tui_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd71ea66b444851bcbbf45d1c9228fb03dc70b0ee8dd0f0114a03e1d24a72cc +size 9581 diff --git a/Content/Mesh/Jiangjunyong/tui_Normal.uasset b/Content/Mesh/Jiangjunyong/tui_Normal.uasset new file mode 100644 index 0000000..5362d95 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tui_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93ac45d4ae7851469b752782f04c72048f84809ad4a7590d1f125fc574d0d037 +size 336062 diff --git a/Content/Mesh/Jiangjunyong/tui_Roughness.uasset b/Content/Mesh/Jiangjunyong/tui_Roughness.uasset new file mode 100644 index 0000000..5ed5fb1 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/tui_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c39d7fd80ace3cf4ea3ba14ab808d59fd7ba9dadf5b73d1615881efc5882d7 +size 153053 diff --git a/Content/Mesh/Jiangjunyong/启动开关_2_.uasset b/Content/Mesh/Jiangjunyong/启动开关_2_.uasset new file mode 100644 index 0000000..0ac2146 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/启动开关_2_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773171ef341b2adf3467e46ea21cf5683e842cca33936ccccf6e8bd2b949d2b6 +size 5744488 diff --git a/Content/Mesh/Jiangjunyong/启动开关_2__Anim.uasset b/Content/Mesh/Jiangjunyong/启动开关_2__Anim.uasset new file mode 100644 index 0000000..29ca40c --- /dev/null +++ b/Content/Mesh/Jiangjunyong/启动开关_2__Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf0ee771328379966cddfe052d3aaf3559b6b240b1ec490b1cc32247b80e5cf0 +size 141934 diff --git a/Content/Mesh/Jiangjunyong/启动开关_2__PhysicsAsset.uasset b/Content/Mesh/Jiangjunyong/启动开关_2__PhysicsAsset.uasset new file mode 100644 index 0000000..7b24416 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/启动开关_2__PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d755a3256df9a4e6ab1868ee5b708968e1258d12cbe9889ff44d723ac6e0e818 +size 19226 diff --git a/Content/Mesh/Jiangjunyong/启动开关_2__Skeleton.uasset b/Content/Mesh/Jiangjunyong/启动开关_2__Skeleton.uasset new file mode 100644 index 0000000..17a81c6 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/启动开关_2__Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:664e1f0d642700bef57520524532f170e2a4b43e956ec8f2cbaa405071f3634c +size 42259 diff --git a/Content/Mesh/Jiangjunyong/将军俑_向前看.uasset b/Content/Mesh/Jiangjunyong/将军俑_向前看.uasset new file mode 100644 index 0000000..3a30322 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/将军俑_向前看.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f0c79cbc4fe898350d5951c748108da174831b25923eff589ce050166a444b8 +size 359196 diff --git a/Content/Mesh/Jiangjunyong/将军俑_左右看.uasset b/Content/Mesh/Jiangjunyong/将军俑_左右看.uasset new file mode 100644 index 0000000..5ccc887 --- /dev/null +++ b/Content/Mesh/Jiangjunyong/将军俑_左右看.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3be591bbb477a5a9fc1ddae560bd08d8bd40f2f0c26209ad56d1232c3957d70 +size 546208 diff --git a/Content/Mesh/M_qizi.uasset b/Content/Mesh/M_qizi.uasset new file mode 100644 index 0000000..9bbdd50 --- /dev/null +++ b/Content/Mesh/M_qizi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c99b9218555b97d35dc21ca951e9b79d0c6569ce1ce644b5b150ae1af3330582 +size 59531 diff --git a/Content/Mesh/M_weiqi.uasset b/Content/Mesh/M_weiqi.uasset new file mode 100644 index 0000000..cc868f6 --- /dev/null +++ b/Content/Mesh/M_weiqi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:308ddebee21cd7fcb21a930775e08437406676e84daa43719ecce3031c026510 +size 1921699 diff --git a/Content/Mesh/Material/Color_007.uasset b/Content/Mesh/Material/Color_007.uasset new file mode 100644 index 0000000..9c269cc --- /dev/null +++ b/Content/Mesh/Material/Color_007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b317a065a40f82463cf094bf836782a26e360c733c8a4e04e87bd0f30a0d31c +size 8901 diff --git a/Content/Mesh/Material/Flora/MI_dibang01.uasset b/Content/Mesh/Material/Flora/MI_dibang01.uasset new file mode 100644 index 0000000..8005aef --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_dibang01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0484a8f7b12ecb3844e0d2a41bce928953f90f5ecdef22bfc13c4b4156f43983 +size 24563 diff --git a/Content/Mesh/Material/Flora/MI_dibang01_Inst.uasset b/Content/Mesh/Material/Flora/MI_dibang01_Inst.uasset new file mode 100644 index 0000000..f01254d --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_dibang01_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a7699420bb99a2b9fe3620a25a55ea8312c60bf52378baeeb8665e4445cb3e6 +size 22800 diff --git a/Content/Mesh/Material/Flora/MI_dibang01_Inst_Inst.uasset b/Content/Mesh/Material/Flora/MI_dibang01_Inst_Inst.uasset new file mode 100644 index 0000000..be775da --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_dibang01_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e33591d3b801833e170a7672b98488e949443b1d99404ada7740cec5ed112002 +size 18038 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01.uasset b/Content/Mesh/Material/Flora/MI_zhuan01.uasset new file mode 100644 index 0000000..d3ac936 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40c553b9c4da79223b9a6cc5f63af3c7a9d97b7aac435e0ebb2a8c2367cc1ca7 +size 21770 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst.uasset new file mode 100644 index 0000000..5d3c68b --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b952b58fd229eace43ec24fe4a06ed02c8c18b37e059ee40b86dc9851b634a9 +size 20831 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst1.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst1.uasset new file mode 100644 index 0000000..528f3e6 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5085c7a60765bdd4f6d18e4585ea6a7158e02e1f18d13d9797e5041a47efb249 +size 18067 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst1_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst1_Inst.uasset new file mode 100644 index 0000000..8585485 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst1_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf64c704482277c92965a598681080a3a6817fbe5665f462d75d1b323e9ae001 +size 14881 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst.uasset new file mode 100644 index 0000000..6aada3b --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85e3cdd515031837b1408352d51216f5c29797485eb71ce9548ab31a13f1778d +size 16113 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst1.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst1.uasset new file mode 100644 index 0000000..6646c87 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7edce1ef7247045d14894b257de7cb74a6e89ee067c432d91fa940320b3b2d5 +size 12353 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst2.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst2.uasset new file mode 100644 index 0000000..a69e06f --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_Inst_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a2b1018d6a72a3817e264cd7630697f622064266d2bd8236ced4f4ad1c4ae36 +size 16483 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi.uasset new file mode 100644 index 0000000..1b5de15 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80c8deabe5282aca7e922a04dc4236e908b7e1f7b46b0fc9db1d59e223ab30ad +size 20302 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst.uasset new file mode 100644 index 0000000..163765f --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76cf99f6e2b60bc160757351e98ec5dc6cecd977294f98c5dadde362af004d4e +size 18563 diff --git a/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst1.uasset b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst1.uasset new file mode 100644 index 0000000..023b401 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan01_zhuzi_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e40c2f189cc41f74d6e3a9f61aba94925cba9b2d071264acdfdb1e90ad445fe +size 17748 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02.uasset b/Content/Mesh/Material/Flora/MI_zhuan02.uasset new file mode 100644 index 0000000..c5a814a --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de1ec3bea8047019a8128e2ddd52e4c0e40438acf33dbbef8c96359d7e0c6731 +size 22160 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan02_Inst.uasset new file mode 100644 index 0000000..67675da --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1e79d9d0752fd0879050f2bda56f74e938817cd2cebec30b30a71a9364975a7 +size 18598 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst.uasset new file mode 100644 index 0000000..b0b57e8 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42a0eb5e0bb7a2f9e941db6cd48c85a1c2de7f94cc00fc6e1281b28403521077 +size 21409 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst.uasset new file mode 100644 index 0000000..0c18bc7 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b998052668e0aefe55a48d31e854fa65955576c108a1d8d4abeda5e87ea74ae2 +size 19511 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1.uasset b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1.uasset new file mode 100644 index 0000000..1097898 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa88ea1009fb1b5fecd1ae80cbd4448bd9fe461300ee0adefebb7747e3786f3b +size 22297 diff --git a/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1_Inst.uasset new file mode 100644 index 0000000..b5f7837 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan02_Inst_Inst_Inst1_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a555f1b74a5a51a264a9d19e0b068b87212f2e6c5cf30e83fb634ec6dd9fc7e +size 22178 diff --git a/Content/Mesh/Material/Flora/MI_zhuan03.uasset b/Content/Mesh/Material/Flora/MI_zhuan03.uasset new file mode 100644 index 0000000..832fbff --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d53a77441802802af7faed06f921978029c0a2a38a637f50b5210c6cea1dccb1 +size 17327 diff --git a/Content/Mesh/Material/Flora/MI_zhuan03_Inst1.uasset b/Content/Mesh/Material/Flora/MI_zhuan03_Inst1.uasset new file mode 100644 index 0000000..8975ef7 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan03_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74f95bbb5fc1dc873ad6f7875386e4cdd2b8209c1a06c2023ae7a5a832ce1b2a +size 11839 diff --git a/Content/Mesh/Material/Flora/MI_zhuan04.uasset b/Content/Mesh/Material/Flora/MI_zhuan04.uasset new file mode 100644 index 0000000..dc78457 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f87cea436869bf3fbc0dd6a9592ce52b54aeedaec44a6e72c2d98682e5ff7b1 +size 22228 diff --git a/Content/Mesh/Material/Flora/MI_zhuan05.uasset b/Content/Mesh/Material/Flora/MI_zhuan05.uasset new file mode 100644 index 0000000..a2b2838 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4053e8af503d9899013b3466348b6b70a06c2746177ef46184e341a14b8ecc82 +size 15199 diff --git a/Content/Mesh/Material/Flora/MI_zhuan06.uasset b/Content/Mesh/Material/Flora/MI_zhuan06.uasset new file mode 100644 index 0000000..1dc7dd9 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa3306dfec96bc21c85d04221760011d7174ab038ceb6e1b97e7ddc358827bc5 +size 23051 diff --git a/Content/Mesh/Material/Flora/MI_zhuan06_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan06_Inst.uasset new file mode 100644 index 0000000..cb114ad --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan06_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adc9d302c0fb585ee480b38f639d0fec1c6f7145a7b325b34d72f31e587582a2 +size 21334 diff --git a/Content/Mesh/Material/Flora/MI_zhuan08.uasset b/Content/Mesh/Material/Flora/MI_zhuan08.uasset new file mode 100644 index 0000000..e2307c1 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:224fc29c7ba18e9d502a432e0dd4a1fdd2d1507bb2aeda5ccdb390772b856e92 +size 19268 diff --git a/Content/Mesh/Material/Flora/MI_zhuan08_Inst.uasset b/Content/Mesh/Material/Flora/MI_zhuan08_Inst.uasset new file mode 100644 index 0000000..9680fdf --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuan08_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615f46ba9a847239e5704e996e8bdb5968c651415cff382c174a606bb5cda988 +size 20790 diff --git a/Content/Mesh/Material/Flora/MI_zhuanqiju.uasset b/Content/Mesh/Material/Flora/MI_zhuanqiju.uasset new file mode 100644 index 0000000..a38b013 --- /dev/null +++ b/Content/Mesh/Material/Flora/MI_zhuanqiju.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7a8e1cb134c0edf6a1d83c25d5d8c73fcad5e21a60f3f769603ab66bba34f43 +size 18471 diff --git a/Content/Mesh/Material/Flora/微信图片_20250608001900_jpg.uasset b/Content/Mesh/Material/Flora/微信图片_20250608001900_jpg.uasset new file mode 100644 index 0000000..31d97c5 --- /dev/null +++ b/Content/Mesh/Material/Flora/微信图片_20250608001900_jpg.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2668cb9171f1445d086aa39e0ef16294e8d2cb6055758d39352ec2a8dcc557b +size 149505 diff --git a/Content/Mesh/Material/Flora/微信图片_20250608001902.uasset b/Content/Mesh/Material/Flora/微信图片_20250608001902.uasset new file mode 100644 index 0000000..6c918ad --- /dev/null +++ b/Content/Mesh/Material/Flora/微信图片_20250608001902.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:025f9925d58a15c8236cf4df640742758e69fa5d015425c2a08c4065bc7e4bdc +size 203466 diff --git a/Content/Mesh/Material/MI_Hair.uasset b/Content/Mesh/Material/MI_Hair.uasset new file mode 100644 index 0000000..56899e9 --- /dev/null +++ b/Content/Mesh/Material/MI_Hair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ec289c07531f88d29b42e7508336fd7302b83d7a102dbca6728ab21be6552c +size 14394 diff --git a/Content/Mesh/Material/MI_Purple.uasset b/Content/Mesh/Material/MI_Purple.uasset new file mode 100644 index 0000000..486b4f9 --- /dev/null +++ b/Content/Mesh/Material/MI_Purple.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfcd7f96a71a23c2b0a9089d8ec12ae3e03ee87b57c61a9daeab731f500c13e1 +size 12917 diff --git a/Content/Mesh/Material/MI_blue.uasset b/Content/Mesh/Material/MI_blue.uasset new file mode 100644 index 0000000..dcd73cc --- /dev/null +++ b/Content/Mesh/Material/MI_blue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b0a8c7ae3b32f662ceb3070659de038df0ab5e28f9350af7bbc6819cd5aed8 +size 13492 diff --git a/Content/Mesh/Material/MI_brown.uasset b/Content/Mesh/Material/MI_brown.uasset new file mode 100644 index 0000000..fe9dc1a --- /dev/null +++ b/Content/Mesh/Material/MI_brown.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:874431ff5e4226359b7166dd01517d5f28ad3b45384fda862fdc2f9b45d0e191 +size 13211 diff --git a/Content/Mesh/Material/MI_green.uasset b/Content/Mesh/Material/MI_green.uasset new file mode 100644 index 0000000..e35b95c --- /dev/null +++ b/Content/Mesh/Material/MI_green.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fcca36a05d1e2770ea7708aba0e677645243b822a142688c2e8bec64603457 +size 14281 diff --git a/Content/Mesh/Material/MI_red.uasset b/Content/Mesh/Material/MI_red.uasset new file mode 100644 index 0000000..dee8ef7 --- /dev/null +++ b/Content/Mesh/Material/MI_red.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2096effa0e1c8f9a081baa023c23a0e4f8c1fdcc6239e899a18183ac88cbba8 +size 12797 diff --git a/Content/Mesh/Material/MI_skin.uasset b/Content/Mesh/Material/MI_skin.uasset new file mode 100644 index 0000000..a38dbf3 --- /dev/null +++ b/Content/Mesh/Material/MI_skin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d069f87ba53bf478608c6749ab27057bdf67f0c517ddb5a6696414f9526b72ef +size 13383 diff --git a/Content/Mesh/Material/MI_white.uasset b/Content/Mesh/Material/MI_white.uasset new file mode 100644 index 0000000..188d843 --- /dev/null +++ b/Content/Mesh/Material/MI_white.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf71f2a1edf098f45265a687ace60fb47546b7f5bee34933ac3c0b82a4c02239 +size 12860 diff --git a/Content/Mesh/Material/MI_yellow.uasset b/Content/Mesh/Material/MI_yellow.uasset new file mode 100644 index 0000000..e515f35 --- /dev/null +++ b/Content/Mesh/Material/MI_yellow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1b054f8644637bd5e597f58d6c7898c1bfe1e0d56e70c7026962c89283d3bf8 +size 14631 diff --git a/Content/Mesh/Material/MI_yellow1.uasset b/Content/Mesh/Material/MI_yellow1.uasset new file mode 100644 index 0000000..27c9a25 --- /dev/null +++ b/Content/Mesh/Material/MI_yellow1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3b86d16dd2e7aa25ba1816a1e872942dcf9cf5bc96d930d38a219c6083d9d88 +size 12435 diff --git a/Content/Mesh/Material/M_JJY.uasset b/Content/Mesh/Material/M_JJY.uasset new file mode 100644 index 0000000..6b9388c --- /dev/null +++ b/Content/Mesh/Material/M_JJY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfb6a67733cffb9bbd2a25f0344f3d06fc592dafd96885fcd0e8f5757c636a2d +size 27555 diff --git a/Content/Mesh/Material/M_Opacity.uasset b/Content/Mesh/Material/M_Opacity.uasset new file mode 100644 index 0000000..a2004d5 --- /dev/null +++ b/Content/Mesh/Material/M_Opacity.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a37a9bd0b0a42cbfb85b8d379ac255cfed7910b653623a7031f3667121fb951 +size 7010 diff --git a/Content/Mesh/Material/M_zhiyingxian.uasset b/Content/Mesh/Material/M_zhiyingxian.uasset new file mode 100644 index 0000000..d4a596d --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9e34dd3a0ecf9433aaec77ddf25538eac3b40168346a5df7819d7f0ea0e590a +size 15436 diff --git a/Content/Mesh/Material/M_zhiyingxian_BingY.uasset b/Content/Mesh/Material/M_zhiyingxian_BingY.uasset new file mode 100644 index 0000000..07a0e00 --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian_BingY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961df39452d4b88f6e1eb667ed536ba28b0b55310dd1fd4653e5e73904b2f51c +size 10104 diff --git a/Content/Mesh/Material/M_zhiyingxian_CL.uasset b/Content/Mesh/Material/M_zhiyingxian_CL.uasset new file mode 100644 index 0000000..749f3d7 --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian_CL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f9a4b55cecc77bd8bba4331f746e3fe51a2214a7fc916be11c3176673ec3c72 +size 12584 diff --git a/Content/Mesh/Material/M_zhiyingxian_jiguang.uasset b/Content/Mesh/Material/M_zhiyingxian_jiguang.uasset new file mode 100644 index 0000000..919c1cb --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian_jiguang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08d8fd0b16d05b2478b4bab06d6879417ed1a8ecd544d85895e2a1470d8c2513 +size 1575 diff --git a/Content/Mesh/Material/M_zhiyingxian_jixielong.uasset b/Content/Mesh/Material/M_zhiyingxian_jixielong.uasset new file mode 100644 index 0000000..b13415c --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian_jixielong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2da61aded55193472a6415b7ba756c3386a748286e7b6a8fb89c4f55205319d1 +size 11641 diff --git a/Content/Mesh/Material/M_zhiyingxian_long.uasset b/Content/Mesh/Material/M_zhiyingxian_long.uasset new file mode 100644 index 0000000..e5843bb --- /dev/null +++ b/Content/Mesh/Material/M_zhiyingxian_long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c45aad4245302d9fb8f3bc1a5bc9baf187c16f026a82512b86d302ba8a94a28c +size 12770 diff --git a/Content/Mesh/Material/Unit.uasset b/Content/Mesh/Material/Unit.uasset new file mode 100644 index 0000000..f7861b6 --- /dev/null +++ b/Content/Mesh/Material/Unit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7eb4d40f0c16b4d921961f007b8312852865d50926c379703cdb9a21ff483bbf +size 10608 diff --git a/Content/Mesh/Material/Unit_Inst.uasset b/Content/Mesh/Material/Unit_Inst.uasset new file mode 100644 index 0000000..ffd4305 --- /dev/null +++ b/Content/Mesh/Material/Unit_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d9f06dd74df1f02775c2813885d02611d5252e183ce0903a1247645bfce3d1 +size 9072 diff --git a/Content/Mesh/Material/WoodFine0007_S.uasset b/Content/Mesh/Material/WoodFine0007_S.uasset new file mode 100644 index 0000000..547ee14 --- /dev/null +++ b/Content/Mesh/Material/WoodFine0007_S.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b533cab0da513339c1b23900e08bc1bec86dc017578cba065e38aba1799de490 +size 14804 diff --git a/Content/Mesh/Material/WoodFine0007_S_Inst.uasset b/Content/Mesh/Material/WoodFine0007_S_Inst.uasset new file mode 100644 index 0000000..c2e7ea1 --- /dev/null +++ b/Content/Mesh/Material/WoodFine0007_S_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4f245fc4d055f12133722e261d5154992275484b6e6bab42b84d2325844c6ee +size 10704 diff --git a/Content/Mesh/Material/bingmayong/MI_03.uasset b/Content/Mesh/Material/bingmayong/MI_03.uasset new file mode 100644 index 0000000..d393792 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fda17f1a058dca5abc8b41790cbda4494bce789d0f2875af5e2a7a0ecc6673b +size 11972 diff --git a/Content/Mesh/Material/bingmayong/MI_13.uasset b/Content/Mesh/Material/bingmayong/MI_13.uasset new file mode 100644 index 0000000..0066499 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c1e1ef3deefb72333cd512424d0a70191d4aecbce7d865c22f640658cd7137 +size 13324 diff --git a/Content/Mesh/Material/bingmayong/MI_26.uasset b/Content/Mesh/Material/bingmayong/MI_26.uasset new file mode 100644 index 0000000..cb9c85f --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bdc77e069514a46e69e4cafc83eb120b34bf675a33a8c977f41e588974dc663 +size 14767 diff --git a/Content/Mesh/Material/bingmayong/MI_35.uasset b/Content/Mesh/Material/bingmayong/MI_35.uasset new file mode 100644 index 0000000..c66543e --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f12e4c78b2ce174d765577fcc9701fd0298bfaa22dd726b65eb687f74d56015 +size 15162 diff --git a/Content/Mesh/Material/bingmayong/MI_36.uasset b/Content/Mesh/Material/bingmayong/MI_36.uasset new file mode 100644 index 0000000..27880b4 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3be1eec4baa5c49992973335db6e37809bc18b575645e323f96940a51b270a7 +size 19604 diff --git a/Content/Mesh/Material/bingmayong/MI_42.uasset b/Content/Mesh/Material/bingmayong/MI_42.uasset new file mode 100644 index 0000000..ebe539b --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73b64e092dde336b8e9ab7ea59f2e7b130048489bad4fb30162409b1d211b94a +size 19574 diff --git a/Content/Mesh/Material/bingmayong/MI_43.uasset b/Content/Mesh/Material/bingmayong/MI_43.uasset new file mode 100644 index 0000000..d0e9bd6 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_43.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af322ea6d4528ff16bcce36b8f652c9c87f28cef7269dc40ee7d17c5a894d2e +size 11846 diff --git a/Content/Mesh/Material/bingmayong/MI_phong.uasset b/Content/Mesh/Material/bingmayong/MI_phong.uasset new file mode 100644 index 0000000..b0e002f --- /dev/null +++ b/Content/Mesh/Material/bingmayong/MI_phong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ab7a3a67dbd0be60d0b1de82e26642c1eb04efae5e1e1bdb2aac80617fa2567 +size 12930 diff --git a/Content/Mesh/Material/bingmayong/Material_003_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material_003_Base_color.uasset new file mode 100644 index 0000000..458df0d --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_003_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6e4a3da9726c8879457bd1e4a503571b7fbcca5679299ca41f643c4a166f05a +size 185443 diff --git a/Content/Mesh/Material/bingmayong/Material_003_Normal_OpenGL.uasset b/Content/Mesh/Material/bingmayong/Material_003_Normal_OpenGL.uasset new file mode 100644 index 0000000..5db4e98 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_003_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1210b78be595d0f687c45bfbe5800817993b7825f44728955ffe2ee7810566d3 +size 13570236 diff --git a/Content/Mesh/Material/bingmayong/Material_003_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material_003_Roughness.uasset new file mode 100644 index 0000000..8118737 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_003_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaef04323920ffa9ca731b0d2359e0ad24e04a19119d58d4f78c012ea496230f +size 92017 diff --git a/Content/Mesh/Material/bingmayong/Material_013_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material_013_Base_color.uasset new file mode 100644 index 0000000..dcd0fb8 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_013_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea1ba7f5c41ff1a03a1b12e0ee848c02f2193a86917dd50c94607a078b7ca8f7 +size 151114 diff --git a/Content/Mesh/Material/bingmayong/Material_013_Normal_OpenGL.uasset b/Content/Mesh/Material/bingmayong/Material_013_Normal_OpenGL.uasset new file mode 100644 index 0000000..193c00e --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_013_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:391bd305e0eee8743e333f4da72fb863e5195086d6c716e049b83604e5c6166c +size 14258450 diff --git a/Content/Mesh/Material/bingmayong/Material_013_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material_013_Roughness.uasset new file mode 100644 index 0000000..c236f28 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material_013_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:875ab39e79c843d6cfef1974125561af0cc8acd597306fee950418ebe6f4ea91 +size 113644 diff --git a/Content/Mesh/Material/bingmayong/Material__26_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material__26_Base_color.uasset new file mode 100644 index 0000000..046c3cd --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__26_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1b2cc154194de7efa2c4b4c72371f3962d1d10911523e45761848a002111ec7 +size 3919739 diff --git a/Content/Mesh/Material/bingmayong/Material__26_Normal_OpenGL.uasset b/Content/Mesh/Material/bingmayong/Material__26_Normal_OpenGL.uasset new file mode 100644 index 0000000..6ade569 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__26_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:682b1890a013fa12341f0dacf7e39a082220cd79b24ff1bd0a0796d1ae8424dd +size 12343150 diff --git a/Content/Mesh/Material/bingmayong/Material__26_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material__26_Roughness.uasset new file mode 100644 index 0000000..b2171df --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__26_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c5a67e94e88cde265d8df7892ae66734875778d1bf79d7e0884e0516cf07b5 +size 2061066 diff --git a/Content/Mesh/Material/bingmayong/Material__35_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material__35_Base_color.uasset new file mode 100644 index 0000000..fb7f53a --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__35_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48d8dd0348b79bbd6d730cd9d9349be99471891bf6ff989709dc49f51f6e6baf +size 2717980 diff --git a/Content/Mesh/Material/bingmayong/Material__35_Normal_OpenGL.uasset b/Content/Mesh/Material/bingmayong/Material__35_Normal_OpenGL.uasset new file mode 100644 index 0000000..1afccff --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__35_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13e92c18b2639235503afe938cad153a485d69303dbe3cde4659f193227f1968 +size 7809304 diff --git a/Content/Mesh/Material/bingmayong/Material__35_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material__35_Roughness.uasset new file mode 100644 index 0000000..19d2912 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__35_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4468c98ce1f32af84f3f51aecb1a9ac8638750202a769aa86786a44d49c7e96a +size 1018085 diff --git a/Content/Mesh/Material/bingmayong/Material__36_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material__36_Base_color.uasset new file mode 100644 index 0000000..420ec80 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__36_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:118802642f88702a4b99d4304796bf98adc18ef33a7b3ce5b762c15b01e38646 +size 1759082 diff --git a/Content/Mesh/Material/bingmayong/Material__36_Normal_OpenGL.uasset b/Content/Mesh/Material/bingmayong/Material__36_Normal_OpenGL.uasset new file mode 100644 index 0000000..da75af8 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__36_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97b7b39c969080ba11c5cf945d7af883c61f165f5d22e3db53015aad9c0b3860 +size 11548590 diff --git a/Content/Mesh/Material/bingmayong/Material__36_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material__36_Roughness.uasset new file mode 100644 index 0000000..a0dcc06 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__36_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46497849dc19541c02db163fa8247a6acb34256b593fa3ecfba73c8b08eb867b +size 511286 diff --git a/Content/Mesh/Material/bingmayong/Material__42_001_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material__42_001_Base_color.uasset new file mode 100644 index 0000000..9d01cc0 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__42_001_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0017fc054c542ae2f3453650756a48fc2073a72042769e4b871416c366629748 +size 4463401 diff --git a/Content/Mesh/Material/bingmayong/Material__42_001_Normal.uasset b/Content/Mesh/Material/bingmayong/Material__42_001_Normal.uasset new file mode 100644 index 0000000..e4ec41e --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__42_001_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:477743969c0f02ff15abfe611cf477931a9f48cca6ccf0c0232dfde0e2ddf7b6 +size 137375 diff --git a/Content/Mesh/Material/bingmayong/Material__42_001_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material__42_001_Roughness.uasset new file mode 100644 index 0000000..5697a11 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__42_001_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86afbf45b243e5184f1736c0367deb3b0230040986aef3e03f443ee86705f32b +size 588027 diff --git a/Content/Mesh/Material/bingmayong/Material__43_001_Base_color.uasset b/Content/Mesh/Material/bingmayong/Material__43_001_Base_color.uasset new file mode 100644 index 0000000..65fe5b9 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__43_001_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01ac6b7e9173a14b2b7d633d7c611c6522e160f34d7cdc49788c91e5e978e539 +size 576588 diff --git a/Content/Mesh/Material/bingmayong/Material__43_001_Normal.uasset b/Content/Mesh/Material/bingmayong/Material__43_001_Normal.uasset new file mode 100644 index 0000000..549a786 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__43_001_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd139aa2a7278f7b51b0e6b9a77949a401e1b67064c40807a55c55a681050f0f +size 105036 diff --git a/Content/Mesh/Material/bingmayong/Material__43_001_Roughness.uasset b/Content/Mesh/Material/bingmayong/Material__43_001_Roughness.uasset new file mode 100644 index 0000000..192f370 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/Material__43_001_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ca6ba38b6e7f2ac2f96902cb31d6b2cd3299985816f27994b237c8e47264ca0 +size 57578 diff --git a/Content/Mesh/Material/bingmayong/phong1_001_Base_color.uasset b/Content/Mesh/Material/bingmayong/phong1_001_Base_color.uasset new file mode 100644 index 0000000..53a7d0e --- /dev/null +++ b/Content/Mesh/Material/bingmayong/phong1_001_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cbb4e6a98dd6032f2debf8dda134fd12f69cb23f12a8a3b2975d66bd88902e6 +size 3568099 diff --git a/Content/Mesh/Material/bingmayong/phong1_001_Normal.uasset b/Content/Mesh/Material/bingmayong/phong1_001_Normal.uasset new file mode 100644 index 0000000..d657072 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/phong1_001_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b6e61212c1e829a3ceb1bd49371631c0288bf664e4b03ac6241a2a6250c203e +size 78306 diff --git a/Content/Mesh/Material/bingmayong/phong1_001_Roughness.uasset b/Content/Mesh/Material/bingmayong/phong1_001_Roughness.uasset new file mode 100644 index 0000000..053f508 --- /dev/null +++ b/Content/Mesh/Material/bingmayong/phong1_001_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:668d13eae4f807296cd5e88dfefeef6c7db7f5fb3e573a02b3fdd9178728e96e +size 1004739 diff --git a/Content/Mesh/Material/hufu.uasset b/Content/Mesh/Material/hufu.uasset new file mode 100644 index 0000000..10ffe58 --- /dev/null +++ b/Content/Mesh/Material/hufu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f340d54d37af2c87fc1faa52409f3ac481a71da943081cd08879cefd1b1f25ab +size 16263 diff --git a/Content/Mesh/Material/mask.uasset b/Content/Mesh/Material/mask.uasset new file mode 100644 index 0000000..50c8e96 --- /dev/null +++ b/Content/Mesh/Material/mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba7cf9a223649c3d965893047f37c9f5ffeb6365bea4225ec23cc02e0493ad2a +size 7734 diff --git a/Content/Mesh/Material/o.uasset b/Content/Mesh/Material/o.uasset new file mode 100644 index 0000000..31373a5 --- /dev/null +++ b/Content/Mesh/Material/o.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bc117fc86d1d6ebf5dd9fc8bb21a5d4e18afd470ffb89d9b25c071b866bf260 +size 8019 diff --git a/Content/Mesh/Material/skp_front_default.uasset b/Content/Mesh/Material/skp_front_default.uasset new file mode 100644 index 0000000..8a7cf00 --- /dev/null +++ b/Content/Mesh/Material/skp_front_default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2fe64e29580e2d9583c4abe389550a8cf0b1a9358b6df88151d6eb3c18ef5ba +size 9264 diff --git a/Content/Mesh/Material/unlit.uasset b/Content/Mesh/Material/unlit.uasset new file mode 100644 index 0000000..d997ded --- /dev/null +++ b/Content/Mesh/Material/unlit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84ded82d02a6b1cf1f4e4ed164aef40b725e6cc93ae3431104e73fcb39660d8f +size 7907 diff --git a/Content/Mesh/Material/yellow.uasset b/Content/Mesh/Material/yellow.uasset new file mode 100644 index 0000000..1f7c7e2 --- /dev/null +++ b/Content/Mesh/Material/yellow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3aa1841db52ed069b529fae0eb8631c2614030deeeb34b268cb09d224fd0085 +size 11202 diff --git a/Content/Mesh/Material/zhuan.uasset b/Content/Mesh/Material/zhuan.uasset new file mode 100644 index 0000000..a09728c --- /dev/null +++ b/Content/Mesh/Material/zhuan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c2b00afbe64f37fd35ac1f55f81810d17ee7b7f720bbb4500723b826260d0e1 +size 22815 diff --git a/Content/Mesh/Material/zhuan_Bu.uasset b/Content/Mesh/Material/zhuan_Bu.uasset new file mode 100644 index 0000000..96d58eb --- /dev/null +++ b/Content/Mesh/Material/zhuan_Bu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4f55fb8ecff4caf1b1975bee0f7c59426a219c96dc3dbd996ade0083da2e15b +size 16867 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat.uasset new file mode 100644 index 0000000..fdef75e --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c947b7a14d5d36552b7cad4f26c06b030d02c463e15b832c2ea9697c8dcfe239 +size 28786 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_2.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_2.uasset new file mode 100644 index 0000000..162e45f --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f686e71ae1c6eb3e14461a241746faf96daab23184ce25431220545fc93f84a0 +size 15598 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst.uasset new file mode 100644 index 0000000..4bc7f4f --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:030f1742a1b0e18d24f5f199925e043328e2f6da46f0d4de18fb515ca9932d67 +size 14925 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst1.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst1.uasset new file mode 100644 index 0000000..eaa83ac --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c4afe2933a959272d233bf8d6b19f761501379593e998d8cf237b9581198845 +size 12705 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst10.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst10.uasset new file mode 100644 index 0000000..5f95028 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:340fa266660bf321360cb8d7172759bfaf0e02ee29d1648057c77b93da0dd22b +size 19592 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst11.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst11.uasset new file mode 100644 index 0000000..1fd4843 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046596c5f8492c4e13341a46353ab276baa3a385b0dc6cdd2804df9a6bba42a4 +size 16885 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst12.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst12.uasset new file mode 100644 index 0000000..1f009da --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:671cc2d846d0719b583bbc61ecbbc127c71618f0689bb7abffd161322af25d0e +size 19723 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst13.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst13.uasset new file mode 100644 index 0000000..5dc1d49 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45968f8d171880980c17e9d69f2f9722487c58a705c0ecc874c31dc240debb76 +size 15747 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst14.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst14.uasset new file mode 100644 index 0000000..a71f639 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d95ac6a18f60e89cf41e04860e6c2a7676612f83219ce635e61f8281b43ce322 +size 17711 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst16.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst16.uasset new file mode 100644 index 0000000..6fadbe3 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a890d026ceb6bfcfeb7b9df2d85274afe45afccd68dbb0aecdd427e1bbf8d3 +size 15700 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst18.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst18.uasset new file mode 100644 index 0000000..b69f8ba --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f19a81249c46a46a7456c5ec29476a92c37bde582309d647378cbce0eb6bb6b +size 14706 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst19.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst19.uasset new file mode 100644 index 0000000..6386fe9 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:035aa33244d469a2cdb4fb7277f4b7f9217b2fe16f21b5ad11d410248cdd75b8 +size 1584 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst2.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst2.uasset new file mode 100644 index 0000000..2420ab6 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ae0744892e99fadf52615a71a56422cf09e1ff009da61b84b8c3fd01f54a541 +size 16343 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst22.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst22.uasset new file mode 100644 index 0000000..ef24e07 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d885e9f8f3c6d994dc33bf24fa507d13f75be0ac12e6080e1229bdae1d1159e +size 14787 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst3.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst3.uasset new file mode 100644 index 0000000..bad4b9b --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01a2d033610a9a52d74ee756fafc988d74e85f869617b53ee749173b56fde471 +size 17783 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst4.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst4.uasset new file mode 100644 index 0000000..da78d69 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:580d1c47ab7bb4754ba20a11af75578200e6fe672a8c149b7aff1704413cb19c +size 17617 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst5.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst5.uasset new file mode 100644 index 0000000..193d8e5 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b801562771db643b4f76bb38ff7c845292b96e962558d64b1129e5ef239beffb +size 15960 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst8.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst8.uasset new file mode 100644 index 0000000..e2e2921 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7950710cc07a6640c39624905441088bfa7b562ecbe714e4162af6de6c48899 +size 18774 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_Inst9.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst9.uasset new file mode 100644 index 0000000..2e99274 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_Inst9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cd6ba643d52952baedb20a9e0b14d44cd7cd13691a2d3c75c195bdcffb5d6ec +size 17689 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mat_hff.uasset b/Content/Mesh/Material/zhuan_COLOR_Mat_hff.uasset new file mode 100644 index 0000000..95c939d --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mat_hff.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcefa57711a4884c3d40b16dc1c5846250c6352a364f340fe5fe69aa1320ed07 +size 15166 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff.uasset new file mode 100644 index 0000000..76b9a79 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b45872ce5c0bd42881d30227a0174dfaf887f2065207978a10cb809eae71267d +size 14831 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff16.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff16.uasset new file mode 100644 index 0000000..dd7b046 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a74b706b72913ff99e848cdeab8a6db434823112604a77209788a3508e66657b +size 13724 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff17.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff17.uasset new file mode 100644 index 0000000..884363c --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:999b6d76ae1b6d6b9af50881736cd7f0dd8e389d28e81ec337b4621b92334074 +size 14462 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff18.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff18.uasset new file mode 100644 index 0000000..69020f7 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b420b8473f562e8f16db48846dc6b55535a01dd86301d6c83ded2617953b200 +size 16899 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff20.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff20.uasset new file mode 100644 index 0000000..064b0a2 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb7bfbc5c23df2ab9bb9e339eac362a7de07ec0abadce59c12d3544081db54d +size 18949 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff21.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff21.uasset new file mode 100644 index 0000000..3ef4046 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a508dc6e537fc976d62bac935a0aae453992c9679b73fd35892894b5b66dcd7 +size 15736 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_10.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_10.uasset new file mode 100644 index 0000000..727ea96 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0688769d6cf0d3ebbb863891658158743de236917a0b73e8b9e113c70e9fd4 +size 14101 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_11.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_11.uasset new file mode 100644 index 0000000..035d720 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e0f57d2354d5a6e8488fb6cfbecf9f8d2ecbdcae2fc581845969a685037ce4a +size 15752 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_12.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_12.uasset new file mode 100644 index 0000000..17cccb0 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68d13766d57e33e05d8ef87510b2e38bd912622700f91d1d6d332222c9cf0012 +size 19670 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_13.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_13.uasset new file mode 100644 index 0000000..8774394 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95fdeb99de672b40808d5e34a452391e9ce586a351323334ad2133a24131595d +size 15358 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_14.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_14.uasset new file mode 100644 index 0000000..c37b232 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdc2d3bbe974e04ed783e0153032054516b71b9730ec71ed1618d69f49f81927 +size 19026 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_15.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_15.uasset new file mode 100644 index 0000000..45851d4 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cefc1518f7c1860cc401f1c96b4a1551fe3ee7c089f3468411070f8381b078b +size 17153 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_16.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_16.uasset new file mode 100644 index 0000000..3cfbe39 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ae76054c04d3fb1e2ab4bee4960a7f9c4ad99cb28dac7c64fb692e260c9ea95 +size 15750 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_17.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_17.uasset new file mode 100644 index 0000000..3b1d783 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bad2c77df03eb83b0703b0e3f52658e247ec74458a6d1142f1e41c9730181ec +size 19326 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_18.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_18.uasset new file mode 100644 index 0000000..aa1d4e2 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab79a12dad3fcaa3b6a5e4ca9db15e3815b0263f7483c7d623b8826739edc4ad +size 16258 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_19.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_19.uasset new file mode 100644 index 0000000..a0511f7 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66bcb4cbd81e404e95f7490552c9f89663416474df208c3f148be178f87adf21 +size 19527 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_20.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_20.uasset new file mode 100644 index 0000000..3c75e43 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c31e1eac4f3b09d62c1010629fb9f0729e15d99bb254a91a1041567b17609d19 +size 17075 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_21.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_21.uasset new file mode 100644 index 0000000..d868c21 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:124be05ca1d6041dfd21964feecb72857141136b29d06f6f1ca28b5589a3bbac +size 21567 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_22.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_22.uasset new file mode 100644 index 0000000..d97115b --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f2ee5e9053c50fea8c31c03574ec73f80e481f55e6f4405332c76e0157b484 +size 12221 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_23.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_23.uasset new file mode 100644 index 0000000..5577722 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbe52498ea04b28c152b0a22fcae7d4f57c907eb580cac94cb730e0fc0611d3e +size 16754 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_24.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_24.uasset new file mode 100644 index 0000000..6a86c15 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b508342f4a995a990927cc03ff9452ad2e4da543e3adb342d661afe41b588b9d +size 12524 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_25.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_25.uasset new file mode 100644 index 0000000..ef32592 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87bec233ecd82143397dae5ea966e5e0823c34e43c277b3c5521a95680e17e5 +size 17217 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_26.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_26.uasset new file mode 100644 index 0000000..78f9327 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_26.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bd8542103edcf142ccb16f01f3679c2aa3251469c8e5860eff0b6f798c80d42 +size 15170 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_3.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_3.uasset new file mode 100644 index 0000000..da070f0 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dcdfbbd7ad19f1724d7f7a17ba6e9b1d114db2862dc45521b4c5b26b50b4c46 +size 13222 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_4.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_4.uasset new file mode 100644 index 0000000..ec5c970 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6083b39ca9cd5477efdd0253de2a21ad74e740a63db7d30b641390bb7ddd73f +size 16444 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_5.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_5.uasset new file mode 100644 index 0000000..a170e75 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b689d3e90591480ee55c61d27cba0fde32ff3f1a1fc346963d40fe9ca0813fe3 +size 14485 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_7.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_7.uasset new file mode 100644 index 0000000..f4ff657 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:404823e69743d647eb6a4afdc877649364bfedfab90b5975e7f537de318dfbef +size 20563 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_8.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_8.uasset new file mode 100644 index 0000000..62f8ea0 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea87ec1cd15713646dd0358018eaab4659081d0471ba59106a2d712e4e7b8fcc +size 16673 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_8_Inst.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_8_Inst.uasset new file mode 100644 index 0000000..e08e922 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_8_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0242d6509dccde520d0984f4806bb1df9c5b1fc05d3303fe144c652166d6c991 +size 15022 diff --git a/Content/Mesh/Material/zhuan_COLOR_Mathff_9.uasset b/Content/Mesh/Material/zhuan_COLOR_Mathff_9.uasset new file mode 100644 index 0000000..30791f3 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Mathff_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a36cacf37496ab08edc52989ca881ad510553e501fffc02b77171d0c5cae668 +size 15865 diff --git a/Content/Mesh/Material/zhuan_COLOR_Math弓弩.uasset b/Content/Mesh/Material/zhuan_COLOR_Math弓弩.uasset new file mode 100644 index 0000000..253d58b --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Math弓弩.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c119bb210ab35add08d45ba2df6249d421f1a6023230dc8ec923134921b8da81 +size 22751 diff --git a/Content/Mesh/Material/zhuan_COLOR_Math弓弩1.uasset b/Content/Mesh/Material/zhuan_COLOR_Math弓弩1.uasset new file mode 100644 index 0000000..aafb91e --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_Math弓弩1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11bdfb106d78a25aa1ce6492c3ab00b563e419de56cc3d4851eac96271d7e9cf +size 20866 diff --git a/Content/Mesh/Material/zhuan_COLOR_sss.uasset b/Content/Mesh/Material/zhuan_COLOR_sss.uasset new file mode 100644 index 0000000..23b6413 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_sss.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e6d0432095a68b5fd2ef10934e7ba6928a45b7c11fc336e620c66a0152f816d +size 26152 diff --git a/Content/Mesh/Material/zhuan_COLOR_sss1.uasset b/Content/Mesh/Material/zhuan_COLOR_sss1.uasset new file mode 100644 index 0000000..d3fe93a --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_sss1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4142d0729689443cb9d61b822aeb585739fd038fb37d0ec7617d5ea9ad4db03 +size 34804 diff --git a/Content/Mesh/Material/zhuan_COLOR_sss2.uasset b/Content/Mesh/Material/zhuan_COLOR_sss2.uasset new file mode 100644 index 0000000..d92f9a3 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLOR_sss2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29845274740ab14e43a6c79bbde50e5cb6ad3ee91d48405c88421e3ed5425f03 +size 26369 diff --git a/Content/Mesh/Material/zhuan_COLORemmis.uasset b/Content/Mesh/Material/zhuan_COLORemmis.uasset new file mode 100644 index 0000000..67bc617 --- /dev/null +++ b/Content/Mesh/Material/zhuan_COLORemmis.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c9d64218a40521542c6567d56add486fa23bbeeff81b1859093803b90ff079 +size 18407 diff --git a/Content/Mesh/Material/zhuan_KaichangBase.uasset b/Content/Mesh/Material/zhuan_KaichangBase.uasset new file mode 100644 index 0000000..05d74cf --- /dev/null +++ b/Content/Mesh/Material/zhuan_KaichangBase.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fe3be2aaa6ed2143f333f76888bc972f71fd50fa243c9aa03894c803a940ad7 +size 29579 diff --git a/Content/Mesh/Material/zhuan_bingyong.uasset b/Content/Mesh/Material/zhuan_bingyong.uasset new file mode 100644 index 0000000..79116ac --- /dev/null +++ b/Content/Mesh/Material/zhuan_bingyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19bfd91da1da70effdf5cfd0bb251348335088e0c9a6e6c3092f1a044e759f33 +size 13896 diff --git a/Content/Mesh/Material/zhuan_hff.uasset b/Content/Mesh/Material/zhuan_hff.uasset new file mode 100644 index 0000000..3a1c99f --- /dev/null +++ b/Content/Mesh/Material/zhuan_hff.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9078ba9ef46d3e62da5419733ba078da2488995e2b279cccefe54197297efb6 +size 17408 diff --git a/Content/Mesh/Material/zhuan_hff1.uasset b/Content/Mesh/Material/zhuan_hff1.uasset new file mode 100644 index 0000000..77478c4 --- /dev/null +++ b/Content/Mesh/Material/zhuan_hff1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d466006e3bd5079048549e388c0e4e259e25f07451a125e4a9433cdf11b5ee +size 17988 diff --git a/Content/Mesh/Material/zhuan_hff2.uasset b/Content/Mesh/Material/zhuan_hff2.uasset new file mode 100644 index 0000000..9841293 --- /dev/null +++ b/Content/Mesh/Material/zhuan_hff2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b8ad0a839b1bc97bbe11d85e3754584b7b6f3680d5e6627a28afeea64a8df1 +size 14922 diff --git a/Content/Mesh/Material/zhuan_kaichang.uasset b/Content/Mesh/Material/zhuan_kaichang.uasset new file mode 100644 index 0000000..7162fc2 --- /dev/null +++ b/Content/Mesh/Material/zhuan_kaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb2afda18ba0ddd091df350bd727fcab81f76ea6a0969bb203af6fa81ecda399 +size 16292 diff --git a/Content/Mesh/Material/zhuan_kaichang1.uasset b/Content/Mesh/Material/zhuan_kaichang1.uasset new file mode 100644 index 0000000..f652d3b --- /dev/null +++ b/Content/Mesh/Material/zhuan_kaichang1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688ae453ef7a41c9e35b8bec4df753fbc04e5634cc404c1564b15991977ac58d +size 16236 diff --git a/Content/Mesh/Material/zhuan_men.uasset b/Content/Mesh/Material/zhuan_men.uasset new file mode 100644 index 0000000..8aac6f5 --- /dev/null +++ b/Content/Mesh/Material/zhuan_men.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e83f81d5be22184138491bfa5d7cbc36d4614a563e4d5e0af2c686f819e8cba3 +size 20478 diff --git a/Content/Mesh/Material/zhuan_qiang.uasset b/Content/Mesh/Material/zhuan_qiang.uasset new file mode 100644 index 0000000..a971c7d --- /dev/null +++ b/Content/Mesh/Material/zhuan_qiang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0af6db6d70ace827044b0fa080d1880f6ea288587d6b92f28a8071250e240731 +size 14543 diff --git a/Content/Mesh/Material/zhuan_stair.uasset b/Content/Mesh/Material/zhuan_stair.uasset new file mode 100644 index 0000000..8473407 --- /dev/null +++ b/Content/Mesh/Material/zhuan_stair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1810164b1154e6baa0a82bc90ce7158ba95aec875d3164e5ed78b59520360223 +size 17398 diff --git a/Content/Mesh/Material/zishuijing1.uasset b/Content/Mesh/Material/zishuijing1.uasset new file mode 100644 index 0000000..2b58e57 --- /dev/null +++ b/Content/Mesh/Material/zishuijing1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4a46b379de9207e030f9db2d613e514be46b237938aea1642bbddda91235f0d +size 23466 diff --git a/Content/Mesh/Material_001.uasset b/Content/Mesh/Material_001.uasset new file mode 100644 index 0000000..925122a --- /dev/null +++ b/Content/Mesh/Material_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c62f0095eb3151b59aa7ee191421e0e4c8a2dd84350ca2c567d0ff3257f529cc +size 10551 diff --git a/Content/Mesh/OpacityMan/M_OpaDefault.uasset b/Content/Mesh/OpacityMan/M_OpaDefault.uasset new file mode 100644 index 0000000..5fb9943 --- /dev/null +++ b/Content/Mesh/OpacityMan/M_OpaDefault.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e83c96dfa473417d94025db17274e358ee01b6f3cff84f1b146127acf6680d +size 13019 diff --git a/Content/Mesh/OpacityMan/M_OpaDefault_Inst.uasset b/Content/Mesh/OpacityMan/M_OpaDefault_Inst.uasset new file mode 100644 index 0000000..e90473b --- /dev/null +++ b/Content/Mesh/OpacityMan/M_OpaDefault_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbe72e1d3175ba3b9e927f0f496d4796845417641de685f23c865147f17049a0 +size 7033 diff --git a/Content/Mesh/OpacityMan/Standing_Idle.uasset b/Content/Mesh/OpacityMan/Standing_Idle.uasset new file mode 100644 index 0000000..f133d21 --- /dev/null +++ b/Content/Mesh/OpacityMan/Standing_Idle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171c40c336a88342b5c9dd9bd8778d0df43507bd2e1ebca30651ecd79ac0f53b +size 1641168 diff --git a/Content/Mesh/OpacityMan/Standing_Idle2Anim_Take.uasset b/Content/Mesh/OpacityMan/Standing_Idle2Anim_Take.uasset new file mode 100644 index 0000000..5114e1b --- /dev/null +++ b/Content/Mesh/OpacityMan/Standing_Idle2Anim_Take.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c12f47cf126aa18f1538c4e32a22e0740e26ac3b0c3aa2eb86a1f83a3e1b910 +size 90732 diff --git a/Content/Mesh/OpacityMan/Standing_Idle2_PhysicsAsset.uasset b/Content/Mesh/OpacityMan/Standing_Idle2_PhysicsAsset.uasset new file mode 100644 index 0000000..daec88a --- /dev/null +++ b/Content/Mesh/OpacityMan/Standing_Idle2_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a86a344d6b42a03874e5cd0b0a6c1607cb77aaeb7dd32fd026a9171e6a3550ee +size 25996 diff --git a/Content/Mesh/OpacityMan/Standing_IdleAni.uasset b/Content/Mesh/OpacityMan/Standing_IdleAni.uasset new file mode 100644 index 0000000..752b9a6 --- /dev/null +++ b/Content/Mesh/OpacityMan/Standing_IdleAni.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c93844ac5ed92adf35b23813e1d9f7985add8372a950617118dd560a22ac351 +size 1441833 diff --git a/Content/Mesh/OpacityMan/Standing_Idle_2_Skeleton.uasset b/Content/Mesh/OpacityMan/Standing_Idle_2_Skeleton.uasset new file mode 100644 index 0000000..0348265 --- /dev/null +++ b/Content/Mesh/OpacityMan/Standing_Idle_2_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fed9a31b890d2ec957cfefa9163b406b28c624fa05a2124efddbd7a39053246b +size 19436 diff --git a/Content/Mesh/OpacityMan/Swagger_Walk3.uasset b/Content/Mesh/OpacityMan/Swagger_Walk3.uasset new file mode 100644 index 0000000..bccb053 --- /dev/null +++ b/Content/Mesh/OpacityMan/Swagger_Walk3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b15980b182e43aa85398cd8f22a202f36a533f37f5d6ac39d76de4274bb945e +size 735570 diff --git a/Content/Mesh/OpacityMan/Swagger_Walk3_Take_001.uasset b/Content/Mesh/OpacityMan/Swagger_Walk3_Take_001.uasset new file mode 100644 index 0000000..15aec31 --- /dev/null +++ b/Content/Mesh/OpacityMan/Swagger_Walk3_Take_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0694f7a301e2d002c8f9609a1d725029252335ec6bdcaeeb154ac2ab3cf2e1ca +size 90725 diff --git a/Content/Mesh/SM_Fangkuai.uasset b/Content/Mesh/SM_Fangkuai.uasset new file mode 100644 index 0000000..7b93e48 --- /dev/null +++ b/Content/Mesh/SM_Fangkuai.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fd6d7445c5dfa18642609c0b1fd1b72feabf56ce3a76b3d914b8c5d4ee90aa1 +size 15647 diff --git a/Content/Mesh/SM_Jian.uasset b/Content/Mesh/SM_Jian.uasset new file mode 100644 index 0000000..a16353b --- /dev/null +++ b/Content/Mesh/SM_Jian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a044cbc6357d8ca45868f2710820fb0d6a014a79dd9821331f2035f05b78cadd +size 21430 diff --git a/Content/Mesh/SM_Jiangjunyong2.uasset b/Content/Mesh/SM_Jiangjunyong2.uasset new file mode 100644 index 0000000..3f2ecac --- /dev/null +++ b/Content/Mesh/SM_Jiangjunyong2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6abbc573856beb69cf7b8e9864b40de4ffd5fd02b4ca6a43bbf45bcbc32f94d3 +size 13333023 diff --git a/Content/Mesh/SM_Jiangjunyong3.uasset b/Content/Mesh/SM_Jiangjunyong3.uasset new file mode 100644 index 0000000..d0c24b6 --- /dev/null +++ b/Content/Mesh/SM_Jiangjunyong3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62880d5262b20feeedd711b44be930875f03fa59f0486566ae2b46a7a487bf1a +size 3721702 diff --git a/Content/Mesh/SM_Qiang2.uasset b/Content/Mesh/SM_Qiang2.uasset new file mode 100644 index 0000000..6f6749e --- /dev/null +++ b/Content/Mesh/SM_Qiang2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e1095d2e30f6dc49e3409cf2629f9e0a249f180fdc059bc1f93489653492423 +size 19315 diff --git a/Content/Mesh/SM_Qiang_01.uasset b/Content/Mesh/SM_Qiang_01.uasset new file mode 100644 index 0000000..5480cfb --- /dev/null +++ b/Content/Mesh/SM_Qiang_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:878c27a1a7898697b8c65d6cd03ab9df752f42960dbfe4804fc226d72cd4d2ba +size 18166 diff --git a/Content/Mesh/SM_ZhuZi.uasset b/Content/Mesh/SM_ZhuZi.uasset new file mode 100644 index 0000000..f712ffd --- /dev/null +++ b/Content/Mesh/SM_ZhuZi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80b7af9c0e20892a0c8fe176d21ad625d96d8886a3eeba3f543a6bd64eb2da01 +size 20725 diff --git a/Content/Mesh/SM_ZhuZi2.uasset b/Content/Mesh/SM_ZhuZi2.uasset new file mode 100644 index 0000000..9f381b7 --- /dev/null +++ b/Content/Mesh/SM_ZhuZi2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2d36acf527e82a344e25c5367ae4ff9e892766fedc2971051b53b39baddb25a +size 16227 diff --git a/Content/Mesh/SM_huaxiangzhuan3.uasset b/Content/Mesh/SM_huaxiangzhuan3.uasset new file mode 100644 index 0000000..f20f466 --- /dev/null +++ b/Content/Mesh/SM_huaxiangzhuan3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:369870e4a09609b5bf0c5df2e4bcc8f0f91ffae3388d80913bcf6c1cc7bc9f32 +size 618820 diff --git a/Content/Mesh/Texture/Drum_DIF.uasset b/Content/Mesh/Texture/Drum_DIF.uasset new file mode 100644 index 0000000..94b9b64 --- /dev/null +++ b/Content/Mesh/Texture/Drum_DIF.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0e9c09c5e4f25af77b157ec136d8bf55ad54d563446f17bee90178ac184ebf7 +size 418392 diff --git a/Content/Mesh/Texture/Drum_DIF2.uasset b/Content/Mesh/Texture/Drum_DIF2.uasset new file mode 100644 index 0000000..f934b14 --- /dev/null +++ b/Content/Mesh/Texture/Drum_DIF2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0574f67be210070fc8aa795c67ca4a0d152ebd2363f41a09c33d6f1e9337c6f3 +size 397264 diff --git a/Content/Mesh/Texture/Drum_MTL.uasset b/Content/Mesh/Texture/Drum_MTL.uasset new file mode 100644 index 0000000..78394da --- /dev/null +++ b/Content/Mesh/Texture/Drum_MTL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bb51147d45fa27f90a054f0b4eec9222ed1e29fbeaca3c41214360857da40ae +size 36601 diff --git a/Content/Mesh/Texture/Drum_NRM.uasset b/Content/Mesh/Texture/Drum_NRM.uasset new file mode 100644 index 0000000..4066db3 --- /dev/null +++ b/Content/Mesh/Texture/Drum_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfa0e7aa12f18159aee0e689ec68b3f05ff42f25ae38a0037173d4ff2d024752 +size 346160 diff --git a/Content/Mesh/Texture/Drum_Qin.uasset b/Content/Mesh/Texture/Drum_Qin.uasset new file mode 100644 index 0000000..35d3fa1 --- /dev/null +++ b/Content/Mesh/Texture/Drum_Qin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35722a77a65a226e3976c52740c30bc8dbf3a91bb34a28381e96d9aa9657a819 +size 27378 diff --git a/Content/Mesh/Texture/Drum_RGH.uasset b/Content/Mesh/Texture/Drum_RGH.uasset new file mode 100644 index 0000000..78176af --- /dev/null +++ b/Content/Mesh/Texture/Drum_RGH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7949e9c84cd6559477bbbab3d48d0c04ab0967a2422528d4cd7a82b050b0764 +size 177307 diff --git a/Content/Mesh/Texture/S1_juyitang01a_tf.uasset b/Content/Mesh/Texture/S1_juyitang01a_tf.uasset new file mode 100644 index 0000000..6d0be42 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01a_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa54c39634163953de816a7b98be688210a3d13131c69d82a5efb64c81653daf +size 14549 diff --git a/Content/Mesh/Texture/S1_juyitang01b_tf.uasset b/Content/Mesh/Texture/S1_juyitang01b_tf.uasset new file mode 100644 index 0000000..ac4ad29 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01b_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d50f2302e74a56f1fbbb72088021bbece73b2eb7584afe36673a5b04717c2a9 +size 90288 diff --git a/Content/Mesh/Texture/S1_juyitang01c_tf.uasset b/Content/Mesh/Texture/S1_juyitang01c_tf.uasset new file mode 100644 index 0000000..f004862 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01c_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb775f2a263fc1eb9b5f3aabb678b306a501f4a379de424fd75626ab414a515f +size 140810 diff --git a/Content/Mesh/Texture/S1_juyitang01d_tf.uasset b/Content/Mesh/Texture/S1_juyitang01d_tf.uasset new file mode 100644 index 0000000..d28edd8 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01d_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25bb01a607a2c9bf31026932360bcfce3729a013ecb768cf7b71cbe3c26ca535 +size 95915 diff --git a/Content/Mesh/Texture/S1_juyitang01e_tf.uasset b/Content/Mesh/Texture/S1_juyitang01e_tf.uasset new file mode 100644 index 0000000..87135a5 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01e_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f397775ea90406564c8981231074e2828c2af7f6ecf502d3b2cd5c7ee3dd921 +size 72744 diff --git a/Content/Mesh/Texture/S1_juyitang01f_tf.uasset b/Content/Mesh/Texture/S1_juyitang01f_tf.uasset new file mode 100644 index 0000000..87accc2 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01f_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94fa2bd914142afb8ac0a7f38c9917f9806f0af5b4d32813b309154041e21a51 +size 91052 diff --git a/Content/Mesh/Texture/S1_juyitang01f_tf_ncl1_1.uasset b/Content/Mesh/Texture/S1_juyitang01f_tf_ncl1_1.uasset new file mode 100644 index 0000000..23d8b28 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01f_tf_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb435a18ead7addc5f88ce7183e39621b01beb918929d3838cb035a666159514 +size 91111 diff --git a/Content/Mesh/Texture/S1_juyitang01g_tf.uasset b/Content/Mesh/Texture/S1_juyitang01g_tf.uasset new file mode 100644 index 0000000..e7a00d8 --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01g_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:384f17b5726bda4f2f362e25ea8384de74bfe2c3fb74a393f66fde8ca06d71aa +size 89278 diff --git a/Content/Mesh/Texture/S1_juyitang01h_tf.uasset b/Content/Mesh/Texture/S1_juyitang01h_tf.uasset new file mode 100644 index 0000000..f6089cc --- /dev/null +++ b/Content/Mesh/Texture/S1_juyitang01h_tf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bd5f30e1a566a1a049c9e3ecab691b76feb4f3f32ee17e2778eacd4f644f95a +size 64975 diff --git a/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_BaseColor.uasset b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_BaseColor.uasset new file mode 100644 index 0000000..45e98da --- /dev/null +++ b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71177b18ed54455de03e3847b9903b492bd5ff193fc4cf929bb37b78ae120891 +size 424502 diff --git a/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_Normal.uasset b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_Normal.uasset new file mode 100644 index 0000000..7f27350 --- /dev/null +++ b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4367172d427f78556a21be6a3c6a66a0e2be8a25edf138b2c8db374bd960cca +size 554056 diff --git a/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_OcclusionRoughnessMetallic.uasset b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..3af30ff --- /dev/null +++ b/Content/Mesh/Texture/SM_Jiangjunyong_dizuo_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03611f701d8698f3a4a71743aca829cc58975f892cb5753b9306a2c7f40b2e24 +size 211390 diff --git a/Content/Mesh/Texture/T_Blank.uasset b/Content/Mesh/Texture/T_Blank.uasset new file mode 100644 index 0000000..523b4ce --- /dev/null +++ b/Content/Mesh/Texture/T_Blank.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d95e311399c2d99d9596f220638be461fde2abb123397bdd5c60cd0059312aab +size 8188 diff --git a/Content/Mesh/Texture/T_Dimian_COLOR.uasset b/Content/Mesh/Texture/T_Dimian_COLOR.uasset new file mode 100644 index 0000000..c69cd9c --- /dev/null +++ b/Content/Mesh/Texture/T_Dimian_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b122404c0dea3ac5fe63a9a4498b9fffe1e0ef0044544a0ac31a4792764688f +size 677822 diff --git a/Content/Mesh/Texture/T_Dimian_NRM.uasset b/Content/Mesh/Texture/T_Dimian_NRM.uasset new file mode 100644 index 0000000..fa3a15c --- /dev/null +++ b/Content/Mesh/Texture/T_Dimian_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72d3905c6bd31f32bcb7742775f36c804466eb686ad9a94ee88e3506687bb63d +size 755842 diff --git a/Content/Mesh/Texture/T_Dimian_OCC.uasset b/Content/Mesh/Texture/T_Dimian_OCC.uasset new file mode 100644 index 0000000..9582c5a --- /dev/null +++ b/Content/Mesh/Texture/T_Dimian_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcd5dbe2d3f8bbc113d03234fb0a0f6faaf3f0e7c145ec6827f19ecd06dc98e7 +size 201644 diff --git a/Content/Mesh/Texture/T_Dimian_SPEC.uasset b/Content/Mesh/Texture/T_Dimian_SPEC.uasset new file mode 100644 index 0000000..64e626b --- /dev/null +++ b/Content/Mesh/Texture/T_Dimian_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4667804c2a84ad259947110c9a46fff29a8f7d0a825bbf30ef64007c46e5692 +size 268984 diff --git a/Content/Mesh/Texture/T_fuwen.uasset b/Content/Mesh/Texture/T_fuwen.uasset new file mode 100644 index 0000000..38fdee8 --- /dev/null +++ b/Content/Mesh/Texture/T_fuwen.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:596343ffa7c567a3297159a3b0b592259b71f0763d4a6169163077aa8dd35a2f +size 301175 diff --git a/Content/Mesh/Texture/T_wall_COLOR.uasset b/Content/Mesh/Texture/T_wall_COLOR.uasset new file mode 100644 index 0000000..82ab74e --- /dev/null +++ b/Content/Mesh/Texture/T_wall_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:175f8156c2c4b9b042b291fa72d471f99e1e76ec61f94959d96ce858138a4770 +size 375135 diff --git a/Content/Mesh/Texture/T_wall_DISP.uasset b/Content/Mesh/Texture/T_wall_DISP.uasset new file mode 100644 index 0000000..b9b05c4 --- /dev/null +++ b/Content/Mesh/Texture/T_wall_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e24d9975c1075b263cd2a2c286e3fe69e0dbe581d1baaa451eb238e5bd843c6d +size 97583 diff --git a/Content/Mesh/Texture/T_wall_NRM.uasset b/Content/Mesh/Texture/T_wall_NRM.uasset new file mode 100644 index 0000000..85ec1a6 --- /dev/null +++ b/Content/Mesh/Texture/T_wall_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7aca9da5ce64c08f3e33229f813abfb11632d69ed9d1fc20e13aa556337d79f +size 441753 diff --git a/Content/Mesh/Texture/T_wall_OCC.uasset b/Content/Mesh/Texture/T_wall_OCC.uasset new file mode 100644 index 0000000..917923b --- /dev/null +++ b/Content/Mesh/Texture/T_wall_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d9e4d5b22e536d95d3b8424f2c9cfde15c3c196460a2a6a19287e2797801e42 +size 96870 diff --git a/Content/Mesh/Texture/T_wall_SPEC.uasset b/Content/Mesh/Texture/T_wall_SPEC.uasset new file mode 100644 index 0000000..91613dd --- /dev/null +++ b/Content/Mesh/Texture/T_wall_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fc44be4db2d8fa5cd2bd81d88a22b57493bc265061bdd8504740eaf0dabc172 +size 189553 diff --git a/Content/Mesh/Texture/T_xuxian.uasset b/Content/Mesh/Texture/T_xuxian.uasset new file mode 100644 index 0000000..8acdb2e --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aef4b367f3b2131e7fd317e140b5e0cc60f265613b7122424ce4903c6eae6a91 +size 11375 diff --git a/Content/Mesh/Texture/T_xuxian01.uasset b/Content/Mesh/Texture/T_xuxian01.uasset new file mode 100644 index 0000000..db5df1f --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:746296d4e1a720212aae3150d23bf655b7f9c3746d2c728a562e6944e2681a2f +size 11909 diff --git a/Content/Mesh/Texture/T_xuxian02.uasset b/Content/Mesh/Texture/T_xuxian02.uasset new file mode 100644 index 0000000..1a2aff0 --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1ac750848cf3754d2bd134085cf9348e349001fb403fb55e3ee2eef6f90adf +size 22151 diff --git a/Content/Mesh/Texture/T_xuxian03.uasset b/Content/Mesh/Texture/T_xuxian03.uasset new file mode 100644 index 0000000..7cfab5c --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5854b797eeb0b25bf133cba5a1420937295c11bb98bbb8005421ef4d60448df3 +size 12597 diff --git a/Content/Mesh/Texture/T_xuxian04.uasset b/Content/Mesh/Texture/T_xuxian04.uasset new file mode 100644 index 0000000..f11d370 --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cdb8db3f6e0caf1b5da9161e66a92a5485bd4afbec4f4c89d4fcfb7bfabc43f +size 18561 diff --git a/Content/Mesh/Texture/T_xuxian05.uasset b/Content/Mesh/Texture/T_xuxian05.uasset new file mode 100644 index 0000000..9388b3b --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84b3e560a670717f12a2457944afc65006d03ce9b86a30ac21e0cf03333c787a +size 21790 diff --git a/Content/Mesh/Texture/T_xuxian06.uasset b/Content/Mesh/Texture/T_xuxian06.uasset new file mode 100644 index 0000000..91bdbda --- /dev/null +++ b/Content/Mesh/Texture/T_xuxian06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b67e60960b42a65885e0c751c4d5408297a5c0fb55ad6282c04e94f50a985a2a +size 14859 diff --git a/Content/Mesh/Texture/WoodFine0007_S_ncl1_1.uasset b/Content/Mesh/Texture/WoodFine0007_S_ncl1_1.uasset new file mode 100644 index 0000000..4bcb87c --- /dev/null +++ b/Content/Mesh/Texture/WoodFine0007_S_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a729b489bc436e41d47d918482f9499a3d48df135db436c2dad532b92cafa2f +size 230720 diff --git a/Content/Mesh/Texture/cobblestone_floor_06_diff_2k.uasset b/Content/Mesh/Texture/cobblestone_floor_06_diff_2k.uasset new file mode 100644 index 0000000..13bc996 --- /dev/null +++ b/Content/Mesh/Texture/cobblestone_floor_06_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc74bb1d2b9cc89404807df50023ab486d801db66817925eed2907381675e62a +size 555368 diff --git a/Content/Mesh/Texture/cobblestone_floor_06_disp_2k.uasset b/Content/Mesh/Texture/cobblestone_floor_06_disp_2k.uasset new file mode 100644 index 0000000..42f31c5 --- /dev/null +++ b/Content/Mesh/Texture/cobblestone_floor_06_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3c9254607168e86d625dad33bfe30a9b29cb37883d97165074e686aa1be6b2c +size 451763 diff --git a/Content/Mesh/Texture/cobblestone_floor_06_nor_dx_2k.uasset b/Content/Mesh/Texture/cobblestone_floor_06_nor_dx_2k.uasset new file mode 100644 index 0000000..c89aa00 --- /dev/null +++ b/Content/Mesh/Texture/cobblestone_floor_06_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:228aef6f0403904da535839bf4a88bb06efa63acc953fde97a83425c9deb513e +size 1044479 diff --git a/Content/Mesh/Texture/dimian_COLOR.uasset b/Content/Mesh/Texture/dimian_COLOR.uasset new file mode 100644 index 0000000..4baa443 --- /dev/null +++ b/Content/Mesh/Texture/dimian_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf78d3cc3ca8121cf5d302e23d3b0b8ce5f16ec8d1aa93d38c931d8cf4de630b +size 583118 diff --git a/Content/Mesh/Texture/dimian_NRM.uasset b/Content/Mesh/Texture/dimian_NRM.uasset new file mode 100644 index 0000000..d49751e --- /dev/null +++ b/Content/Mesh/Texture/dimian_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e2c0e4cfc528bd138fe41361291fee60ec42c0dcb938d997df0c309ff30548 +size 732991 diff --git a/Content/Mesh/Texture/dimian_OCC.uasset b/Content/Mesh/Texture/dimian_OCC.uasset new file mode 100644 index 0000000..fbfec95 --- /dev/null +++ b/Content/Mesh/Texture/dimian_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e794f4136b3e7e5b8cd2bc7384fa2d73982c5f1a66d73222868180178f00f02d +size 210515 diff --git a/Content/Mesh/Texture/floor_tiles_02_ao_2k.uasset b/Content/Mesh/Texture/floor_tiles_02_ao_2k.uasset new file mode 100644 index 0000000..2cc57fe --- /dev/null +++ b/Content/Mesh/Texture/floor_tiles_02_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79e2b4f390e8aaba9adad25312e095205ee35190701c28b50fdc3f5ebfd7c245 +size 186548 diff --git a/Content/Mesh/Texture/floor_tiles_02_diff_2k.uasset b/Content/Mesh/Texture/floor_tiles_02_diff_2k.uasset new file mode 100644 index 0000000..b8de4c8 --- /dev/null +++ b/Content/Mesh/Texture/floor_tiles_02_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49fdb4a5a3b1de080f38257609573eae32db1ed2ac37a2769f14b121b9652931 +size 476262 diff --git a/Content/Mesh/Texture/floor_tiles_02_disp_2k.uasset b/Content/Mesh/Texture/floor_tiles_02_disp_2k.uasset new file mode 100644 index 0000000..cb1030d --- /dev/null +++ b/Content/Mesh/Texture/floor_tiles_02_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cbb0685f3d8c00ce90ed1d80c3930213d13f61a62101bdc2502740e0d6af47d +size 614995 diff --git a/Content/Mesh/Texture/floor_tiles_02_nor_dx_2k.uasset b/Content/Mesh/Texture/floor_tiles_02_nor_dx_2k.uasset new file mode 100644 index 0000000..7b49f84 --- /dev/null +++ b/Content/Mesh/Texture/floor_tiles_02_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:525fa5e48e39ae7fa9e4925ca2ad7f7b0e944a6404315236a64863d5fcc7a727 +size 568049 diff --git a/Content/Mesh/Texture/lambert2_Base_color.uasset b/Content/Mesh/Texture/lambert2_Base_color.uasset new file mode 100644 index 0000000..b4f5d1b --- /dev/null +++ b/Content/Mesh/Texture/lambert2_Base_color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccad9ad74a38a35d6b2a5a59ebdafc0dd4d95bf40337c23e14566e9e67e8ae20 +size 234696 diff --git a/Content/Mesh/Texture/lambert2_Normal_OpenGL.uasset b/Content/Mesh/Texture/lambert2_Normal_OpenGL.uasset new file mode 100644 index 0000000..f230fe0 --- /dev/null +++ b/Content/Mesh/Texture/lambert2_Normal_OpenGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe65ed136fd19f7cb42c107c1ba6a7643246116e25adf46e77b5df81bee30ef4 +size 1418854 diff --git a/Content/Mesh/Texture/lambert2_Roughness.uasset b/Content/Mesh/Texture/lambert2_Roughness.uasset new file mode 100644 index 0000000..a610da9 --- /dev/null +++ b/Content/Mesh/Texture/lambert2_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b806e28e462278e71d180b2b7067cffb5e284249dde8a749e41164d424ce6ced +size 117706 diff --git a/Content/Mesh/Texture/longzhuan_COLOR.uasset b/Content/Mesh/Texture/longzhuan_COLOR.uasset new file mode 100644 index 0000000..18f5e60 --- /dev/null +++ b/Content/Mesh/Texture/longzhuan_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24550f4f3c7c90b0d3d8bf67bfd4579c9f11e66c27abdadf2612fbe022c312a9 +size 759523 diff --git a/Content/Mesh/Texture/longzhuan_DISP.uasset b/Content/Mesh/Texture/longzhuan_DISP.uasset new file mode 100644 index 0000000..2934911 --- /dev/null +++ b/Content/Mesh/Texture/longzhuan_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bee9ed236924edb79626e6e4207fcbc79fc230915a1c587d89fac548c53a06a3 +size 276848 diff --git a/Content/Mesh/Texture/longzhuan_NRM.uasset b/Content/Mesh/Texture/longzhuan_NRM.uasset new file mode 100644 index 0000000..aa443f0 --- /dev/null +++ b/Content/Mesh/Texture/longzhuan_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:319dedbc937bd51ddf3b0188c95801986c60c7d7a8fd1500d50413ede45da3b1 +size 1824931 diff --git a/Content/Mesh/Texture/longzhuan_OCC.uasset b/Content/Mesh/Texture/longzhuan_OCC.uasset new file mode 100644 index 0000000..a486b2b --- /dev/null +++ b/Content/Mesh/Texture/longzhuan_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ad01f6c2ace598e62117b0d6e8406deb7871f53426e80cc579eda73f7561a86 +size 381683 diff --git a/Content/Mesh/Texture/painted_plaster_wall_diff_2k.uasset b/Content/Mesh/Texture/painted_plaster_wall_diff_2k.uasset new file mode 100644 index 0000000..f745fb4 --- /dev/null +++ b/Content/Mesh/Texture/painted_plaster_wall_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c85d88942ce25ff9b8ebe15a38fe3ad6938590a4dac0e4a3f7d9488fc2bac6 +size 471298 diff --git a/Content/Mesh/Texture/painted_plaster_wall_disp_2k.uasset b/Content/Mesh/Texture/painted_plaster_wall_disp_2k.uasset new file mode 100644 index 0000000..a0b8daf --- /dev/null +++ b/Content/Mesh/Texture/painted_plaster_wall_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:994e8fb4d706ceb2c66f591f75d1f21baec49d7a08362fa388580095fe6e5912 +size 434097 diff --git a/Content/Mesh/Texture/painted_plaster_wall_nor_dx_2k.uasset b/Content/Mesh/Texture/painted_plaster_wall_nor_dx_2k.uasset new file mode 100644 index 0000000..5f55c92 --- /dev/null +++ b/Content/Mesh/Texture/painted_plaster_wall_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a6e1e85dd2d0611183aea2aff3c7189ce4a4f03356ef0db54587ca4310b1e0d +size 929127 diff --git a/Content/Mesh/Texture/pavement_01_ao_2k.uasset b/Content/Mesh/Texture/pavement_01_ao_2k.uasset new file mode 100644 index 0000000..0611de9 --- /dev/null +++ b/Content/Mesh/Texture/pavement_01_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65d8cf83f73e8a7ca9851f842eeb97e9aa1f8ac973a6c8cec4720f34c56ce0d3 +size 207122 diff --git a/Content/Mesh/Texture/pavement_01_diff_2k.uasset b/Content/Mesh/Texture/pavement_01_diff_2k.uasset new file mode 100644 index 0000000..61b5a8f --- /dev/null +++ b/Content/Mesh/Texture/pavement_01_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68d935fdc8429873de194544adee9ed615adeeb5516ebdfbd61b9f9c7dbdc4e +size 538338 diff --git a/Content/Mesh/Texture/pavement_01_diff_2k2.uasset b/Content/Mesh/Texture/pavement_01_diff_2k2.uasset new file mode 100644 index 0000000..e954728 --- /dev/null +++ b/Content/Mesh/Texture/pavement_01_diff_2k2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ebdc376d6383f536b2ef5aa3923e3ee3b0fd223d58a2f29c1bb55b7d5a92fc +size 583551 diff --git a/Content/Mesh/Texture/pavement_01_disp_2k.uasset b/Content/Mesh/Texture/pavement_01_disp_2k.uasset new file mode 100644 index 0000000..7cada6d --- /dev/null +++ b/Content/Mesh/Texture/pavement_01_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f72cadf4132e408c679ed7acf0158484bbad98774bc7bb101b75a1a88c4d99da +size 720447 diff --git a/Content/Mesh/Texture/pavement_01_nor_dx_2k.uasset b/Content/Mesh/Texture/pavement_01_nor_dx_2k.uasset new file mode 100644 index 0000000..1476d26 --- /dev/null +++ b/Content/Mesh/Texture/pavement_01_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d02f73cf36871c38e9dc43dd634a3d85f11d24f0a61259c97b09329a9d3a7476 +size 870363 diff --git a/Content/Mesh/Texture/qsh_BaseColor.uasset b/Content/Mesh/Texture/qsh_BaseColor.uasset new file mode 100644 index 0000000..dfdd06e --- /dev/null +++ b/Content/Mesh/Texture/qsh_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dcf339521e939988c90e41a0b126aedd2fdab621159f65beab1c2f0f3cfa457 +size 355797 diff --git a/Content/Mesh/Texture/qsh_Normal.uasset b/Content/Mesh/Texture/qsh_Normal.uasset new file mode 100644 index 0000000..3c368d4 --- /dev/null +++ b/Content/Mesh/Texture/qsh_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7db4d90b05f53eb6f3fff12aa8496eef4a0d8e0b26230698dfc7c185a5b265cd +size 1179946 diff --git a/Content/Mesh/Texture/qsh_Roughness.uasset b/Content/Mesh/Texture/qsh_Roughness.uasset new file mode 100644 index 0000000..c5c804c --- /dev/null +++ b/Content/Mesh/Texture/qsh_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6437e715e25a16b60a7a9b09a08c3da4b223dc4c8aeccb0b1b6ea034728ab5d2 +size 127047 diff --git a/Content/Mesh/Texture/rock_desk1_Material_001_BaseColor.uasset b/Content/Mesh/Texture/rock_desk1_Material_001_BaseColor.uasset new file mode 100644 index 0000000..fdcdfc7 --- /dev/null +++ b/Content/Mesh/Texture/rock_desk1_Material_001_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce0c764978df97bb34722893350580334470be09503203500d74eeeb7843f43d +size 232889 diff --git a/Content/Mesh/Texture/rock_desk1_Material_001_Normal.uasset b/Content/Mesh/Texture/rock_desk1_Material_001_Normal.uasset new file mode 100644 index 0000000..3bfddde --- /dev/null +++ b/Content/Mesh/Texture/rock_desk1_Material_001_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abc179cfbc89d8ef15a37f1647695a02b195a186efb3c1f4fe692ede314ed028 +size 608394 diff --git a/Content/Mesh/Texture/rock_desk1_Material_001_Roughness.uasset b/Content/Mesh/Texture/rock_desk1_Material_001_Roughness.uasset new file mode 100644 index 0000000..e77301b --- /dev/null +++ b/Content/Mesh/Texture/rock_desk1_Material_001_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c83d7b845248bf290ee731a66beacdf65be2cab88fa525338826390fbb1639b +size 26171 diff --git a/Content/Mesh/Texture/rock_face_03_ao_2k.uasset b/Content/Mesh/Texture/rock_face_03_ao_2k.uasset new file mode 100644 index 0000000..715667d --- /dev/null +++ b/Content/Mesh/Texture/rock_face_03_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ee67364d3e94f801b727b5a29085fee81722ddea4f088e381dc7b9e0141470e +size 204556 diff --git a/Content/Mesh/Texture/rock_face_03_diff_2k.uasset b/Content/Mesh/Texture/rock_face_03_diff_2k.uasset new file mode 100644 index 0000000..c6d7f6c --- /dev/null +++ b/Content/Mesh/Texture/rock_face_03_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eb7efb5eb8758bcdb7bb331f97fb2e6b0ee8b1c6add89a5c9ef8a2ac23a325e +size 631851 diff --git a/Content/Mesh/Texture/rock_face_03_disp_2k.uasset b/Content/Mesh/Texture/rock_face_03_disp_2k.uasset new file mode 100644 index 0000000..9f71663 --- /dev/null +++ b/Content/Mesh/Texture/rock_face_03_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2dbb72c5faffa2948e6372d9da79d3f24b62e07c11a2094b69b2fbd8910163 +size 419019 diff --git a/Content/Mesh/Texture/rock_face_03_nor_dx_2k.uasset b/Content/Mesh/Texture/rock_face_03_nor_dx_2k.uasset new file mode 100644 index 0000000..c71d65a --- /dev/null +++ b/Content/Mesh/Texture/rock_face_03_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:086ef1ee67d7a0a6111dcd64dc0f7dc18131d41705bec5e9eb06d097fe1279ad +size 1122926 diff --git a/Content/Mesh/Texture/rock_tile_floor_ao_2k.uasset b/Content/Mesh/Texture/rock_tile_floor_ao_2k.uasset new file mode 100644 index 0000000..f9280a6 --- /dev/null +++ b/Content/Mesh/Texture/rock_tile_floor_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3736e4775de1c958990b5c0574019a6aadb5123705af2fb4ff9f3f8c8c26a62f +size 214605 diff --git a/Content/Mesh/Texture/rock_tile_floor_diff_2k.uasset b/Content/Mesh/Texture/rock_tile_floor_diff_2k.uasset new file mode 100644 index 0000000..90c8680 --- /dev/null +++ b/Content/Mesh/Texture/rock_tile_floor_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e8dba272c14c3ec6886d47ea8f1932ac67827109cac33b52f4c4025395b9609 +size 674107 diff --git a/Content/Mesh/Texture/rock_tile_floor_nor_dx_2k.uasset b/Content/Mesh/Texture/rock_tile_floor_nor_dx_2k.uasset new file mode 100644 index 0000000..3c4a7de --- /dev/null +++ b/Content/Mesh/Texture/rock_tile_floor_nor_dx_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b5be9acda67852f2ecd4102cc529d57cd13ab51b681ce24497beab7df295e5 +size 1055873 diff --git a/Content/Mesh/Texture/rock_tile_floor_rough_2k.uasset b/Content/Mesh/Texture/rock_tile_floor_rough_2k.uasset new file mode 100644 index 0000000..a9b8bbc --- /dev/null +++ b/Content/Mesh/Texture/rock_tile_floor_rough_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6b47f2137fd1af4be3ef99d385272c26190bb77959ae96d3081443b5e9ac9b5 +size 316613 diff --git a/Content/Mesh/Texture/rubber_tiles_ao_2k.uasset b/Content/Mesh/Texture/rubber_tiles_ao_2k.uasset new file mode 100644 index 0000000..45a4e46 --- /dev/null +++ b/Content/Mesh/Texture/rubber_tiles_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:660273e8e7bc66163b249fd03e3fdf47892e6fe844cd119ef449ad399cdfcad4 +size 99611 diff --git a/Content/Mesh/Texture/rubber_tiles_diff_2k.uasset b/Content/Mesh/Texture/rubber_tiles_diff_2k.uasset new file mode 100644 index 0000000..b047339 --- /dev/null +++ b/Content/Mesh/Texture/rubber_tiles_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35c839f0f76821d7b1bb669a8977f43b0a91f015e8512e4ae4b31e1e706671f6 +size 317412 diff --git a/Content/Mesh/Texture/rubber_tiles_disp_2k.uasset b/Content/Mesh/Texture/rubber_tiles_disp_2k.uasset new file mode 100644 index 0000000..aa9d892 --- /dev/null +++ b/Content/Mesh/Texture/rubber_tiles_disp_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:515c4198f63321e50d7ab972158902dab6bc4ac18e42a56747c7e0b5c1c85a56 +size 358529 diff --git a/Content/Mesh/Texture/rubber_tiles_nor_gl_2k.uasset b/Content/Mesh/Texture/rubber_tiles_nor_gl_2k.uasset new file mode 100644 index 0000000..4eacece --- /dev/null +++ b/Content/Mesh/Texture/rubber_tiles_nor_gl_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22ee277f1d365f0c23d29423df1d0c26f7cbbdbe36bf2384010313209d678955 +size 688210 diff --git a/Content/Mesh/Texture/rust_coarse_01_ao_2k.uasset b/Content/Mesh/Texture/rust_coarse_01_ao_2k.uasset new file mode 100644 index 0000000..ffdd15d --- /dev/null +++ b/Content/Mesh/Texture/rust_coarse_01_ao_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9cb9ff1b30380983547f119f7b34f77266494f058bd2b7782ad37f5d9fb2f24 +size 173558 diff --git a/Content/Mesh/Texture/rust_coarse_01_diff_2k.uasset b/Content/Mesh/Texture/rust_coarse_01_diff_2k.uasset new file mode 100644 index 0000000..8b5229d --- /dev/null +++ b/Content/Mesh/Texture/rust_coarse_01_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1b68c286e13a60ead2810c4bac7959ebf1316f0e4ff5c368aa3b2bf9bb77ef2 +size 605929 diff --git a/Content/Mesh/Texture/rust_coarse_01_nor_gl_2k.uasset b/Content/Mesh/Texture/rust_coarse_01_nor_gl_2k.uasset new file mode 100644 index 0000000..c6519a6 --- /dev/null +++ b/Content/Mesh/Texture/rust_coarse_01_nor_gl_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6e025a6145d0e87f04cb49471e877f1d7f1c84ad756084b27ac5a30a7cdbb7 +size 897362 diff --git a/Content/Mesh/Texture/rust_coarse_01_rough_2k.uasset b/Content/Mesh/Texture/rust_coarse_01_rough_2k.uasset new file mode 100644 index 0000000..1afde3b --- /dev/null +++ b/Content/Mesh/Texture/rust_coarse_01_rough_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e0e0c8e5bb19507b86398998948ee0ac48f3d65459d496b6a1ac3e92b53c669 +size 380196 diff --git a/Content/Mesh/Texture/zhuan3_COLOR.uasset b/Content/Mesh/Texture/zhuan3_COLOR.uasset new file mode 100644 index 0000000..c22a353 --- /dev/null +++ b/Content/Mesh/Texture/zhuan3_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d8ca57186af0d4e58b875b1ea352af4348bd68e6529b7ca33c495d7a4c53123 +size 496270 diff --git a/Content/Mesh/Texture/zhuan3_DISP.uasset b/Content/Mesh/Texture/zhuan3_DISP.uasset new file mode 100644 index 0000000..4140056 --- /dev/null +++ b/Content/Mesh/Texture/zhuan3_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3414199274af934b02910d9368f6b6e24482067bcc66ca973385d674446b12a +size 127008 diff --git a/Content/Mesh/Texture/zhuan3_NRM.uasset b/Content/Mesh/Texture/zhuan3_NRM.uasset new file mode 100644 index 0000000..8009173 --- /dev/null +++ b/Content/Mesh/Texture/zhuan3_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c95c02a65426cf1994011b5df3ed7fa82d37c398e9c224450c3eb36ef18a945 +size 568022 diff --git a/Content/Mesh/Texture/zhuan3_OCC.uasset b/Content/Mesh/Texture/zhuan3_OCC.uasset new file mode 100644 index 0000000..d1f2984 --- /dev/null +++ b/Content/Mesh/Texture/zhuan3_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87853783a0c640dd588d66ddde67de0a007f81b8ba3f706f7dfae20bca411501 +size 157461 diff --git a/Content/Mesh/Texture/zhuan3_SPEC.uasset b/Content/Mesh/Texture/zhuan3_SPEC.uasset new file mode 100644 index 0000000..5cc5dd5 --- /dev/null +++ b/Content/Mesh/Texture/zhuan3_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76f93a1db2f6b1031a51ed106126ca9cefb54040c1a67eff6a4c632c56f215a8 +size 229743 diff --git a/Content/Mesh/Texture/zhuan4_COLOR.uasset b/Content/Mesh/Texture/zhuan4_COLOR.uasset new file mode 100644 index 0000000..19f85cc --- /dev/null +++ b/Content/Mesh/Texture/zhuan4_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e0162d2b0b6f5235c7fcd2d5b506a55c084a2f8feba8b0e680aa1f2e952a7b2 +size 224997 diff --git a/Content/Mesh/Texture/zhuan4_DISP.uasset b/Content/Mesh/Texture/zhuan4_DISP.uasset new file mode 100644 index 0000000..6a7451d --- /dev/null +++ b/Content/Mesh/Texture/zhuan4_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7aabef2b263620996e0db35bc337eab2ac3254c712f465712052a9acd14ab2 +size 107548 diff --git a/Content/Mesh/Texture/zhuan4_NRM.uasset b/Content/Mesh/Texture/zhuan4_NRM.uasset new file mode 100644 index 0000000..192969b --- /dev/null +++ b/Content/Mesh/Texture/zhuan4_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ca43a13da678d9d9c6012d726763571c26e5b4b4bd580aa6c8976c563f86111 +size 566120 diff --git a/Content/Mesh/Texture/zhuan4_OCC.uasset b/Content/Mesh/Texture/zhuan4_OCC.uasset new file mode 100644 index 0000000..4841411 --- /dev/null +++ b/Content/Mesh/Texture/zhuan4_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad6aa697ebc0a7f5cbaeb531ea231e724966d96ed9c8696018940bed28065727 +size 157810 diff --git a/Content/Mesh/Texture/zhuan_COLOR.uasset b/Content/Mesh/Texture/zhuan_COLOR.uasset new file mode 100644 index 0000000..a76b6f2 --- /dev/null +++ b/Content/Mesh/Texture/zhuan_COLOR.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c255a70dd593d85cada4f855ea0be7df903da151c07d7294c0f6d2949d50822 +size 499319 diff --git a/Content/Mesh/Texture/zhuan_DISP.uasset b/Content/Mesh/Texture/zhuan_DISP.uasset new file mode 100644 index 0000000..f5cdaec --- /dev/null +++ b/Content/Mesh/Texture/zhuan_DISP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:091162f879b03525518bd42beecd9b2bc0930498ec8f7722768a900b8f2dd910 +size 127142 diff --git a/Content/Mesh/Texture/zhuan_NRM.uasset b/Content/Mesh/Texture/zhuan_NRM.uasset new file mode 100644 index 0000000..84fb70b --- /dev/null +++ b/Content/Mesh/Texture/zhuan_NRM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05408915946e52388bb3e3fe9113300a9fb921826844ccb0ad3572faae1eab69 +size 681702 diff --git a/Content/Mesh/Texture/zhuan_OCC.uasset b/Content/Mesh/Texture/zhuan_OCC.uasset new file mode 100644 index 0000000..502028e --- /dev/null +++ b/Content/Mesh/Texture/zhuan_OCC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94239dd0c5b751f660a2c454f777b8c57c915f2bfea200c966409b2d7afb7152 +size 169919 diff --git a/Content/Mesh/Texture/zhuan_SPEC.uasset b/Content/Mesh/Texture/zhuan_SPEC.uasset new file mode 100644 index 0000000..61a92be --- /dev/null +++ b/Content/Mesh/Texture/zhuan_SPEC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:484a4e29f1d72131fbeff5361251492c3c4bcc3bc04cdf62377818461e9210fb +size 243367 diff --git a/Content/Mesh/bingmayongLow.uasset b/Content/Mesh/bingmayongLow.uasset new file mode 100644 index 0000000..09db8bd --- /dev/null +++ b/Content/Mesh/bingmayongLow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20d99d4035ab543b543f0b5cb453bb0cbceef3aee0e63e03dd9b77a144b577ac +size 4029621 diff --git a/Content/Mesh/drum.uasset b/Content/Mesh/drum.uasset new file mode 100644 index 0000000..c2d75ca --- /dev/null +++ b/Content/Mesh/drum.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fda94d339d199b00b8db5fb76e4576f50f70010f30c60cb02f86cbdc929a597 +size 19691 diff --git a/Content/Mesh/drum_Inst.uasset b/Content/Mesh/drum_Inst.uasset new file mode 100644 index 0000000..aa7cd58 --- /dev/null +++ b/Content/Mesh/drum_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b1ef985206e1c3f7aafdcbbb673ebcfcdb2318ef48448fb51f00a4de2ffe78b +size 12046 diff --git a/Content/Mesh/nujian/donghua/上_弓弩1.uasset b/Content/Mesh/nujian/donghua/上_弓弩1.uasset new file mode 100644 index 0000000..9cfd0a7 --- /dev/null +++ b/Content/Mesh/nujian/donghua/上_弓弩1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c25996be4f17343823df59682a8b67e088ad483d3cd0514547bfdbe3a39955f5 +size 80228 diff --git a/Content/Mesh/nujian/上_弓弩1.uasset b/Content/Mesh/nujian/上_弓弩1.uasset new file mode 100644 index 0000000..2100f70 --- /dev/null +++ b/Content/Mesh/nujian/上_弓弩1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d1063d65909693d98436166667e7768c9c96367f58f3dbe27268baf3a543bd5 +size 11872938 diff --git a/Content/Mesh/nujian/上_弓弩1_PhysicsAsset.uasset b/Content/Mesh/nujian/上_弓弩1_PhysicsAsset.uasset new file mode 100644 index 0000000..7102abb --- /dev/null +++ b/Content/Mesh/nujian/上_弓弩1_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46f531782e3e13c96aa8dee9a452c059bd01982266bb57b36a75d0520950f70d +size 9008 diff --git a/Content/Mesh/nujian/上_弓弩1_Skeleton.uasset b/Content/Mesh/nujian/上_弓弩1_Skeleton.uasset new file mode 100644 index 0000000..9d1cece --- /dev/null +++ b/Content/Mesh/nujian/上_弓弩1_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68c091bc9cf7a6c9543f6601baa8873dd875ddc3880cf2bdcff5a66688feed7 +size 7528 diff --git a/Content/Mesh/o.uasset b/Content/Mesh/o.uasset new file mode 100644 index 0000000..721de53 --- /dev/null +++ b/Content/Mesh/o.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbf35f0a9b885ce349a54e40f168bae869abb58701e0d0aa8fbe2716d05709e5 +size 7559 diff --git a/Content/Mesh/rock_desk1.uasset b/Content/Mesh/rock_desk1.uasset new file mode 100644 index 0000000..f20aece --- /dev/null +++ b/Content/Mesh/rock_desk1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:744f91de1b2b0d32211a8560e90e8c56b88f8444ae48a20d972e4a3c1cae9031 +size 125338 diff --git a/Content/Mesh/rock_desk2.uasset b/Content/Mesh/rock_desk2.uasset new file mode 100644 index 0000000..e4ac4fe --- /dev/null +++ b/Content/Mesh/rock_desk2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ac54986a8b088f2fc0677d7fec4ba8fc31f98fec55e4d0a3a38919ecd334910 +size 70170 diff --git a/Content/Mesh/skp_front_default.uasset b/Content/Mesh/skp_front_default.uasset new file mode 100644 index 0000000..53daa93 --- /dev/null +++ b/Content/Mesh/skp_front_default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3952bb0bfd8aba22d46838cf8e975119c347401a2816ebdf25cb7cd3fcdd8aba +size 1475 diff --git a/Content/Mesh/xin/260.uasset b/Content/Mesh/xin/260.uasset new file mode 100644 index 0000000..d717248 --- /dev/null +++ b/Content/Mesh/xin/260.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33f017c8b4cebe760edc424362288a1f764d021b9736685fa24707108d345a64 +size 932100 diff --git a/Content/Mesh/xin/Material_003.uasset b/Content/Mesh/xin/Material_003.uasset new file mode 100644 index 0000000..d59fe1e --- /dev/null +++ b/Content/Mesh/xin/Material_003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aabc01a7a36d0b71b1137ddc29ed86e72bd1479fdd8ae8f3a572eac031076625 +size 8548 diff --git a/Content/Mesh/xin/Material_009.uasset b/Content/Mesh/xin/Material_009.uasset new file mode 100644 index 0000000..4b5e4e1 --- /dev/null +++ b/Content/Mesh/xin/Material_009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44ed3bb24973ebdb6172338fefb196e0db65c87c75967f2bb8a9e61467b3f05 +size 8628 diff --git a/Content/Mesh/兵马俑合集/SM_武士俑.uasset b/Content/Mesh/兵马俑合集/SM_武士俑.uasset new file mode 100644 index 0000000..74b4fdf --- /dev/null +++ b/Content/Mesh/兵马俑合集/SM_武士俑.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d686178807d751e85bcffeadb22a70c5fd77dc24ef0d9256625b042fe57e883 +size 1293588 diff --git a/Content/Mesh/兵马俑合集/SM_跪射俑.uasset b/Content/Mesh/兵马俑合集/SM_跪射俑.uasset new file mode 100644 index 0000000..45c7cd4 --- /dev/null +++ b/Content/Mesh/兵马俑合集/SM_跪射俑.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:981f419050af09700f549019ccbbe107ded227edfba837ae1fb091164c0aa05c +size 2583670 diff --git a/Content/Mesh/建筑2/Material__1647138913.uasset b/Content/Mesh/建筑2/Material__1647138913.uasset new file mode 100644 index 0000000..abcd196 --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138913.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cc8a50f71c91b66275cb48bf7b631d0b8c8c19be26dfce29d073d72d1df9048 +size 8822 diff --git a/Content/Mesh/建筑2/Material__1647138914.uasset b/Content/Mesh/建筑2/Material__1647138914.uasset new file mode 100644 index 0000000..fa2b10a --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138914.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd4e8a4aceb1d06562f3bf228d24fac26c25efe96482a227c096dae62ed5555d +size 9426 diff --git a/Content/Mesh/建筑2/Material__1647138915.uasset b/Content/Mesh/建筑2/Material__1647138915.uasset new file mode 100644 index 0000000..9e64b3f --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138915.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17bec8ffbf25a4c00b463238377ca212e9020fd27951cc73100f3d4bc74a1f24 +size 9337 diff --git a/Content/Mesh/建筑2/Material__1647138916.uasset b/Content/Mesh/建筑2/Material__1647138916.uasset new file mode 100644 index 0000000..c92f928 --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138916.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4bd533fc4bbbbdfd9e3b05708c9ff3067a29b1584565431f3b0b403d076a091 +size 8595 diff --git a/Content/Mesh/建筑2/Material__1647138917.uasset b/Content/Mesh/建筑2/Material__1647138917.uasset new file mode 100644 index 0000000..68b4359 --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138917.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866fc42bdba164560cfb101777a7a14b3313cf7707d516ff5c85c7bdc30fef86 +size 9488 diff --git a/Content/Mesh/建筑2/Material__1647138918.uasset b/Content/Mesh/建筑2/Material__1647138918.uasset new file mode 100644 index 0000000..7d62916 --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138918.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0e0695b5dc9150ad430e6fb18f923f1cc27c2a4199e78999aa38604f812742 +size 9377 diff --git a/Content/Mesh/建筑2/Material__1647138919.uasset b/Content/Mesh/建筑2/Material__1647138919.uasset new file mode 100644 index 0000000..d9b5a9a --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138919.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc8dd11a4482ebacf357d4203f5ae4a3951eb3f8af201e6777d4715a82d38517 +size 9244 diff --git a/Content/Mesh/建筑2/Material__1647138920.uasset b/Content/Mesh/建筑2/Material__1647138920.uasset new file mode 100644 index 0000000..7c68870 --- /dev/null +++ b/Content/Mesh/建筑2/Material__1647138920.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a918b5d68d303dac87d877f256f634d0ae9bf3762d90f0c9f95a1da0581da44b +size 9086 diff --git a/Content/Mesh/建筑2/中国风瓦屋、瓦房2.uasset b/Content/Mesh/建筑2/中国风瓦屋、瓦房2.uasset new file mode 100644 index 0000000..9f2b0c5 --- /dev/null +++ b/Content/Mesh/建筑2/中国风瓦屋、瓦房2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2568acc947b0dc7108ad50696bbdd5b73e402ae0b2356651ba09dca42dba9d2 +size 106798 diff --git a/Content/Mesh/柱子.uasset b/Content/Mesh/柱子.uasset new file mode 100644 index 0000000..c960d9c --- /dev/null +++ b/Content/Mesh/柱子.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:691d7e8879a8388eeed224863798ce4f6d3955e53f243f72b0d82db37b5217eb +size 1413 diff --git a/Content/Meshes/Hand/LeftHand/PA_Hand_L.uasset b/Content/Meshes/Hand/LeftHand/PA_Hand_L.uasset new file mode 100644 index 0000000..4babbcd --- /dev/null +++ b/Content/Meshes/Hand/LeftHand/PA_Hand_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc62cd1a5aa8d51ee95081fa93005ea927f5cc1a68fe5575b9c08cc4653f14b +size 77497 diff --git a/Content/Meshes/Hand/LeftHand/SM_Hand_L.uasset b/Content/Meshes/Hand/LeftHand/SM_Hand_L.uasset new file mode 100644 index 0000000..840e35c --- /dev/null +++ b/Content/Meshes/Hand/LeftHand/SM_Hand_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e26ac05dc6dd245b9b3f08dd59d3c57b098f32be656fb7a3aaa4758a8297ac6d +size 560903 diff --git a/Content/Meshes/Hand/LeftHand/S_Hand_L.uasset b/Content/Meshes/Hand/LeftHand/S_Hand_L.uasset new file mode 100644 index 0000000..2059978 --- /dev/null +++ b/Content/Meshes/Hand/LeftHand/S_Hand_L.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f2c22ffcf16cd1d712889aaddf5e361a5f47ebafe84df8a28a3ab8b19f83294 +size 11793 diff --git a/Content/Meshes/Hand/Ray/HandClickArrowBlended.uasset b/Content/Meshes/Hand/Ray/HandClickArrowBlended.uasset new file mode 100644 index 0000000..1aa58fe --- /dev/null +++ b/Content/Meshes/Hand/Ray/HandClickArrowBlended.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dafeb2838c90397103fa9f168a4dfccca2c5bdede391964997a3c28939bd760d +size 232434 diff --git a/Content/Meshes/Hand/Ray/HandClickArrowBlended_Skeleton.uasset b/Content/Meshes/Hand/Ray/HandClickArrowBlended_Skeleton.uasset new file mode 100644 index 0000000..b9c8c1e --- /dev/null +++ b/Content/Meshes/Hand/Ray/HandClickArrowBlended_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1623c2ac2b932e8188b0a514984491a9aaebfe047dd3e8b4be2abe0772ae74fe +size 2989 diff --git a/Content/Meshes/Hand/RightHand/PA_Hand_R.uasset b/Content/Meshes/Hand/RightHand/PA_Hand_R.uasset new file mode 100644 index 0000000..2c94fe7 --- /dev/null +++ b/Content/Meshes/Hand/RightHand/PA_Hand_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d51c5caa7313b55f9d0ebcdde4a541c4fcde5d097d040773eba18c96ba07d7 +size 77607 diff --git a/Content/Meshes/Hand/RightHand/SM_Hand_R.uasset b/Content/Meshes/Hand/RightHand/SM_Hand_R.uasset new file mode 100644 index 0000000..1080a05 --- /dev/null +++ b/Content/Meshes/Hand/RightHand/SM_Hand_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac91470dffe635a0044fa842d52eb331f16b524ccc1596c487ddfd44a16e01e +size 560086 diff --git a/Content/Meshes/Hand/RightHand/S_Hand_R.uasset b/Content/Meshes/Hand/RightHand/S_Hand_R.uasset new file mode 100644 index 0000000..4a8260b --- /dev/null +++ b/Content/Meshes/Hand/RightHand/S_Hand_R.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:157ecc6b7fc83fd2be3d5135915dcd85e175498b7f3f782d94fb6a58d8b15739 +size 11341 diff --git a/Content/Mishima_DOJO/Materials/MM_Metal_Gold.uasset b/Content/Mishima_DOJO/Materials/MM_Metal_Gold.uasset new file mode 100644 index 0000000..1f37c07 --- /dev/null +++ b/Content/Mishima_DOJO/Materials/MM_Metal_Gold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28929a2551a98986065caa1105489fb6143589fd611ef15657c881a7a9237717 +size 26266 diff --git a/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl.uasset b/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl.uasset new file mode 100644 index 0000000..55e4fb2 --- /dev/null +++ b/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04ee4797be8099dfdb9fef6f615cbd2163aac1369c7e6f52f2b8cc80addd5592 +size 27872 diff --git a/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl_Inst.uasset b/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl_Inst.uasset new file mode 100644 index 0000000..b6b42d6 --- /dev/null +++ b/Content/Mishima_DOJO/Materials/MM_Metal_Gold_jxl_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d07d1f7c0a5c37d6e735e0c3dad2e398ef9c6511bd35c6e39d2da31125ebd5af +size 10355 diff --git a/Content/Mishima_DOJO/Texture/T_MacroVariation.uasset b/Content/Mishima_DOJO/Texture/T_MacroVariation.uasset new file mode 100644 index 0000000..303b3a1 --- /dev/null +++ b/Content/Mishima_DOJO/Texture/T_MacroVariation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a0904025486b131c77d3b8aee11cc3c093d8fa9de11f2d769fa44bd92805c9 +size 10881098 diff --git a/Content/Mishima_DOJO/Texture/T_Metal_Gold_D.uasset b/Content/Mishima_DOJO/Texture/T_Metal_Gold_D.uasset new file mode 100644 index 0000000..8e06379 --- /dev/null +++ b/Content/Mishima_DOJO/Texture/T_Metal_Gold_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f46c8ec8045b92b3bc47a922bf08de14d6e4ed6052e69f88ea0d378d4cc4eb86 +size 8788553 diff --git a/Content/Mishima_DOJO/Texture/T_Metal_Gold_N.uasset b/Content/Mishima_DOJO/Texture/T_Metal_Gold_N.uasset new file mode 100644 index 0000000..b9cef74 --- /dev/null +++ b/Content/Mishima_DOJO/Texture/T_Metal_Gold_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee96b8db85b315c74bf69bd7cf147fe4b2c28198a7b68b3b3c61261300d79337 +size 2811696 diff --git a/Content/Movies/360_0002.uasset b/Content/Movies/360_0002.uasset new file mode 100644 index 0000000..9d5e9ef --- /dev/null +++ b/Content/Movies/360_0002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d5ee74904265c7583c55224bcc4d5e6ba6b8e9f0aaf2bd75847b0ffa0c87b0a +size 4538904 diff --git a/Content/Movies/BP_Pinying.uasset b/Content/Movies/BP_Pinying.uasset new file mode 100644 index 0000000..43e77d6 --- /dev/null +++ b/Content/Movies/BP_Pinying.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86f64481f1fac7efc55f3d7e608bc3a231a72e5fd87f5df8ba47a6d4c0f063b7 +size 25259 diff --git a/Content/Movies/ChangLang.uasset b/Content/Movies/ChangLang.uasset new file mode 100644 index 0000000..92cc745 --- /dev/null +++ b/Content/Movies/ChangLang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:004db35587735fccc4a3d2c9b558bc2a9bade705c7c018d5eb19f369c4cacc1c +size 1622 diff --git a/Content/Movies/DaDian/ChangLang.uasset b/Content/Movies/DaDian/ChangLang.uasset new file mode 100644 index 0000000..14868e7 --- /dev/null +++ b/Content/Movies/DaDian/ChangLang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a164caa04755a90b24b5943b7808df5271b8f9a09697ac917312ba35bbb041c0 +size 1420 diff --git a/Content/Movies/DaDian/ChangLang_Video.uasset b/Content/Movies/DaDian/ChangLang_Video.uasset new file mode 100644 index 0000000..3fe0151 --- /dev/null +++ b/Content/Movies/DaDian/ChangLang_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b2a8a72c2bdcd0416fe7b89fa69e4f82c2162135bfcc082ac35a1cbe086453c +size 2576 diff --git a/Content/Movies/DaDian/ChangLang_Video_Mat.uasset b/Content/Movies/DaDian/ChangLang_Video_Mat.uasset new file mode 100644 index 0000000..b8fea0b --- /dev/null +++ b/Content/Movies/DaDian/ChangLang_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfb3ae6f19418bc7f066ac481b2a8a46233cccc0e080202139ab27f385a81f7d +size 9009 diff --git a/Content/Movies/DaDian/ChangLang_Video_Mat_Inst.uasset b/Content/Movies/DaDian/ChangLang_Video_Mat_Inst.uasset new file mode 100644 index 0000000..e8e6bde --- /dev/null +++ b/Content/Movies/DaDian/ChangLang_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4614659f50e58ab030a960edae8b97a438682c7eabbe29b1db75ef1d337ac91 +size 11278 diff --git a/Content/Movies/DaDian/M_skysphere_Inst_One.uasset b/Content/Movies/DaDian/M_skysphere_Inst_One.uasset new file mode 100644 index 0000000..c504235 --- /dev/null +++ b/Content/Movies/DaDian/M_skysphere_Inst_One.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29f64e8c6e584b7cc8f867684edfd2797e86d1f1f8b53091f5e40947853a3b2b +size 8018 diff --git a/Content/Movies/DaDian/M_skysphere_Inst_Two.uasset b/Content/Movies/DaDian/M_skysphere_Inst_Two.uasset new file mode 100644 index 0000000..a1123f5 --- /dev/null +++ b/Content/Movies/DaDian/M_skysphere_Inst_Two.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc4495b726b891d34192bbb7b87c55cd441a62b5256a1eb87ef7bcb384fe7cb4 +size 15604 diff --git a/Content/Movies/DaDian/NewChangLang.uasset b/Content/Movies/DaDian/NewChangLang.uasset new file mode 100644 index 0000000..b081650 --- /dev/null +++ b/Content/Movies/DaDian/NewChangLang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0fe4bd8f627c7c9e687b206f3777c5f39f5abbdfde1408643bd4d9e7b31e0dd +size 1503 diff --git a/Content/Movies/DaDian/NewOne.uasset b/Content/Movies/DaDian/NewOne.uasset new file mode 100644 index 0000000..4316fbb --- /dev/null +++ b/Content/Movies/DaDian/NewOne.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d97e567c274963b02dae93abff77660f94a32af6b7027cd4b572b677dd0e7b5 +size 1503 diff --git a/Content/Movies/DaDian/NewTwo.uasset b/Content/Movies/DaDian/NewTwo.uasset new file mode 100644 index 0000000..0d11f11 --- /dev/null +++ b/Content/Movies/DaDian/NewTwo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6508e70c1970e0d3b1dcf7839ea6c352bf99d130f8446499bb88263ec7e40daa +size 1474 diff --git a/Content/Movies/DaDian/One.uasset b/Content/Movies/DaDian/One.uasset new file mode 100644 index 0000000..15d4ee8 --- /dev/null +++ b/Content/Movies/DaDian/One.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d0e693c6a12c1f52b3044a5ff959b4872ddee5482e938baa664b6ecabfda0d2 +size 1379 diff --git a/Content/Movies/DaDian/One_Video.uasset b/Content/Movies/DaDian/One_Video.uasset new file mode 100644 index 0000000..e562324 --- /dev/null +++ b/Content/Movies/DaDian/One_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b4721250a632d98be166a0647e224272b5d0014766018e2c158fe77f6c83b3 +size 10471 diff --git a/Content/Movies/DaDian/One_Video_Mat.uasset b/Content/Movies/DaDian/One_Video_Mat.uasset new file mode 100644 index 0000000..5052f59 --- /dev/null +++ b/Content/Movies/DaDian/One_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:563e48a7ea2902edd8392793386897aff467ce1c847f0ac51c7dc1ed303806ac +size 7462 diff --git a/Content/Movies/DaDian/Two.uasset b/Content/Movies/DaDian/Two.uasset new file mode 100644 index 0000000..8b761d5 --- /dev/null +++ b/Content/Movies/DaDian/Two.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:727bee8adc17dd11f69dfda941a21c0fa0d13d194a6d42ed8a89f2802204b999 +size 1390 diff --git a/Content/Movies/DaDian/Two_Video.uasset b/Content/Movies/DaDian/Two_Video.uasset new file mode 100644 index 0000000..89809aa --- /dev/null +++ b/Content/Movies/DaDian/Two_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c126f4a01f6a9c69c88c7e784ea4a25524a7f27dde8510add297fdcdfaf4cf69 +size 2412 diff --git a/Content/Movies/DaDian/Two_Video_Mat.uasset b/Content/Movies/DaDian/Two_Video_Mat.uasset new file mode 100644 index 0000000..31b9702 --- /dev/null +++ b/Content/Movies/DaDian/Two_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60958bde86c5f19f16a6bf708295772310bb50cabaacb451dfd30c3c48a3716f +size 14306 diff --git a/Content/Movies/DaDian/Two_Video_Mat1.uasset b/Content/Movies/DaDian/Two_Video_Mat1.uasset new file mode 100644 index 0000000..2a37c72 --- /dev/null +++ b/Content/Movies/DaDian/Two_Video_Mat1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdc64030998f933ccf94248b1e0d3a0817858611cb9ebf519c7c4139efc223fc +size 14771 diff --git a/Content/Movies/Dadian.uasset b/Content/Movies/Dadian.uasset new file mode 100644 index 0000000..31316bc --- /dev/null +++ b/Content/Movies/Dadian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1488cca9051d32ea07363f5a9d07d2d81220eb2a19fd63a1c5df170c15d2869b +size 1496 diff --git a/Content/Movies/Dadian_Start+Interaction.uasset b/Content/Movies/Dadian_Start+Interaction.uasset new file mode 100644 index 0000000..3b5e4a3 --- /dev/null +++ b/Content/Movies/Dadian_Start+Interaction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a3d695438095304b025a3570e02fb027edf38dac1deb3f5c00104ce1afe4d59 +size 1664 diff --git a/Content/Movies/Jixielong.uasset b/Content/Movies/Jixielong.uasset new file mode 100644 index 0000000..68c5685 --- /dev/null +++ b/Content/Movies/Jixielong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4258c13debde7d1650210719bbed2026187e6fdddf55f36967f79d1ce6c5dec +size 1589 diff --git a/Content/Movies/NEw/Dadian02_1.uasset b/Content/Movies/NEw/Dadian02_1.uasset new file mode 100644 index 0000000..eeb36d8 --- /dev/null +++ b/Content/Movies/NEw/Dadian02_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b45ed283d274c0611a2f559fa1817f99b88248953cb6505074a774d8802bca +size 1598 diff --git a/Content/Movies/NEw/MP_JXL.uasset b/Content/Movies/NEw/MP_JXL.uasset new file mode 100644 index 0000000..ee8693a --- /dev/null +++ b/Content/Movies/NEw/MP_JXL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e02445b667e659e1752ec64923faec6e82e829401a2a50efa2b385648105e829 +size 1388 diff --git a/Content/Movies/NEw/MT_JXL.uasset b/Content/Movies/NEw/MT_JXL.uasset new file mode 100644 index 0000000..bc50c15 --- /dev/null +++ b/Content/Movies/NEw/MT_JXL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fad5a5e279e136060a5ab89a3a947156c3de7b3b6c8071438be78fb7519eec3d +size 9388 diff --git a/Content/Movies/NEw/M_skysphere_Inst_One.uasset b/Content/Movies/NEw/M_skysphere_Inst_One.uasset new file mode 100644 index 0000000..6617c35 --- /dev/null +++ b/Content/Movies/NEw/M_skysphere_Inst_One.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9376879a8ec11f9af4e05286bda19a433278977270555c45956b7aa7653148fb +size 8036 diff --git a/Content/Movies/NEw/NewMediaPlayer_Video.uasset b/Content/Movies/NEw/NewMediaPlayer_Video.uasset new file mode 100644 index 0000000..c6b232b --- /dev/null +++ b/Content/Movies/NEw/NewMediaPlayer_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b01f939ad8defa57a8869b46e5d2fedd60721a0dfb0370879f65134a84276a8e +size 2586 diff --git a/Content/Movies/NEw/NewMediaPlayer_Video_Mat_Inst.uasset b/Content/Movies/NEw/NewMediaPlayer_Video_Mat_Inst.uasset new file mode 100644 index 0000000..8b1d009 --- /dev/null +++ b/Content/Movies/NEw/NewMediaPlayer_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6537212ebe845eb7e7a0e2bfdb7553795bb1739e05bd03194d85031b05d85214 +size 5940 diff --git a/Content/Movies/NEw/NewMediaPlaylist.uasset b/Content/Movies/NEw/NewMediaPlaylist.uasset new file mode 100644 index 0000000..743b702 --- /dev/null +++ b/Content/Movies/NEw/NewMediaPlaylist.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:378d2740c5d6a4c7fe6d8b9753af523eeee7b9fc699af433e29f85b229380adf +size 1519 diff --git a/Content/Movies/TiHuan/Dadian.uasset b/Content/Movies/TiHuan/Dadian.uasset new file mode 100644 index 0000000..2eb7bdc --- /dev/null +++ b/Content/Movies/TiHuan/Dadian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb31e2aaf830103c4c7c4d66fb5f4119787e056a44aa1dbf8686b6b25b263c0b +size 1510 diff --git a/Content/Movies/TiHuan/M_skysphere_Inst_XiTai.uasset b/Content/Movies/TiHuan/M_skysphere_Inst_XiTai.uasset new file mode 100644 index 0000000..ea8a89d --- /dev/null +++ b/Content/Movies/TiHuan/M_skysphere_Inst_XiTai.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad998477f653890930a0bae588d8c7adc5c77e74d42c25af64ee3bc6751e520c +size 8064 diff --git a/Content/Movies/TiHuan/M_skysphere_Inst_Xianyang.uasset b/Content/Movies/TiHuan/M_skysphere_Inst_Xianyang.uasset new file mode 100644 index 0000000..a216b03 --- /dev/null +++ b/Content/Movies/TiHuan/M_skysphere_Inst_Xianyang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10f9c3deded37f0eecf631b96dae2f116d0672898d0dc78d22f5eb0fcb02f8e3 +size 8087 diff --git a/Content/Movies/TiHuan/NewXianYang.uasset b/Content/Movies/TiHuan/NewXianYang.uasset new file mode 100644 index 0000000..c20f15c --- /dev/null +++ b/Content/Movies/TiHuan/NewXianYang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4edd0af8135a391bb899fa2170d8b7910a5b6b6f326a40c2cbda608a40040f3 +size 12226 diff --git a/Content/Movies/TiHuan/PiYing.uasset b/Content/Movies/TiHuan/PiYing.uasset new file mode 100644 index 0000000..a481ddf --- /dev/null +++ b/Content/Movies/TiHuan/PiYing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:276c7facf60b260966ef3ce007e0eb99bdbc1daf99b641dc890a741388061120 +size 1586 diff --git a/Content/Movies/TiHuan/PiYingMediaPlayer_Video.uasset b/Content/Movies/TiHuan/PiYingMediaPlayer_Video.uasset new file mode 100644 index 0000000..e833464 --- /dev/null +++ b/Content/Movies/TiHuan/PiYingMediaPlayer_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68b686f4905dbd7482e82b13664e13d5fec06be399b51b947687902d66c11b28 +size 2622 diff --git a/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat.uasset b/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat.uasset new file mode 100644 index 0000000..7aa54a3 --- /dev/null +++ b/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ff6016cc2b5b659aaa7a481e6b911ba9e036d0a15300081e9ae65d198f7c08c +size 7579 diff --git a/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat_Inst.uasset b/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat_Inst.uasset new file mode 100644 index 0000000..d8a8011 --- /dev/null +++ b/Content/Movies/TiHuan/PiYingMediaPlayer_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5385df484b0bbc422b4a67bee7c96261de62157fbc254ff3f0c96868a6fb71fc +size 5484 diff --git a/Content/Movies/TiHuan/PiYingMediaPlaylist.uasset b/Content/Movies/TiHuan/PiYingMediaPlaylist.uasset new file mode 100644 index 0000000..c14ef9f --- /dev/null +++ b/Content/Movies/TiHuan/PiYingMediaPlaylist.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cad45b93973b0ade4d341330b634ed7b1d398659f0ac6702f3d5ab601916a5e +size 1539 diff --git a/Content/Movies/TiHuan/PiYingPlayer.uasset b/Content/Movies/TiHuan/PiYingPlayer.uasset new file mode 100644 index 0000000..ac43d80 --- /dev/null +++ b/Content/Movies/TiHuan/PiYingPlayer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d3b926ff822ab49655240e9f1f423f4e4b4f2b23aa132854aae377f67974e2 +size 1364 diff --git a/Content/Movies/TiHuan/XianYang.uasset b/Content/Movies/TiHuan/XianYang.uasset new file mode 100644 index 0000000..bc9c2d2 --- /dev/null +++ b/Content/Movies/TiHuan/XianYang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98eb5b6882529f28026c8ebfb035a9a81daae782ceb8568ec8c5fce3cd5f9c66 +size 1598 diff --git a/Content/Movies/TiHuan/XianYangChengEndMediaPlayer.uasset b/Content/Movies/TiHuan/XianYangChengEndMediaPlayer.uasset new file mode 100644 index 0000000..6e821b3 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangChengEndMediaPlayer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be00b083726605205f07046a73e55bd28e722170308ba8c96a2f2f783c97cbf5 +size 1693 diff --git a/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer.uasset b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer.uasset new file mode 100644 index 0000000..69c9347 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834b0f786be11e82ab2e97f3141d3ce15f730197ed453cc259bda270d9937889 +size 1453 diff --git a/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video.uasset b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video.uasset new file mode 100644 index 0000000..e7adfe0 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a096203b79a52f75bfa2643d4b7db8f4cde82354d20e87c51f7765379833aea6 +size 2724 diff --git a/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video_Mat.uasset b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video_Mat.uasset new file mode 100644 index 0000000..2c7e2ed --- /dev/null +++ b/Content/Movies/TiHuan/XianYangEnd/XianYangCheng2MediaPlayer_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8d36a54305047d4747d67cbb57688bf4116fd5d444337e92217f0f89b9b1c7e +size 7860 diff --git a/Content/Movies/TiHuan/XianYangMediaPlayer.uasset b/Content/Movies/TiHuan/XianYangMediaPlayer.uasset new file mode 100644 index 0000000..739cf22 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangMediaPlayer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:657b73d9050e7e029bf18d92d83c2d353dad24540306a90fd2b7b6b6789b95ac +size 1399 diff --git a/Content/Movies/TiHuan/XianYangMediaPlayer_Video.uasset b/Content/Movies/TiHuan/XianYangMediaPlayer_Video.uasset new file mode 100644 index 0000000..8f3a9b6 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangMediaPlayer_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbe222c130350a7325142b2012b68ccb9c9200c2bf7f2b916ed23f45d0bdc6d7 +size 2854 diff --git a/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat.uasset b/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat.uasset new file mode 100644 index 0000000..726edd1 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:528bd0e8da92451d74d70b031009b6ebc0f522a991f8a71efa103ebf176c77ab +size 7670 diff --git a/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat_Inst.uasset b/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat_Inst.uasset new file mode 100644 index 0000000..3b5b3b6 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangMediaPlayer_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d59f3d06114b16d20b404ca868f9b2fdc17d37061d1796e34bb1c8b47be3a2a +size 5498 diff --git a/Content/Movies/TiHuan/XianYangMediaPlaylist.uasset b/Content/Movies/TiHuan/XianYangMediaPlaylist.uasset new file mode 100644 index 0000000..60d65c3 --- /dev/null +++ b/Content/Movies/TiHuan/XianYangMediaPlaylist.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95fde4d5a06b3bac153c1185a62389d6b9f5ae2ed2e1cce121d8702e0a31350e +size 1553 diff --git a/Content/Movies/hdri.uasset b/Content/Movies/hdri.uasset new file mode 100644 index 0000000..4b3b6dd --- /dev/null +++ b/Content/Movies/hdri.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b72b70003196e02d47754a9e02a7d75687b8cf0106defb5cf82e973259ae94ed +size 14964 diff --git a/Content/Movies/jixiellong_01_Video.uasset b/Content/Movies/jixiellong_01_Video.uasset new file mode 100644 index 0000000..8791ae0 --- /dev/null +++ b/Content/Movies/jixiellong_01_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98c694d31d1b8cfd21f8da14af325e14fbc8cb3e19e45e2f867684c1e8a407c9 +size 2581 diff --git a/Content/Movies/jixiellong_01_Video_Mat.uasset b/Content/Movies/jixiellong_01_Video_Mat.uasset new file mode 100644 index 0000000..8677f1d --- /dev/null +++ b/Content/Movies/jixiellong_01_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7a1aba13b6209a203540e493453e57569d72a85e6b8fd0c6f74445eac937195 +size 9359 diff --git a/Content/Movies/jixiellong_01_Video_Mat_Inst.uasset b/Content/Movies/jixiellong_01_Video_Mat_Inst.uasset new file mode 100644 index 0000000..881356f --- /dev/null +++ b/Content/Movies/jixiellong_01_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:873ba54fbdbe08fd2cb0e4a9ed052d40446c81cbfe5c43d4ad6a7c8f05aac453 +size 6050 diff --git a/Content/Movies/jixielong_01.uasset b/Content/Movies/jixielong_01.uasset new file mode 100644 index 0000000..b5fc172 --- /dev/null +++ b/Content/Movies/jixielong_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0957b6e180027405f0790d6c5dd448da97e6206d8f3e95cee3aebfe57114e7c +size 1421 diff --git a/Content/Movies/jixielong_02.uasset b/Content/Movies/jixielong_02.uasset new file mode 100644 index 0000000..0b799ee --- /dev/null +++ b/Content/Movies/jixielong_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13eb5317b0fff23ce289ea9d83a8e68fe9f0ab83b0dfcd363343aa27c4fb9de3 +size 1489 diff --git a/Content/Movies/piying.uasset b/Content/Movies/piying.uasset new file mode 100644 index 0000000..b669883 --- /dev/null +++ b/Content/Movies/piying.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad848a1f1d4824ee344db33a381780132ef55989c5aa14855bbb4b4c34ca2ac8 +size 9485 diff --git a/Content/Movies/piyingxi.uasset b/Content/Movies/piyingxi.uasset new file mode 100644 index 0000000..b6e573a --- /dev/null +++ b/Content/Movies/piyingxi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d07f0a67ddd4f5cc91c6f3c28eff5991501225baafff79f5771e1b8ae6d978a +size 1390 diff --git a/Content/Movies/piyingxi_Video.uasset b/Content/Movies/piyingxi_Video.uasset new file mode 100644 index 0000000..5ebdf66 --- /dev/null +++ b/Content/Movies/piyingxi_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26d4a98a020610b792e47df14d4ea08243e418edc14953f29131a6176fd8b25c +size 2807 diff --git a/Content/Movies/piyingxi_Video_Mat.uasset b/Content/Movies/piyingxi_Video_Mat.uasset new file mode 100644 index 0000000..3e118e4 --- /dev/null +++ b/Content/Movies/piyingxi_Video_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ec7c987b915d6c65dd4f1ee1698c18c5d138a9040009511da7d684469651d2 +size 10715 diff --git a/Content/Movies/piyingxi_Video_Mat_Inst.uasset b/Content/Movies/piyingxi_Video_Mat_Inst.uasset new file mode 100644 index 0000000..84ac76b --- /dev/null +++ b/Content/Movies/piyingxi_Video_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc31d59cf7c2e1c921be19d2ee6df33e046ab7c8c97e645d422bb07b45ce6b7 +size 7525 diff --git a/Content/Movies/piyingyinxiao.uasset b/Content/Movies/piyingyinxiao.uasset new file mode 100644 index 0000000..e38fbd1 --- /dev/null +++ b/Content/Movies/piyingyinxiao.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4d94947bc936cf0684b40f8110970a92e7c263f17d1efa1f7a2e296e7ac2a18 +size 2571161 diff --git a/Content/Movies/xitai.uasset b/Content/Movies/xitai.uasset new file mode 100644 index 0000000..23522e4 --- /dev/null +++ b/Content/Movies/xitai.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c5dbd0b56458d789a824d3b28ebcdcc15452be6c9c3d447cb08a49c2d97472c +size 1567 diff --git a/Content/Movies/xitai_-0001.uasset b/Content/Movies/xitai_-0001.uasset new file mode 100644 index 0000000..84260f9 --- /dev/null +++ b/Content/Movies/xitai_-0001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeace945b11bc1a9a0d0db6fe8613ae81ca856350508f340e1d68b48639161bd +size 3928035 diff --git a/Content/MsvFx_Ambiance_Pack/Prefabs/Fx_Firefly.uasset b/Content/MsvFx_Ambiance_Pack/Prefabs/Fx_Firefly.uasset new file mode 100644 index 0000000..43b49e3 --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Prefabs/Fx_Firefly.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e459d7e2f12df6d719c12845cd14a12604b8a4ecb3dd00038db75af8657241a +size 1160672 diff --git a/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_Branch.uasset b/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_Branch.uasset new file mode 100644 index 0000000..a45281f --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_Branch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3046799d7fb0ec99ada5cf968b35333863538f7ff6623a9f9a81049e18d79b01 +size 146967 diff --git a/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_FacingLeaf.uasset b/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_FacingLeaf.uasset new file mode 100644 index 0000000..14e1905 --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Sources/MasterMaterials/M_Tree_Broadleaf_Desktop_FacingLeaf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8cfc0a87857101603612f8469a9d940d05554f3ae77bace0ab86dbeaa8796c6 +size 80424 diff --git a/Content/MsvFx_Ambiance_Pack/Sources/Meshes/Tree/SM_Broadleaf_Desktop.uasset b/Content/MsvFx_Ambiance_Pack/Sources/Meshes/Tree/SM_Broadleaf_Desktop.uasset new file mode 100644 index 0000000..d4f7dfa --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Sources/Meshes/Tree/SM_Broadleaf_Desktop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f91942e2355794bdd9319da92bf141c0e6d1397f704863733967ee351570475c +size 438604 diff --git a/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Color.uasset b/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Color.uasset new file mode 100644 index 0000000..1311595 --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Color.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97854a091777d2c8e0aeaee15173a5d6e4901502db6c25e4eaa853faa9182311 +size 43321929 diff --git a/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Normal.uasset b/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Normal.uasset new file mode 100644 index 0000000..56c773e --- /dev/null +++ b/Content/MsvFx_Ambiance_Pack/Sources/Textures/Tree/T_Broadleaf_Desktop_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5018cfec4e7aaee5712dd37a8270d8f0c31ad0c4a4ecb7b60d2f9b27215af3c5 +size 27231515 diff --git a/Content/NoiseMegaPack/Textures/T_Grunge_20.uasset b/Content/NoiseMegaPack/Textures/T_Grunge_20.uasset new file mode 100644 index 0000000..7020432 --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Grunge_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44682c5c8e075f962e2d01611e836a076cc701aa6bcce84429359a4b8dce2352 +size 3348734 diff --git a/Content/NoiseMegaPack/Textures/T_MiscNoise_112.uasset b/Content/NoiseMegaPack/Textures/T_MiscNoise_112.uasset new file mode 100644 index 0000000..faff7bf --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_MiscNoise_112.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74015bdb6e4822f1aaa8f0bee85f0216150543b896dff59996f2620cb7951bb +size 1930907 diff --git a/Content/NoiseMegaPack/Textures/T_MiscNoise_51.uasset b/Content/NoiseMegaPack/Textures/T_MiscNoise_51.uasset new file mode 100644 index 0000000..8bcef34 --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_MiscNoise_51.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86107e1dcbc31affb9ea4c1be87d7e88260dd9524d2b8239571cd88fa63484b9 +size 1761683 diff --git a/Content/NoiseMegaPack/Textures/T_Spots_01.uasset b/Content/NoiseMegaPack/Textures/T_Spots_01.uasset new file mode 100644 index 0000000..077e6a0 --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Spots_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1be828c3f6bd49420ecb632b2786ba1ace3bea37b845596a8ca3a26225baf8dc +size 2438724 diff --git a/Content/NoiseMegaPack/Textures/T_Spots_02.uasset b/Content/NoiseMegaPack/Textures/T_Spots_02.uasset new file mode 100644 index 0000000..81042fc --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Spots_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5408de1e6a67dbaa2403933ab9d825193075972987a64174670149545cba35d6 +size 2768698 diff --git a/Content/NoiseMegaPack/Textures/T_Spots_10.uasset b/Content/NoiseMegaPack/Textures/T_Spots_10.uasset new file mode 100644 index 0000000..4d5c29c --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Spots_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bc740c896021a862e3e89eb2af7c0957a67d4d1a50d011fd683f2627cf2bd14 +size 2893259 diff --git a/Content/NoiseMegaPack/Textures/T_Spots_13.uasset b/Content/NoiseMegaPack/Textures/T_Spots_13.uasset new file mode 100644 index 0000000..1ac52ca --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Spots_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c6600436934219d805028140ffcb85bc8c9625e288f7252844daeaec4dc94bc +size 3059515 diff --git a/Content/NoiseMegaPack/Textures/T_Spots_18.uasset b/Content/NoiseMegaPack/Textures/T_Spots_18.uasset new file mode 100644 index 0000000..a9754ac --- /dev/null +++ b/Content/NoiseMegaPack/Textures/T_Spots_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3497719eca0d7b87e68f0d76bd3834575749b7c522d383e2ebce42bd1ea6d117 +size 2305978 diff --git a/Content/PICO_Hand_tracking/Button/BPI_HandData.uasset b/Content/PICO_Hand_tracking/Button/BPI_HandData.uasset new file mode 100644 index 0000000..05e8e19 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/BPI_HandData.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2b125ad45b669a932eadde0305840ed31cc84d93af53bc11198e831d8853afe +size 15010 diff --git a/Content/PICO_Hand_tracking/Button/Button_Click.uasset b/Content/PICO_Hand_tracking/Button/Button_Click.uasset new file mode 100644 index 0000000..be3425f --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_Click.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ea291c3ae751bfbb501769a59b9a86ca16d46489776623b2793edf14427ec8f +size 2590 diff --git a/Content/PICO_Hand_tracking/Button/Button_Clickall.uasset b/Content/PICO_Hand_tracking/Button/Button_Clickall.uasset new file mode 100644 index 0000000..56e9fb5 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_Clickall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49cfdc01f8fdf43c21a3024130734757c90fa8108df1d88214bed7660391c00 +size 172524 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/Button_AnimMontage.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/Button_AnimMontage.uasset new file mode 100644 index 0000000..d1de5f0 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/Button_AnimMontage.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51cc2f3a7ccaaad0b11a6d0df0e63b9e25308f9c1962c486afd2a1a783fdd216 +size 6531 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.png b/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.png new file mode 100644 index 0000000..9d3d663 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:726d70a8150001f36d3e61b8c08d51a40d1559c7aa6f0d7a0b0f698248c71dc1 +size 346470 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.uasset new file mode 100644 index 0000000..a3227a7 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button-preview.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad87070fab136d373fb45c32459f194e48d4bba30ec5612b79a07d79b428ab6 +size 390469 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button.fbx b/Content/PICO_Hand_tracking/Button/Button_mesh/button.fbx new file mode 100644 index 0000000..a1e7a5d --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84b0da44d8f4c6d164e8d6c00c80c3161a82cd60bfdfe49702e4df375e93e10 +size 115692 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/button.uasset new file mode 100644 index 0000000..8f4bc31 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6edeb561b675ff650f870d64df826d83323aa3eaadc584ed7126a485ae0329a3 +size 1098374 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button1.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/button1.uasset new file mode 100644 index 0000000..d48827d --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:802ba460a34ff5754bc89776d08dd16c6cd2525499f8939320b17b4e8aa29d47 +size 8615 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button_PhysicsAsset.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/button_PhysicsAsset.uasset new file mode 100644 index 0000000..5e0bc1e --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4471c446c3117fe67ca26227b8331c57373057767dc348763fd8fe74a0aace7f +size 6193 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/button_Skeleton.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/button_Skeleton.uasset new file mode 100644 index 0000000..cc42d24 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/button_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8221ee0d0b0d630f165943bdc828e98b25dc53fb1121df471b56d2e1edcd1f2f +size 5990 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/plastic.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/plastic.uasset new file mode 100644 index 0000000..2fb0864 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/plastic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93c768e2ccfc7254c8e3fba7970a3f90127d986cffec6c1b0d8dad239180345c +size 7700 diff --git a/Content/PICO_Hand_tracking/Button/Button_mesh/stone.uasset b/Content/PICO_Hand_tracking/Button/Button_mesh/stone.uasset new file mode 100644 index 0000000..74c5f1a --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/Button_mesh/stone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a51c96f3f68bcd3a34ccd21370bb809c2230fef29304f75e33dd3a6782008ad +size 8825 diff --git a/Content/PICO_Hand_tracking/Button/button1.uasset b/Content/PICO_Hand_tracking/Button/button1.uasset new file mode 100644 index 0000000..ae51880 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/button1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32321e7f76aeb9ef5e2bade06f186bd52d5bd0fb19e91c0db6f911eb5f2d5ea4 +size 1485 diff --git a/Content/PICO_Hand_tracking/Button/stone.uasset b/Content/PICO_Hand_tracking/Button/stone.uasset new file mode 100644 index 0000000..fdbddc5 --- /dev/null +++ b/Content/PICO_Hand_tracking/Button/stone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2375bf2d4c57756cf49c2cda4410910164e02b090cb44d0995519bc0c118da7 +size 1469 diff --git a/Content/PICO_Hand_tracking/Hand_track.uasset b/Content/PICO_Hand_tracking/Hand_track.uasset new file mode 100644 index 0000000..0607cc0 --- /dev/null +++ b/Content/PICO_Hand_tracking/Hand_track.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e16baf1201910ee9b3e6c5f67daaa1f9a85ab22b8b06ca7f167c77b13a92bd0 +size 525998 diff --git a/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/Countdown_UI.uasset b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/Countdown_UI.uasset new file mode 100644 index 0000000..86d3ed8 --- /dev/null +++ b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/Countdown_UI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e148c8788ec802df7b39b388eb4a9d58a3e7798d8802e722dfae8d7f2b54f8a +size 66210 diff --git a/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/PalmData.uasset b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/PalmData.uasset new file mode 100644 index 0000000..8f0c811 --- /dev/null +++ b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/PalmData.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:263596fd1373e72d04b183445fabb1aca887eaa5f7c0d3871d541f6f4ea12fab +size 17831 diff --git a/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/number_time.uasset b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/number_time.uasset new file mode 100644 index 0000000..d363fcc --- /dev/null +++ b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/number_time.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93dae4bdf0d75cdc2c7aed18a8657008c7efbcc8762efd02b3d5c6da2e4c0037 +size 10839 diff --git a/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/valid.uasset b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/valid.uasset new file mode 100644 index 0000000..e0f41c5 --- /dev/null +++ b/Content/PICO_Hand_tracking/LeftPalmRecognitionCountdown/valid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:245586ed54c19f96f8190239ff99e34be79f7e8cabf7083649b5cc1cf532ef67 +size 2583 diff --git a/Content/PICO_Hand_tracking/Next_Map/NextData.uasset b/Content/PICO_Hand_tracking/Next_Map/NextData.uasset new file mode 100644 index 0000000..7b68502 --- /dev/null +++ b/Content/PICO_Hand_tracking/Next_Map/NextData.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51a2bb9fc200e8efbb48ce1aef7fd047ea4fd255a9cb2718e85d1e90c7892c18 +size 10502 diff --git a/Content/PICO_Hand_tracking/Next_Map/PICO_CLICK.umap b/Content/PICO_Hand_tracking/Next_Map/PICO_CLICK.umap new file mode 100644 index 0000000..6b9afac --- /dev/null +++ b/Content/PICO_Hand_tracking/Next_Map/PICO_CLICK.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5896df5e6a09a5576adbd8e81dd010a389024695bdbbd4aa15b1ea1746e6673d +size 145835 diff --git a/Content/PICO_Hand_tracking/PICOGameMode.uasset b/Content/PICO_Hand_tracking/PICOGameMode.uasset new file mode 100644 index 0000000..b7f15bd --- /dev/null +++ b/Content/PICO_Hand_tracking/PICOGameMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8af554690601dd942b2a04ed13724a78ab12423642019772609f2146c1840414 +size 19633 diff --git a/Content/PICO_Hand_tracking/PICO_Grabbing_Map/PICO_CLICK.umap b/Content/PICO_Hand_tracking/PICO_Grabbing_Map/PICO_CLICK.umap new file mode 100644 index 0000000..d345a64 --- /dev/null +++ b/Content/PICO_Hand_tracking/PICO_Grabbing_Map/PICO_CLICK.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eac5a5e8c70238bffdbe5055073df77c47d45142e039c227d5ac4a4e7ddd7ddf +size 1505 diff --git a/Content/PICO_Hand_tracking/UI/BP_PICO.uasset b/Content/PICO_Hand_tracking/UI/BP_PICO.uasset new file mode 100644 index 0000000..71637b8 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/BP_PICO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6879c52c3b15fc4062e6948766668eff0c8784b8310edd0dfed135b3dff8e4 +size 2447 diff --git a/Content/PICO_Hand_tracking/UI/BP_PICO1.uasset b/Content/PICO_Hand_tracking/UI/BP_PICO1.uasset new file mode 100644 index 0000000..de1af55 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/BP_PICO1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68a932ae35bf5c5ea70f319d91d8ff6981afc1757541c914ffbd3fd3b4af15fb +size 2394 diff --git a/Content/PICO_Hand_tracking/UI/KeyBoard_UI1.uasset b/Content/PICO_Hand_tracking/UI/KeyBoard_UI1.uasset new file mode 100644 index 0000000..f566a2b --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/KeyBoard_UI1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd87de3b14f74b5c90fccd7ff2803df5a946adb105b2e72c8e3b14b824b246a6 +size 29215 diff --git a/Content/PICO_Hand_tracking/UI/New_Keyboard.uasset b/Content/PICO_Hand_tracking/UI/New_Keyboard.uasset new file mode 100644 index 0000000..a09d88a --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/New_Keyboard.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf203ffb22491db212b509a66f0981e05c4428e664944e9f400144580854073 +size 67366 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level1/BP_PICO1.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level1/BP_PICO1.uasset new file mode 100644 index 0000000..2a2b3e7 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level1/BP_PICO1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:211bf46f5c7deef8bf727cf416f87b4ae9e7bde848bc707f5cadf3799ee6b6dd +size 24774 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI.uasset new file mode 100644 index 0000000..d1797b5 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60b2a13f4a2a6877bf63d0283e34e7a82290d6477efe418c7c823a6904dc5f27 +size 26320 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI1.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI1.uasset new file mode 100644 index 0000000..dcfff68 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level1/PICO_UI1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:377672cf393eee298597c8ea15227361b12cab43e69347f01bc0501431c3483b +size 29071 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level2/BP_PICO2.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level2/BP_PICO2.uasset new file mode 100644 index 0000000..2e45a02 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level2/BP_PICO2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b06b5763b3010e898f9346430314e4304219086392402888597d81d0d72b7238 +size 24776 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI2.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI2.uasset new file mode 100644 index 0000000..eb0ab4b --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa8e9ec5b235b13ead13a177a1dd2ebee2e3cdde54196ac35f2b02c7debee7bc +size 26315 diff --git a/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI3.uasset b/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI3.uasset new file mode 100644 index 0000000..d14d518 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/PICO_Level2/PICO_UI3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e384a44c383caab37451cf88ae4a3e0eb065c1feb9467cb676d8bc79de9e9b2 +size 32878 diff --git a/Content/PICO_Hand_tracking/UI/picture/click.uasset b/Content/PICO_Hand_tracking/UI/picture/click.uasset new file mode 100644 index 0000000..a3ffec2 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/picture/click.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26f5798da0c595de7fcec792ff8068c90b1391a2e631e98ba072e6ef009b331c +size 390908 diff --git a/Content/PICO_Hand_tracking/UI/picture/click__2_.uasset b/Content/PICO_Hand_tracking/UI/picture/click__2_.uasset new file mode 100644 index 0000000..24c9930 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/picture/click__2_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f28940c0a9b6df8e1d168048875a5a9c74604e3e5f6bcbb369be3e2dba04fb5 +size 405817 diff --git a/Content/PICO_Hand_tracking/UI/picture/palm.uasset b/Content/PICO_Hand_tracking/UI/picture/palm.uasset new file mode 100644 index 0000000..574b1db --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/picture/palm.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9fd14c45fa5e04489b880f7784af36d1e2abb87ae1a8f4337e518ca63b4d8a9 +size 266957 diff --git a/Content/PICO_Hand_tracking/UI/picture/pinch.uasset b/Content/PICO_Hand_tracking/UI/picture/pinch.uasset new file mode 100644 index 0000000..410e86c --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/picture/pinch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ede2033598e0ea7038e81772828fe0774e36b512145e7d4f5b795bdc15326e18 +size 243625 diff --git a/Content/PICO_Hand_tracking/UI/picture/thumbs_up.uasset b/Content/PICO_Hand_tracking/UI/picture/thumbs_up.uasset new file mode 100644 index 0000000..4ee6c8d --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/picture/thumbs_up.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f325a04656fb54e86f1ae640128faa0168d14ca999435b85f7724ad96a744252 +size 288559 diff --git a/Content/PICO_Hand_tracking/UI/pinch.uasset b/Content/PICO_Hand_tracking/UI/pinch.uasset new file mode 100644 index 0000000..62b00f4 --- /dev/null +++ b/Content/PICO_Hand_tracking/UI/pinch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37952dea805ed17cea86dfd70d607a3ab9211308a5ce2383b4a1521163d06745 +size 10445 diff --git a/Content/Particles/Materials/MasterMaterials/M_12X12_Smokes_01_M.uasset b/Content/Particles/Materials/MasterMaterials/M_12X12_Smokes_01_M.uasset new file mode 100644 index 0000000..4ee02c1 --- /dev/null +++ b/Content/Particles/Materials/MasterMaterials/M_12X12_Smokes_01_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:017a28332bbcf6c8cdf2cd36fc19241af5b9866b46d8770b57f46093de64f831 +size 16756 diff --git a/Content/Particles/Materials/MasterMaterials/M_2X2_SubUV_Debris_01_M.uasset b/Content/Particles/Materials/MasterMaterials/M_2X2_SubUV_Debris_01_M.uasset new file mode 100644 index 0000000..037da4c --- /dev/null +++ b/Content/Particles/Materials/MasterMaterials/M_2X2_SubUV_Debris_01_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec85b4e7f06269f91a4a9c5d347d94882c8e12471e2ca4ce59c7ddae12fb15f4 +size 15121 diff --git a/Content/Particles/PS_Dust_shitou.uasset b/Content/Particles/PS_Dust_shitou.uasset new file mode 100644 index 0000000..73bde25 --- /dev/null +++ b/Content/Particles/PS_Dust_shitou.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b0f0638d36c6df5dc748dcd53f0d3f6002c4dbfa73defb60b2288a67952085c +size 230956 diff --git a/Content/Particles/Textures/Debris/T_2x2_Dusts_01_BC.uasset b/Content/Particles/Textures/Debris/T_2x2_Dusts_01_BC.uasset new file mode 100644 index 0000000..1ff2277 --- /dev/null +++ b/Content/Particles/Textures/Debris/T_2x2_Dusts_01_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:382c13b15badf5fe1a4b6918b52e3acc976882748f8243f622d1fbcb96d480a9 +size 61333 diff --git a/Content/Particles/Textures/Normals/T_BlurNormalSphere_N.uasset b/Content/Particles/Textures/Normals/T_BlurNormalSphere_N.uasset new file mode 100644 index 0000000..1135a94 --- /dev/null +++ b/Content/Particles/Textures/Normals/T_BlurNormalSphere_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5cdaf429641097c743304fa6e8cf0cfcaf5dd08f0b6871aaa577465df9ba6cb +size 456180 diff --git a/Content/Particles/Textures/T_SoftSmokeBall_VL144_a.uasset b/Content/Particles/Textures/T_SoftSmokeBall_VL144_a.uasset new file mode 100644 index 0000000..7f72ede --- /dev/null +++ b/Content/Particles/Textures/T_SoftSmokeBall_VL144_a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a2d8f45e26d68ef521a44df323d805b9eeb87dc2de834f707dcd34a5d3a846d +size 8120293 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Actors.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Actors.uasset new file mode 100644 index 0000000..d4cfd0e --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Actors.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be989c70aa4258f9db7c70464bf2043ba77136213bb7e937a037847eb370f914 +size 73672 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_2.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_2.uasset new file mode 100644 index 0000000..a08c4a6 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60de4117f1deeeaa2aff6cc4d92d855d52b3d3a57ed1031557fae16e5530557e +size 14847 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_6.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_6.uasset new file mode 100644 index 0000000..d7f1cfe --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MI_Dot_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f11b19e20677d662d48fd7ad252c5131c328b9ccec38f1ec7dc77ca4d0e1ae +size 82030 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Ground.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Ground.uasset new file mode 100644 index 0000000..973998f --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Ground.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a66dcdd42df5e0ef4de9c5c20612cf9261f714d5eb2c40fb67a0b6314093ca +size 73188 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_M.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_M.uasset new file mode 100644 index 0000000..16796e6 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4360d574f678f09a912eb35052765ca69a09da67369b87cdb101063ed5d1322e +size 54697 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_Sprite.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_Sprite.uasset new file mode 100644 index 0000000..9cb7f56 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Projectile_Sprite.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b288e663f59edbf57b193a2466ee7b9e69468d9c0812292e0b0db3b31c993ff4 +size 49474 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Smoke.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Smoke.uasset new file mode 100644 index 0000000..d95127a --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0406f8d71ba206a925b9cd9a3e2e2b0ccd5db187e6527d6e220ac92f73451ee +size 49973 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Trail.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Trail.uasset new file mode 100644 index 0000000..ebf8d5e --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/MasterMaterails/MM_Trail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a76b332dbeab5d3207699808e7ea3010ded0acfffb251887688dec080d2e93 +size 50730 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/05/MI_Projectile_05_01.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/05/MI_Projectile_05_01.uasset new file mode 100644 index 0000000..99874a7 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/05/MI_Projectile_05_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff61ea16fd241157b9d83dc206820d1303d5098e0db3b2212e5b78c300a85fe +size 87291 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_01.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_01.uasset new file mode 100644 index 0000000..a3ee971 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:974deeff5475d017d374f4a38540a8e07144b78a848db9af7544ac13234af9fb +size 20998 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_03.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_03.uasset new file mode 100644 index 0000000..ec820e0 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Projectile_08_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:812b3380bb30e7132bff0128db1acf67830b7536b12904bf8e0f0969b9c22e37 +size 18318 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Smoke_08_01.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Smoke_08_01.uasset new file mode 100644 index 0000000..aac9798 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Smoke_08_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0eae0f16ef1a53dc87ee3ae0956483d6cd04cc91792fe9d95dbfdaa78927d1 +size 14816 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_01.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_01.uasset new file mode 100644 index 0000000..33504ac --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81226074d34d7513a1dfe094918612b9f55ea70a6b22a3765ba5407d3d9cc5eb +size 82261 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_02.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_02.uasset new file mode 100644 index 0000000..96529e8 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Materials/Projectiles/08/MI_Trail_08_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dcdb29b3b1964755e6de897a6defe944c0dc32bc875fb929b56031b4242c29f +size 84017 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Ball_1.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Ball_1.uasset new file mode 100644 index 0000000..e731329 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Ball_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f985913041bc5cb09deb72147d7c00d4f5be64f4b3d43899967e0c5b062c3713 +size 154242 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Disc.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Disc.uasset new file mode 100644 index 0000000..c08a1cb --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Disc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c965b4444e35add5cfe76b9d71767263ea0b338824479de4fd12ef4a8dca0cbd +size 102384 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Frost_3.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Frost_3.uasset new file mode 100644 index 0000000..9652baf --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Frost_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6d546fd197e20764be64a196692b050bf8beeb34e58198196c89727486751fa +size 152389 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Star.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Star.uasset new file mode 100644 index 0000000..c55a23b --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Meshes/SM_Star.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82094dbe54778d17b93fde0a2a6ba795b085ccc152751453274572695b3419e +size 196358 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Abstract_Noises/T_Abstract_Noise_013-256x256.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Abstract_Noises/T_Abstract_Noise_013-256x256.uasset new file mode 100644 index 0000000..83d7946 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Abstract_Noises/T_Abstract_Noise_013-256x256.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3c20b81fe6bffd0834f7f675c52f93da0023257d4d0ff5864148f0d0788b7d4 +size 124476 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Noise_Gradients/T_Random_54.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Noise_Gradients/T_Random_54.uasset new file mode 100644 index 0000000..e7e0cff --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/Noise_Gradients/T_Random_54.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e175b67ddd319566cf291feefee26e7643a2cdad395c3055341692f55f9c621 +size 209264 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_10.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_10.uasset new file mode 100644 index 0000000..2af6847 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a898687eadd1b68715ff5a91b0dda1557369defe69f5f9b63e18431741f2f211 +size 597672 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_17.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_17.uasset new file mode 100644 index 0000000..cdc008f --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85248064bb9acda3110505e73ea3763bfd00fb5f5733100d8233c9d6b2e0b888 +size 1417015 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_20.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_20.uasset new file mode 100644 index 0000000..006790c --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebfbe7a128a8038000dbb160459178726a9581f71b75462daaa987513ccf4bcb +size 1254529 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_4.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_4.uasset new file mode 100644 index 0000000..63389ea --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c95d6cd5b2422f391a695887d9e9edc57e1a0d47fece1aaaa72570d89434326 +size 279545 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_6.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_6.uasset new file mode 100644 index 0000000..2ec6499 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9188e0d4d65d3675fd41ecbbed96e467c0ef183df61c1c3bb83081ad52fa45e +size 206519 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_8.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_8.uasset new file mode 100644 index 0000000..49f3487 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/Noises/T_Noise_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a467c3ab27e63d469f7729b8a0d29b130e4dbe57c5049f53b87ca46fd25d2602 +size 176775 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Dot_2.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Dot_2.uasset new file mode 100644 index 0000000..da5f2c8 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Dot_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88d36c8114845ee303c904e84f16c65733396af1b48d968c1644566bc7f3edf5 +size 214988 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Raidal_1.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Raidal_1.uasset new file mode 100644 index 0000000..cd1af06 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Raidal_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd508c0634a7500ba6247379e9148a994ee01005098611f7dafb0db2cb69e97 +size 1612378 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_1.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_1.uasset new file mode 100644 index 0000000..77783ec --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:163e1383769ce1e7daf256877e1f3810f6edddb75f0ac2819a07d51ae54646e1 +size 5821915 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_111.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_111.uasset new file mode 100644 index 0000000..78a1b13 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_111.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9279a2efc72dc72459db8ceb91bd233be2a1cefa9ad3f8209124f5321a34cdd9 +size 6302939 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_2.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_2.uasset new file mode 100644 index 0000000..e476e18 --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Trail_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c321cf29330c3eaf7b8a5a96b41ce1627d860c001073b801e739f6a4ec925f83 +size 6609864 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_110.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_110.uasset new file mode 100644 index 0000000..afb386e --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_110.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a03cc9be4aeed247a0f6820b22930952373df00439a0894faaa5c9e505d664f7 +size 8954745 diff --git a/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_114.uasset b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_114.uasset new file mode 100644 index 0000000..c847e2e --- /dev/null +++ b/Content/Projectiles_Spells_VFX_Vol_2/Textures/T_Wind_114.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83284441ee223246382d487a44f8a9f209798c99d5a3a6e34b39cbf6aa7ccf39 +size 9286575 diff --git a/Content/PyroParticlePack/Materials/PPP_Particles_lit.uasset b/Content/PyroParticlePack/Materials/PPP_Particles_lit.uasset new file mode 100644 index 0000000..0ae696e --- /dev/null +++ b/Content/PyroParticlePack/Materials/PPP_Particles_lit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09382ba3b9d23d959c99c114dc0b546c82fe1a684cedae9e49141279e281a216 +size 103746 diff --git a/Content/PyroParticlePack/Materials/Particles/PPP_Particles_01_Flames_03_A.uasset b/Content/PyroParticlePack/Materials/Particles/PPP_Particles_01_Flames_03_A.uasset new file mode 100644 index 0000000..ae0d36a --- /dev/null +++ b/Content/PyroParticlePack/Materials/Particles/PPP_Particles_01_Flames_03_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1eeff491a35b54780c1fd19b036d530aa16d8de033820632302a6fb030f9147 +size 80800 diff --git a/Content/PyroParticlePack/Particles/PPP_FlameJet_01.uasset b/Content/PyroParticlePack/Particles/PPP_FlameJet_01.uasset new file mode 100644 index 0000000..e739efb --- /dev/null +++ b/Content/PyroParticlePack/Particles/PPP_FlameJet_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac16811ae732a986625895089604b834b9d01dd51152ab3e3dbbc3c61c57776 +size 177194 diff --git a/Content/PyroParticlePack/Textures/Particles/FlamesRound_8x8_01.uasset b/Content/PyroParticlePack/Textures/Particles/FlamesRound_8x8_01.uasset new file mode 100644 index 0000000..a9fc2d0 --- /dev/null +++ b/Content/PyroParticlePack/Textures/Particles/FlamesRound_8x8_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efcbdcdb1d4e1bf442fe9d39e8936384a19e1428df46c2c3d59218c17205a5a2 +size 10105966 diff --git a/Content/PyroParticlePack/Textures/Particles/Flames_16x4_01.uasset b/Content/PyroParticlePack/Textures/Particles/Flames_16x4_01.uasset new file mode 100644 index 0000000..64b2fc2 --- /dev/null +++ b/Content/PyroParticlePack/Textures/Particles/Flames_16x4_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:958dd6406223d7c17cff025664033e236634ead55c2892aeb6f32067d7be281f +size 6726395 diff --git a/Content/PyroParticlePack/Textures/Particles/SphericalNormal_001.uasset b/Content/PyroParticlePack/Textures/Particles/SphericalNormal_001.uasset new file mode 100644 index 0000000..c979859 --- /dev/null +++ b/Content/PyroParticlePack/Textures/Particles/SphericalNormal_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dabee19aec15ce7a12749f943bb282efef20150bdfa5fa013b9e45fcace7afb1 +size 127270 diff --git a/Content/QSH_Bingyong/Audio/SC_DrunAudio.uasset b/Content/QSH_Bingyong/Audio/SC_DrunAudio.uasset new file mode 100644 index 0000000..c5780d1 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/SC_DrunAudio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88f8680bc180e99d5db1dc3997253c8cfd6b5e27d7574509f63d3dcfa0f37b4b +size 10138 diff --git a/Content/QSH_Bingyong/Audio/兵马俑1_01.uasset b/Content/QSH_Bingyong/Audio/兵马俑1_01.uasset new file mode 100644 index 0000000..62cafe5 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/兵马俑1_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:433782de616b41acd0a368c636e13be23e81192fdf2286694fbb6f1473f2d5c9 +size 992749 diff --git a/Content/QSH_Bingyong/Audio/兵马俑2_01.uasset b/Content/QSH_Bingyong/Audio/兵马俑2_01.uasset new file mode 100644 index 0000000..c3a3284 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/兵马俑2_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d44af9c65f161ad8f9114f261fec43bcc54a19d0c3a1e36ad2d35bd87e76b7 +size 605822 diff --git a/Content/QSH_Bingyong/Audio/兵马俑3_01.uasset b/Content/QSH_Bingyong/Audio/兵马俑3_01.uasset new file mode 100644 index 0000000..24e2b89 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/兵马俑3_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58876595207c0a6db6ef8e89c41020184071c21aee4f8b84d11e92d940cf2b10 +size 495697 diff --git a/Content/QSH_Bingyong/Audio/兵马俑3_02-01.uasset b/Content/QSH_Bingyong/Audio/兵马俑3_02-01.uasset new file mode 100644 index 0000000..2a259d5 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/兵马俑3_02-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f72de53b66666f47f79464e66bd7042e3b0cb09122293361bed6eeb602cf4db8 +size 1154516 diff --git a/Content/QSH_Bingyong/Audio/兵马俑4_01-01.uasset b/Content/QSH_Bingyong/Audio/兵马俑4_01-01.uasset new file mode 100644 index 0000000..576bfc3 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/兵马俑4_01-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3755d6590adf11ed8bf4f500a4dcf57eb0f93c4c7c4e35fbad7684212bfb6cc4 +size 718165 diff --git a/Content/QSH_Bingyong/Audio/玄鸟补录-21.uasset b/Content/QSH_Bingyong/Audio/玄鸟补录-21.uasset new file mode 100644 index 0000000..90919a0 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/玄鸟补录-21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dfe22fb4c7a91f620b2e176d38fbf78aa6426f242d31fe8c0e8f5f762ad1e9e +size 1076067 diff --git a/Content/QSH_Bingyong/Audio/玄鸟补录-23.uasset b/Content/QSH_Bingyong/Audio/玄鸟补录-23.uasset new file mode 100644 index 0000000..0e4e439 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/玄鸟补录-23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfa9fb9ef7123981a952d9b7a932689092d7752c28392d6e0b974605f30fc827 +size 439877 diff --git a/Content/QSH_Bingyong/Audio/玄鸟补录-25.uasset b/Content/QSH_Bingyong/Audio/玄鸟补录-25.uasset new file mode 100644 index 0000000..02fcdac --- /dev/null +++ b/Content/QSH_Bingyong/Audio/玄鸟补录-25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75c92bb7bf6c8276c9c0b532b41b8f219ef41547828cf6b0adc2f1544dc230e +size 1208961 diff --git a/Content/QSH_Bingyong/Audio/玄鸟补录-29.uasset b/Content/QSH_Bingyong/Audio/玄鸟补录-29.uasset new file mode 100644 index 0000000..166e976 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/玄鸟补录-29.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0739478689cd2cde40673686877d8f13a68c457ea2d0f135446426138f67027 +size 436030 diff --git a/Content/QSH_Bingyong/Audio/音效_万箭齐发.uasset b/Content/QSH_Bingyong/Audio/音效_万箭齐发.uasset new file mode 100644 index 0000000..612ed7f --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_万箭齐发.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0566a7f2cf66849f197c29edeb3da54ba8d9b5d64cb1364c9ca2cfff7a8ae4bc +size 1036265 diff --git a/Content/QSH_Bingyong/Audio/音效_嗖的一声剑.uasset b/Content/QSH_Bingyong/Audio/音效_嗖的一声剑.uasset new file mode 100644 index 0000000..2fb17d2 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_嗖的一声剑.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b9e87d16a4c9998f3b46bb42a3f830ada8e0b43b5f6b97ad7b8632b4ecadbc4 +size 95108 diff --git a/Content/QSH_Bingyong/Audio/音效_战场行军鼓.uasset b/Content/QSH_Bingyong/Audio/音效_战场行军鼓.uasset new file mode 100644 index 0000000..62193c4 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_战场行军鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f76bddf6be44db6e466578e69793557ac0596b9d6a640fc24d3234eec1f4d671 +size 10821996 diff --git a/Content/QSH_Bingyong/Audio/音效_拉弓射箭.uasset b/Content/QSH_Bingyong/Audio/音效_拉弓射箭.uasset new file mode 100644 index 0000000..67348cb --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_拉弓射箭.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4ea7432e7e50ea407c582dbff5226ab5dc8dadf909dfb185bfb186a0fc1ffa +size 635597 diff --git a/Content/QSH_Bingyong/Audio/音效_挥剑声.uasset b/Content/QSH_Bingyong/Audio/音效_挥剑声.uasset new file mode 100644 index 0000000..30e8d41 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_挥剑声.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa8efa93b15ee29f433bce875e69ad3982d64ebca3b6cb77f3e47432c0086a9f +size 88391 diff --git a/Content/QSH_Bingyong/Audio/音效_挥棍.uasset b/Content/QSH_Bingyong/Audio/音效_挥棍.uasset new file mode 100644 index 0000000..b8d5117 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_挥棍.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f63df8c7d592309b673a0e167d2df45cff213791c2d8d70c49ddbae2c94e7bf5 +size 25697 diff --git a/Content/QSH_Bingyong/Audio/音效_敲鼓2.uasset b/Content/QSH_Bingyong/Audio/音效_敲鼓2.uasset new file mode 100644 index 0000000..3f62e12 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_敲鼓2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a793308bedbf8ee43873b3b9cce7da57bf3cbe30018f4b66669a2e01e533d6e +size 71261 diff --git a/Content/QSH_Bingyong/Audio/音效_神秘敲鼓.uasset b/Content/QSH_Bingyong/Audio/音效_神秘敲鼓.uasset new file mode 100644 index 0000000..42539ed --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_神秘敲鼓.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90a9c19fb21f001e2308954fa85b6ea43cc8cbbd2c5c3f12842b35ebfae5f1af +size 501135 diff --git a/Content/QSH_Bingyong/Audio/音效_脚踏声.uasset b/Content/QSH_Bingyong/Audio/音效_脚踏声.uasset new file mode 100644 index 0000000..8df070a --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_脚踏声.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f0c891586754cfe8861c02af51837185e65161cd7b8c50980cbfd19ab12242 +size 21779 diff --git a/Content/QSH_Bingyong/Audio/音效_重砸.uasset b/Content/QSH_Bingyong/Audio/音效_重砸.uasset new file mode 100644 index 0000000..1a57bcb --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_重砸.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5303ab898c5bcb549e2d36b91e9ecafb56d3cfd5c8d53c6094a6d84736eb4f76 +size 630864 diff --git a/Content/QSH_Bingyong/Audio/音效_重砸1.uasset b/Content/QSH_Bingyong/Audio/音效_重砸1.uasset new file mode 100644 index 0000000..9cfc97c --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_重砸1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9cfad3b7b7d48a703dd732f45f66e621cf15f191c8dfe7d41e66ea95f9761cd +size 54442 diff --git a/Content/QSH_Bingyong/Audio/音效_鼓声1.uasset b/Content/QSH_Bingyong/Audio/音效_鼓声1.uasset new file mode 100644 index 0000000..0f66beb --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_鼓声1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5127fa4100689a070cd044ea7cdd8911555c4f52d794722652c3e20aa1ace1a7 +size 588708 diff --git a/Content/QSH_Bingyong/Audio/音效_鼓声2.uasset b/Content/QSH_Bingyong/Audio/音效_鼓声2.uasset new file mode 100644 index 0000000..b03f3da --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_鼓声2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92b8303d65aa94c207d788c117679a33843bf59b57a01cf86541561faf8895af +size 298639 diff --git a/Content/QSH_Bingyong/Audio/音效_鼓声3.uasset b/Content/QSH_Bingyong/Audio/音效_鼓声3.uasset new file mode 100644 index 0000000..66c25b8 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_鼓声3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88eda2c5546f8f09343a87a541afda8fa342cc9a39112380f7b2328923cd52c4 +size 132752 diff --git a/Content/QSH_Bingyong/Audio/音效_鼓声4.uasset b/Content/QSH_Bingyong/Audio/音效_鼓声4.uasset new file mode 100644 index 0000000..d1a41b6 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_鼓声4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0161d5bddc744b4829f9428e089125f5afbaa56861f060f37b1e7b22ea755c4 +size 462820 diff --git a/Content/QSH_Bingyong/Audio/音效_鼓声5.uasset b/Content/QSH_Bingyong/Audio/音效_鼓声5.uasset new file mode 100644 index 0000000..1bd87b7 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/音效_鼓声5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f310c2c5badd1182f1e0a4b891e4e25ea5cc6436a151c8ba88ac54fb52051a0 +size 462852 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-01.uasset b/Content/QSH_Bingyong/Audio/鼓阵-01.uasset new file mode 100644 index 0000000..0ffdcaa --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e58abcd63a09922f69f06ac9c9253db880ea5fae144eb7783a28f10a664f6a4 +size 3297354 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-02.uasset b/Content/QSH_Bingyong/Audio/鼓阵-02.uasset new file mode 100644 index 0000000..d216eff --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:052854e9a953bf9cc6444bccfb36fb8d4a6a3da65c3db86dac2209e30ac44aff +size 2581335 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-04.uasset b/Content/QSH_Bingyong/Audio/鼓阵-04.uasset new file mode 100644 index 0000000..f6541a0 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80e03243292019990a2d772d55fc4ce686f33c6d8311f1fc2ff1135cc17110e4 +size 3426236 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-08.uasset b/Content/QSH_Bingyong/Audio/鼓阵-08.uasset new file mode 100644 index 0000000..782eafc --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e50102389b959e17d2ce5f1804486a0a68d30ab94237bfcdd3ec79fc10c974c3 +size 2960591 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-18.uasset b/Content/QSH_Bingyong/Audio/鼓阵-18.uasset new file mode 100644 index 0000000..aa59321 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abf538e46a3d2ca0aab301884578b6c97c286bf9a2cd9b51d9e5a1b3fc3e0ea6 +size 716579 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-20.uasset b/Content/QSH_Bingyong/Audio/鼓阵-20.uasset new file mode 100644 index 0000000..a3580a2 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6491c05f06c053b16b363cb746d9d0d44375cb66a6bae7b4bf3f4d84247f7b2f +size 643840 diff --git a/Content/QSH_Bingyong/Audio/鼓阵-22.uasset b/Content/QSH_Bingyong/Audio/鼓阵-22.uasset new file mode 100644 index 0000000..0f64709 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵-22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b03d12dcbf3a8314ebdd095d4eac037039c7352b0bf1ec59cba6a135a13218aa +size 618106 diff --git a/Content/QSH_Bingyong/Audio/鼓阵_01.uasset b/Content/QSH_Bingyong/Audio/鼓阵_01.uasset new file mode 100644 index 0000000..7f381f6 --- /dev/null +++ b/Content/QSH_Bingyong/Audio/鼓阵_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b181ebb352475370deab16b7e11496955dbc3cf4cdcc9b5449907fa14e406ad7 +size 1978445 diff --git a/Content/QSH_Bingyong/BingyongNear.umap b/Content/QSH_Bingyong/BingyongNear.umap new file mode 100644 index 0000000..9a19737 --- /dev/null +++ b/Content/QSH_Bingyong/BingyongNear.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:683b993d858e6676c4b6327f65d1fed7728f3fb27dbc5c5fdc71c3ae4dc54b52 +size 316332 diff --git a/Content/QSH_Bingyong/BingyongNear280.umap b/Content/QSH_Bingyong/BingyongNear280.umap new file mode 100644 index 0000000..bbce1ec --- /dev/null +++ b/Content/QSH_Bingyong/BingyongNear280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68f9c00a62c551af60bda318afb4aba8d6a76d67c0671adf8340cc00bb20089 +size 424195 diff --git a/Content/QSH_Bingyong/BingyongNear290.umap b/Content/QSH_Bingyong/BingyongNear290.umap new file mode 100644 index 0000000..cb01961 --- /dev/null +++ b/Content/QSH_Bingyong/BingyongNear290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0c6e4b34ff6eeebd193c209a5a99215350dfb13969bcf00082d59acba1069b5 +size 300408 diff --git a/Content/QSH_Bingyong/BingyongNear330.umap b/Content/QSH_Bingyong/BingyongNear330.umap new file mode 100644 index 0000000..c7317d2 --- /dev/null +++ b/Content/QSH_Bingyong/BingyongNear330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e9f40a801b25eadafaf5896073f9df03991f8111125d0121d3a6191bf7e930d +size 301779 diff --git a/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1_.uasset b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1_.uasset new file mode 100644 index 0000000..7fa1bfb --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed742f8264c0c2d5287985f80c6f71a8e3541d89ddf0d27fb2a3db6d48c23838 +size 846195 diff --git a/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Anim.uasset b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Anim.uasset new file mode 100644 index 0000000..8c384f4 --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6f0d629c6717dc5ce799628e60934cdeae8862306fc16236864b9ffb4c10904 +size 4223376 diff --git a/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__PhysicsAsset.uasset b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__PhysicsAsset.uasset new file mode 100644 index 0000000..fd0b7a6 --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fca858bc6e6c1575ade95ad9a3578e603246091e153b6c2ab1e7a790cc210570 +size 119476 diff --git a/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Skeleton.uasset b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Skeleton.uasset new file mode 100644 index 0000000..e4ded5a --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/Suikuaidonghua_DaKuai_1_1__Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b921579d011b9e35f7280027560d74375ff101d4c32442ad3806de026f3c95e5 +size 37724 diff --git a/Content/QSH_Bingyong/Mesh/WorldGridMaterial.uasset b/Content/QSH_Bingyong/Mesh/WorldGridMaterial.uasset new file mode 100644 index 0000000..626fb0f --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/WorldGridMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5325ef8f397cc19f37e63f6cc012f5b46700ba3f9b69841f9b5f10549561474 +size 8910 diff --git a/Content/QSH_Bingyong/Mesh/unlit.uasset b/Content/QSH_Bingyong/Mesh/unlit.uasset new file mode 100644 index 0000000..f714cef --- /dev/null +++ b/Content/QSH_Bingyong/Mesh/unlit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f55878de9a09b6ac21a0e7712c3e9951b573ebc3ee96d2fb3b782aecb6ac3b22 +size 6830 diff --git a/Content/QSH_Bingyong/SM_MERGED_StaticMeshActor_102.uasset b/Content/QSH_Bingyong/SM_MERGED_StaticMeshActor_102.uasset new file mode 100644 index 0000000..af23a58 --- /dev/null +++ b/Content/QSH_Bingyong/SM_MERGED_StaticMeshActor_102.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e02436d6ebaceef1c1eeb17bdbe63634c3cc54c1de46fdd863731107ebf0385 +size 1970211 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_Bing01Copy1_280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_Bing01Copy1_280.uasset new file mode 100644 index 0000000..ec19eef --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_Bing01Copy1_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485519c82e16911b5cf8b0e66997ace3d938546b0baeb3a4750360cc6c3dae9c +size 36662 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_Bing02Copy1_280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_Bing02Copy1_280.uasset new file mode 100644 index 0000000..ed30948 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_Bing02Copy1_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf0cd8bfbf3bad434609648efe5e7cbc3774d6e29495a58cef974cb54cf1f791 +size 44704 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_Bing03Copy1_280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_Bing03Copy1_280.uasset new file mode 100644 index 0000000..dd15e28 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_Bing03Copy1_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fae3b8f1af096098d141ce3ba4413796d83baf3e89669ff2d7678ec5324282bf +size 36246 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_Bing04Copy1_280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_Bing04Copy1_280.uasset new file mode 100644 index 0000000..ef52870 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_Bing04Copy1_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda5dab49573ed458155262e4eb7739b086f236c52cc332cc1ea647fbc18ccdc +size 42401 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong01Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong01Copy280.uasset new file mode 100644 index 0000000..c78d0cd --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong01Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a37c4c53da89c5c2e1242caa78b41662fdb6c3a84bc9a04a30b67713e5361724 +size 133787 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong02Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong02Copy280.uasset new file mode 100644 index 0000000..dc66791 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong02Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a30215da8a2ebe1166ddd4e05f024a8938ce6ded0fbd326eee528043ce16df1 +size 147342 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong03Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong03Copy280.uasset new file mode 100644 index 0000000..ce64ea1 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong03Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f8042ed9fa9f59f6960037cacecca3a24b8c33fb2454b7f1e5b14961aaa3152 +size 131546 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong04Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong04Copy280.uasset new file mode 100644 index 0000000..f46f569 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong04Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a1a742d067b07d0e0f7e839bd505c8632e046f04dcdebd2c2b1434fc724362 +size 109478 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong05Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong05Copy280.uasset new file mode 100644 index 0000000..9bf8720 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong05Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ded5212724e13c09424251ac242be28c4c0bbbe4b0a0afb0e849f370e1501ee0 +size 116775 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong06Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong06Copy280.uasset new file mode 100644 index 0000000..c204f9a --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong06Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e26824268a2355b5f9a319edeb6378d04a015a64b3cd0194271570db160002 +size 112599 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong07Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong07Copy280.uasset new file mode 100644 index 0000000..adf0574 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong07Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:995d06315aa142c4a7bcfeb51424ffc1e5c23ceb33720da8c23a074ce34d7648 +size 176365 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong08Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong08Copy280.uasset new file mode 100644 index 0000000..3c7619c --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong08Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79d966ee7f326acaec8dfa0b309f4c55eb7c1cd89e8c28dc889cb7af602d633f +size 186893 diff --git a/Content/QSH_Bingyong/Sequence/280/SE_BingYong09Copy280.uasset b/Content/QSH_Bingyong/Sequence/280/SE_BingYong09Copy280.uasset new file mode 100644 index 0000000..415f8e8 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/280/SE_BingYong09Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6752b54db992225e1fbd08814b5e02c1b48fa216590afc6e07b76794cec935d4 +size 239722 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong01Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong01Copy290.uasset new file mode 100644 index 0000000..99922ad --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong01Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5a36312b19f11cada482433d9460093990d8ae4ddecd0046bb5a25b22d7ba7d +size 124543 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong02Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong02Copy290.uasset new file mode 100644 index 0000000..290ce81 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong02Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd94e6e6d55bd751ddaec632330b1edcc23748367cba18956f5121e5ddb87d2e +size 137582 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong03Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong03Copy290.uasset new file mode 100644 index 0000000..69d7eae --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong03Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31724099078ad9849997e94cc77635b62152f7b4d5e7bf3dc2fa989686a73d3c +size 122525 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong04Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong04Copy290.uasset new file mode 100644 index 0000000..6c51145 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong04Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d42dd5950f84bb44267f6ef6baae627ff292f4cf1945e7aaf604e76830e89894 +size 98788 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong05Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong05Copy290.uasset new file mode 100644 index 0000000..15d420f --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong05Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f187c99fbfc2d86eb8220f0c1908d24bcc955edf371fd776849cd7de1986df +size 91136 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong06Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong06Copy290.uasset new file mode 100644 index 0000000..a4bbf1a --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong06Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46f1e5b57701a28fe57eff9ebc37c7e5874f65297e5e6e11eb6def5ac5a9a22e +size 113613 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong07Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong07Copy290.uasset new file mode 100644 index 0000000..ed801e8 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong07Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1aef9ee12929af3d59d87223dea1b8db91567e9c6837343b3af74171d0eebd0 +size 167915 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong08Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong08Copy290.uasset new file mode 100644 index 0000000..3722e7f --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong08Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a0c5192ed85326d8f6ec75f14a3f19bfc7158039a69e67c8ae953bc0fcbbc4f +size 167212 diff --git a/Content/QSH_Bingyong/Sequence/290/SE_BingYong09Copy290.uasset b/Content/QSH_Bingyong/Sequence/290/SE_BingYong09Copy290.uasset new file mode 100644 index 0000000..140b40a --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/290/SE_BingYong09Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43b1e95a3b792d7e48501946f29335ed48c64f8e3b785e95aab1bee4652d7cae +size 173946 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong01Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong01Copy330.uasset new file mode 100644 index 0000000..668b3ad --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong01Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cff702cfb203ed53b32d22891c8d5238ebc4eab735b0d4b1b18ab12f80b3c894 +size 126490 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong02Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong02Copy330.uasset new file mode 100644 index 0000000..39f4310 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong02Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27da1dc31cf9acd6414c9a077be91db8323235980c399d696bc03c7fe9b90310 +size 138033 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong03Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong03Copy330.uasset new file mode 100644 index 0000000..410922f --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong03Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7677d6db63fcb89fc1e973e867ca3f89bcd119b0c3ac23ca70172c30c5303910 +size 122431 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong04Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong04Copy330.uasset new file mode 100644 index 0000000..750d6c4 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong04Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c1a3d997884e6a2588d862f8a9e029970c033264475ed0b977442ed1d9dc9a4 +size 99220 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong05Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong05Copy330.uasset new file mode 100644 index 0000000..674ba2f --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong05Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ddeb67dc7a4f326ce6de23f92c05c872a55338d3bd405de8135b5ef18a3a3f2 +size 92063 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong06Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong06Copy330.uasset new file mode 100644 index 0000000..3a1d5e9 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong06Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:847963323c91202b96e279248c0741df675d45bf34dd5af85f9b3ff06f228fd5 +size 114397 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong07Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong07Copy330.uasset new file mode 100644 index 0000000..2153146 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong07Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d87dc4d586702a5db3a46c40e71d2f486ca3bf85e1f6ec40111ff844c82448a +size 171698 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong08Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong08Copy330.uasset new file mode 100644 index 0000000..a3869ae --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong08Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8aef85be19ce87c38e9b103b6487a44edfdde56e70501500fd1262a54dfdca6 +size 170634 diff --git a/Content/QSH_Bingyong/Sequence/330/SE_BingYong09Copy330.uasset b/Content/QSH_Bingyong/Sequence/330/SE_BingYong09Copy330.uasset new file mode 100644 index 0000000..8ff1955 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/330/SE_BingYong09Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28a04a10dcba77ecf239f5b4f2b74c3f846b661a9402bc9e72ed994b63124637 +size 176698 diff --git a/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing01Copy.uasset b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing01Copy.uasset new file mode 100644 index 0000000..c85b2cd --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing01Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c2f9bf5eeda54a6a98d78abe05c20a2b230d8c26cde9779530eacf120e4792e +size 39687 diff --git a/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing02Copy.uasset b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing02Copy.uasset new file mode 100644 index 0000000..07c86a0 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5e402c5ebeb34baf535a893b2948503357173e6331064466a31a737a907236b +size 39794 diff --git a/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing03Copy.uasset b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing03Copy.uasset new file mode 100644 index 0000000..4f97d2f --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing03Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d2463d772b00e5ab7976287d93936abf1ac9f5661c76ce9d9f25b23a6552b0a +size 35263 diff --git a/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing04Copy.uasset b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing04Copy.uasset new file mode 100644 index 0000000..0d3cfdc --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/NewSeq/SE_Bing04Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf587ba1290c35040bc3f4635008ba632ac19ec39bc569defec48b92e8282270 +size 35908 diff --git a/Content/QSH_Bingyong/Sequence/SE_Bing01.uasset b/Content/QSH_Bingyong/Sequence/SE_Bing01.uasset new file mode 100644 index 0000000..40105b0 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_Bing01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f25afea10caf06f19f1afd1ba1001aeacee9360ec23323d206fe87e479a0c174 +size 27526 diff --git a/Content/QSH_Bingyong/Sequence/SE_Bing02.uasset b/Content/QSH_Bingyong/Sequence/SE_Bing02.uasset new file mode 100644 index 0000000..07d9d12 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_Bing02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2610aabb02891a800a220dd5c6d601383dc7d5188e2e340ebbf9c156f0c305b3 +size 27051 diff --git a/Content/QSH_Bingyong/Sequence/SE_Bing03.uasset b/Content/QSH_Bingyong/Sequence/SE_Bing03.uasset new file mode 100644 index 0000000..031d43b --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_Bing03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f796f609359735b7b6e4ec3fad93eaca7437e5b72e8177aae05c7ce0f4288d49 +size 24829 diff --git a/Content/QSH_Bingyong/Sequence/SE_Bing04.uasset b/Content/QSH_Bingyong/Sequence/SE_Bing04.uasset new file mode 100644 index 0000000..968ea7c --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_Bing04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a3bc4f58c8a4b9a8a8dac5d2659adb8354140707b605c520a3a1679935bacac +size 25590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong01.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong01.uasset new file mode 100644 index 0000000..5b3e7d7 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e842eab2126faca879ccd571cd7537c6aa6959e7c4c7d9c423604cf71b09220 +size 97711 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy.uasset new file mode 100644 index 0000000..c880a08 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c9c646d544128858ed3d78be97a11b1f310469bfbf85087e4b7527910dfb314 +size 123537 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy001.uasset new file mode 100644 index 0000000..ec0636b --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong01Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f38bd5c89e96e9bc5240a9f266e340015d9acbda7e29c8fe1025e535313fdadc +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong02.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong02.uasset new file mode 100644 index 0000000..26870fe --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68aba27285be38f79f569b094e7cb07fc11167a420d5906937394275a301a849 +size 95967 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy.uasset new file mode 100644 index 0000000..236bb59 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc7b209d3f0ff2508ae2dca9a9b4397db7f9441a610c7284fdda1ef28e063976 +size 136581 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy001.uasset new file mode 100644 index 0000000..f7595eb --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong02Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5aef5adf53efddb25b4a1bc9c084a0425d50a3abc4cd1a99b826035d3ded2985 +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong03.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong03.uasset new file mode 100644 index 0000000..5aa4436 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e01cdd8163d91f31b0832b23e67de6475f7231346cf9ef31ca74f744ee9f4049 +size 91324 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy.uasset new file mode 100644 index 0000000..17339f7 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0570ba5900a26104bceba563226b8b2276008e4ad6329d4e78317650aa780e4b +size 118190 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy001.uasset new file mode 100644 index 0000000..93692ca --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong03Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ad4dd93945594b0883d1dcd992eb4510608f53547b3389c332de12ca017c54e +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong04.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong04.uasset new file mode 100644 index 0000000..048c59c --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14dba9bfb908b0f095c7bd243caed87ee65f70de984b47a3fbf9be926f390102 +size 70702 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy.uasset new file mode 100644 index 0000000..5ffefc3 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:233135cc9474009c021f163cae8156129acfdbeede57102cb8d03ecc7af730a3 +size 96522 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy001.uasset new file mode 100644 index 0000000..447e5e7 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong04Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ca6fadc9fcc26a0ae83503199b77092763f557f8283bd1da1408808c390747 +size 1307 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong05.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong05.uasset new file mode 100644 index 0000000..2212b2a --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1866d2fef44d434b5e1297e18993a78105b884f6f82d27233fb39777b477474d +size 76104 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy.uasset new file mode 100644 index 0000000..7ed8e24 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98927a72ece08c2613f745bea59eecf6e199ba3770fdda673fff89d0f5b1efc9 +size 88023 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy001.uasset new file mode 100644 index 0000000..5a0f99a --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong05Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e6b3fdc9d09b7b22c7ec920fc4444f6a9397f3df6bfa647329fd64b4d1ce4f3 +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong06.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong06.uasset new file mode 100644 index 0000000..4af3f9c --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:957d9ba2044fc67148392bf7bea18b6e76fe5b4f2930b88e9a1a13933bc45dcd +size 98638 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy.uasset new file mode 100644 index 0000000..47691da --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ff2939c9b0c5a96bf8da1af4153122643e48551f2dbd57e7ab639a7130f9257 +size 110805 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy001.uasset new file mode 100644 index 0000000..3aa19fa --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong06Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4298a2321eb09fcb091ba65434014015280c7a72421abbaa3a4a00752063ce68 +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong07.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong07.uasset new file mode 100644 index 0000000..4c810d7 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cc7ba1d1d675c9d4801aeb35dd182fa21315b967049261a081a948ed5439e2a +size 146312 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy.uasset new file mode 100644 index 0000000..91fbc14 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f5e18f005b4e3f0e442530ec52e3601942cf9b9853d510b4489b291d8183924 +size 165578 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy001.uasset new file mode 100644 index 0000000..531b426 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong07Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e36d6317712dbae4d34bab16be37e8fe24d91d2ca5cef9dc76c562caedfe50b0 +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong08.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong08.uasset new file mode 100644 index 0000000..3fac569 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f95a111c529897a34c4d7f691d9eb95ef6b25ec315adeac3321a4bc9def5152 +size 149380 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy.uasset new file mode 100644 index 0000000..fed1284 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0fd11b614e6dd42f52976ef78c0d7c64ce9b3eb55b14f3a76e48a16bbad3203 +size 174228 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy001.uasset new file mode 100644 index 0000000..1f9f9c2 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong08Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8538a54c213a95f102cdeb8885614b11d082fdc0761b8e6dd0a5f18e93540ee +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong09.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong09.uasset new file mode 100644 index 0000000..bb27385 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:166d83d6071e9ebd9ff0156005cee4afce2b2efe6ac3358960b576ffdeab0934 +size 140794 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy.uasset new file mode 100644 index 0000000..292d3c2 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b881516c0ffe4d29e5f89262923437b90db289dbc237ebe945544c830560acad +size 171371 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy001.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy001.uasset new file mode 100644 index 0000000..73b2857 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong09Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d5ef6eab34c2ed5ad10a651b0bedb2e81abd452811e51863c03a118d2fda9b4 +size 1590 diff --git a/Content/QSH_Bingyong/Sequence/SE_BingYong09CopySon.uasset b/Content/QSH_Bingyong/Sequence/SE_BingYong09CopySon.uasset new file mode 100644 index 0000000..f2b5bab --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_BingYong09CopySon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6c9df3824e2513ad1d2332245b7decd7250cf29b343ed62704508454a02434d +size 132014 diff --git a/Content/QSH_Bingyong/Sequence/SE_GuAudio.uasset b/Content/QSH_Bingyong/Sequence/SE_GuAudio.uasset new file mode 100644 index 0000000..f26d3b8 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/SE_GuAudio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94511c98d5a294434ca7f0f2a03f9e3e32663ac2324a9f2c54a2fa3f1e50c706 +size 22311 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong01Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong01Copy.uasset new file mode 100644 index 0000000..45cb6ab --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong01Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d074ad85ab39dc1444fc970fde567a223204f30a1d14a093b34038780501d8 +size 132500 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong02Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong02Copy.uasset new file mode 100644 index 0000000..dd78c60 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6b2add584a095b8f4be205268e942f45475f452283d68fde1e2ebac4dbcb2f6 +size 84567 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong04Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong04Copy.uasset new file mode 100644 index 0000000..9324e4d --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong04Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74dffa2f2d710d1c4942e91b28c6008b8c545bca5d06f3c46126bc14d884f6bd +size 45475 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong05Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong05Copy.uasset new file mode 100644 index 0000000..dfd683b --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong05Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc909bc82f2166b86c1111467baaa1c95bcba2ed4696eac9cf0936807a0abdf6 +size 79816 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong06Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong06Copy.uasset new file mode 100644 index 0000000..04cd3de --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong06Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a59ee9cf295510d903f970ce825fd39fcaf8970d9759953d4fafb7687634d20 +size 80516 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong07Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong07Copy.uasset new file mode 100644 index 0000000..05e9b2b --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong07Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e7af8172899456adc130a954d2738f0439a986a0ec83c7c4e32c2aaf29eb024 +size 132369 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong08Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong08Copy.uasset new file mode 100644 index 0000000..be18a9e --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong08Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fb14f1ecfacbc812704285ba810bbed887a09d1869871148a5a9195a488e364 +size 99450 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong09Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong09Copy.uasset new file mode 100644 index 0000000..99be925 --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYong09Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f588ed3726ce6dd944332a5fa09b0533ea54bbfe8e199133b1b2a0672c619d4 +size 115104 diff --git a/Content/QSH_Bingyong/Sequence/Seq/SE_BingYongCopy03Copy.uasset b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYongCopy03Copy.uasset new file mode 100644 index 0000000..762126d --- /dev/null +++ b/Content/QSH_Bingyong/Sequence/Seq/SE_BingYongCopy03Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ffef08ebe1b49fac80a68dc0be3a92fdebdefbd6f594d23130b1d45c1026fec +size 96090 diff --git a/Content/QSH_Bingyong/Texture/bingyong_renderBG_0000.uasset b/Content/QSH_Bingyong/Texture/bingyong_renderBG_0000.uasset new file mode 100644 index 0000000..a07753c --- /dev/null +++ b/Content/QSH_Bingyong/Texture/bingyong_renderBG_0000.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00bb23210ee07f5829e7b7d200aa80f52a81a0279118ae456b564f2a5d2ef38a +size 121558007 diff --git a/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst10.uasset b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst10.uasset new file mode 100644 index 0000000..050625c --- /dev/null +++ b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a76ecde552a4843cb509e395a1ff278bd2b6764ad4596d8fb67e531af0100b19 +size 1579 diff --git a/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst12.uasset b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst12.uasset new file mode 100644 index 0000000..742196d --- /dev/null +++ b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:174c122a4269b79e231999357faedb4a0e42d2997b158430fbc8cdee8481f583 +size 1579 diff --git a/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst9.uasset b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst9.uasset new file mode 100644 index 0000000..2dc22cb --- /dev/null +++ b/Content/QSH_Bingyong/Texture/zhuan_COLOR_Mat_Inst9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c06335955b60aaf1a0dcbadc0ff8d9355a97de0c291f085cb138ab1cc383cbf +size 1571 diff --git a/Content/QSH_Bingyong/bingyong.uasset b/Content/QSH_Bingyong/bingyong.uasset new file mode 100644 index 0000000..4aa0f27 --- /dev/null +++ b/Content/QSH_Bingyong/bingyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a45261ca16c29d39f37a6a42fa8cbc43ee7f7b53298bfbc3928bcca9a8635e89 +size 2098 diff --git a/Content/QSH_ChangLang/Audio/torch点燃火把_.uasset b/Content/QSH_ChangLang/Audio/torch点燃火把_.uasset new file mode 100644 index 0000000..b77de63 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/torch点燃火把_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a61d1ba3c020435bce9cadce8dc5c0a549070e8babc1b2aa49a7b88644e0e640 +size 176524 diff --git a/Content/QSH_ChangLang/Audio/石门打开.uasset b/Content/QSH_ChangLang/Audio/石门打开.uasset new file mode 100644 index 0000000..ec1bb37 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/石门打开.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b52e8d012832adb8af4db7349c2ec5af34d6d6ffc3fb6dd17766d6ea0d61d3 +size 828557 diff --git a/Content/QSH_ChangLang/Audio/长明灯-01.uasset b/Content/QSH_ChangLang/Audio/长明灯-01.uasset new file mode 100644 index 0000000..3de3449 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6449173325a6bd3122f914f4342464f4d56820c8c687d9fdd28f34a10775c87 +size 2662052 diff --git a/Content/QSH_ChangLang/Audio/长明灯-03.uasset b/Content/QSH_ChangLang/Audio/长明灯-03.uasset new file mode 100644 index 0000000..68ba82a --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7abb0bd991a279f9670d9934e595e8d72bd5ebfea381fee8c26d57fc07829497 +size 5681041 diff --git a/Content/QSH_ChangLang/Audio/长明灯-05.uasset b/Content/QSH_ChangLang/Audio/长明灯-05.uasset new file mode 100644 index 0000000..89f1ee5 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36056d97e410e54eddef091214b515c52bfcf367e7f866d80f9a22ab2c89e8cc +size 1727005 diff --git a/Content/QSH_ChangLang/Audio/长明灯-07.uasset b/Content/QSH_ChangLang/Audio/长明灯-07.uasset new file mode 100644 index 0000000..b7e4256 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89f86317d8e1deacac08046d5a1882ab148c2c52371cd60bce7843eb002a732d +size 1867194 diff --git a/Content/QSH_ChangLang/Audio/长明灯-09.uasset b/Content/QSH_ChangLang/Audio/长明灯-09.uasset new file mode 100644 index 0000000..4be4b2c --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42a4f88244efbdf46cf896c64cdb144f70d30414904a746bb112891c6a6d046b +size 920797 diff --git a/Content/QSH_ChangLang/Audio/长明灯-11.uasset b/Content/QSH_ChangLang/Audio/长明灯-11.uasset new file mode 100644 index 0000000..c853c10 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21c3c55e66b019e4af247b13de784e6214ab336b7ed07316047af971260346ba +size 1632523 diff --git a/Content/QSH_ChangLang/Audio/长明灯-13.uasset b/Content/QSH_ChangLang/Audio/长明灯-13.uasset new file mode 100644 index 0000000..66aed7e --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea3aef720ce83f3b224cc59faef11d9ce3ec34609582c75922d385ba2cfcfdf5 +size 3196443 diff --git a/Content/QSH_ChangLang/Audio/长明灯-15.uasset b/Content/QSH_ChangLang/Audio/长明灯-15.uasset new file mode 100644 index 0000000..2e43273 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46479d8ac67db9265a107ac6f2f3e3c0c75d3552a375df37024aa79a14478bb5 +size 2095701 diff --git a/Content/QSH_ChangLang/Audio/长明灯-17.uasset b/Content/QSH_ChangLang/Audio/长明灯-17.uasset new file mode 100644 index 0000000..18b3a40 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ba3e0f0c7f2e88fc3f0a4b554721cb048bb75f3c1e39e2431222eb70d60726 +size 2244906 diff --git a/Content/QSH_ChangLang/Audio/长明灯-19.uasset b/Content/QSH_ChangLang/Audio/长明灯-19.uasset new file mode 100644 index 0000000..7112bad --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08b428dba6269ca8868b072377539163f3cb1515a2e5582be3cf1c1a866ba702 +size 1423585 diff --git a/Content/QSH_ChangLang/Audio/长明灯-20.uasset b/Content/QSH_ChangLang/Audio/长明灯-20.uasset new file mode 100644 index 0000000..ee981f0 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/长明灯-20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c06a6102fef815a427746ff5a7977a98aa20e0f6e713a42ee81881ade211eaeb +size 1614409 diff --git a/Content/QSH_ChangLang/Audio/音效_戳地.uasset b/Content/QSH_ChangLang/Audio/音效_戳地.uasset new file mode 100644 index 0000000..9319054 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_戳地.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a70d810be677fe41622fd15cf47dfa8c7346e792889c9c26c532a68c9e9d04a1 +size 212538 diff --git a/Content/QSH_ChangLang/Audio/音效_枪戳地.uasset b/Content/QSH_ChangLang/Audio/音效_枪戳地.uasset new file mode 100644 index 0000000..370324f --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_枪戳地.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d16371e086875c8ec9a63e6da3712256162ffbfd7cbd5f72fd50a46d327ac1d +size 59082 diff --git a/Content/QSH_ChangLang/Audio/音效_石头滚落.uasset b/Content/QSH_ChangLang/Audio/音效_石头滚落.uasset new file mode 100644 index 0000000..0c9d337 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_石头滚落.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cde7a063dd295fd839c05b36aad76512ce83bca59a74ee41c39e894517c4f6dd +size 3023705 diff --git a/Content/QSH_ChangLang/Audio/音效_虫子爬.uasset b/Content/QSH_ChangLang/Audio/音效_虫子爬.uasset new file mode 100644 index 0000000..bf33908 --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_虫子爬.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40832b9a95144ccf5d5ddc4481a23541055b42f396788c6f45415de79c78c66 +size 132586 diff --git a/Content/QSH_ChangLang/Audio/音效_金属碰撞.uasset b/Content/QSH_ChangLang/Audio/音效_金属碰撞.uasset new file mode 100644 index 0000000..1d6ba5b --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_金属碰撞.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c7204221cb607fb581c02b6a3312df15a1c97276de483b7fd6c0a58b755515b +size 625298 diff --git a/Content/QSH_ChangLang/Audio/音效_金属碰撞2.uasset b/Content/QSH_ChangLang/Audio/音效_金属碰撞2.uasset new file mode 100644 index 0000000..8edcdae --- /dev/null +++ b/Content/QSH_ChangLang/Audio/音效_金属碰撞2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d934feb293a7c49e60ba3ae31a5eb8aeacd4adc67822293550eaf99d54e1e57f +size 693234 diff --git a/Content/QSH_ChangLang/BP_deng.uasset b/Content/QSH_ChangLang/BP_deng.uasset new file mode 100644 index 0000000..a2f4de0 --- /dev/null +++ b/Content/QSH_ChangLang/BP_deng.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8eba6d8aee417ce9c693cc9a0fc014dceca64d2d4e1dd97fe5821db2889f1d7 +size 37332 diff --git a/Content/QSH_ChangLang/L_ChangLang260.umap b/Content/QSH_ChangLang/L_ChangLang260.umap new file mode 100644 index 0000000..cf01fa3 --- /dev/null +++ b/Content/QSH_ChangLang/L_ChangLang260.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b06747d2fe5b7384d8b6002167cc6bd5340414be8da7824e5f76dc6c657ca4d +size 1013506 diff --git a/Content/QSH_ChangLang/L_ChangLang280.umap b/Content/QSH_ChangLang/L_ChangLang280.umap new file mode 100644 index 0000000..35728c1 --- /dev/null +++ b/Content/QSH_ChangLang/L_ChangLang280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb0c958a1b97de51f7556e86310e4e02ccf7e4df6acc1bd09e9a978ed05eb93 +size 616670 diff --git a/Content/QSH_ChangLang/L_ChangLang290.umap b/Content/QSH_ChangLang/L_ChangLang290.umap new file mode 100644 index 0000000..753582a --- /dev/null +++ b/Content/QSH_ChangLang/L_ChangLang290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc87f1bf2787e6d927898f4c5dd082bdc36661dad6bb5e7602be746155f4a6fb +size 990740 diff --git a/Content/QSH_ChangLang/L_ChangLang330.umap b/Content/QSH_ChangLang/L_ChangLang330.umap new file mode 100644 index 0000000..7c1a3c8 --- /dev/null +++ b/Content/QSH_ChangLang/L_ChangLang330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8def6db799470b5a77e9b925cf15e873f426ec87d3283ccb214d95ffac59c700 +size 990812 diff --git a/Content/QSH_ChangLang/Mesh/Cube1.uasset b/Content/QSH_ChangLang/Mesh/Cube1.uasset new file mode 100644 index 0000000..eb99fdd --- /dev/null +++ b/Content/QSH_ChangLang/Mesh/Cube1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d345be87eebf38eba3f39e9a27c75ce9cad27e6b4e0d914509b794ea3f3a3ee +size 16728 diff --git a/Content/QSH_ChangLang/Mesh/SM_dimian.uasset b/Content/QSH_ChangLang/Mesh/SM_dimian.uasset new file mode 100644 index 0000000..d705f5f --- /dev/null +++ b/Content/QSH_ChangLang/Mesh/SM_dimian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa6571721a59a9fcfab4eb94913e11799f781a492c8f12bc6a0cb2e306c7466d +size 18706 diff --git a/Content/QSH_ChangLang/Mesh/SM_dimian02.uasset b/Content/QSH_ChangLang/Mesh/SM_dimian02.uasset new file mode 100644 index 0000000..85be7d8 --- /dev/null +++ b/Content/QSH_ChangLang/Mesh/SM_dimian02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8787db6c02df8e978dd2e67e213c78c0c904fbd7be58c18099a2234d1e472b89 +size 16431 diff --git a/Content/QSH_ChangLang/SE_Audio.uasset b/Content/QSH_ChangLang/SE_Audio.uasset new file mode 100644 index 0000000..6f2745e --- /dev/null +++ b/Content/QSH_ChangLang/SE_Audio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1de2c6f68bfd937dbf9420d9f54292504bd4019e961c5bb422ecedd7ae32692 +size 27596 diff --git a/Content/QSH_ChangLang/SK_shitou.uasset b/Content/QSH_ChangLang/SK_shitou.uasset new file mode 100644 index 0000000..1b1cbcb --- /dev/null +++ b/Content/QSH_ChangLang/SK_shitou.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:399200f60120ec35948048835efec108bdf7c888ee2cd62a89751eeb556425cd +size 3105870 diff --git a/Content/QSH_ChangLang/SK_shitou_Anim.uasset b/Content/QSH_ChangLang/SK_shitou_Anim.uasset new file mode 100644 index 0000000..8eb0f6a --- /dev/null +++ b/Content/QSH_ChangLang/SK_shitou_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:387d53f04db2360b5b369a43007e110ded2006b66fc19e13d6bbeb0899a372c0 +size 24812 diff --git a/Content/QSH_ChangLang/SK_shitou_PhysicsAsset.uasset b/Content/QSH_ChangLang/SK_shitou_PhysicsAsset.uasset new file mode 100644 index 0000000..bfd679b --- /dev/null +++ b/Content/QSH_ChangLang/SK_shitou_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1435b2153ed70cd74efd3d22778347cf0dc3ab651d5594faf163fe9d3f79797 +size 6340 diff --git a/Content/QSH_ChangLang/SK_shitou_Skeleton.uasset b/Content/QSH_ChangLang/SK_shitou_Skeleton.uasset new file mode 100644 index 0000000..4cb902c --- /dev/null +++ b/Content/QSH_ChangLang/SK_shitou_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aececc8e19a960cece7bcae35b6222eadd3fe070c35c4f6bd72666097ec30431 +size 5753 diff --git a/Content/QSH_ChangLang/SM_changLangmesh.uasset b/Content/QSH_ChangLang/SM_changLangmesh.uasset new file mode 100644 index 0000000..b51a6a5 --- /dev/null +++ b/Content/QSH_ChangLang/SM_changLangmesh.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77a3c1352e7b48396766447ad817a5968178455e9c453b319a4b2bf7b7ea7ea5 +size 3623651 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_EndCopy280.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_EndCopy280.uasset new file mode 100644 index 0000000..1fdbb96 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_EndCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a55b661b91d296e5a078875da760a38914b299572549526da09ff6afb443366 +size 132446 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_InteractionCopy280.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_InteractionCopy280.uasset new file mode 100644 index 0000000..1d9bbc3 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_InteractionCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff80fd78c1ba74177d72a3049814c87c96325742b8534092c432092df232164 +size 83175 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_StandByCopy280.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_StandByCopy280.uasset new file mode 100644 index 0000000..5488400 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_StandByCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4567ee8299b68080759bb3c94ca074845e981c2cfccc298f4b7e2d23ac9a1bcd +size 74498 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_startCopy280.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_startCopy280.uasset new file mode 100644 index 0000000..faa6d53 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_startCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:512e54ee1add50bf1f7983708d77613036c0314e1557db4f37c4b58ce812f083 +size 93919 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280.uasset new file mode 100644 index 0000000..3e2242a --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68bc9f36c8d1e6223cd0f50dd02347555440b5a8c1ac68a54fccbdd4e5a3b060 +size 109392 diff --git a/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280daiji.uasset b/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280daiji.uasset new file mode 100644 index 0000000..0adf30e --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/Se_CL_start_02Copy280daiji.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8d97147641ce589275764cfa567ac22dca57e14e41d1926d1fa3ef7c7fa9d6b +size 102734 diff --git a/Content/QSH_ChangLang/Se/280/sub/SE_Audio.uasset b/Content/QSH_ChangLang/Se/280/sub/SE_Audio.uasset new file mode 100644 index 0000000..640dc10 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/SE_Audio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dd57ba63e674025baec8cdb0af909aba604308be044b1a7145a9c9c2e6cc33e +size 30333 diff --git a/Content/QSH_ChangLang/Se/280/sub/SE_Audio2_280.uasset b/Content/QSH_ChangLang/Se/280/sub/SE_Audio2_280.uasset new file mode 100644 index 0000000..f1a4dfc --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/SE_Audio2_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a31f362b5d97612998f489073b31f1ff392e6ae9c7fbe6818a3b17a7bb7a4c7f +size 24789 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_TouchLighten280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_TouchLighten280.uasset new file mode 100644 index 0000000..d950515 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_TouchLighten280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4ec7a3f665bbbe7493d2f21d0ffdf91061b0339810986a33ec81d74568f1a8 +size 45084 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_light280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_light280.uasset new file mode 100644 index 0000000..7d08138 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_light280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57e16f0340826f664f6660ab58917a02aa2cbd57f6d97e963e050e4f2df92ae +size 475546 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_nolightBegin280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_nolightBegin280.uasset new file mode 100644 index 0000000..3d0eeb1 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_nolightBegin280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fe56fa62c03a13020512dc0bcc76d70c50559ef0ae7b683915c94d7cc7396a4 +size 477828 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie01_280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie01_280.uasset new file mode 100644 index 0000000..651c61f --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie01_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b057556592ec730888a6f44e5f7572010eb1cf0e6bc7ccba69fb8477fbb04987 +size 26981 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie02_280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie02_280.uasset new file mode 100644 index 0000000..de130da --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie02_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39cedee92644cbd1d237f113ba1d0f5582eef64a69a7886511257995996f8b19 +size 26903 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie03_280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie03_280.uasset new file mode 100644 index 0000000..3782d12 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie03_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d248d8c69f236f4bab46dbe5f50f992f8c6d6a645d6352cc06eac012eee56df7 +size 27055 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie04_280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie04_280.uasset new file mode 100644 index 0000000..c3f0de4 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie04_280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9610d6dd9b3398c08f81ac71eb43a1e2a7df1e4f78aa2dfb2c2b68deedcca085 +size 26887 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_05.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_05.uasset new file mode 100644 index 0000000..125eb24 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b81925323795c5a7b32a63c32dca7351b151596e0701aa025660f8e57457de42 +size 32953 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_06.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_06.uasset new file mode 100644 index 0000000..dfec29b --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0e1fc6ceb271d30ac84fd97a1558f6922383662570b8995fc148d47fe4dde39 +size 31086 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_07.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_07.uasset new file mode 100644 index 0000000..b2eb4e4 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c241ba1d1576deadb72ce9e2315416d538c0ed459ef95cc88048c39a46afcad +size 31794 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_08.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_08.uasset new file mode 100644 index 0000000..bd1fa6d --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_shibie280_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4319a963752bf7f17c490837e801a28ced11e95b3d737f50c10b1bd18e3b6a4 +size 32597 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_zhuanchang280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_zhuanchang280.uasset new file mode 100644 index 0000000..2d13514 --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_zhuanchang280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:020e136de397f4bacdac0f54a7adda19ec1740b12bb000fdaeba235013e21e8a +size 38622 diff --git a/Content/QSH_ChangLang/Se/280/sub/Se_zudang280.uasset b/Content/QSH_ChangLang/Se/280/sub/Se_zudang280.uasset new file mode 100644 index 0000000..79585ae --- /dev/null +++ b/Content/QSH_ChangLang/Se/280/sub/Se_zudang280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ee1f12c7aebd652a725db979fd2ca67b5fe65dcafa2986e197ebf44330717d +size 24115 diff --git a/Content/QSH_ChangLang/Se/290/Se_CL_EndCopy290.uasset b/Content/QSH_ChangLang/Se/290/Se_CL_EndCopy290.uasset new file mode 100644 index 0000000..e955d65 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Se_CL_EndCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9275b32b93a2d3f16d410e1575637d0ae7199ae53763fdb70d27bf7bad60e262 +size 165161 diff --git a/Content/QSH_ChangLang/Se/290/Se_CL_InteractionCopy290.uasset b/Content/QSH_ChangLang/Se/290/Se_CL_InteractionCopy290.uasset new file mode 100644 index 0000000..c1e2882 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Se_CL_InteractionCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b55ff21048ed515f9a5521ef1e55adaaa14126a98aa67003593812b5b8e546c +size 74787 diff --git a/Content/QSH_ChangLang/Se/290/Se_CL_StandByCopy290.uasset b/Content/QSH_ChangLang/Se/290/Se_CL_StandByCopy290.uasset new file mode 100644 index 0000000..be1aea0 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Se_CL_StandByCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fbd8a1c8f6b2f631e3dbcba2fb0780f7ec5d183a306b6881ea80a3036ca9fc1 +size 69817 diff --git a/Content/QSH_ChangLang/Se/290/Se_CL_startCopy290.uasset b/Content/QSH_ChangLang/Se/290/Se_CL_startCopy290.uasset new file mode 100644 index 0000000..1162565 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Se_CL_startCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c40c2f14fc34c1b9235d7cd41cd4885ee5b0fc9ca4423dca03ea67850bec45bd +size 92710 diff --git a/Content/QSH_ChangLang/Se/290/Se_CL_start_02Copy290.uasset b/Content/QSH_ChangLang/Se/290/Se_CL_start_02Copy290.uasset new file mode 100644 index 0000000..9992e6c --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Se_CL_start_02Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f72da0360b4f39673e7ec4dda662f51c0d758526762700be51d1ec874aa9902e +size 89129 diff --git a/Content/QSH_ChangLang/Se/290/Sub/SE_Audio290.uasset b/Content/QSH_ChangLang/Se/290/Sub/SE_Audio290.uasset new file mode 100644 index 0000000..e39caf7 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/SE_Audio290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd172e37fe6dfa8f3380fcce3e31a87bab7131a3e20159db459dd534be45c1eb +size 30135 diff --git a/Content/QSH_ChangLang/Se/290/Sub/SE_Audio2_290.uasset b/Content/QSH_ChangLang/Se/290/Sub/SE_Audio2_290.uasset new file mode 100644 index 0000000..2c5b6f7 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/SE_Audio2_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8038b8c54b50de15cf377c4ca7fc32e2427c94e819a15ae4d7cbef9bd3eecc38 +size 17165 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_TouchLighten290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_TouchLighten290.uasset new file mode 100644 index 0000000..83573fe --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_TouchLighten290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02d2bed192b736612740de91d07ccaea57c5edf2823346ed735ed00c5108d7ee +size 44933 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_light290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_light290.uasset new file mode 100644 index 0000000..2bdbb28 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_light290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a8f02783674418f828e59610a321b9cce882fd2344a082795823c3fe538b0c1 +size 482343 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_nolightBegin290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_nolightBegin290.uasset new file mode 100644 index 0000000..3665c0a --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_nolightBegin290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97232704fa69d90b54ec499046a966c9d143aa6954f0a13a9af19bb76c06d56d +size 493299 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_shibie01_290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie01_290.uasset new file mode 100644 index 0000000..eae0300 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie01_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7597ad809b9fab5492ea987619f2c6112801bd9b30420912d6c2642f1f605163 +size 19435 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_shibie02_290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie02_290.uasset new file mode 100644 index 0000000..2b09112 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie02_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773672b7d7dfb79eacd90c73bfef20a58200c8789b073513ead6ba53b7ede38e +size 19434 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_shibie03_290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie03_290.uasset new file mode 100644 index 0000000..341588c --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie03_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff4e45df9403f7a860e2555cde220381dd96302591ad4de02667a7ca3fbde59f +size 19434 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_shibie04_290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie04_290.uasset new file mode 100644 index 0000000..d0f6bc5 --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_shibie04_290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:328b2fc2d52a13b674a88ef1c30b487dea82659f21fbe0c60d6a9ed5f527af3a +size 19434 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_zhuanchang290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_zhuanchang290.uasset new file mode 100644 index 0000000..30f51ec --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_zhuanchang290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:518f190f34379d74b9f20f1bae5588f9f986db192f9f3a5f46581307f588304a +size 48260 diff --git a/Content/QSH_ChangLang/Se/290/Sub/Se_zudang290.uasset b/Content/QSH_ChangLang/Se/290/Sub/Se_zudang290.uasset new file mode 100644 index 0000000..2eb0ecf --- /dev/null +++ b/Content/QSH_ChangLang/Se/290/Sub/Se_zudang290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70cd8948c649fc139c0e374581a96df3573519b8389ea175c1bbc0376de1eb7d +size 16624 diff --git a/Content/QSH_ChangLang/Se/330/Se_CL_EndCopy330.uasset b/Content/QSH_ChangLang/Se/330/Se_CL_EndCopy330.uasset new file mode 100644 index 0000000..7a3182c --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Se_CL_EndCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f08bb95b016b1a05d9c0a2b18749398d921649d356ca970a4b5aec453edbce3 +size 165387 diff --git a/Content/QSH_ChangLang/Se/330/Se_CL_InteractionCopy330.uasset b/Content/QSH_ChangLang/Se/330/Se_CL_InteractionCopy330.uasset new file mode 100644 index 0000000..559246c --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Se_CL_InteractionCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52db67e393931e6c5fba99cf5fde5557b5c2a12307d419eb7a3ad59a9a18418b +size 75183 diff --git a/Content/QSH_ChangLang/Se/330/Se_CL_StandByCopy330.uasset b/Content/QSH_ChangLang/Se/330/Se_CL_StandByCopy330.uasset new file mode 100644 index 0000000..c1f0796 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Se_CL_StandByCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5110e56d212e2f111cb2a2a29bc0971fbf96d959ec38ed962e5f1fbad5282aa8 +size 63323 diff --git a/Content/QSH_ChangLang/Se/330/Se_CL_startCopy330.uasset b/Content/QSH_ChangLang/Se/330/Se_CL_startCopy330.uasset new file mode 100644 index 0000000..99348a3 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Se_CL_startCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471cf3eda21a98cd98566928215e79d5537c896ee48a10b67a45c2bfd94f8cc8 +size 86037 diff --git a/Content/QSH_ChangLang/Se/330/Se_CL_start_02Copy330.uasset b/Content/QSH_ChangLang/Se/330/Se_CL_start_02Copy330.uasset new file mode 100644 index 0000000..4adc50a --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Se_CL_start_02Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3366471e7752138d82b81c459e77cb3acfcaa54f8f7383987b53e6416b9a308 +size 89868 diff --git a/Content/QSH_ChangLang/Se/330/Sub/SE_Audio2_330.uasset b/Content/QSH_ChangLang/Se/330/Sub/SE_Audio2_330.uasset new file mode 100644 index 0000000..784a52b --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/SE_Audio2_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad82c44ca2090cd1e8c3b510b429fc2a98b44adac2d401643fd4b8ada678735 +size 17165 diff --git a/Content/QSH_ChangLang/Se/330/Sub/SE_Audio330.uasset b/Content/QSH_ChangLang/Se/330/Sub/SE_Audio330.uasset new file mode 100644 index 0000000..f222d66 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/SE_Audio330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ec0a4ba6339a912d4eaa1ee2308ca0e1e0fd325891f0f23ef6a06ea1cc91f2 +size 22106 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_TouchLighten330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_TouchLighten330.uasset new file mode 100644 index 0000000..4077c5b --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_TouchLighten330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b137ff36397047fa139134ba7969aed55093a95065f9f710e7ac1891759dbba +size 37141 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_light330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_light330.uasset new file mode 100644 index 0000000..6e6d319 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_light330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a1501e183c72417e7ae42a5cbfd8f518b64e445c61226fd9860d5249cde7b6a +size 505198 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_nolightBegin330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_nolightBegin330.uasset new file mode 100644 index 0000000..4333e86 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_nolightBegin330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:441340af3d13f6194dbbfc0aefd8b27e9173a3d75928483d66f6669a39b559cf +size 501413 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_shibie01_330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie01_330.uasset new file mode 100644 index 0000000..e60188a --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie01_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16759b2c35ee8cef9dd7bb66801d74c42f5fb815604d8b76c29384d90d429a7e +size 19435 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_shibie02_330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie02_330.uasset new file mode 100644 index 0000000..f4b616c --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie02_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7a77f003ce85d5a47aebb671935e85662767cad86d6f709eb7f5c2e077a197f +size 19434 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_shibie03_330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie03_330.uasset new file mode 100644 index 0000000..43b4343 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie03_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d47fe687a07a833348315efb8525ffcd9a6102ce554429c4eef99e450a9aa5 +size 19434 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_shibie04_330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie04_330.uasset new file mode 100644 index 0000000..91bfba0 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_shibie04_330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bd36f27b27ce23773d0e10f8c2f82e7e7c70a92b75a4c24d66a715d7a4a7083 +size 19434 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_zhuanchang330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_zhuanchang330.uasset new file mode 100644 index 0000000..d1b8648 --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_zhuanchang330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:908d686699396ea8166fb0d833827a282bdac4766faca0696695784cea819721 +size 40770 diff --git a/Content/QSH_ChangLang/Se/330/Sub/Se_zudang330.uasset b/Content/QSH_ChangLang/Se/330/Sub/Se_zudang330.uasset new file mode 100644 index 0000000..3edee6d --- /dev/null +++ b/Content/QSH_ChangLang/Se/330/Sub/Se_zudang330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c87cd103f6dd2533c8bdcd0c8863e31bb454cac5319a9cc310256a22bf44de86 +size 24497 diff --git a/Content/QSH_ChangLang/Se/Se_CL_End.uasset b/Content/QSH_ChangLang/Se/Se_CL_End.uasset new file mode 100644 index 0000000..0496614 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Se_CL_End.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f4eaf5844246a4125ff838e5d9b5ee7ec80c6c2a304135d17930bcee423db2c +size 107436 diff --git a/Content/QSH_ChangLang/Se/Se_CL_Interaction.uasset b/Content/QSH_ChangLang/Se/Se_CL_Interaction.uasset new file mode 100644 index 0000000..841b987 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Se_CL_Interaction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b43a644f78a7d9392252dfa59d7c67ecae52405f4594d220797867d943ecac +size 40129 diff --git a/Content/QSH_ChangLang/Se/Se_CL_StandBy.uasset b/Content/QSH_ChangLang/Se/Se_CL_StandBy.uasset new file mode 100644 index 0000000..026c528 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Se_CL_StandBy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70b690b7c718495ed9d7ae49582ced3a7c154c30d962c98440bfa487a8c1ad15 +size 32669 diff --git a/Content/QSH_ChangLang/Se/Se_CL_start.uasset b/Content/QSH_ChangLang/Se/Se_CL_start.uasset new file mode 100644 index 0000000..9bfedf7 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Se_CL_start.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38dc7badb773efc883d8482cb27d34c3f046476065be9812be1b3de6b3ca5d5d +size 58305 diff --git a/Content/QSH_ChangLang/Se/Se_CL_start_02.uasset b/Content/QSH_ChangLang/Se/Se_CL_start_02.uasset new file mode 100644 index 0000000..e81600d --- /dev/null +++ b/Content/QSH_ChangLang/Se/Se_CL_start_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f6b6250619aed81522d3fa1f74ddb3edea7f312a9542a5a827e12a7082ef5ce +size 67477 diff --git a/Content/QSH_ChangLang/Se/Seq/Se_CL_EndCopy.uasset b/Content/QSH_ChangLang/Se/Seq/Se_CL_EndCopy.uasset new file mode 100644 index 0000000..a7bb4c6 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Seq/Se_CL_EndCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e4b7274977b96fd4a7ff592380a9c2404ae3cf8f21386983d0b7a019a93eb0 +size 161303 diff --git a/Content/QSH_ChangLang/Se/Seq/Se_CL_InteractionCopy.uasset b/Content/QSH_ChangLang/Se/Seq/Se_CL_InteractionCopy.uasset new file mode 100644 index 0000000..69bb66a --- /dev/null +++ b/Content/QSH_ChangLang/Se/Seq/Se_CL_InteractionCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d7d5d8ce46dd4ae71e8b1501571c1519085a4034aba337c0d43fe28839627b1 +size 82144 diff --git a/Content/QSH_ChangLang/Se/Seq/Se_CL_StandByCopy.uasset b/Content/QSH_ChangLang/Se/Seq/Se_CL_StandByCopy.uasset new file mode 100644 index 0000000..fe8bd7b --- /dev/null +++ b/Content/QSH_ChangLang/Se/Seq/Se_CL_StandByCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d0fa5eb5ecfe84197cef8564da208a8f6391bd57222bc1ac1573a0a7fac12a2 +size 76212 diff --git a/Content/QSH_ChangLang/Se/Seq/Se_CL_startCopy.uasset b/Content/QSH_ChangLang/Se/Seq/Se_CL_startCopy.uasset new file mode 100644 index 0000000..06e6a47 --- /dev/null +++ b/Content/QSH_ChangLang/Se/Seq/Se_CL_startCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be84514419f50cfab9373be66f33675ddb5a3376d18cb2d27ac4bf19c895eeb8 +size 83841 diff --git a/Content/QSH_ChangLang/Se/Seq/Se_CL_start_02Copy.uasset b/Content/QSH_ChangLang/Se/Seq/Se_CL_start_02Copy.uasset new file mode 100644 index 0000000..16a4a2b --- /dev/null +++ b/Content/QSH_ChangLang/Se/Seq/Se_CL_start_02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4be70e18ba7dd024569157cea86bbea572e6bb9ccbd58b5530136718a7300fe2 +size 96083 diff --git a/Content/QSH_ChangLang/Se/sub/SE_Audio.uasset b/Content/QSH_ChangLang/Se/sub/SE_Audio.uasset new file mode 100644 index 0000000..ff405c9 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/SE_Audio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb95b4c06aadc32e6b5d2e77496e64072cec3ecf0a5e8bb2f15e5926b159d4b +size 31138 diff --git a/Content/QSH_ChangLang/Se/sub/SE_Audio2.uasset b/Content/QSH_ChangLang/Se/sub/SE_Audio2.uasset new file mode 100644 index 0000000..ab079f5 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/SE_Audio2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66e06c4abf7e2f055b5d31c0a6e8158934cff1ac5321ae21873a9ca4a0c3fe46 +size 27252 diff --git a/Content/QSH_ChangLang/Se/sub/Se_TouchLighten.uasset b/Content/QSH_ChangLang/Se/sub/Se_TouchLighten.uasset new file mode 100644 index 0000000..4bd662b --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_TouchLighten.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ec09b687570f343d3ec7600b00afc86a3e682cde5424f28ec8f8c125ee7422 +size 44767 diff --git a/Content/QSH_ChangLang/Se/sub/Se_light.uasset b/Content/QSH_ChangLang/Se/sub/Se_light.uasset new file mode 100644 index 0000000..ca8fb2f --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_light.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19eed56b90400b4e690a745bffbbdc1335fa20f0913bfb9c16bd7b1326dc33dc +size 459579 diff --git a/Content/QSH_ChangLang/Se/sub/Se_nolightBegin.uasset b/Content/QSH_ChangLang/Se/sub/Se_nolightBegin.uasset new file mode 100644 index 0000000..74a01f0 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_nolightBegin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c84b594080012fa83264e5c71ffc3431896b0fc46b4865dc5e3602a8ad3cb05a +size 432893 diff --git a/Content/QSH_ChangLang/Se/sub/Se_shibie01.uasset b/Content/QSH_ChangLang/Se/sub/Se_shibie01.uasset new file mode 100644 index 0000000..d49db59 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_shibie01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af7479b4804a16f7176d556fc6d3fc7ce06480f767925ca67a8e86b0bfd75ed1 +size 29784 diff --git a/Content/QSH_ChangLang/Se/sub/Se_shibie02.uasset b/Content/QSH_ChangLang/Se/sub/Se_shibie02.uasset new file mode 100644 index 0000000..0f6fd4b --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_shibie02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fb989e6479501338eef69964b19b9ba801cd704843505a7eadadad2bcddb603 +size 29891 diff --git a/Content/QSH_ChangLang/Se/sub/Se_shibie03.uasset b/Content/QSH_ChangLang/Se/sub/Se_shibie03.uasset new file mode 100644 index 0000000..c0f69b8 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_shibie03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef79756520f64cdb07d78ce8ccbf7df067813a85aa4584dc5f0ee099f09b83b2 +size 29973 diff --git a/Content/QSH_ChangLang/Se/sub/Se_shibie04.uasset b/Content/QSH_ChangLang/Se/sub/Se_shibie04.uasset new file mode 100644 index 0000000..6a46dde --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_shibie04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eebae6e203bebbafd341842048d7ce62f6e363a8e389d0c789f4b7e1c6a159fd +size 29893 diff --git a/Content/QSH_ChangLang/Se/sub/Se_zhuanchang.uasset b/Content/QSH_ChangLang/Se/sub/Se_zhuanchang.uasset new file mode 100644 index 0000000..bb0a877 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_zhuanchang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f80d0716c28dbd8063019582a7df0724d9ef88ca0bbb34dab80bba177dc20327 +size 40442 diff --git a/Content/QSH_ChangLang/Se/sub/Se_zudang.uasset b/Content/QSH_ChangLang/Se/sub/Se_zudang.uasset new file mode 100644 index 0000000..cb62a25 --- /dev/null +++ b/Content/QSH_ChangLang/Se/sub/Se_zudang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a11df00bf0eab4d4448b317d45b8bdb7f6e56144041feefb90dd70a866e808fd +size 26974 diff --git a/Content/QSH_ChangLang/shitou/长廊石头.uasset b/Content/QSH_ChangLang/shitou/长廊石头.uasset new file mode 100644 index 0000000..1e1a320 --- /dev/null +++ b/Content/QSH_ChangLang/shitou/长廊石头.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6031cd842994ceda0021a8ee7d3d3ab4231a40ee038f06a58619ab441f59102e +size 2514149 diff --git a/Content/QSH_ChangLang/shitou/长廊石头_Anim.uasset b/Content/QSH_ChangLang/shitou/长廊石头_Anim.uasset new file mode 100644 index 0000000..b18cf66 --- /dev/null +++ b/Content/QSH_ChangLang/shitou/长廊石头_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aef6f8d225c56938e09ecb3a36d444c8240df25dfe2e540f6d109b35a0e8c7d1 +size 21840 diff --git a/Content/QSH_ChangLang/shitou/长廊石头_PhysicsAsset.uasset b/Content/QSH_ChangLang/shitou/长廊石头_PhysicsAsset.uasset new file mode 100644 index 0000000..4870112 --- /dev/null +++ b/Content/QSH_ChangLang/shitou/长廊石头_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9d8f847e542ce7e24d25371a0656c38d58f1ae8630b3072160fc172b08a55c4 +size 8130 diff --git a/Content/QSH_ChangLang/shitou/长廊石头_Skeleton.uasset b/Content/QSH_ChangLang/shitou/长廊石头_Skeleton.uasset new file mode 100644 index 0000000..d2cca9a --- /dev/null +++ b/Content/QSH_ChangLang/shitou/长廊石头_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cd5dcfe069fc1c2dcd5dae735b071c78424e073fc49f143821110d0ea714a47 +size 7566 diff --git a/Content/QSH_JiGuang/Squencer/260/01jiannu260_01-10Copy.uasset b/Content/QSH_JiGuang/Squencer/260/01jiannu260_01-10Copy.uasset new file mode 100644 index 0000000..6a5b045 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260/01jiannu260_01-10Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b4cbc7713f85997a2059801662ba8762923e7c49eac60148102de58bece0f06 +size 297146 diff --git a/Content/QSH_JiGuang/Squencer/260/01jiannu_01-10Copy280.uasset b/Content/QSH_JiGuang/Squencer/260/01jiannu_01-10Copy280.uasset new file mode 100644 index 0000000..b6b4496 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260/01jiannu_01-10Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8330094aa64b3de558e78737ce2ed8383e9e160717d4cb357bf08792ac68329 +size 288440 diff --git a/Content/QSH_JiGuang/Squencer/260/03jiannu260_11-12Copy.uasset b/Content/QSH_JiGuang/Squencer/260/03jiannu260_11-12Copy.uasset new file mode 100644 index 0000000..804624f --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260/03jiannu260_11-12Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:058615ddb33434bd003504a51683e42b9b2515879702bd2997fbd4552b20a087 +size 96399 diff --git a/Content/QSH_JiGuang/Squencer/260/03jiannu_11-12Copy280.uasset b/Content/QSH_JiGuang/Squencer/260/03jiannu_11-12Copy280.uasset new file mode 100644 index 0000000..dd851c0 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260/03jiannu_11-12Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0849f9929adfc7ba6402616dbbafc0a11787c9b3f0bf798e4f4c1162dd65ff96 +size 88604 diff --git a/Content/QSH_JiGuang/Squencer/260_a/01jiannu_01-10Copy260a.uasset b/Content/QSH_JiGuang/Squencer/260_a/01jiannu_01-10Copy260a.uasset new file mode 100644 index 0000000..9537213 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260_a/01jiannu_01-10Copy260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ec523743ab0242d0d717fd96a5edc78e15ea143d033cb686ebadfd26ff21173 +size 295407 diff --git a/Content/QSH_JiGuang/Squencer/260_a/03jiannu_11-12Copy260a.uasset b/Content/QSH_JiGuang/Squencer/260_a/03jiannu_11-12Copy260a.uasset new file mode 100644 index 0000000..487d78a --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/260_a/03jiannu_11-12Copy260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:858c39217d3505c40379b22caadb8e57b32fa33fea78caf900e150b8749de381 +size 99047 diff --git a/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280.uasset b/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280.uasset new file mode 100644 index 0000000..13995f0 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2e217a261701bfbc7f30fa6d6cab117d43f35a1d3e1b66f20ab694fc8b0c029 +size 256291 diff --git a/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280daiji.uasset b/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280daiji.uasset new file mode 100644 index 0000000..a0fcd76 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/280/01jiannu_01-10Copy280daiji.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1a394d31e9763a5da70f8662786695d8b56b80cb97b05ea1cddcf1786e306c +size 294832 diff --git a/Content/QSH_JiGuang/Squencer/280/03jiannu_11-12Copy280.uasset b/Content/QSH_JiGuang/Squencer/280/03jiannu_11-12Copy280.uasset new file mode 100644 index 0000000..e7f648e --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/280/03jiannu_11-12Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21cd919b4012994b10575678570b1028ce029419fa71a4c114ce7ff1ae280823 +size 96912 diff --git a/Content/QSH_JiGuang/Squencer/290/01jiannu_01-10Copy290.uasset b/Content/QSH_JiGuang/Squencer/290/01jiannu_01-10Copy290.uasset new file mode 100644 index 0000000..a5bc024 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/290/01jiannu_01-10Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77b94825affd6721c07e387ef5f47ca88463204cd111753f809a13ad3f06f66a +size 296758 diff --git a/Content/QSH_JiGuang/Squencer/290/03jiannu_11-12Copy290.uasset b/Content/QSH_JiGuang/Squencer/290/03jiannu_11-12Copy290.uasset new file mode 100644 index 0000000..883f108 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/290/03jiannu_11-12Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:109439cc4a18e9a4e6348317583e43c1b1fd459cf82171488a1a35361c953744 +size 99372 diff --git a/Content/QSH_JiGuang/Squencer/330/01jiannu_01-10Copy330.uasset b/Content/QSH_JiGuang/Squencer/330/01jiannu_01-10Copy330.uasset new file mode 100644 index 0000000..ead49d1 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/330/01jiannu_01-10Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68d654648bca6ddf9216874acf8e701fc135c91c2abae9faa262fba8202732d3 +size 296950 diff --git a/Content/QSH_JiGuang/Squencer/330/03jiannu_11-12Copy330.uasset b/Content/QSH_JiGuang/Squencer/330/03jiannu_11-12Copy330.uasset new file mode 100644 index 0000000..f214fe7 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/330/03jiannu_11-12Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63cebde3ed5d20a0636669573b2f9e93ca0732a767eef1deaf08559bcfb6c925 +size 99609 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10.uasset new file mode 100644 index 0000000..b1ca35a --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cb9820dcd1e63143e637523a2f8cac603679b90ba13d3c0ea1dd957d441933c +size 324044 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10Copy.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10Copy.uasset new file mode 100644 index 0000000..24f062d --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/01jiannu260_01-10Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dddfbfe6e8e6d07833e4db73da72801f6bb5c237df8a1fc1e89551a9b40f7f0 +size 2775 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/03jiannu260_11-12.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/03jiannu260_11-12.uasset new file mode 100644 index 0000000..9b83325 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/03jiannu260_11-12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4416b9f75213089880d74c686c39fb4fe1a53f1140a00aa0fac0d461f62aa7f0 +size 98707 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/jianyu.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/jianyu.uasset new file mode 100644 index 0000000..b6d87ed --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/jianyu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92d8fe14f94aa6c5de39b67638367e8e43e083e2e1d42031f2590b280e9fc9c8 +size 28223 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_jiguang.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_jiguang.uasset new file mode 100644 index 0000000..c836366 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_jiguang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05ccda0e21c4f7fb8a2db67983246cb7006130eb4353a40e7afd8f8c2f3d1e24 +size 59134 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie.uasset new file mode 100644 index 0000000..e8c8181 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3492e42fdf07f2d5708d791c131bffae728083c6df47b462e688a539b3c08eda +size 91663 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie1.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie1.uasset new file mode 100644 index 0000000..7327758 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列/jiannu_zixulie1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e33e7baaebd81c4f0c296a3cb490d2ea176ea5169b5633946d4c08e1a70d3b4 +size 107389 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_jiguang260a.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_jiguang260a.uasset new file mode 100644 index 0000000..aaf56d2 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_jiguang260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fbf33aa02e0e1a09e989ed56b7658cfed847584d9464633d534eb9dccb57738 +size 68118 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie1260a.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie1260a.uasset new file mode 100644 index 0000000..fa35d8f --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie1260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fb97b94ad5d72b1198ce4b2937c277437422ec25abbcdb1f6658ce1c4e83be2 +size 106932 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie260a.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie260a.uasset new file mode 100644 index 0000000..da3ceb4 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jiannu_zixulie260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6464c41961509d5bc2ef9db2ba280538e0652a12372e6c4f01768b4bf50ef57 +size 96868 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jianyu260a.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jianyu260a.uasset new file mode 100644 index 0000000..737b318 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列260a/jianyu260a.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:049cdebe30714b9a7ead0da7921c3418f2911959a6a3f00a094822d047c39d76 +size 33466 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_jiguang280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_jiguang280.uasset new file mode 100644 index 0000000..0f0fabf --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_jiguang280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea634c00ac9008dccc95d636ef3f47199596ab3c755141e88222a51679490965 +size 59401 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie1280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie1280.uasset new file mode 100644 index 0000000..70eb09d --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie1280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8770fd38fa0f2250605ad8fc8a8c5e996b8d200e2b2345b3137d61fb7a68341 +size 108698 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie280.uasset new file mode 100644 index 0000000..37f5486 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jiannu_zixulie280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd83ec1bfc48bc46119fa5b361f99d33e6d33804ce87e7888d8c6b097b0bb910 +size 93986 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu1280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu1280.uasset new file mode 100644 index 0000000..cc150a8 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu1280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1bded3f4ee8219d155bb240cac720e514483f874a8b35b360585bdfdee43548 +size 14326 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu280.uasset new file mode 100644 index 0000000..b8e2d77 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6f6981db287fa0cc66551cf694863135fc4dc29888681e451f00ccbe2e7c49b +size 24588 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu_chuanyue280.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu_chuanyue280.uasset new file mode 100644 index 0000000..ecce84e --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列280/jianyu_chuanyue280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d101b494fc6deec8873b52056622ee6f2b1963adc379913bfaa618976ecb74e5 +size 22453 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_jiguang290.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_jiguang290.uasset new file mode 100644 index 0000000..53201eb --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_jiguang290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54ba0f24417d8ea655f76ca771fa96a022613d502c6e2340d05bf016f53b26a8 +size 67172 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie1290.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie1290.uasset new file mode 100644 index 0000000..e017bad --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie1290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8beb6c868fe82bfa98984c34a33f12c2befbaf1a813d685686cfe04a68dbc146 +size 106949 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie290.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie290.uasset new file mode 100644 index 0000000..337d761 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jiannu_zixulie290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7e0c36a7a260d20817b103fccdd9764134b29e4f21476e0c36f2db72341482d +size 96835 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jianyu290.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jianyu290.uasset new file mode 100644 index 0000000..a9e704f --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列290/jianyu290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bea16950b7c73a405f3d20c01886349a8f562e38e743d570907c8cefb0e85f9a +size 32282 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_jiguang330.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_jiguang330.uasset new file mode 100644 index 0000000..2313053 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_jiguang330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3802fe1c497f1c8c5cebf998eab3a99dc6f65df5b90c5d45889a650a47a9d24c +size 59401 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie1330.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie1330.uasset new file mode 100644 index 0000000..b449048 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie1330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01bd8f143201702b2c1e82e771ad6f87a4c0383db046e7dc2389d5a4fdfe78f9 +size 99420 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie330.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie330.uasset new file mode 100644 index 0000000..6bc8391 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jiannu_zixulie330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:661ebf2f9c8339298bf1071ef9b4f95b5bbd133f4c4290d184e5ef7571dd0c53 +size 96543 diff --git a/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jianyu330.uasset b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jianyu330.uasset new file mode 100644 index 0000000..2018ce7 --- /dev/null +++ b/Content/QSH_JiGuang/Squencer/jiguangzhen/子序列330/jianyu330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d542428ed22a3552100f063623636619ce95471b621ece6ff5c87c8eafd96fa2 +size 32094 diff --git a/Content/QSH_JiGuang/jiguangzhen260.umap b/Content/QSH_JiGuang/jiguangzhen260.umap new file mode 100644 index 0000000..7619837 --- /dev/null +++ b/Content/QSH_JiGuang/jiguangzhen260.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5313755f1c60570978a6d00d91eaf8b4867d8a944cb9c6c6678a04b3c1b2e7 +size 1240387 diff --git a/Content/QSH_JiGuang/jiguangzhen260_a.umap b/Content/QSH_JiGuang/jiguangzhen260_a.umap new file mode 100644 index 0000000..b7cf95b --- /dev/null +++ b/Content/QSH_JiGuang/jiguangzhen260_a.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99c6b97293d0badcb084e8c80eaeb06b16297f30b4585a69301638fb3f1ca1de +size 1278690 diff --git a/Content/QSH_JiGuang/jiguangzhen280.umap b/Content/QSH_JiGuang/jiguangzhen280.umap new file mode 100644 index 0000000..4bf384f --- /dev/null +++ b/Content/QSH_JiGuang/jiguangzhen280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2d4cab7b3c15a54f00c398fbd0f74e8c2110c0cb5983d2f3bb4b9a0056a1413 +size 408448 diff --git a/Content/QSH_JiGuang/jiguangzhen290.umap b/Content/QSH_JiGuang/jiguangzhen290.umap new file mode 100644 index 0000000..92b8c05 --- /dev/null +++ b/Content/QSH_JiGuang/jiguangzhen290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:696e9530374261f8c3a985224fa5d89a35e22615158b0fc89e5ce1caec7cb196 +size 1278218 diff --git a/Content/QSH_JiGuang/jiguangzhen330.umap b/Content/QSH_JiGuang/jiguangzhen330.umap new file mode 100644 index 0000000..7e4b5af --- /dev/null +++ b/Content/QSH_JiGuang/jiguangzhen330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e78ec91f0cf95a709039f71ad44dfe21c6f97b1480cd767b01309a315d382536 +size 1278149 diff --git a/Content/QSH_KaiChang/1kaichang1.umap b/Content/QSH_KaiChang/1kaichang1.umap new file mode 100644 index 0000000..097be57 --- /dev/null +++ b/Content/QSH_KaiChang/1kaichang1.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ba141b37dbecbd199efb50418796165595f18dc27422846f1e82ec8b1a9d637 +size 307882 diff --git a/Content/QSH_KaiChang/1kaichang290.umap b/Content/QSH_KaiChang/1kaichang290.umap new file mode 100644 index 0000000..715e934 --- /dev/null +++ b/Content/QSH_KaiChang/1kaichang290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4714495c00fc25e58121242be11524a067dfb77606fb3ec9013d76f021e784ea +size 310306 diff --git a/Content/QSH_KaiChang/1kaichang330.umap b/Content/QSH_KaiChang/1kaichang330.umap new file mode 100644 index 0000000..eca047e --- /dev/null +++ b/Content/QSH_KaiChang/1kaichang330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:409476cdf90c5154c5fad5c32c0932e08e91d4513171d3ba3963c7bebd2da59b +size 310379 diff --git a/Content/QSH_KaiChang/280/1kaichang280.umap b/Content/QSH_KaiChang/280/1kaichang280.umap new file mode 100644 index 0000000..76cdd0f --- /dev/null +++ b/Content/QSH_KaiChang/280/1kaichang280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6749fe0d6ff05ea49d1b60e5c928d3a18597447c9581f8d0abc674735e095a19 +size 411814 diff --git a/Content/QSH_KaiChang/Audio/开场-01.uasset b/Content/QSH_KaiChang/Audio/开场-01.uasset new file mode 100644 index 0000000..27bdd5a --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c09a6c57edc1871a59cf23168c4dbc476b327485e7005ab2c36f99b6e30deeee +size 2417156 diff --git a/Content/QSH_KaiChang/Audio/开场-03.uasset b/Content/QSH_KaiChang/Audio/开场-03.uasset new file mode 100644 index 0000000..f3796c8 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:230ebe68483b1423d1d2c5eb81ae556053c3ca8e3463734a9586f8f4f33a70f7 +size 1885057 diff --git a/Content/QSH_KaiChang/Audio/开场-05.uasset b/Content/QSH_KaiChang/Audio/开场-05.uasset new file mode 100644 index 0000000..cf5db1c --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78ee7cc31e5b5bccaabc8543fa3da5f7efab231450969213475b84ec56950623 +size 2289034 diff --git a/Content/QSH_KaiChang/Audio/开场-07.uasset b/Content/QSH_KaiChang/Audio/开场-07.uasset new file mode 100644 index 0000000..81ef820 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3267b6d0c00af003f44a1bded9ddca74e0d79ff3cf2b9fea038153c95e17d81b +size 2225165 diff --git a/Content/QSH_KaiChang/Audio/开场-09.uasset b/Content/QSH_KaiChang/Audio/开场-09.uasset new file mode 100644 index 0000000..9ae2275 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c7adcdc334379986732a1e6b5d9f0aa0259c1fe0b799f1d8c4d9e76def74a69 +size 3066586 diff --git a/Content/QSH_KaiChang/Audio/开场-11.uasset b/Content/QSH_KaiChang/Audio/开场-11.uasset new file mode 100644 index 0000000..0839c56 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc648d643690f0c7de1c149e3e4814eeea6126125b23799c899959d4dfeed47a +size 2715932 diff --git a/Content/QSH_KaiChang/Audio/开场-13.uasset b/Content/QSH_KaiChang/Audio/开场-13.uasset new file mode 100644 index 0000000..244cef4 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b9fa7333183e2f6c551d72a2d360b6954485aa0cbec4b09ff15309751bb44ee +size 2888915 diff --git a/Content/QSH_KaiChang/Audio/开场-15.uasset b/Content/QSH_KaiChang/Audio/开场-15.uasset new file mode 100644 index 0000000..ebf0e0f --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24e182913103eadcd9652d3928a6964d5c6d51b4a3e23b1747afea1d23908cf6 +size 2151294 diff --git a/Content/QSH_KaiChang/Audio/开场-18.uasset b/Content/QSH_KaiChang/Audio/开场-18.uasset new file mode 100644 index 0000000..0f4d75a --- /dev/null +++ b/Content/QSH_KaiChang/Audio/开场-18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ee4f12b851ae313bf121198b9984db5f84dc217c4834e6bcb318a73bba0ffca +size 3951396 diff --git a/Content/QSH_KaiChang/Audio/玄鸟补录-01.uasset b/Content/QSH_KaiChang/Audio/玄鸟补录-01.uasset new file mode 100644 index 0000000..d40a91f --- /dev/null +++ b/Content/QSH_KaiChang/Audio/玄鸟补录-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10f76c607afa5e02c2b9838142a98d26f402fe4bc55434b618e8c635a48efc1b +size 525362 diff --git a/Content/QSH_KaiChang/Audio/玄鸟补录-03.uasset b/Content/QSH_KaiChang/Audio/玄鸟补录-03.uasset new file mode 100644 index 0000000..7c8c419 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/玄鸟补录-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b989984664555be01e789696c8b325d13d6c97bf47d994e45cd98c8481886bb9 +size 316194 diff --git a/Content/QSH_KaiChang/Audio/玄鸟补录-05.uasset b/Content/QSH_KaiChang/Audio/玄鸟补录-05.uasset new file mode 100644 index 0000000..966332e --- /dev/null +++ b/Content/QSH_KaiChang/Audio/玄鸟补录-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67e6faf196a7886fd02e6facbc020188c100fe7f270bcb9a035112974cb0c9de +size 392186 diff --git a/Content/QSH_KaiChang/Audio/玄鸟补录-11.uasset b/Content/QSH_KaiChang/Audio/玄鸟补录-11.uasset new file mode 100644 index 0000000..a082c25 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/玄鸟补录-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb92f602a930e808c67aea8de811867488647e2bb9544039c3bf94b3327a700 +size 568321 diff --git a/Content/QSH_KaiChang/Audio/音效_摔在地上.uasset b/Content/QSH_KaiChang/Audio/音效_摔在地上.uasset new file mode 100644 index 0000000..69c783f --- /dev/null +++ b/Content/QSH_KaiChang/Audio/音效_摔在地上.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a96f9bc87ce364610e4323c17244ea84bbcf2e581eb63bcbdb2b45bfc38de063 +size 443786 diff --git a/Content/QSH_KaiChang/Audio/音效_法术.uasset b/Content/QSH_KaiChang/Audio/音效_法术.uasset new file mode 100644 index 0000000..2e2cc54 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/音效_法术.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e03898228f2fc183071a2b0849b2c343593f2a5c790f50be8d25bc590ba988f +size 656877 diff --git a/Content/QSH_KaiChang/Audio/音效_石头飞溅.uasset b/Content/QSH_KaiChang/Audio/音效_石头飞溅.uasset new file mode 100644 index 0000000..3eb1720 --- /dev/null +++ b/Content/QSH_KaiChang/Audio/音效_石头飞溅.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5094af1836e29fea0bec75e02b5f5374dbce8cf6c8750b1b63b4d97119f985 +size 188035 diff --git a/Content/QSH_KaiChang/Cube.uasset b/Content/QSH_KaiChang/Cube.uasset new file mode 100644 index 0000000..8020906 --- /dev/null +++ b/Content/QSH_KaiChang/Cube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bf376943d6920e25c46e2bd9d79ad015763e7027946b484352e2dee15851a19 +size 16898 diff --git a/Content/QSH_KaiChang/Mesh/Cube.uasset b/Content/QSH_KaiChang/Mesh/Cube.uasset new file mode 100644 index 0000000..a1063d2 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Cube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:104f496870df80dde55008ba947aa096269b0a399d7bd9f521e4f26acf557655 +size 16967 diff --git a/Content/QSH_KaiChang/Mesh/Cube2.uasset b/Content/QSH_KaiChang/Mesh/Cube2.uasset new file mode 100644 index 0000000..af31bbe --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Cube2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cd14482cedb9f05a2d52937c06b278c850bbade594bec5d256d8f899775ea17 +size 16920 diff --git a/Content/QSH_KaiChang/Mesh/Sphere.uasset b/Content/QSH_KaiChang/Mesh/Sphere.uasset new file mode 100644 index 0000000..95cf9b4 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Sphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7132b47734ae9f7dbac90fd5155149d63de9d94b455e4e227adf8a1fc0be93f7 +size 61921 diff --git a/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1.uasset b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1.uasset new file mode 100644 index 0000000..d4eedf8 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3741ed78b8b2e9b31c93ef3c8acea08d008b894771497c88aadd2d417815da5 +size 924605 diff --git a/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Anim.uasset b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Anim.uasset new file mode 100644 index 0000000..f7b79ab --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9ac27896dd946643b7ff1c091753b4cff4467d27539c4fb862e793435518c9a +size 3387109 diff --git a/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_PhysicsAsset.uasset b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_PhysicsAsset.uasset new file mode 100644 index 0000000..3abd850 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1afd8afc95c8d790f9e21fa358a4926fd8a1e7d56708f52036c0e7578a24d76a +size 92166 diff --git a/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Skeleton.uasset b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Skeleton.uasset new file mode 100644 index 0000000..832623a --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_1_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dfcd3faa401b00e3dc888d246961af9ad2546ba4db6bddf37b68add33cc6b62 +size 28969 diff --git a/Content/QSH_KaiChang/Mesh/Suikuaidonghua_2_Anim.uasset b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_2_Anim.uasset new file mode 100644 index 0000000..9a52cb8 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/Suikuaidonghua_2_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c52174ecad8a8c66806d5480687b879d4544bc007cae7d322d3da4e2196e1de4 +size 3386976 diff --git a/Content/QSH_KaiChang/Mesh/WorldGridMaterial.uasset b/Content/QSH_KaiChang/Mesh/WorldGridMaterial.uasset new file mode 100644 index 0000000..3d4f7e9 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/WorldGridMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c85400e42229f4502e332c9900bbbfbf8b11697aa55eda5d8d80581184e386c +size 8909 diff --git a/Content/QSH_KaiChang/Mesh/cube3.uasset b/Content/QSH_KaiChang/Mesh/cube3.uasset new file mode 100644 index 0000000..0385806 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/cube3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f69eafb37cb10949470cafa52060e0c9c9baa18702748ca20674c7ed3e31d7e1 +size 26477 diff --git a/Content/QSH_KaiChang/Mesh/cube4.uasset b/Content/QSH_KaiChang/Mesh/cube4.uasset new file mode 100644 index 0000000..3ede91d --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/cube4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c09f713f716536cf535436148ed9912661fb316d45d760a84c2a79e647214e1 +size 21794 diff --git a/Content/QSH_KaiChang/Mesh/rock_tile_floor_diff_2k.uasset b/Content/QSH_KaiChang/Mesh/rock_tile_floor_diff_2k.uasset new file mode 100644 index 0000000..c6eccc3 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/rock_tile_floor_diff_2k.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bca507dcc90e6b6d82c9ea7ab450730ca7970b0d2f15455931e41c86b68fe40 +size 670406 diff --git a/Content/QSH_KaiChang/Mesh/zhuzi.uasset b/Content/QSH_KaiChang/Mesh/zhuzi.uasset new file mode 100644 index 0000000..3e84fb3 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/zhuzi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9f998e3a189eccbfe6710730c3569b4e65eb70b77f8b40b61a389294405bc19 +size 214581 diff --git a/Content/QSH_KaiChang/Mesh/zhuzi1.uasset b/Content/QSH_KaiChang/Mesh/zhuzi1.uasset new file mode 100644 index 0000000..9049440 --- /dev/null +++ b/Content/QSH_KaiChang/Mesh/zhuzi1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398bc351589ab24bd84aaf398ab60e6ad0a8575289bc820f8df41e03505c59d5 +size 15568 diff --git a/Content/QSH_KaiChang/Sequence/260/SE_kaichang01.uasset b/Content/QSH_KaiChang/Sequence/260/SE_kaichang01.uasset new file mode 100644 index 0000000..2be76c0 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/SE_kaichang01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:701d43f20cd5225dd7473e391ab40a8b816d4f503edba1963c72963d16e22529 +size 93690 diff --git a/Content/QSH_KaiChang/Sequence/260/SE_kaichang02.uasset b/Content/QSH_KaiChang/Sequence/260/SE_kaichang02.uasset new file mode 100644 index 0000000..e3a3ae8 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/SE_kaichang02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed7a24223d70e4c19d50bc38a375117cb8de0515986374629466e3c0f3d30895 +size 61089 diff --git a/Content/QSH_KaiChang/Sequence/260/SE_kaichang03.uasset b/Content/QSH_KaiChang/Sequence/260/SE_kaichang03.uasset new file mode 100644 index 0000000..0e2de54 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/SE_kaichang03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82eabeb9f19cace74cb41ec86154f2a5e7b82fe2e7871e9d82af0a88c8cad3e +size 85472 diff --git a/Content/QSH_KaiChang/Sequence/260/SE_kaichang04.uasset b/Content/QSH_KaiChang/Sequence/260/SE_kaichang04.uasset new file mode 100644 index 0000000..d2d9ad6 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/SE_kaichang04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a29a2cc3826bfc01f0678c24a54fcbe7168b9e29e653f8764bb6e5bb6cbac559 +size 81340 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang01Copy.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang01Copy.uasset new file mode 100644 index 0000000..d6eccd4 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang01Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc18673af1bd36a40f241546d7c005fdd0588422d6e19ee0a76959929928bd06 +size 133618 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang02Copy.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang02Copy.uasset new file mode 100644 index 0000000..39cd27c --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:727383fa0768adfeb424f40fdfbf16cb16bc1b533e15c91f6ea739a75bdd5200 +size 63260 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy.uasset new file mode 100644 index 0000000..81d4061 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f5befb4461ffae436c79573ec404e3d5fbe320f058b510c3971c64c62d1122b +size 113327 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy002.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy002.uasset new file mode 100644 index 0000000..335fac3 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adef3e08b00aa66c8855713ca6ce3d8bb43c6e63ff4347aeebbd5b998726d9f4 +size 1622 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy260+.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy260+.uasset new file mode 100644 index 0000000..f96f7ad --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang03Copy260+.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18f22dc01b3742e89e734ca2062f527962405b605121063fdba314efc383bf23 +size 115939 diff --git a/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang04Copy.uasset b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang04Copy.uasset new file mode 100644 index 0000000..5a43392 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/260/Seq/SE_kaichang04Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9251a8ae98e7c21b67d45144040c2448cbe4dac82cc7c60a4cbe295e9ab629a9 +size 109319 diff --git a/Content/QSH_KaiChang/Sequence/280/SE_kaichang01Copy280.uasset b/Content/QSH_KaiChang/Sequence/280/SE_kaichang01Copy280.uasset new file mode 100644 index 0000000..834378e --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/280/SE_kaichang01Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95b6b01be8de51b6525531d1be026e4bdba279c24d0f64f5c9582f08bb6debe7 +size 142993 diff --git a/Content/QSH_KaiChang/Sequence/280/SE_kaichang02Copy280.uasset b/Content/QSH_KaiChang/Sequence/280/SE_kaichang02Copy280.uasset new file mode 100644 index 0000000..3fc697d --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/280/SE_kaichang02Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75dade230c6e16b5562171f82e0928e1c99dffee32e4f121589859c736913578 +size 90237 diff --git a/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280+.uasset b/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280+.uasset new file mode 100644 index 0000000..12c52c4 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280+.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44ab137598e4036f6090f6cd8435115310dd640b060af18f93256df4fcc5c65a +size 119241 diff --git a/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280.uasset b/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280.uasset new file mode 100644 index 0000000..4675d95 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/280/SE_kaichang03Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:917375d3486bf2b4264800d3f2884b5f818d8ae91df2a5ee9a3bdefba9a97c0e +size 128873 diff --git a/Content/QSH_KaiChang/Sequence/280/SE_kaichang04Copy280.uasset b/Content/QSH_KaiChang/Sequence/280/SE_kaichang04Copy280.uasset new file mode 100644 index 0000000..31e17b2 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/280/SE_kaichang04Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c3c09b0dfe730cc260d19530ec2040635d40d00a939df58d08120594d0b72b7 +size 102575 diff --git a/Content/QSH_KaiChang/Sequence/290/SE_kaichang01Copy290.uasset b/Content/QSH_KaiChang/Sequence/290/SE_kaichang01Copy290.uasset new file mode 100644 index 0000000..e7298a0 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/290/SE_kaichang01Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11bdc0ceb2ec56bad3bc91160d26300d7ac53b8bc26cb49daca3fec8a2cb722d +size 133751 diff --git a/Content/QSH_KaiChang/Sequence/290/SE_kaichang02Copy290.uasset b/Content/QSH_KaiChang/Sequence/290/SE_kaichang02Copy290.uasset new file mode 100644 index 0000000..f1ff0ea --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/290/SE_kaichang02Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23c2ca980129bac4bf83d0fc41246e7964f5acc5631470c34ffc2e02bed4737a +size 65108 diff --git a/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290+.uasset b/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290+.uasset new file mode 100644 index 0000000..e71b586 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290+.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:595b443aa5b19b208d81db3756166ee508f9cdc9590e235eb9a87bb4fab08a9e +size 113599 diff --git a/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290.uasset b/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290.uasset new file mode 100644 index 0000000..e3a4083 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/290/SE_kaichang03Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e3aae5aa5a1a7bd3993fa9c473d91b81ab66fe92175bca8bc22da26988488e +size 115722 diff --git a/Content/QSH_KaiChang/Sequence/290/SE_kaichang04Copy290.uasset b/Content/QSH_KaiChang/Sequence/290/SE_kaichang04Copy290.uasset new file mode 100644 index 0000000..c2542d0 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/290/SE_kaichang04Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d35e585dcbf7250fb93489a113c6babe1b27f2a79d36e0fa59698c14c0423df +size 111432 diff --git a/Content/QSH_KaiChang/Sequence/330/SE_kaichang01Copy330.uasset b/Content/QSH_KaiChang/Sequence/330/SE_kaichang01Copy330.uasset new file mode 100644 index 0000000..2e47c0f --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/330/SE_kaichang01Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89d4df54545dd24f4b40ac843cc1fef0351c312e3d2559e459f657d5454e237f +size 135763 diff --git a/Content/QSH_KaiChang/Sequence/330/SE_kaichang02Copy330.uasset b/Content/QSH_KaiChang/Sequence/330/SE_kaichang02Copy330.uasset new file mode 100644 index 0000000..f99e5b5 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/330/SE_kaichang02Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54f5d12c3b852f9f030f2cdb363e7189545f9dd0f54d973fcaabec9adddf2e35 +size 66779 diff --git a/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330+.uasset b/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330+.uasset new file mode 100644 index 0000000..7810a04 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330+.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a159f341f53263d046c87a152ccee6b6ab844e3b3d681b4c66f4626b530c306 +size 114511 diff --git a/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330.uasset b/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330.uasset new file mode 100644 index 0000000..4a97a0a --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/330/SE_kaichang03Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a04140ed22eae5dc63ea1db0916f2c3b56008f945ae050be06b8f0c228e498b0 +size 116883 diff --git a/Content/QSH_KaiChang/Sequence/330/SE_kaichang04Copy330.uasset b/Content/QSH_KaiChang/Sequence/330/SE_kaichang04Copy330.uasset new file mode 100644 index 0000000..e09fa19 --- /dev/null +++ b/Content/QSH_KaiChang/Sequence/330/SE_kaichang04Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbbe0cd35fd9318210b57a84dba711caebff7520e42d510721fd5c9ca841e574 +size 112147 diff --git a/Content/QSH_KaiChang/Texture/M_Word.uasset b/Content/QSH_KaiChang/Texture/M_Word.uasset new file mode 100644 index 0000000..ea1e834 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f31e127aa33063fd99b48572bfdc35b6c2eb2189af4fc8e423165e9014700d2f +size 16474 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst.uasset new file mode 100644 index 0000000..0040a30 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7ad955da7005bc171bacfcc3e64e337faed8edf760b8e2fe2e77dd3e9f7c013 +size 9047 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst1.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst1.uasset new file mode 100644 index 0000000..633134b --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe8fcbd8d5d4f6df3e083796029f7660ddc0e64b6639352af73d75c3bd2e72cb +size 11563 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst2.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst2.uasset new file mode 100644 index 0000000..0558288 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e15e44a3882ab51653ac56a3227a1027a68dc88bbf8ccea097c1d8f8345a891 +size 10744 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst3.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst3.uasset new file mode 100644 index 0000000..72561a7 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22b3d2dfbcbe2710ee0faea7542e31e7a8b0c1ba17d86d38f9170cec46984133 +size 11609 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst4.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst4.uasset new file mode 100644 index 0000000..79950f2 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aad0bfdf454186313b729f5b773ab5f55d95b504a528996f3ccf3b37dc19844a +size 12035 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst5.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst5.uasset new file mode 100644 index 0000000..9c8a8bc --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97d8e39ad4c44b577a851a42a4f01cab75afd27b65fdaacfd61b1efe819f112a +size 11329 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst6.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst6.uasset new file mode 100644 index 0000000..10326b2 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa9b0bbb12153207e71d2e0adfe45a72b7523fb8e1f451f3a4434c08ffa9eddc +size 11261 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst7.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst7.uasset new file mode 100644 index 0000000..0504796 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:076803e2e86e0c658a0ba35c320cf13d1e2a664a50cbb68916f7f47fcb6a2d96 +size 10963 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst8.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst8.uasset new file mode 100644 index 0000000..7160c81 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:667adbeb1b9c06a80ee06ec913322ac9f22ba25cd085ce6f907f89847f68d104 +size 11946 diff --git a/Content/QSH_KaiChang/Texture/M_Word_Inst9.uasset b/Content/QSH_KaiChang/Texture/M_Word_Inst9.uasset new file mode 100644 index 0000000..63d7d19 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/M_Word_Inst9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:106658fac2dfd8b7b518c492b7854575f74860c3349df91e2206ed2f72ce7614 +size 11821 diff --git a/Content/QSH_KaiChang/Texture/T_CLHDZD.uasset b/Content/QSH_KaiChang/Texture/T_CLHDZD.uasset new file mode 100644 index 0000000..afe5427 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_CLHDZD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a53667266f8f0ca9f2e458a1ea68e5bd6588859cf243b3b2899297ca2c932b5 +size 96277 diff --git a/Content/QSH_KaiChang/Texture/T_KTJTGC.uasset b/Content/QSH_KaiChang/Texture/T_KTJTGC.uasset new file mode 100644 index 0000000..7e463b1 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_KTJTGC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2333212fd5d43ae46db7e63c87530eb5169a63a93a185db08e70e359dc3d82d8 +size 94307 diff --git a/Content/QSH_KaiChang/Texture/T_QLZYJQ.uasset b/Content/QSH_KaiChang/Texture/T_QLZYJQ.uasset new file mode 100644 index 0000000..4a86754 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_QLZYJQ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89746f004f38c40327724c8fb911123a69f103c5e292a7d5ed01eebbd40c665a +size 90283 diff --git a/Content/QSH_KaiChang/Texture/T_SXTYFZ.uasset b/Content/QSH_KaiChang/Texture/T_SXTYFZ.uasset new file mode 100644 index 0000000..347f358 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_SXTYFZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9676f94e3c9b657061ef94708a27cdff5820dd1054649388d77dc704a070ff05 +size 94552 diff --git a/Content/QSH_KaiChang/Texture/T_TDKJWH.uasset b/Content/QSH_KaiChang/Texture/T_TDKJWH.uasset new file mode 100644 index 0000000..279c0b7 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_TDKJWH.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b04aaf516190d87f9c0a96ce5e029c13ee875000e983efc574b7f524ce0d48f2 +size 99086 diff --git a/Content/QSH_KaiChang/Texture/T_TXWZTY.uasset b/Content/QSH_KaiChang/Texture/T_TXWZTY.uasset new file mode 100644 index 0000000..5f5dd6b --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_TXWZTY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f85b30b11482c854c380700e392b6f5ee0d88741990a638519db3f3477221723 +size 92392 diff --git a/Content/QSH_KaiChang/Texture/T_TYDLHZ.uasset b/Content/QSH_KaiChang/Texture/T_TYDLHZ.uasset new file mode 100644 index 0000000..93ce476 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_TYDLHZ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7687f7f5a74cae26f2e660fe66c26232c841fe4244c52101584d61abd98fbd2e +size 99829 diff --git a/Content/QSH_KaiChang/Texture/T_TYLGTX.uasset b/Content/QSH_KaiChang/Texture/T_TYLGTX.uasset new file mode 100644 index 0000000..9bde570 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_TYLGTX.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3681aa8a1b9e4c1a992e8ee7cbe1a2794339264e6cd2bec0c2612de4b9f29b4f +size 82740 diff --git a/Content/QSH_KaiChang/Texture/T_XJZLGL.uasset b/Content/QSH_KaiChang/Texture/T_XJZLGL.uasset new file mode 100644 index 0000000..6d85a71 --- /dev/null +++ b/Content/QSH_KaiChang/Texture/T_XJZLGL.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43aded341f0cc5931d492648f363719c84a4d882760da40ca94f3de608a0f3f4 +size 97670 diff --git a/Content/QSH_QiJu/Audio/围棋阵-01.uasset b/Content/QSH_QiJu/Audio/围棋阵-01.uasset new file mode 100644 index 0000000..619541e --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d81a8c11a5db1508f660e45604b08c4f53b8a6d8851328385aabb2672d6f46a7 +size 2630450 diff --git a/Content/QSH_QiJu/Audio/围棋阵-03.uasset b/Content/QSH_QiJu/Audio/围棋阵-03.uasset new file mode 100644 index 0000000..38bdc27 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c76b2b14935fd465e60e981d973aab90ce77ea19dfcae1bf47da979d71ce047e +size 2871173 diff --git a/Content/QSH_QiJu/Audio/围棋阵-03_1.uasset b/Content/QSH_QiJu/Audio/围棋阵-03_1.uasset new file mode 100644 index 0000000..4841092 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-03_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d969b2182282183056b7c516f7d8127b5cf7b45d3d81f49dba4430efda6c0464 +size 3002390 diff --git a/Content/QSH_QiJu/Audio/围棋阵-05.uasset b/Content/QSH_QiJu/Audio/围棋阵-05.uasset new file mode 100644 index 0000000..50867c5 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57ec6de4a14ea4bb8eba4fbe260c31a8565287f32669dc7f64c4a7b213adfae8 +size 2870784 diff --git a/Content/QSH_QiJu/Audio/围棋阵-05_1.uasset b/Content/QSH_QiJu/Audio/围棋阵-05_1.uasset new file mode 100644 index 0000000..44f7c4c --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-05_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b305b91a5aee6e07f50e2dd69ac1fa6a9203bfdbbc3585e291293a779a946c05 +size 4750567 diff --git a/Content/QSH_QiJu/Audio/围棋阵-07.uasset b/Content/QSH_QiJu/Audio/围棋阵-07.uasset new file mode 100644 index 0000000..11ddc01 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e0d2dbc851a45f0c6f6899290f85d69ebee8b6c1f71353295e7b5f87914b03 +size 2344594 diff --git a/Content/QSH_QiJu/Audio/围棋阵-09.uasset b/Content/QSH_QiJu/Audio/围棋阵-09.uasset new file mode 100644 index 0000000..225abc8 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d061bcbe979e66c2febf4dbdb5feb7327c3fbb6ce050f85b7428edb2c14874 +size 1561429 diff --git a/Content/QSH_QiJu/Audio/围棋阵-11.uasset b/Content/QSH_QiJu/Audio/围棋阵-11.uasset new file mode 100644 index 0000000..46cefc1 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:236748be2c336a465d65c15fea45a31f8519440e474044090f3ff50c5cbc08de +size 1828407 diff --git a/Content/QSH_QiJu/Audio/围棋阵-13.uasset b/Content/QSH_QiJu/Audio/围棋阵-13.uasset new file mode 100644 index 0000000..88e4043 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2485fded2cea959e3e0ba574338d9227599ee50a3a6835c37d466ffb53a63fc3 +size 713401 diff --git a/Content/QSH_QiJu/Audio/围棋阵-14.uasset b/Content/QSH_QiJu/Audio/围棋阵-14.uasset new file mode 100644 index 0000000..43b0bb1 --- /dev/null +++ b/Content/QSH_QiJu/Audio/围棋阵-14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688ab210371bd792623f2f508fd56762bcea754b391b0ac7c70d3f2be0c4e0a9 +size 2635926 diff --git a/Content/QSH_QiJu/Audio/玄鸟补录-13.uasset b/Content/QSH_QiJu/Audio/玄鸟补录-13.uasset new file mode 100644 index 0000000..71ec91a --- /dev/null +++ b/Content/QSH_QiJu/Audio/玄鸟补录-13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64d9cb92964ba17d232bbe77db388bf30133feb152ccae64b6db94d54e825efa +size 559026 diff --git a/Content/QSH_QiJu/Audio/玄鸟补录-15.uasset b/Content/QSH_QiJu/Audio/玄鸟补录-15.uasset new file mode 100644 index 0000000..2da1f4c --- /dev/null +++ b/Content/QSH_QiJu/Audio/玄鸟补录-15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ff2788b3e7d7f132f7dd8d3812f773b74dbde4593370090ce5a111505658ab8 +size 731789 diff --git a/Content/QSH_QiJu/Audio/玄鸟补录-19.uasset b/Content/QSH_QiJu/Audio/玄鸟补录-19.uasset new file mode 100644 index 0000000..67632a4 --- /dev/null +++ b/Content/QSH_QiJu/Audio/玄鸟补录-19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad45f18aff7009b92938bcad851a4be5dc8583cc1413f256ed7dea7e8b335be7 +size 493729 diff --git a/Content/QSH_QiJu/Audio/音效_仙尘魔法音效.uasset b/Content/QSH_QiJu/Audio/音效_仙尘魔法音效.uasset new file mode 100644 index 0000000..1ecd6a5 --- /dev/null +++ b/Content/QSH_QiJu/Audio/音效_仙尘魔法音效.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb80ee55041e0959e5a50fb8781e74ac0c1769d1b1451b8b0c7251071efc9095 +size 891635 diff --git a/Content/QSH_QiJu/Audio/音效_光明魔法.uasset b/Content/QSH_QiJu/Audio/音效_光明魔法.uasset new file mode 100644 index 0000000..e0518f3 --- /dev/null +++ b/Content/QSH_QiJu/Audio/音效_光明魔法.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b448de5f93a023ba1362f3ed030d4c856ae7c9f6aae897130040efb73cbaeb +size 171652 diff --git a/Content/QSH_QiJu/Audio/音效_刀剑碰撞.uasset b/Content/QSH_QiJu/Audio/音效_刀剑碰撞.uasset new file mode 100644 index 0000000..6c26a9d --- /dev/null +++ b/Content/QSH_QiJu/Audio/音效_刀剑碰撞.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c924632d7e25ce150c10ae6226f292da241f41b0a49c29f1e5b31ccd1fe8b9d3 +size 42548 diff --git a/Content/QSH_QiJu/Audio/音效_移动大石头的音效.uasset b/Content/QSH_QiJu/Audio/音效_移动大石头的音效.uasset new file mode 100644 index 0000000..d1881d4 --- /dev/null +++ b/Content/QSH_QiJu/Audio/音效_移动大石头的音效.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd035605f9f1dee8a4bdf47e8ff20b8e0c29fe8bfe933117f04e33ea6eae48fb +size 552948 diff --git a/Content/QSH_QiJu/Blueprint/fire.uasset b/Content/QSH_QiJu/Blueprint/fire.uasset new file mode 100644 index 0000000..95969dc --- /dev/null +++ b/Content/QSH_QiJu/Blueprint/fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e8e04f1033c1f3874a590ce4389a92164c75af9abac6db3182a39d5819dae9a +size 27990 diff --git a/Content/QSH_QiJu/Blueprint/openDoor.uasset b/Content/QSH_QiJu/Blueprint/openDoor.uasset new file mode 100644 index 0000000..8fed34c --- /dev/null +++ b/Content/QSH_QiJu/Blueprint/openDoor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5028cdacef8eb9474dfa3d1ad4417af9e5f8a0b708200242aaef501d5608f264 +size 23598 diff --git a/Content/QSH_QiJu/QiJuNear.umap b/Content/QSH_QiJu/QiJuNear.umap new file mode 100644 index 0000000..f38fc5e --- /dev/null +++ b/Content/QSH_QiJu/QiJuNear.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58182aca763154bab799f6be27fe8041344facc7a65bc5c3dcc3e9770237f884 +size 535394 diff --git a/Content/QSH_QiJu/QiJuNear280.umap b/Content/QSH_QiJu/QiJuNear280.umap new file mode 100644 index 0000000..b0f8834 --- /dev/null +++ b/Content/QSH_QiJu/QiJuNear280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50c21960d64a23c586964fe9eec98b41f442ed9cacf427444efdad89f01b63c7 +size 514463 diff --git a/Content/QSH_QiJu/QiJuNear290.umap b/Content/QSH_QiJu/QiJuNear290.umap new file mode 100644 index 0000000..073da77 --- /dev/null +++ b/Content/QSH_QiJu/QiJuNear290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfa64c268512037896eb644ca23dc0ded00a7e8d19ab30ca139054710c937ceb +size 512776 diff --git a/Content/QSH_QiJu/QiJuNear330.umap b/Content/QSH_QiJu/QiJuNear330.umap new file mode 100644 index 0000000..3c6a81f --- /dev/null +++ b/Content/QSH_QiJu/QiJuNear330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04fc582e3db8108ffebd96cef9f67204f5617774e41688013fba10b81427f692 +size 514319 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu01Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu01Copy280.uasset new file mode 100644 index 0000000..3e2b979 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu01Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda817220c13b69bd0f5fc36f4be633ededfc7fa129efd792f9c01db920df15d +size 79774 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu02Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu02Copy280.uasset new file mode 100644 index 0000000..3ebe11d --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu02Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4366ef5e8ed8dbe81cb91b97e8ff60e012c20fe377ca37bf9766653c7d7f442e +size 82130 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu03Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu03Copy280.uasset new file mode 100644 index 0000000..788dd31 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu03Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07f08d320b9b18a71b4e4449bb96f4627ab8e379ac9dd1ae20aae2cd8ceb22c6 +size 105111 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu04Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu04Copy280.uasset new file mode 100644 index 0000000..f768270 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu04Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f00dc83eb7175e4489b978c8896e83e18e4c7378b86091b98c93933ab2fded27 +size 81677 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280.uasset new file mode 100644 index 0000000..dbfdaff --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc222cbdffd854cc1ba463e49ca97dff6d29d380ac3c8e18a6709299452231f +size 215362 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280_2.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280_2.uasset new file mode 100644 index 0000000..522ac60 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu05Copy280_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dea6f286b47a2f6717a4e4752f049145acddd2cdecec4a2acde863983f88c57 +size 111208 diff --git a/Content/QSH_QiJu/Sequence/280/SE_QiJu06Copy280.uasset b/Content/QSH_QiJu/Sequence/280/SE_QiJu06Copy280.uasset new file mode 100644 index 0000000..314354e --- /dev/null +++ b/Content/QSH_QiJu/Sequence/280/SE_QiJu06Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba37d673ce4b8757ae575151d98e065bd0fd665e0ede1c90ede0f4ee04e0d891 +size 95164 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu01Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu01Copy290.uasset new file mode 100644 index 0000000..49f3652 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu01Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24e14c3c9d2dbab929ef37c05c2b268c22246a3e43e611126107c21c192a26cc +size 77455 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu02Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu02Copy290.uasset new file mode 100644 index 0000000..36f0977 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu02Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb5a9662ab4577b3b393e985ba1f7b7acacd8742b7cc8f6e450633ea38609203 +size 77235 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu03Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu03Copy290.uasset new file mode 100644 index 0000000..7c3131b --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu03Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a33831ee60892724f9c6cc27414ce032df12b0d78ae2cdb3655953622c8cec9e +size 98300 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu04Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu04Copy290.uasset new file mode 100644 index 0000000..b627db1 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu04Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1519fa93a507ffbb7ad3fcc3e78b0d75c399549a507a5287f0adb041913bbc46 +size 56861 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu05Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu05Copy290.uasset new file mode 100644 index 0000000..bfbef75 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu05Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eef013ef6a898c787f49a316e29e84e6829f068d42361f864776455016c7e61d +size 207501 diff --git a/Content/QSH_QiJu/Sequence/290/SE_QiJu06Copy290.uasset b/Content/QSH_QiJu/Sequence/290/SE_QiJu06Copy290.uasset new file mode 100644 index 0000000..3d93898 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/290/SE_QiJu06Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6b1d64b1461fb7c8581a3242fc067c506e44c8543ddbf744035fcdd7ead3622 +size 108431 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu01copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu01copy330.uasset new file mode 100644 index 0000000..6fd19c6 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu01copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2183892a0c6f6370f23c90fabf3f86d4ad848423bdd616096787f75427f1fa6 +size 75386 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu02Copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu02Copy330.uasset new file mode 100644 index 0000000..1f451d5 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu02Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c95fd5e8d85271f37f4909bbde54e921350cbc26ebd7f94e6953275f01e6a50 +size 75766 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu03Copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu03Copy330.uasset new file mode 100644 index 0000000..2ff6c2c --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu03Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c2f5f69add4ba29dec97c943b3efcc78ac085685598d8a340a8381846c0a714 +size 95688 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu04Copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu04Copy330.uasset new file mode 100644 index 0000000..3a8abfd --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu04Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78e5c8c51de2c930f3ca993097290ab68cb7cb9950f2f9d317da56f1462aaf32 +size 55591 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu05Copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu05Copy330.uasset new file mode 100644 index 0000000..f9207eb --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu05Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c1789ac1d6495027258a99982bb06061a157728f96d92ccf10e83c0cdfe8b19 +size 202679 diff --git a/Content/QSH_QiJu/Sequence/330/SE_QiJu06Copy330.uasset b/Content/QSH_QiJu/Sequence/330/SE_QiJu06Copy330.uasset new file mode 100644 index 0000000..49fbc2a --- /dev/null +++ b/Content/QSH_QiJu/Sequence/330/SE_QiJu06Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:644039d23c9813d4213c92ef6aaa248b4f8f791de93f931e41345220cfdb8bb1 +size 107014 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu01.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu01.uasset new file mode 100644 index 0000000..547f146 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42668a59afdff7ba0dd06e226950e05710a017baaabcb2b3bc157e6825085c47 +size 55075 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu01Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu01Copy.uasset new file mode 100644 index 0000000..329a867 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu01Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dec133acfc6291ddb2ca29dd739105d82dc3bea6807106a3f7e255312be6314f +size 75249 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu01Copy001.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu01Copy001.uasset new file mode 100644 index 0000000..9da357a --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu01Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:145612f339ea060b103acf9341aed2d1ca4f6c3341b416c1edb3d40120db088f +size 1538 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu02.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu02.uasset new file mode 100644 index 0000000..bba95cb --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3ed3a2cf484e33a3a9c2ea46c44b3ffb31fccc0ec981fc8a6be3f81e29262fd +size 56539 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu02Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu02Copy.uasset new file mode 100644 index 0000000..acefabf --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu02Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c5eea362d9aa74f0b89d615b217b69af483f7797d1cfc512a24e9f0bb4b58d2 +size 74533 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu02Copy001.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu02Copy001.uasset new file mode 100644 index 0000000..308626b --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu02Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7fced2e2494315e27bb2630631c217702745b5ff91f523edd14aa8e676104d4 +size 1538 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu03.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu03.uasset new file mode 100644 index 0000000..20a5254 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b202504cc5ba2b2598e817e4ee7b91443689da4c11fc23f525434e6f8a42c985 +size 57001 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu03Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu03Copy.uasset new file mode 100644 index 0000000..e9d8c51 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu03Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8131982c73635eafd77e3b54d286f6bf31a82d9fce361164f3829d3f33dda664 +size 93471 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu03Copy001.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu03Copy001.uasset new file mode 100644 index 0000000..cf53e5a --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu03Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0498f96b17dad96866dea24688d943a6fe2730f336a5b42f14b3360283e1d550 +size 1538 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu04.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu04.uasset new file mode 100644 index 0000000..2e873f4 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eed4e4230883dc8629e25bd8aceb967c78bdbac2e5d6405dcbcbf53c101abff5 +size 52717 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu04Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu04Copy.uasset new file mode 100644 index 0000000..c184809 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu04Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75ff38f31a879f6510a06bb809ca24e05400622218c4720f90352e18508dc305 +size 53090 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu05.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu05.uasset new file mode 100644 index 0000000..e8eeaf1 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ee140d8ce7c42442ee18d016ea3ddcc1fa7a54e1bad0fdc71b8bf8da9468c6 +size 161016 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu05Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu05Copy.uasset new file mode 100644 index 0000000..8e625eb --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu05Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21aaa74045ee1adfede33eed771f3850b0ea208f20ed49d3a2b8b5f88090c3af +size 205305 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu05Copy001.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu05Copy001.uasset new file mode 100644 index 0000000..39a11c8 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu05Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b7ad4c99b0f27bb1876d69acd7cb0f095c3cf820692a2d5bc1e0d20db4be9b +size 1538 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu06.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu06.uasset new file mode 100644 index 0000000..f1c21b2 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b23f99d4716d8b5b122b153e7d77efc762b9313ae74a731a883ef995629d643 +size 71274 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu06Copy.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu06Copy.uasset new file mode 100644 index 0000000..e7918eb --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu06Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea7b57e4514b7e86ddd9de6742d52cff8d273a81d44cbc9f9f805f66482c844 +size 105513 diff --git a/Content/QSH_QiJu/Sequence/SE_QiJu06Copy001.uasset b/Content/QSH_QiJu/Sequence/SE_QiJu06Copy001.uasset new file mode 100644 index 0000000..18ffbd9 --- /dev/null +++ b/Content/QSH_QiJu/Sequence/SE_QiJu06Copy001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b2f40578a3b546a14a06ee6e86798298d290fcf9f3a7fc08cafcf45e5f56a10 +size 1538 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY.uasset new file mode 100644 index 0000000..df513d6 --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f72fb1013cbdcf53991d72915ad140d2b45c78195ac27b5f768812a3a8ac4b96 +size 5530012 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY2.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY2.uasset new file mode 100644 index 0000000..d5b6208 --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:055761b3e8021af4376c7b2308db736b984369fb2ab9cb96685855c55628b4bb +size 2422723 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY3.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY3.uasset new file mode 100644 index 0000000..2580550 --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c151e29febd84927a247eee471d0788a5ae8484625f51840d2f7daa4ca14abae +size 2512401 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY_Mat.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat.uasset new file mode 100644 index 0000000..7720e50 --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b440750419609d9bc47a6d278befc9961d1957f7fa3b847ef567f8170e88251 +size 12556 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst.uasset new file mode 100644 index 0000000..4bb9eae --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51a7dddc45f189a44281e0cd7efd63ce6272bfe3757250185a266cb76833684d +size 8900 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst1.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst1.uasset new file mode 100644 index 0000000..df3835e --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:545001540879e80abd59688a26434f795c87e3436579fc4781d8757836b8312d +size 9260 diff --git a/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst2.uasset b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst2.uasset new file mode 100644 index 0000000..4ed9a76 --- /dev/null +++ b/Content/QSH_QiJu/Texture/T_QijuBMY_Mat_Inst2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61d23f8c7c7cdb9f2211b9f2b7f9c8a5d09957c106e3845bd46f065b5c852687 +size 9542 diff --git a/Content/QSH_QiJu/Texture/qiju2.uasset b/Content/QSH_QiJu/Texture/qiju2.uasset new file mode 100644 index 0000000..8e5ae24 --- /dev/null +++ b/Content/QSH_QiJu/Texture/qiju2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bc8787406cbd248c670883b7f1e5ad838e53602b4d0b3371b5367c13cd47f5c +size 19283262 diff --git a/Content/QSH_QiJu/mesh/Plane.uasset b/Content/QSH_QiJu/mesh/Plane.uasset new file mode 100644 index 0000000..92fe5be --- /dev/null +++ b/Content/QSH_QiJu/mesh/Plane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fde0f7badce92b52b336fe4be9f460ff3725b55c688edc4f7c531802dd0ec457 +size 15385 diff --git a/Content/QSH_QiJu/mesh/liuboqi.uasset b/Content/QSH_QiJu/mesh/liuboqi.uasset new file mode 100644 index 0000000..8537cc1 --- /dev/null +++ b/Content/QSH_QiJu/mesh/liuboqi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2daea428a9f81ec3100f10dc767e0ba83416c99cdaa96df1c37ef6a21bc328c +size 98024 diff --git a/Content/QSH_QiJu/mesh/liuboqi_Mat.uasset b/Content/QSH_QiJu/mesh/liuboqi_Mat.uasset new file mode 100644 index 0000000..9391d58 --- /dev/null +++ b/Content/QSH_QiJu/mesh/liuboqi_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78acccc592a7844bf047a57ab2e1c692ddb2d70e48270d15d8c8c64f44ba2996 +size 17884 diff --git a/Content/QSH_QiJu/mesh/plane2.uasset b/Content/QSH_QiJu/mesh/plane2.uasset new file mode 100644 index 0000000..440ea53 --- /dev/null +++ b/Content/QSH_QiJu/mesh/plane2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc2c1aabd5375130b5945c4b24a00730e69913c83947363b3c0b52910dde0ba7 +size 13507 diff --git a/Content/QSH_QiJu/niagara/openDoor.uasset b/Content/QSH_QiJu/niagara/openDoor.uasset new file mode 100644 index 0000000..7ef1b9e --- /dev/null +++ b/Content/QSH_QiJu/niagara/openDoor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6214bd06c14e1a46aeb10d7379fcfdc589669b219053158d510e4e36964bc6b +size 723396 diff --git a/Content/QSH_XianYangCheng/MAPs/xianyangchengshangkong.umap b/Content/QSH_XianYangCheng/MAPs/xianyangchengshangkong.umap new file mode 100644 index 0000000..19446dd --- /dev/null +++ b/Content/QSH_XianYangCheng/MAPs/xianyangchengshangkong.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e48afe31c22530ac188575b767663f75a739487a597530f90c4b0d739d463cc +size 38829 diff --git a/Content/QSH_XianYangCheng/MAPs/咸阳城上空.umap b/Content/QSH_XianYangCheng/MAPs/咸阳城上空.umap new file mode 100644 index 0000000..4e5b028 --- /dev/null +++ b/Content/QSH_XianYangCheng/MAPs/咸阳城上空.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ec756819160bd4a440305dd64745eeccf40a6c045d9530c80dbefc52944fd9 +size 1597 diff --git a/Content/QSH_XianYangCheng/Mat/black.uasset b/Content/QSH_XianYangCheng/Mat/black.uasset new file mode 100644 index 0000000..6924a08 --- /dev/null +++ b/Content/QSH_XianYangCheng/Mat/black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b92103d1493d83a6817c3a6d6b153ef86105756c7a511d1431426c0a3914e7d1 +size 8023 diff --git a/Content/QSH_XianYangCheng/Mat/black_Inst.uasset b/Content/QSH_XianYangCheng/Mat/black_Inst.uasset new file mode 100644 index 0000000..9640d1a --- /dev/null +++ b/Content/QSH_XianYangCheng/Mat/black_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b968a313e34a1416fef3ce27e251ade700a32be30749185c4aae47864ce1bd6a +size 7170 diff --git a/Content/QSH_XianYangCheng/MovieSphere.uasset b/Content/QSH_XianYangCheng/MovieSphere.uasset new file mode 100644 index 0000000..df078c7 --- /dev/null +++ b/Content/QSH_XianYangCheng/MovieSphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e1a58952ef9d979449ea1f988b4833514456f9d0a6f44fb9f64ca5bca40fb69 +size 59467 diff --git a/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangcheng.uasset b/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangcheng.uasset new file mode 100644 index 0000000..0055e81 --- /dev/null +++ b/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangcheng.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11636d10633e2febbfbb536a7279fe1abfdba36ff8531ac27934c4d6ba70e3ae +size 28081 diff --git a/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangchengCopy.uasset b/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangchengCopy.uasset new file mode 100644 index 0000000..ead0fa5 --- /dev/null +++ b/Content/QSH_XianYangCheng/Squencer/xianyangcheng/xianyangchengCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:962e08ba7d04ecfc893daeceb85d5ed7fbf7cc99a5ff80ec0f9ee37d6c959211 +size 69329 diff --git a/Content/QSH_XianYangCheng/Texture/M_jieshu.uasset b/Content/QSH_XianYangCheng/Texture/M_jieshu.uasset new file mode 100644 index 0000000..02eab17 --- /dev/null +++ b/Content/QSH_XianYangCheng/Texture/M_jieshu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b10f7d62a12faa4da3402120f26c589621a6d93efd1d90232a000f86a55ddc3 +size 12302 diff --git a/Content/QSH_XianYangCheng/Texture/NewEnd_Mat1.uasset b/Content/QSH_XianYangCheng/Texture/NewEnd_Mat1.uasset new file mode 100644 index 0000000..37f5fae --- /dev/null +++ b/Content/QSH_XianYangCheng/Texture/NewEnd_Mat1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7059541f041514cfe8914d802c853d6259e6f97d3a7e1f97fd2281179e449f27 +size 11137 diff --git a/Content/QSH_XianYangCheng/Texture/WeChat_202507111009130183.uasset b/Content/QSH_XianYangCheng/Texture/WeChat_202507111009130183.uasset new file mode 100644 index 0000000..b208623 --- /dev/null +++ b/Content/QSH_XianYangCheng/Texture/WeChat_202507111009130183.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d7f1c8ad031ce2da7db19ac9ed51b6440f7a8e9a5f103c46f25e4ab7c898318 +size 498426 diff --git a/Content/QSH_XianYangCheng/Texture/结束语.uasset b/Content/QSH_XianYangCheng/Texture/结束语.uasset new file mode 100644 index 0000000..c57c2a1 --- /dev/null +++ b/Content/QSH_XianYangCheng/Texture/结束语.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb892136498df9700dd39f46b9c7e97e600d780de1c8c4e5bd7695e0caf6b7b2 +size 21413 diff --git a/Content/QSH_XianYangCheng/Texture/结束语_Mat.uasset b/Content/QSH_XianYangCheng/Texture/结束语_Mat.uasset new file mode 100644 index 0000000..2470e60 --- /dev/null +++ b/Content/QSH_XianYangCheng/Texture/结束语_Mat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b74bbc74c5db0bd4dd1e7784944e8b13d8ba832a77aff0fb39311e11c55ca6b0 +size 15597 diff --git a/Content/QSH_XianYangCheng/movieplane.uasset b/Content/QSH_XianYangCheng/movieplane.uasset new file mode 100644 index 0000000..5f2ea2b --- /dev/null +++ b/Content/QSH_XianYangCheng/movieplane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60037d5d2fe76188141c12cf6b4ca45c714b746dc1768e3d39a8370d460c8df7 +size 16302 diff --git a/Content/QSH_jixielong/Decals/001.uasset b/Content/QSH_jixielong/Decals/001.uasset new file mode 100644 index 0000000..8f81394 --- /dev/null +++ b/Content/QSH_jixielong/Decals/001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba2bd60e12607c091a146af426ded4efd8c54b49b7fe9b1b13c3e65f2f8ec4d2 +size 721441 diff --git a/Content/QSH_jixielong/Decals/002.uasset b/Content/QSH_jixielong/Decals/002.uasset new file mode 100644 index 0000000..88e04ee --- /dev/null +++ b/Content/QSH_jixielong/Decals/002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c617a4ca773726febcdf55013f901ca893ab1f7a6dad3ea5d487256c2e3f4c4b +size 1350466 diff --git a/Content/QSH_jixielong/Decals/005.uasset b/Content/QSH_jixielong/Decals/005.uasset new file mode 100644 index 0000000..e35560a --- /dev/null +++ b/Content/QSH_jixielong/Decals/005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:558a69944723f92b7e1c8e1df331cc6152045be3dfb7aff8db6305edbb63ae9b +size 1710871 diff --git a/Content/QSH_jixielong/Decals/006.uasset b/Content/QSH_jixielong/Decals/006.uasset new file mode 100644 index 0000000..cf97f85 --- /dev/null +++ b/Content/QSH_jixielong/Decals/006.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0049a57d44b68f304ee35b626c5be03b396af10a06f39fd350fa7d4e89f45ec8 +size 613596 diff --git a/Content/QSH_jixielong/Decals/007.uasset b/Content/QSH_jixielong/Decals/007.uasset new file mode 100644 index 0000000..33f75b9 --- /dev/null +++ b/Content/QSH_jixielong/Decals/007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:113eb52432854b643ace1d793cab40cd542462f652831e435974ebdbee23fa56 +size 890240 diff --git a/Content/QSH_jixielong/Decals/008.uasset b/Content/QSH_jixielong/Decals/008.uasset new file mode 100644 index 0000000..46abdb5 --- /dev/null +++ b/Content/QSH_jixielong/Decals/008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:529d123d1364beb927d75b8fabf34040abb237c85a132ce7d782c3db9995513f +size 85779 diff --git a/Content/QSH_jixielong/Decals/009.uasset b/Content/QSH_jixielong/Decals/009.uasset new file mode 100644 index 0000000..a5ed54c --- /dev/null +++ b/Content/QSH_jixielong/Decals/009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d0ab6604569036c5d9dccde175a3c1e71672bc42e33636ed7e2a78df42ef469 +size 42564 diff --git a/Content/QSH_jixielong/Decals/011.uasset b/Content/QSH_jixielong/Decals/011.uasset new file mode 100644 index 0000000..227b938 --- /dev/null +++ b/Content/QSH_jixielong/Decals/011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d28ea45bc8f3c90904aa543927a5f883309a1a48106ffb10ba4e76babdfe4dd +size 708639 diff --git a/Content/QSH_jixielong/Decals/7C827A843551ACDD617266322E3EB71763553B4C_size176_w704_h800.uasset b/Content/QSH_jixielong/Decals/7C827A843551ACDD617266322E3EB71763553B4C_size176_w704_h800.uasset new file mode 100644 index 0000000..e79dee9 --- /dev/null +++ b/Content/QSH_jixielong/Decals/7C827A843551ACDD617266322E3EB71763553B4C_size176_w704_h800.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:397a5eca357fccce76625d92d777501c6943541cd70fc1789b3abf3ad68b1844 +size 1064189 diff --git a/Content/QSH_jixielong/Decals/M_001.uasset b/Content/QSH_jixielong/Decals/M_001.uasset new file mode 100644 index 0000000..54e9dd0 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5c215aa9787f77fee180a1172ad50756d486ea4306f947da1fb6d373dcc64f6 +size 19777 diff --git a/Content/QSH_jixielong/Decals/M_003.uasset b/Content/QSH_jixielong/Decals/M_003.uasset new file mode 100644 index 0000000..5db147e --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4cd9bf7a632a15b9a19cc53badfdcc36c2725c29f68587f8f7efba44975fa6 +size 20724 diff --git a/Content/QSH_jixielong/Decals/M_005.uasset b/Content/QSH_jixielong/Decals/M_005.uasset new file mode 100644 index 0000000..35c04ab --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52b85252686442e96f8da7f50baac5b3406b9988a288904fc8e7763c71c9588b +size 20468 diff --git a/Content/QSH_jixielong/Decals/M_006.uasset b/Content/QSH_jixielong/Decals/M_006.uasset new file mode 100644 index 0000000..14f51e9 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_006.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626d6b69fa89f921136f65abb8a1bed1950f1824e724cd44fff02a89ec099fec +size 17243 diff --git a/Content/QSH_jixielong/Decals/M_007.uasset b/Content/QSH_jixielong/Decals/M_007.uasset new file mode 100644 index 0000000..fe0e3dd --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f0acf9a66f1074026c9e5b31cf97a733b9e2aa7cb276983bb8c2fa746c6e743 +size 18023 diff --git a/Content/QSH_jixielong/Decals/M_008.uasset b/Content/QSH_jixielong/Decals/M_008.uasset new file mode 100644 index 0000000..03a5e42 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310759c4a3f8470dcea8289b6038b9a9c21ef92d0d71ac4aaf0749c48601dd72 +size 20819 diff --git a/Content/QSH_jixielong/Decals/M_009.uasset b/Content/QSH_jixielong/Decals/M_009.uasset new file mode 100644 index 0000000..5fff376 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e347420acb2b1e076062fb2c6acd7f768e8ff96527ba2b946b5a01056f22ea1 +size 18664 diff --git a/Content/QSH_jixielong/Decals/M_010.uasset b/Content/QSH_jixielong/Decals/M_010.uasset new file mode 100644 index 0000000..99430d4 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_010.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e83b7e2c92728bf7dc21ca0e31ea278d1037e655e5403508b387b09343818f25 +size 17125 diff --git a/Content/QSH_jixielong/Decals/M_011.uasset b/Content/QSH_jixielong/Decals/M_011.uasset new file mode 100644 index 0000000..bb93b50 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dc2ae6f8d94ff0d849cc1f033b9686d2b7f2788b8237d24d58d26e5bc2034c8 +size 17593 diff --git a/Content/QSH_jixielong/Decals/M_012.uasset b/Content/QSH_jixielong/Decals/M_012.uasset new file mode 100644 index 0000000..8adeb89 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_012.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e8e17bbbe5529c306708e884737813f338d76f7c3ca6ea7d4d5069a145a82e2 +size 19048 diff --git a/Content/QSH_jixielong/Decals/M_013.uasset b/Content/QSH_jixielong/Decals/M_013.uasset new file mode 100644 index 0000000..7ee441f --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_013.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a3db896ace05229acf2a61f52ec0be7ccbc17721dcf5e23b9fd6fd534718f38 +size 17015 diff --git a/Content/QSH_jixielong/Decals/M_014.uasset b/Content/QSH_jixielong/Decals/M_014.uasset new file mode 100644 index 0000000..e58630e --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_014.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86f1c8e3302249abff2ed73e60c2bed0f234d0c4141636804d4b2c0ac3d97f9f +size 16737 diff --git a/Content/QSH_jixielong/Decals/M_015.uasset b/Content/QSH_jixielong/Decals/M_015.uasset new file mode 100644 index 0000000..5f8b35e --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_015.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4247e6887f5ef09f8403766bcf0caeee713abe4b46ac083112d192923cc34796 +size 21296 diff --git a/Content/QSH_jixielong/Decals/M_016.uasset b/Content/QSH_jixielong/Decals/M_016.uasset new file mode 100644 index 0000000..29c72c4 --- /dev/null +++ b/Content/QSH_jixielong/Decals/M_016.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e704b95a57616641b9597ed5e1e0f0dc7119bba91ec4fcb48628e9ad1bdeafa +size 18779 diff --git a/Content/QSH_jixielong/Decals/OIP-C__1__jpg.uasset b/Content/QSH_jixielong/Decals/OIP-C__1__jpg.uasset new file mode 100644 index 0000000..618eb1a --- /dev/null +++ b/Content/QSH_jixielong/Decals/OIP-C__1__jpg.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b8874a7e5404429f1b80ae080d79b78e62a3c4ff82249b9140408bcab017f1c +size 528963 diff --git a/Content/QSH_jixielong/Decals/R-C.uasset b/Content/QSH_jixielong/Decals/R-C.uasset new file mode 100644 index 0000000..439e709 --- /dev/null +++ b/Content/QSH_jixielong/Decals/R-C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:657be9e7f45b7dfb86925f4db7972504e053acd276e7762493c566eefb1109f2 +size 140429 diff --git a/Content/QSH_jixielong/Decals/R-C__7_.uasset b/Content/QSH_jixielong/Decals/R-C__7_.uasset new file mode 100644 index 0000000..d0f8eba --- /dev/null +++ b/Content/QSH_jixielong/Decals/R-C__7_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b223c63f277f92d768bd76d18213618157fb0e327d8e6a590df14af9e838b3b9 +size 330350 diff --git a/Content/QSH_jixielong/Decals/handaichemachuxingtubihuajubu_6475721.uasset b/Content/QSH_jixielong/Decals/handaichemachuxingtubihuajubu_6475721.uasset new file mode 100644 index 0000000..b17c95d --- /dev/null +++ b/Content/QSH_jixielong/Decals/handaichemachuxingtubihuajubu_6475721.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9a5b609687013f2159377eca8459f91e7441e63019be771e33186b8477b9b82 +size 355116 diff --git a/Content/QSH_jixielong/Decals/qinglong.uasset b/Content/QSH_jixielong/Decals/qinglong.uasset new file mode 100644 index 0000000..35b3e79 --- /dev/null +++ b/Content/QSH_jixielong/Decals/qinglong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:403ef88fa5e8a3648df5d53d25fe2d890c375d790272bfeef4f3703195044f9e +size 19860 diff --git a/Content/QSH_jixielong/Decals/v2-12b5f61acf85c6e884b1ae5b06512d06_r.uasset b/Content/QSH_jixielong/Decals/v2-12b5f61acf85c6e884b1ae5b06512d06_r.uasset new file mode 100644 index 0000000..d7c136c --- /dev/null +++ b/Content/QSH_jixielong/Decals/v2-12b5f61acf85c6e884b1ae5b06512d06_r.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c235196c1b95321bd2e3bd0445640dcf507a32fb2996af8b89572d87d39f8613 +size 269816 diff --git a/Content/QSH_jixielong/Dragon.uasset b/Content/QSH_jixielong/Dragon.uasset new file mode 100644 index 0000000..9ee5218 --- /dev/null +++ b/Content/QSH_jixielong/Dragon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75440915ef8c581c1d27ee0bb3738d8f6de23cccdc186067b5c4b065e789effa +size 259819 diff --git a/Content/QSH_jixielong/HDR/00.uasset b/Content/QSH_jixielong/HDR/00.uasset new file mode 100644 index 0000000..e832fea --- /dev/null +++ b/Content/QSH_jixielong/HDR/00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d9c687c45da95d45a7503786bb9d9c02a5d895dd620c5808fe4bf34ffbe0e80 +size 27829 diff --git a/Content/QSH_jixielong/HDR/111.uasset b/Content/QSH_jixielong/HDR/111.uasset new file mode 100644 index 0000000..3da6fea --- /dev/null +++ b/Content/QSH_jixielong/HDR/111.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:964a1041b80677c8bd031de5f2c9aaa5c7ed43893edfbf51665f9d052280d12d +size 53469381 diff --git a/Content/QSH_jixielong/HDR/Hdri.uasset b/Content/QSH_jixielong/HDR/Hdri.uasset new file mode 100644 index 0000000..50640e8 --- /dev/null +++ b/Content/QSH_jixielong/HDR/Hdri.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:473df16f4334ad18ab476aaf3c011283f911c11ff69e750bdd49771f17789778 +size 19707 diff --git a/Content/QSH_jixielong/HDR/NewLevelSequence.uasset b/Content/QSH_jixielong/HDR/NewLevelSequence.uasset new file mode 100644 index 0000000..19e7861 --- /dev/null +++ b/Content/QSH_jixielong/HDR/NewLevelSequence.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79f4285baac44877a7a8f1a4ff8e5fcdf73bcd2321ecdf4d54e583c1d90c7e87 +size 20914 diff --git a/Content/QSH_jixielong/HDR/NewLevelSequence2_-01.uasset b/Content/QSH_jixielong/HDR/NewLevelSequence2_-01.uasset new file mode 100644 index 0000000..47490d5 --- /dev/null +++ b/Content/QSH_jixielong/HDR/NewLevelSequence2_-01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6be6782df30ceda7850360f889d91a17472a0402c6c6bbc44e54ff58fd7514e1 +size 56332296 diff --git a/Content/QSH_jixielong/HDR/NewLevelSequence_-0001.uasset b/Content/QSH_jixielong/HDR/NewLevelSequence_-0001.uasset new file mode 100644 index 0000000..39b16f2 --- /dev/null +++ b/Content/QSH_jixielong/HDR/NewLevelSequence_-0001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83a27d08c6a93537da55ac7072418745c5c2ce07728da9963a341efb9ae7bbbc +size 5425857 diff --git a/Content/QSH_jixielong/HDR/NewLevelSequence_-0002.uasset b/Content/QSH_jixielong/HDR/NewLevelSequence_-0002.uasset new file mode 100644 index 0000000..c533da4 --- /dev/null +++ b/Content/QSH_jixielong/HDR/NewLevelSequence_-0002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5efcbcc3714d6e8d82becc9ce05bd505a5f8fa548573e023c2b1c49317645a73 +size 5426353 diff --git a/Content/QSH_jixielong/HDR/NewLevelSequence_-0003.uasset b/Content/QSH_jixielong/HDR/NewLevelSequence_-0003.uasset new file mode 100644 index 0000000..86c43f1 --- /dev/null +++ b/Content/QSH_jixielong/HDR/NewLevelSequence_-0003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b936366066fc9457b1eb2067d0e1144aa28dd0c5c8821e5e87c461dfb1a7e821 +size 53469015 diff --git a/Content/QSH_jixielong/M_Dragon.uasset b/Content/QSH_jixielong/M_Dragon.uasset new file mode 100644 index 0000000..8cb2b81 --- /dev/null +++ b/Content/QSH_jixielong/M_Dragon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cb5a361682223e1cfa903a74f1654c2357e225f8676dab79cd9a2d0e4f9ca29 +size 15761 diff --git a/Content/QSH_jixielong/Material/MM_Metal_Gold1.uasset b/Content/QSH_jixielong/Material/MM_Metal_Gold1.uasset new file mode 100644 index 0000000..33f8312 --- /dev/null +++ b/Content/QSH_jixielong/Material/MM_Metal_Gold1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55ea7a5847500c095103c41e86da3d642ec5664ef49b4412288d72b00c0a0b81 +size 26389 diff --git a/Content/QSH_jixielong/Material/MM_Metal_Gold1_Inst.uasset b/Content/QSH_jixielong/Material/MM_Metal_Gold1_Inst.uasset new file mode 100644 index 0000000..2814976 --- /dev/null +++ b/Content/QSH_jixielong/Material/MM_Metal_Gold1_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6adf2282454538125c4abd36ce68abbad2423f27db69ad54de5b3a311f41cf38 +size 10715 diff --git a/Content/QSH_jixielong/Squencer/01canbaoge_01-07Copy.uasset b/Content/QSH_jixielong/Squencer/01canbaoge_01-07Copy.uasset new file mode 100644 index 0000000..4920d89 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/01canbaoge_01-07Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99f64fadeac19c88f6e778c043ad814048cc7a09245998327fbd1095fb858a65 +size 1602 diff --git a/Content/QSH_jixielong/Squencer/02canbaoge_07-11Copy.uasset b/Content/QSH_jixielong/Squencer/02canbaoge_07-11Copy.uasset new file mode 100644 index 0000000..79b6d52 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/02canbaoge_07-11Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcfa95d7dd0847849170dd914250ab53afc99c06f55151d4ee3daf9dabda5a0e +size 1602 diff --git a/Content/QSH_jixielong/Squencer/03canbaoge_buchongCopy.uasset b/Content/QSH_jixielong/Squencer/03canbaoge_buchongCopy.uasset new file mode 100644 index 0000000..9d89cc1 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/03canbaoge_buchongCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8d4446da513b1a69cd7bb3d27fc0e48df4ab2dda68a3366e7bf8a5c41ee5664 +size 1620 diff --git a/Content/QSH_jixielong/Squencer/04canbaoge_11Copy.uasset b/Content/QSH_jixielong/Squencer/04canbaoge_11Copy.uasset new file mode 100644 index 0000000..39b7636 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/04canbaoge_11Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa04de6767a412d3d40e71dca8f92433d3c1602ece26d5155d9bca5d85b3cd52 +size 1575 diff --git a/Content/QSH_jixielong/Squencer/1canbaoge_01-07.uasset b/Content/QSH_jixielong/Squencer/1canbaoge_01-07.uasset new file mode 100644 index 0000000..0bf558c --- /dev/null +++ b/Content/QSH_jixielong/Squencer/1canbaoge_01-07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3be86be46d63bb10c688e8286209152894fb695a82e3012d914d8d13adb9c56 +size 80705 diff --git a/Content/QSH_jixielong/Squencer/1canbaoge_01-07Copy.uasset b/Content/QSH_jixielong/Squencer/1canbaoge_01-07Copy.uasset new file mode 100644 index 0000000..a2145a2 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/1canbaoge_01-07Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83733382156f029456ab09dd17fef37b26b38bfed20741a5afb90aa136c5846a +size 123553 diff --git a/Content/QSH_jixielong/Squencer/280/1canbaoge_01-07Copy280.uasset b/Content/QSH_jixielong/Squencer/280/1canbaoge_01-07Copy280.uasset new file mode 100644 index 0000000..e2c34ab --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/1canbaoge_01-07Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96c66e29df06f439b138b19235e86e78c15d00458062ede37bbeb248964412f7 +size 144109 diff --git a/Content/QSH_jixielong/Squencer/280/2canbaoge_daijiCopy280.uasset b/Content/QSH_jixielong/Squencer/280/2canbaoge_daijiCopy280.uasset new file mode 100644 index 0000000..c5b6f66 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/2canbaoge_daijiCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e38dd318eb13da82e061d435cf061dda1fb9b22fb717d0894d8549c57bdbf33 +size 68782 diff --git a/Content/QSH_jixielong/Squencer/280/3canbaoge_buchongCopy280.uasset b/Content/QSH_jixielong/Squencer/280/3canbaoge_buchongCopy280.uasset new file mode 100644 index 0000000..691a424 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/3canbaoge_buchongCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f9af01e2bde991b009f5b9d821bd8fe8077d84f5340363861526692eb01c1f0 +size 119413 diff --git a/Content/QSH_jixielong/Squencer/280/4canbaoge_11Copy280.uasset b/Content/QSH_jixielong/Squencer/280/4canbaoge_11Copy280.uasset new file mode 100644 index 0000000..07f020a --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/4canbaoge_11Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d499207d3fa4a6d9a7113f425b96b2460fc9a52abaa21aff7ab14b2a4810c4a8 +size 149960 diff --git a/Content/QSH_jixielong/Squencer/280/5canbaoge_07-11Copy280.uasset b/Content/QSH_jixielong/Squencer/280/5canbaoge_07-11Copy280.uasset new file mode 100644 index 0000000..9189204 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/5canbaoge_07-11Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5678fd90559faf68f7e79185abd2779d75563d9b99eff3887cad5683e03c369a +size 147885 diff --git a/Content/QSH_jixielong/Squencer/280/6canbaoge_daijiCopy280.uasset b/Content/QSH_jixielong/Squencer/280/6canbaoge_daijiCopy280.uasset new file mode 100644 index 0000000..8dd802c --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/6canbaoge_daijiCopy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7149490be7f7b733aa9401e8fcbb5b68d76e6ce94e4ca094bd425264669c9f4e +size 101917 diff --git a/Content/QSH_jixielong/Squencer/280/7canbaoge_13-14Copy280.uasset b/Content/QSH_jixielong/Squencer/280/7canbaoge_13-14Copy280.uasset new file mode 100644 index 0000000..e3c36aa --- /dev/null +++ b/Content/QSH_jixielong/Squencer/280/7canbaoge_13-14Copy280.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fdb546c01cc3bfcf85eaba270fac5ca03ba225450b0549cffc5d49ae41e5079 +size 140585 diff --git a/Content/QSH_jixielong/Squencer/290/1canbaoge_01-07Copy290.uasset b/Content/QSH_jixielong/Squencer/290/1canbaoge_01-07Copy290.uasset new file mode 100644 index 0000000..1a36d26 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/1canbaoge_01-07Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e452859e79d595c760f36bb8334a5d8bc935008f46a4848a75962e8845e15b6 +size 123259 diff --git a/Content/QSH_jixielong/Squencer/290/2canbaoge_daijiCopy290.uasset b/Content/QSH_jixielong/Squencer/290/2canbaoge_daijiCopy290.uasset new file mode 100644 index 0000000..999e36d --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/2canbaoge_daijiCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c698c3eab8044080da1e572030d953c6bff140a14db98533893f903956250d5 +size 67737 diff --git a/Content/QSH_jixielong/Squencer/290/3canbaoge_buchongCopy290.uasset b/Content/QSH_jixielong/Squencer/290/3canbaoge_buchongCopy290.uasset new file mode 100644 index 0000000..a9881d6 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/3canbaoge_buchongCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51705fc275a04009030cc5336494b501a8b382f2426c6cfd7d0a79bb9d0b658a +size 105041 diff --git a/Content/QSH_jixielong/Squencer/290/4canbaoge_11Copy290.uasset b/Content/QSH_jixielong/Squencer/290/4canbaoge_11Copy290.uasset new file mode 100644 index 0000000..927df80 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/4canbaoge_11Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af9839eeb57fea4deff00bc660da7c4856f2aaf613d44b5034f4fd911e63f2fa +size 130359 diff --git a/Content/QSH_jixielong/Squencer/290/5canbaoge_07-11Copy290.uasset b/Content/QSH_jixielong/Squencer/290/5canbaoge_07-11Copy290.uasset new file mode 100644 index 0000000..cc63882 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/5canbaoge_07-11Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a3488d4311128905da767064ec6e2f92168f36b5bdb24b766b1918597798327 +size 117286 diff --git a/Content/QSH_jixielong/Squencer/290/6canbaoge_daijiCopy290.uasset b/Content/QSH_jixielong/Squencer/290/6canbaoge_daijiCopy290.uasset new file mode 100644 index 0000000..cb4cf2b --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/6canbaoge_daijiCopy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:028955daa9fb093ab7bb7053fb4c3e579667be4cf1623039d093ce93376113c3 +size 79170 diff --git a/Content/QSH_jixielong/Squencer/290/7canbaoge_13-14Copy290.uasset b/Content/QSH_jixielong/Squencer/290/7canbaoge_13-14Copy290.uasset new file mode 100644 index 0000000..38f9520 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/290/7canbaoge_13-14Copy290.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c36736d215b658684bd499b9f6453d41a21230bd77d3db66cf30befcdddc86a +size 129286 diff --git a/Content/QSH_jixielong/Squencer/2canbaoge_daiji.uasset b/Content/QSH_jixielong/Squencer/2canbaoge_daiji.uasset new file mode 100644 index 0000000..d40ad07 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/2canbaoge_daiji.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c66b71dc95963ef3d5bd2a2f2331c930aebdaa0aefe833d9700289c20c81bea9 +size 39826 diff --git a/Content/QSH_jixielong/Squencer/2canbaoge_daijiCopy.uasset b/Content/QSH_jixielong/Squencer/2canbaoge_daijiCopy.uasset new file mode 100644 index 0000000..6057be8 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/2canbaoge_daijiCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4472fb89cb3392a4402df0731153595eb529819544345aabe0ba2e18f1799251 +size 79221 diff --git a/Content/QSH_jixielong/Squencer/330/1canbaoge_01-07Copy330.uasset b/Content/QSH_jixielong/Squencer/330/1canbaoge_01-07Copy330.uasset new file mode 100644 index 0000000..5e0f5b6 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/1canbaoge_01-07Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:680bedd17de0e3fceb2d79d10e5cbdc385978c91d23ac3ab17c42fd97a801187 +size 114540 diff --git a/Content/QSH_jixielong/Squencer/330/2canbaoge_daijiCopy330.uasset b/Content/QSH_jixielong/Squencer/330/2canbaoge_daijiCopy330.uasset new file mode 100644 index 0000000..05c8f37 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/2canbaoge_daijiCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bca9ae7c33039125c9c9bd658cb3b2ba679f28d3d461d3e8c7655799d95114eb +size 86986 diff --git a/Content/QSH_jixielong/Squencer/330/3canbaoge_buchongCopy330.uasset b/Content/QSH_jixielong/Squencer/330/3canbaoge_buchongCopy330.uasset new file mode 100644 index 0000000..8fe5f92 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/3canbaoge_buchongCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:763bc8335c8fe93c3fc0b91df678de24310097635ea435e50b0933f069c05f68 +size 107080 diff --git a/Content/QSH_jixielong/Squencer/330/4canbaoge_11Copy330.uasset b/Content/QSH_jixielong/Squencer/330/4canbaoge_11Copy330.uasset new file mode 100644 index 0000000..c857a81 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/4canbaoge_11Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b348973519a3baefe3dfea16d7842e2997a620ade67e8cb4ad9206b99d468035 +size 132160 diff --git a/Content/QSH_jixielong/Squencer/330/5canbaoge_07-11Copy330.uasset b/Content/QSH_jixielong/Squencer/330/5canbaoge_07-11Copy330.uasset new file mode 100644 index 0000000..ccf8dca --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/5canbaoge_07-11Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:509822f62d06193926122a8fbfe3e550ef0838b097ec5f2d03482b00c4b8a01c +size 118533 diff --git a/Content/QSH_jixielong/Squencer/330/6canbaoge_daijiCopy330.uasset b/Content/QSH_jixielong/Squencer/330/6canbaoge_daijiCopy330.uasset new file mode 100644 index 0000000..9a2c7dd --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/6canbaoge_daijiCopy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30a99d159434beeb1f272f6a0931bab20fbc4668a2011f92afca65be9910e051 +size 79888 diff --git a/Content/QSH_jixielong/Squencer/330/7canbaoge_13-14Copy330.uasset b/Content/QSH_jixielong/Squencer/330/7canbaoge_13-14Copy330.uasset new file mode 100644 index 0000000..37d62df --- /dev/null +++ b/Content/QSH_jixielong/Squencer/330/7canbaoge_13-14Copy330.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdd4c36771a88d72ed90d378e860ab6e0b7f80eefadf4947d1e7d44c88350a3a +size 121769 diff --git a/Content/QSH_jixielong/Squencer/3canbaoge_buchong.uasset b/Content/QSH_jixielong/Squencer/3canbaoge_buchong.uasset new file mode 100644 index 0000000..a21aec7 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/3canbaoge_buchong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:220101328bd19f9ec90945b519ca57aa9a703c96a835e70778414812f9fbdce9 +size 51117 diff --git a/Content/QSH_jixielong/Squencer/3canbaoge_buchongCopy.uasset b/Content/QSH_jixielong/Squencer/3canbaoge_buchongCopy.uasset new file mode 100644 index 0000000..829bf2b --- /dev/null +++ b/Content/QSH_jixielong/Squencer/3canbaoge_buchongCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ca04d41370b4e4d90dadba77d6dddfc660dceab6d2ed31fb32a91bbdd870abe +size 103081 diff --git a/Content/QSH_jixielong/Squencer/4canbaoge_11.uasset b/Content/QSH_jixielong/Squencer/4canbaoge_11.uasset new file mode 100644 index 0000000..da7ad6c --- /dev/null +++ b/Content/QSH_jixielong/Squencer/4canbaoge_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4f2cb5ad072e5d8709ad955455580b0bb676c33a551ab622ee116e32aebaa17 +size 82287 diff --git a/Content/QSH_jixielong/Squencer/4canbaoge_11Copy.uasset b/Content/QSH_jixielong/Squencer/4canbaoge_11Copy.uasset new file mode 100644 index 0000000..604fed8 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/4canbaoge_11Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:088d1ff05303566b71036357fac0ced944461192bd35aeea8c7ddedb1a86be8a +size 137562 diff --git a/Content/QSH_jixielong/Squencer/5canbaoge_07-11.uasset b/Content/QSH_jixielong/Squencer/5canbaoge_07-11.uasset new file mode 100644 index 0000000..f8459c8 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/5canbaoge_07-11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6f417001c9adc76d69b249458a4f8b6a28e1deabc51329a4abf691ade130548 +size 79935 diff --git a/Content/QSH_jixielong/Squencer/5canbaoge_07-11Copy.uasset b/Content/QSH_jixielong/Squencer/5canbaoge_07-11Copy.uasset new file mode 100644 index 0000000..ac60622 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/5canbaoge_07-11Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630daec39b6ace4110a248ee1eaafb3d6fecac7c766172dc50237386feaa1cb9 +size 115806 diff --git a/Content/QSH_jixielong/Squencer/6canbaoge_daiji1.uasset b/Content/QSH_jixielong/Squencer/6canbaoge_daiji1.uasset new file mode 100644 index 0000000..9f24b21 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/6canbaoge_daiji1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:142615ec6c473c648247de73cae8a4ef53004268ba5160a01e5a58538a5818de +size 38268 diff --git a/Content/QSH_jixielong/Squencer/6canbaoge_daijiCopy.uasset b/Content/QSH_jixielong/Squencer/6canbaoge_daijiCopy.uasset new file mode 100644 index 0000000..c5c37bc --- /dev/null +++ b/Content/QSH_jixielong/Squencer/6canbaoge_daijiCopy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f121de38dd512052518e0d9ccf2e70d863cd6535369495afd973059c98828c2 +size 88567 diff --git a/Content/QSH_jixielong/Squencer/7canbaoge_13-14.uasset b/Content/QSH_jixielong/Squencer/7canbaoge_13-14.uasset new file mode 100644 index 0000000..5c9fe79 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/7canbaoge_13-14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e46dc441cac028e5c6061b923fb276117d9baeadec9d7c26e6d4beb1c75e555c +size 78665 diff --git a/Content/QSH_jixielong/Squencer/7canbaoge_13-14Copy.uasset b/Content/QSH_jixielong/Squencer/7canbaoge_13-14Copy.uasset new file mode 100644 index 0000000..5b16941 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/7canbaoge_13-14Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90bf2005eb6a175f6ff791b3ce3d18cfacb31fa0ef2adb2f01cd2ef185b40abf +size 129166 diff --git a/Content/QSH_jixielong/Squencer/LJ/canbaoge_01-09.uasset b/Content/QSH_jixielong/Squencer/LJ/canbaoge_01-09.uasset new file mode 100644 index 0000000..f8a5b18 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/LJ/canbaoge_01-09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ca04435fc5a92ad1b5cbddd1f4421631c7a5dffd63b7ee6ace5fba8d500f98e +size 183121 diff --git a/Content/QSH_jixielong/Squencer/LJ/canbaoge_11.uasset b/Content/QSH_jixielong/Squencer/LJ/canbaoge_11.uasset new file mode 100644 index 0000000..4674d69 --- /dev/null +++ b/Content/QSH_jixielong/Squencer/LJ/canbaoge_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c561d17986ceb59ac02dbc36135ae51c248d5aa5904d71a22c668e08c9b74192 +size 99106 diff --git a/Content/QSH_jixielong/Squencer/LJ/canbaoge_13-14.uasset b/Content/QSH_jixielong/Squencer/LJ/canbaoge_13-14.uasset new file mode 100644 index 0000000..fe6b7ba --- /dev/null +++ b/Content/QSH_jixielong/Squencer/LJ/canbaoge_13-14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d19bb515404f46883145e7b7154c3be1b88ecdb78568d06133a6182ca2d95aa +size 100698 diff --git a/Content/QSH_jixielong/Squencer/LJ/canbaoge_buchong.uasset b/Content/QSH_jixielong/Squencer/LJ/canbaoge_buchong.uasset new file mode 100644 index 0000000..b630eab --- /dev/null +++ b/Content/QSH_jixielong/Squencer/LJ/canbaoge_buchong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daa8125789b0006e54aee90f2b6342df92c977d4d0abf4e58aeb56bc9576d6a7 +size 43857 diff --git a/Content/QSH_jixielong/VFx/NS_Projectile_08_Lvl_2.uasset b/Content/QSH_jixielong/VFx/NS_Projectile_08_Lvl_2.uasset new file mode 100644 index 0000000..6e2cfb5 --- /dev/null +++ b/Content/QSH_jixielong/VFx/NS_Projectile_08_Lvl_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:590389a61b7da1f3f34112842319ba83b1eec0c2644cb2cbd900a620fa4fbb4d +size 945650 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087221.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087221.uasset new file mode 100644 index 0000000..fdaa44e --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087221.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a65290d255c3a495c9e7abd2fc0af464b413b94d75bab590235b407792366997 +size 6468304 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087222.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087222.uasset new file mode 100644 index 0000000..477b662 --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087222.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8400c403c9fb1a8b98f0704f36fb4a05d8970752541e6e1b293011b44c283afd +size 6456677 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087223.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087223.uasset new file mode 100644 index 0000000..00665f5 --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087223.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86f3c7f0e6b0d500f547e103d691783f1b979b26c1433ea735054f8bad9ddbcf +size 6561683 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087224.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087224.uasset new file mode 100644 index 0000000..a0e9cf7 --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Rectangle_2A087224.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be74c9c5682d0762ecc19971040ad00104dc4bac8af6c614744eedad80dc6bc9 +size 6631518 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Sphere_362732A4.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Sphere_362732A4.uasset new file mode 100644 index 0000000..18db866 --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Sphere_362732A4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82dc1a1db5a3a051a66b107b62d011df6738e1a4876c0021163a49247414f6bf +size 95097 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E6.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E6.uasset new file mode 100644 index 0000000..c87055f --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa2b96bfd1ba4961114e898ef358c07c4c06ac218884e971508009d70dcb0af2 +size 33830 diff --git a/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E7.uasset b/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E7.uasset new file mode 100644 index 0000000..bdc4809 --- /dev/null +++ b/Content/QSH_jixielong/_GENERATED/YWZH/Trim_EB6E45E7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19839e9a0129a3310bf4c0612199bdfcdca0c236fe0955b90530414fa5a4a8d7 +size 32053 diff --git a/Content/QSH_jixielong/jixielong.umap b/Content/QSH_jixielong/jixielong.umap new file mode 100644 index 0000000..0b9a4bd --- /dev/null +++ b/Content/QSH_jixielong/jixielong.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebb96cde298bc3515e22dd7a4f311089ed9267efd995cca1b0dee1872711ed88 +size 251527 diff --git a/Content/QSH_jixielong/jixielong280.umap b/Content/QSH_jixielong/jixielong280.umap new file mode 100644 index 0000000..0e3913b --- /dev/null +++ b/Content/QSH_jixielong/jixielong280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7e0155699acacbe8581609d2885fa5e9f0cdd5c49e16c1a5c9f531899fbe1fd +size 244306 diff --git a/Content/QSH_jixielong/jixielong290.umap b/Content/QSH_jixielong/jixielong290.umap new file mode 100644 index 0000000..66af990 --- /dev/null +++ b/Content/QSH_jixielong/jixielong290.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c4875a05058b6158d5d9dfe98d9a3ebfdd3a0acd896aec53f51a8835a9aec3 +size 244929 diff --git a/Content/QSH_jixielong/jixielong330.umap b/Content/QSH_jixielong/jixielong330.umap new file mode 100644 index 0000000..38b4652 --- /dev/null +++ b/Content/QSH_jixielong/jixielong330.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b7796d1af832813229cb1977b8c05a4d14c8c9d48ad765ad95eedc3e48f8ff1 +size 236916 diff --git a/Content/QSH_jixielong/mesh/SM_wenwujia.uasset b/Content/QSH_jixielong/mesh/SM_wenwujia.uasset new file mode 100644 index 0000000..e38d618 --- /dev/null +++ b/Content/QSH_jixielong/mesh/SM_wenwujia.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea009f0cbd4148ac88e3a829bbd4fe6827677c160d3fb40ee4f1817733b109c +size 27433 diff --git a/Content/QSH_jixielong/mesh/T_Wenwujia.uasset b/Content/QSH_jixielong/mesh/T_Wenwujia.uasset new file mode 100644 index 0000000..b9105e5 --- /dev/null +++ b/Content/QSH_jixielong/mesh/T_Wenwujia.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dbb6c3c7b71bd9c547f780d29a98415b861c528235b6816e23bb390bb1c61c2 +size 170413 diff --git a/Content/QSH_jixielong/mesh/ding.uasset b/Content/QSH_jixielong/mesh/ding.uasset new file mode 100644 index 0000000..44578d0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/ding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c267feefbd6ed134f1ac4a7bf1b824fbe793a92a3df50bed151a2c35cf4f28 +size 25886 diff --git a/Content/QSH_jixielong/mesh/ding_Inst.uasset b/Content/QSH_jixielong/mesh/ding_Inst.uasset new file mode 100644 index 0000000..3bd908c --- /dev/null +++ b/Content/QSH_jixielong/mesh/ding_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba705923e49abc9880519ea7dc724836c2ad4bc2f70da5fbd25c2c477c8708de +size 15422 diff --git a/Content/QSH_jixielong/mesh/long/001.uasset b/Content/QSH_jixielong/mesh/long/001.uasset new file mode 100644 index 0000000..9843eba --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:768c1552d58c0b7a7f72afed8afbf8f0cc9eac3ada4f5b68c8893dcf1ef83140 +size 20569 diff --git a/Content/QSH_jixielong/mesh/long/002.uasset b/Content/QSH_jixielong/mesh/long/002.uasset new file mode 100644 index 0000000..a260a7b --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7eefd1fc876186eee570ddc50778909bbc73930659c2c403017dc04e0d66e8a +size 19925 diff --git a/Content/QSH_jixielong/mesh/long/1001_baseColor.uasset b/Content/QSH_jixielong/mesh/long/1001_baseColor.uasset new file mode 100644 index 0000000..f296196 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1001_baseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bccafeabcc95e0ee07748307878093ca9a13144d665d9cbe3e23b636dcbb679 +size 8585181 diff --git a/Content/QSH_jixielong/mesh/long/1001_normal.uasset b/Content/QSH_jixielong/mesh/long/1001_normal.uasset new file mode 100644 index 0000000..65b6863 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1001_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:449d951cce996afa67200377f7439f2deb7f3a0a28b43e3eca47cc25ab1f3f15 +size 11301990 diff --git a/Content/QSH_jixielong/mesh/long/1001_occlusionRoughnessMetallic.uasset b/Content/QSH_jixielong/mesh/long/1001_occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..485f1c9 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1001_occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66f182cd63cd18f5649ccee5e79488d32b423e86b3d87ba3ee656404d2688c0d +size 7896138 diff --git a/Content/QSH_jixielong/mesh/long/1002.uasset b/Content/QSH_jixielong/mesh/long/1002.uasset new file mode 100644 index 0000000..563eba3 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b654bb9f36540a92c8f99a0b888282dd47ca49990884c0143a1e11d6030716ed +size 67311 diff --git a/Content/QSH_jixielong/mesh/long/1002_baseColor.uasset b/Content/QSH_jixielong/mesh/long/1002_baseColor.uasset new file mode 100644 index 0000000..825cbf9 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1002_baseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:433c239a2433d8744d99d3747981d043391f6ac30395431416ca251fa3dea5fe +size 7455341 diff --git a/Content/QSH_jixielong/mesh/long/1002_emissive.uasset b/Content/QSH_jixielong/mesh/long/1002_emissive.uasset new file mode 100644 index 0000000..24fc3aa --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1002_emissive.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eb441019c5dcfa29ae3108b1a414677b1d87e1d4ad0183265d6e15935e092f5 +size 17498 diff --git a/Content/QSH_jixielong/mesh/long/1002_normal.uasset b/Content/QSH_jixielong/mesh/long/1002_normal.uasset new file mode 100644 index 0000000..cfdcc90 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1002_normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b623c844a0a45f412cd4e4e226552046cb56b35ba57ec60a425d110a05502001 +size 9282943 diff --git a/Content/QSH_jixielong/mesh/long/1002_occlusionRoughnessMetallic.uasset b/Content/QSH_jixielong/mesh/long/1002_occlusionRoughnessMetallic.uasset new file mode 100644 index 0000000..51dafb1 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/1002_occlusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc332e23aa79a9a2d11defcf9825618b21b5d815f8932a6a631b3ae62acea50 +size 7355078 diff --git a/Content/QSH_jixielong/mesh/long/dragon_low.uasset b/Content/QSH_jixielong/mesh/long/dragon_low.uasset new file mode 100644 index 0000000..9aa3005 --- /dev/null +++ b/Content/QSH_jixielong/mesh/long/dragon_low.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f0bb257ac51152f42699b38f2f0baae445152d7917d822da214b28b8998156d +size 555210 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-003.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-003.uasset new file mode 100644 index 0000000..1884dcf --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5acadf2a0b19818b9c40d05b8d5bee6c01914ad4120a999568be39d85e9bea2a +size 16085 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-005.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-005.uasset new file mode 100644 index 0000000..290ea39 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79f4cd189aa2764e125c17eea043f80a33f68bcb87c86afbce5a60a536e73855 +size 24154 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-006.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-006.uasset new file mode 100644 index 0000000..4f28956 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-006.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27fba0580e2eaa46714d15b52043da8446d9e631afec56b33c85e0373a3cd374 +size 23872 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-007.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-007.uasset new file mode 100644 index 0000000..7f2c462 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1e3b76f89548fbddb6e604b6992e235602f328a7a09b5241f45c2f79db7eb29 +size 18844 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-009.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-009.uasset new file mode 100644 index 0000000..0ecb287 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62a4aea24f034894d05c0c279b0213ad51516a69254af391655050537cd94bab +size 16103 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-010.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-010.uasset new file mode 100644 index 0000000..4686d94 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-010.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:940730983e5b886de2fb3d2ab79c50af81b33c190b98c4d524a0739945284122 +size 7329 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-011.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-011.uasset new file mode 100644 index 0000000..bac9c2c --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e3177919eadc3fc6c11c17081696dba45caeeb893ab424b54b902ed145ebaa +size 7329 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-012.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-012.uasset new file mode 100644 index 0000000..da2be63 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-012.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f03ebfebb898b525f1a9fa46909b363f3af11d7b053d4f8bfe13711c91732fc0 +size 7329 diff --git a/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-013.uasset b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-013.uasset new file mode 100644 index 0000000..97cd256 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66-Standardmaterial-20587780-013.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b680a2ca94ad16d54489863d0027cdd1f465580864e6278a5d24670edeb3710 +size 7329 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-001.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-001.uasset new file mode 100644 index 0000000..01e52e0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a70420c0116ff7e1305e5dff298b3424314ad34b89dc1b8057f0b35121d14d22 +size 21073764 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-003.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-003.uasset new file mode 100644 index 0000000..989de3d --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e0e29d87574e079b75bd4086b2362392e7a8d945d60086f11ae2d349f4634a5 +size 21865726 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-009.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-009.uasset new file mode 100644 index 0000000..f7609a6 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df83bf1ef8d730b885dba19e144a2a28a496c6a24382dc30f9fb15cc2b9db9f7 +size 26274674 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-011.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-011.uasset new file mode 100644 index 0000000..9b7d028 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files-011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:667cbb8e241c1695000afd384d722ecaeacf7d6999b9e2768e2d4f6aa2f2f15f +size 26025488 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files005.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files005.uasset new file mode 100644 index 0000000..d39b1fd --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f652d8debe50cde6bed742b9df48c205edd7ded9099097c8667dd13050f38a5f +size 26516000 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files01.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files01.uasset new file mode 100644 index 0000000..f9aa429 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e0043b6372b43461c43f9ea47168f37db50325fb1bd49613f935e7a0a93f18d +size 31681783 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files02.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files02.uasset new file mode 100644 index 0000000..1deb200 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9a1479d43393de9b14385e7f46e91df34a6999233545c00ccd3e80592908f7 +size 32625343 diff --git a/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files04.uasset b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files04.uasset new file mode 100644 index 0000000..ea86fc5 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/3d66Model-20587780-files04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:713197a402032fcc2693fe69b73ff3c8f40d253d20f943e74331e8329483bcc5 +size 26664594 diff --git a/Content/QSH_jixielong/mesh/men/blinn1.uasset b/Content/QSH_jixielong/mesh/men/blinn1.uasset new file mode 100644 index 0000000..ced3e5f --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/blinn1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0184fe8e4ad240ede6331c4d941689b391395b7aba592ff15cac3106f7d441fe +size 8919 diff --git a/Content/QSH_jixielong/mesh/men/blinn2.uasset b/Content/QSH_jixielong/mesh/men/blinn2.uasset new file mode 100644 index 0000000..450cd9a --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/blinn2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1828dff57ce3fed7a8bc1074fc42ab034b29e0a154de40167f052ca9e620d84 +size 7161 diff --git a/Content/QSH_jixielong/mesh/men/lambert11.uasset b/Content/QSH_jixielong/mesh/men/lambert11.uasset new file mode 100644 index 0000000..60532c4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/lambert11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911afbf39d50fa7c51acaa7613402b080b7c28e21d76d4af7cdfdca2e1def719 +size 7179 diff --git a/Content/QSH_jixielong/mesh/men/lambert12.uasset b/Content/QSH_jixielong/mesh/men/lambert12.uasset new file mode 100644 index 0000000..2e83903 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/lambert12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:152076ba9ff92287a8927dc23b382f42cde5a4250e734496294e52196437b702 +size 7179 diff --git a/Content/QSH_jixielong/mesh/men/lambert13.uasset b/Content/QSH_jixielong/mesh/men/lambert13.uasset new file mode 100644 index 0000000..8310b4f --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/lambert13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef974351f0a47fc50771975abd671c8c8f04e3633f9ee2d87004d8dbba570ad3 +size 7179 diff --git a/Content/QSH_jixielong/mesh/men/lambert14.uasset b/Content/QSH_jixielong/mesh/men/lambert14.uasset new file mode 100644 index 0000000..7340123 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/lambert14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cec5ce8d1877fa56f4ac2dfbab78bfe43d40d9abd603c6eb9aaa158e5116116 +size 7179 diff --git a/Content/QSH_jixielong/mesh/men/phong3.uasset b/Content/QSH_jixielong/mesh/men/phong3.uasset new file mode 100644 index 0000000..6246941 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/phong3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8512a23d297d0488342823dcf6d52fe893c8aecf0bb8afe1e08417189d9f53f8 +size 8919 diff --git a/Content/QSH_jixielong/mesh/men/phong4.uasset b/Content/QSH_jixielong/mesh/men/phong4.uasset new file mode 100644 index 0000000..1c9fda2 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/phong4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0017a01d3eca98dc5f3b2a4a4f0b7f032676fe6f4c9dd2a24f1681d75c40765 +size 7161 diff --git a/Content/QSH_jixielong/mesh/men/phong5.uasset b/Content/QSH_jixielong/mesh/men/phong5.uasset new file mode 100644 index 0000000..7edf130 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/phong5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32ac4080408f953367fd89c85495cfd5f095c883bdb68648bc5fc89deed56ef2 +size 7161 diff --git a/Content/QSH_jixielong/mesh/men/shimen3_polySurface1761.uasset b/Content/QSH_jixielong/mesh/men/shimen3_polySurface1761.uasset new file mode 100644 index 0000000..02ce201 --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/shimen3_polySurface1761.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c756ec10ff24aad76ede3f5347d6200e37a34f7b098a31605f15ca6082f8b96 +size 693639 diff --git a/Content/QSH_jixielong/mesh/men/shimen3_polySurface973.uasset b/Content/QSH_jixielong/mesh/men/shimen3_polySurface973.uasset new file mode 100644 index 0000000..f2052da --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/shimen3_polySurface973.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:135e9f6e76959ec89922f454404c64f32ecad1fdbf23c5078e5f10adc828ef97 +size 34802 diff --git a/Content/QSH_jixielong/mesh/men/shimen3_polySurface992.uasset b/Content/QSH_jixielong/mesh/men/shimen3_polySurface992.uasset new file mode 100644 index 0000000..a1747eb --- /dev/null +++ b/Content/QSH_jixielong/mesh/men/shimen3_polySurface992.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1318c9dcfc96cadecc0313980c65e9a182b9ba672c0a9d470cf873d233820c47 +size 34843 diff --git a/Content/QSH_jixielong/mesh/qiangbi/150625_mia337_000833_100_64Kfaces_OBJ4.uasset b/Content/QSH_jixielong/mesh/qiangbi/150625_mia337_000833_100_64Kfaces_OBJ4.uasset new file mode 100644 index 0000000..76e6d34 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/150625_mia337_000833_100_64Kfaces_OBJ4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd53164d8bbe53128e627673db918bc5234a9c452a03976c12d15c8c6f3bac7 +size 17514 diff --git a/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_1.uasset b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_1.uasset new file mode 100644 index 0000000..c309ac4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e5404e2f0cc7ab00b81dbe5ed2a5e97f0c4f8065c0234eaf7a9ce663a57e03 +size 36263 diff --git a/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_2.uasset b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_2.uasset new file mode 100644 index 0000000..41a52e5 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1895e788c76cc4cdf352493781c96d7eb0f1f479f8be3ad8a40a98cc62787f9e +size 35829 diff --git a/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_3.uasset b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_3.uasset new file mode 100644 index 0000000..b79f15f --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi1_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84c09367ecddb803788181cb147f91dd9725ef05329eb6f0b0ae7ddcf39e4c6d +size 35865 diff --git a/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_1.uasset b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_1.uasset new file mode 100644 index 0000000..f0a9195 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de6fa24a70c0f84ef0ee883f099fc19139db6786484d940834abdbb6c4a4d2fa +size 35517 diff --git a/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_2.uasset b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_2.uasset new file mode 100644 index 0000000..6c5f9db --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/BP_taizi2_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e17d15afb2841d3bdd3dff6bf78e7eedb8915a7653ed7ae27a5d5d11f26543bd +size 35452 diff --git a/Content/QSH_jixielong/mesh/qiangbi/Fbx_Default_Material.uasset b/Content/QSH_jixielong/mesh/qiangbi/Fbx_Default_Material.uasset new file mode 100644 index 0000000..87cd4b6 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/Fbx_Default_Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da71594f9842f09999ec5f8f1aab294094f94192e63bdf04a727a8e9fa0b5833 +size 7260 diff --git a/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D01.uasset b/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D01.uasset new file mode 100644 index 0000000..909fdcf --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65e52520bff47bd22e1a5024d134381fc4bb6d017b71c2d92ce4f72b55acfa83 +size 14332276 diff --git a/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D02.uasset b/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D02.uasset new file mode 100644 index 0000000..4611057 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/Guise_A_D02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2e519ad751dc700706262492600b832c267d27890460955dc8d3f8073d00c07 +size 27881205 diff --git a/Content/QSH_jixielong/mesh/qiangbi/M_gold.uasset b/Content/QSH_jixielong/mesh/qiangbi/M_gold.uasset new file mode 100644 index 0000000..011cd68 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/M_gold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75f37e600cd48ce153e9af0f3984d6ba7083d19482be992e8e62103d15c3579 +size 23362 diff --git a/Content/QSH_jixielong/mesh/qiangbi/M_gold_Inst.uasset b/Content/QSH_jixielong/mesh/qiangbi/M_gold_Inst.uasset new file mode 100644 index 0000000..8306a63 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/M_gold_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d801b25a9d5a744d011885d432be4e2064529a126a773cb74c4aff85466a4a +size 10804 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert10.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert10.uasset new file mode 100644 index 0000000..e969acf --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c4c5b1fbe65d23d48de374fe593c1eacf15a64737c72fb981090cad863dc14 +size 7198 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert15.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert15.uasset new file mode 100644 index 0000000..1d2973e --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a28a723f97cb526f33eaef2e2fd8113d19a9a22402a4d4db81104235983a2a3a +size 7198 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert16.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert16.uasset new file mode 100644 index 0000000..09a72cf --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e62bc1cd0f48c0871cbdf6a62f2294b0ee92906524da5a7bc4646ec41e6d9ad +size 7198 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert17.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert17.uasset new file mode 100644 index 0000000..a0a2169 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e12ebc66841bf602d9d41b4a7f910db4b20b84a0e56bb6d5a715f2d1e0121d99 +size 7198 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert4.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert4.uasset new file mode 100644 index 0000000..87422a5 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ab65cc8d747e32e80acdbe98356a6888b77aa0ded45fd79cfc3092cb6756650 +size 7188 diff --git a/Content/QSH_jixielong/mesh/qiangbi/lambert9.uasset b/Content/QSH_jixielong/mesh/qiangbi/lambert9.uasset new file mode 100644 index 0000000..1cfd38d --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/lambert9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:267f438ebe1b6eb5030fd8e7c1390faa3e5fcdfec495e617aed36fa78f9b435d +size 7188 diff --git a/Content/QSH_jixielong/mesh/qiangbi/o.uasset b/Content/QSH_jixielong/mesh/qiangbi/o.uasset new file mode 100644 index 0000000..396c010 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/o.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:030c954db08eedb0cba0262f6b4a5707a0d8101090b9dc900c4a9720a5f68894 +size 10584 diff --git a/Content/QSH_jixielong/mesh/qiangbi/yuanpan.uasset b/Content/QSH_jixielong/mesh/qiangbi/yuanpan.uasset new file mode 100644 index 0000000..40489fd --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/yuanpan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81a77c3e46e40f613f25ebce2c570822a6bf64fd5618ec626c46449f89800203 +size 241477 diff --git a/Content/QSH_jixielong/mesh/qiangbi/zhongxintaizi1.uasset b/Content/QSH_jixielong/mesh/qiangbi/zhongxintaizi1.uasset new file mode 100644 index 0000000..f865364 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qiangbi/zhongxintaizi1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68300bba10bc465d0ed2cd6318e126316d1914286a08d5919712ecac8b137a8 +size 637580 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3.uasset new file mode 100644 index 0000000..e3b42f4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:614566f1c027421e45af5ae2d225e7d850b1888202b6addd5fafa3a160f86a08 +size 15891 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Inst.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Inst.uasset new file mode 100644 index 0000000..6340b3e --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6173c5aaf8845dba992b9d7c53eea32a03e21e437dc8985f60c4c6aaa2efe5f9 +size 14478 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Nor.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Nor.uasset new file mode 100644 index 0000000..123910b --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Nor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33163e6fc938ea4d6576b90a4780c97ffdaaf2ba27e6db03c76fad0b31d3f53b +size 11165895 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Spe.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Spe.uasset new file mode 100644 index 0000000..089af67 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_Spe.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b35629a5bf49225869813fc421d87b0d55bb229ddb2873f5ccd6736ddfc629e +size 11907587 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_ncl1_1.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_ncl1_1.uasset new file mode 100644 index 0000000..3da8e6c --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150625_mia337_000833_100_64Kfaces_OBJ3_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a27ac8214d6f44c799ab98fc655de68d26fa0d7ab70c789e5bf91b6fb78cfd4 +size 8241615 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_1Mfaces_OBJ.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_1Mfaces_OBJ.uasset new file mode 100644 index 0000000..cffe774 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_1Mfaces_OBJ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8b0f106d270c36cddb629c7737641c9557513d4880f9646ba0796809f327c9c +size 7625220 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_4K_Normal.uasset b/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_4K_Normal.uasset new file mode 100644 index 0000000..721cb40 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/150804_mia337_001141_4K_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80e9d714e8dc06ee10d9957dd18bd6adfb02e951536edfd3a97548e2aefc789c +size 10802632 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_2Mmesh_normals.uasset b/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_2Mmesh_normals.uasset new file mode 100644 index 0000000..13123f0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_2Mmesh_normals.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b1a7cc08aaf84599d3b17230a3ef54e71b0e9ddc6e14998a2fea57409bd0a90 +size 16536841 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_64Kme.uasset b/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_64Kme.uasset new file mode 100644 index 0000000..890a5ef --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/151009_mia337_2005_92_ShengTing_0901_64Kme.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d26cfa216fb0c2eb7bd9f55ade6b5556b857e8896f5162a4259922a36d71560a +size 2792452 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/Color_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset b/Content/QSH_jixielong/mesh/qingtongqi/Color_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset new file mode 100644 index 0000000..1c7b183 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/Color_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a05a1ff0baf4ff2966f9ec0e43b99b9d5f56748b2f62f513a57104b7af2ec0a +size 3636102 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/NormalGL_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset b/Content/QSH_jixielong/mesh/qingtongqi/NormalGL_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset new file mode 100644 index 0000000..cb35143 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/NormalGL_a95534ca-9597-4b08-aa61-077c0fdd79cc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd5dee6881a7e6a90cdb0f1665942f196df19fbc56174514b10f30561781dbc1 +size 4005985 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/OBJ.uasset b/Content/QSH_jixielong/mesh/qingtongqi/OBJ.uasset new file mode 100644 index 0000000..b2b0df4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/OBJ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cbfaebe01219e7ead6994fd2012441d3f0c156f30048624ea947d404f0bfc80 +size 813371 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/OBJ1.uasset b/Content/QSH_jixielong/mesh/qingtongqi/OBJ1.uasset new file mode 100644 index 0000000..d75e016 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/OBJ1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c3fd7f24fb51145469f5675dfb4ed1ce9a093334b2f25e2e7e8bbc7ccbb5d95 +size 18280 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/OBJ1_Inst.uasset b/Content/QSH_jixielong/mesh/qingtongqi/OBJ1_Inst.uasset new file mode 100644 index 0000000..54f93bb --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/OBJ1_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29043615632126f9be5de3d081cf7577accb3188b57177f3784ecf59b0ec0f5f +size 14029 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/ShengTing.uasset b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing.uasset new file mode 100644 index 0000000..152b0a1 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4946c87db56b1cce3b49841756381f2e82edea6c33010b2c150baf18749c4ab +size 1383599 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1.uasset b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1.uasset new file mode 100644 index 0000000..d60db9f --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:176faf577e9f41a8596da4f2c870d2a67cc76d41ed3b6f807506828d31a90a74 +size 19766 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1_Inst.uasset b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1_Inst.uasset new file mode 100644 index 0000000..5a2d9f8 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/ShengTing1_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f95ea9c4ad1e2c96600ca71b856824082ece7be77c9be0e85fa6a30f2f5759 +size 13828 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/tongshan.uasset b/Content/QSH_jixielong/mesh/qingtongqi/tongshan.uasset new file mode 100644 index 0000000..8ccd99b --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/tongshan.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7214f4b10c554d4b71a2228ab15107250a0e36824cba856e9a57f4f091590ee +size 409297 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2.uasset b/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2.uasset new file mode 100644 index 0000000..c63297b --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79cba550efa67d04e3d7f106370eac8f3b6cf6025531841200eb227b057fc3f1 +size 18623 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2_Inst.uasset b/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2_Inst.uasset new file mode 100644 index 0000000..0f1b1e0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/tripo_mat_caca1667-10d0-4ff3-80a5-e686a84e2da2_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6bd0078690c1589cb686fdc08a3ad054ce2512d16b967725b65dee47f9e4bec +size 15945 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/yu_chinese_food_vessel_obj.uasset b/Content/QSH_jixielong/mesh/qingtongqi/yu_chinese_food_vessel_obj.uasset new file mode 100644 index 0000000..ad35791 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/yu_chinese_food_vessel_obj.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c56a5af18968addb97df2a04923baa9eb2814f2533863efa169bd3ac43faeb2 +size 241167 diff --git a/Content/QSH_jixielong/mesh/qingtongqi/守父乙铜觯-商代后期.uasset b/Content/QSH_jixielong/mesh/qingtongqi/守父乙铜觯-商代后期.uasset new file mode 100644 index 0000000..aa7ec83 --- /dev/null +++ b/Content/QSH_jixielong/mesh/qingtongqi/守父乙铜觯-商代后期.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1feff1e0b1c807507e525f3022e9c08dadcb54d23b38a43f674e6cb004120bf +size 409434 diff --git a/Content/QSH_jixielong/mesh/taizi/baise_.uasset b/Content/QSH_jixielong/mesh/taizi/baise_.uasset new file mode 100644 index 0000000..ae35a84 --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/baise_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e607ec4ddb3af800c0c43dfe80651917f6e872ae5306d2c465e950d674f6c97f +size 9022 diff --git a/Content/QSH_jixielong/mesh/taizi/baiyu00025.uasset b/Content/QSH_jixielong/mesh/taizi/baiyu00025.uasset new file mode 100644 index 0000000..9dbd537 --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/baiyu00025.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a14b6cf6d4e6aa009ea26d84b2e6a6b78a77eba20effd5f131d15c9ee0567761 +size 9084 diff --git a/Content/QSH_jixielong/mesh/taizi/taizi01.uasset b/Content/QSH_jixielong/mesh/taizi/taizi01.uasset new file mode 100644 index 0000000..cc79d99 --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/taizi01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ffb92f171f0dec0894ee35b473d2b30ceb6b89d385dd1053df8c245f90fee73 +size 2370684 diff --git a/Content/QSH_jixielong/mesh/taizi/taizi06.uasset b/Content/QSH_jixielong/mesh/taizi/taizi06.uasset new file mode 100644 index 0000000..821fb0e --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/taizi06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16620e704dae5987f8492a2a81ca15a338c1c6e744d590bca64a97080dbaadf0 +size 1125942 diff --git a/Content/QSH_jixielong/mesh/taizi/taizi07.uasset b/Content/QSH_jixielong/mesh/taizi/taizi07.uasset new file mode 100644 index 0000000..958f91e --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/taizi07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7146eeb93c5c9dfffb148a45bdbdd3c430f7b6988e2e39888d82514b06a01895 +size 26519 diff --git a/Content/QSH_jixielong/mesh/taizi/古铜色.uasset b/Content/QSH_jixielong/mesh/taizi/古铜色.uasset new file mode 100644 index 0000000..2e3202e --- /dev/null +++ b/Content/QSH_jixielong/mesh/taizi/古铜色.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc25420ca7ed561554374b34797a8dc315faed28ca0653fab1bf03ee3e0be6f +size 9006 diff --git a/Content/QSH_jixielong/mesh/wenwu/14.uasset b/Content/QSH_jixielong/mesh/wenwu/14.uasset new file mode 100644 index 0000000..98f9a82 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:948024a1a4e8cd14112a2d381ec643b8f4287a6444d727a11f1af3f21c886590 +size 2081858 diff --git a/Content/QSH_jixielong/mesh/wenwu/15.uasset b/Content/QSH_jixielong/mesh/wenwu/15.uasset new file mode 100644 index 0000000..8cce727 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41730bf0c4640ed8324a08aa79201288234fdd09f565d074a0be06cc785127ce +size 236008 diff --git a/Content/QSH_jixielong/mesh/wenwu/168.uasset b/Content/QSH_jixielong/mesh/wenwu/168.uasset new file mode 100644 index 0000000..b0a53ca --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/168.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae3d0366942152aa3f96a0030096428acfa9392ba46c333bfaaf3d2832cab01c +size 983948 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66-Standardmaterial-22159381-001.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66-Standardmaterial-22159381-001.uasset new file mode 100644 index 0000000..f92062c --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66-Standardmaterial-22159381-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:110401ff225ada76b1029ea63a5faaf99348269bcd146e9343f5afce1c1a0c7c +size 19514 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-6.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-6.uasset new file mode 100644 index 0000000..e9fa0ea --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:200a61ab8c5c45e0cf14cc3b3b3e5581123ec971579681d5b0712e2ca1143405 +size 1645568 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-7.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-7.uasset new file mode 100644 index 0000000..6a0bb33 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-14497557-files-7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:523a842cac631137fff1668e1bd95f12e4aff5899559de031c2616e7634c44ac +size 2154290 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-001.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-001.uasset new file mode 100644 index 0000000..5b6410f --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89550c6b459a226d289587023ae76c46f693c25166f2d83227610b963e5b7972 +size 5251576 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-002.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-002.uasset new file mode 100644 index 0000000..fa774ee --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-17418927-files-002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c912eca031bc9301097d7c3a80c91c9907b6eaa5665ee3c2ee2166560bc6eb9 +size 8912401 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-001.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-001.uasset new file mode 100644 index 0000000..0eff817 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:949c10cc531bf7f8f84df1b535af460f3de77363d58afdce66282a4dfd9f5452 +size 23613539 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-003.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-003.uasset new file mode 100644 index 0000000..1c45689 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a8d70d2f94f2487e3a4ba2996b0214075d4b8a2be9c216c969d459f44177222 +size 28500812 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-004.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-004.uasset new file mode 100644 index 0000000..1dbe471 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19734303-files-004.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cd6dc855dabae298ef8a708c9d1b467b0109979ad014502ccddd73118b25898 +size 9160738 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset new file mode 100644 index 0000000..b278125 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a74b49b24cc1ffd26d6766ca448b2b1a6a3de02c07a6b6b95aa2a5b92b69b745 +size 5281300 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset new file mode 100644 index 0000000..a00c85d --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ddb8dd54e388ddac31ec46320e99fbd3e2368b5b54c392707e0f73dbab87de0 +size 6334920 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-20238538-files-003.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-20238538-files-003.uasset new file mode 100644 index 0000000..32449a0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-20238538-files-003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deff279a863b5f7f4c741d8ddf33dfde483980d0a84a0343390095f966658921 +size 2310129 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-20457560-files-001.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-20457560-files-001.uasset new file mode 100644 index 0000000..b96be1d --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-20457560-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c4383b01b9c7843d2ee610f6fb4c7caf0f8a87156b4765eb4ba9d177d1c08cd +size 48198704 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-001.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-001.uasset new file mode 100644 index 0000000..5e559d8 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae7fd10bf70b64f335dedd4de0fe0ac0bed65494f75f0601423748a9cc66302e +size 2166701 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-002.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-002.uasset new file mode 100644 index 0000000..5acaf44 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b116774fec25ae1a8823ccbd4714ce5427a0dd321ec78dbfc391872dd580e07c +size 785179 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-003.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-003.uasset new file mode 100644 index 0000000..be618f3 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-22159381-files-003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f96429b70a84019eac840e5b59786ac766ccd963e218403c3978845a01ad6c49 +size 2333133 diff --git a/Content/QSH_jixielong/mesh/wenwu/3d66Model-23020603-files-002.uasset b/Content/QSH_jixielong/mesh/wenwu/3d66Model-23020603-files-002.uasset new file mode 100644 index 0000000..8878ae0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/3d66Model-23020603-files-002.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce1cf0987a85dfb826fa71b6bf351517d6c797cbad62c76a9387c720170f926 +size 8495026 diff --git a/Content/QSH_jixielong/mesh/wenwu/BronzeCup.uasset b/Content/QSH_jixielong/mesh/wenwu/BronzeCup.uasset new file mode 100644 index 0000000..4fedfde --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/BronzeCup.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dcf4c84e129711303f37935c1da2e057647ea2aaa3768c2b187c4320fd6f6bb +size 141676 diff --git a/Content/QSH_jixielong/mesh/wenwu/BronzeCup1.uasset b/Content/QSH_jixielong/mesh/wenwu/BronzeCup1.uasset new file mode 100644 index 0000000..abc522e --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/BronzeCup1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3cb2d2ef4049f1e26240aa0c44c95a418714bdc59dcb00f284ca3cea0009171 +size 13152 diff --git a/Content/QSH_jixielong/mesh/wenwu/Color_84e22516-0b47-4732-8820-e7b797421160.uasset b/Content/QSH_jixielong/mesh/wenwu/Color_84e22516-0b47-4732-8820-e7b797421160.uasset new file mode 100644 index 0000000..103e4d9 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Color_84e22516-0b47-4732-8820-e7b797421160.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67da8ecb33c619f9761884b13944f30439d5e2827d82e2887da6e5e812d3d9d6 +size 3602529 diff --git a/Content/QSH_jixielong/mesh/wenwu/M_banliang.uasset b/Content/QSH_jixielong/mesh/wenwu/M_banliang.uasset new file mode 100644 index 0000000..b1d8f51 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/M_banliang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83a21cc1a587fb9796bafcc77234ce62864443591a09a2b5d0e1964b4ac1ac0f +size 23012 diff --git a/Content/QSH_jixielong/mesh/wenwu/M_banliang_Inst.uasset b/Content/QSH_jixielong/mesh/wenwu/M_banliang_Inst.uasset new file mode 100644 index 0000000..113f0b7 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/M_banliang_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57b464173bf53398238fd01aa46f323c4fd973c40898b5e3e49321b1a52f23fb +size 14751 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__1.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__1.uasset new file mode 100644 index 0000000..f7c260d --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:042375a1b3f0afae94917b4343db3b0f4688b456234c103dced560ebe368e6cf +size 7201 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__33.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__33.uasset new file mode 100644 index 0000000..86c746f --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__33.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a394943edce5a9d19774dbfbb18cf90c9b0557eb465fa7e654c71fdc49efe000 +size 17913 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__34.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__34.uasset new file mode 100644 index 0000000..3cc493e --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__34.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38de8ae94aa44199720a20bfc97e5c81c94ce895146cc992efc6c87ecee51c31 +size 13627 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__35.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__35.uasset new file mode 100644 index 0000000..7141900 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__35.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0333cab4acd7c7ee722241508b1b661e9e1b97bdfcda243e0d88a69a91a4f9b +size 19187 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__36.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__36.uasset new file mode 100644 index 0000000..7b756d4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__36.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d47b13fbbdd430d78a85d580c061ed6e025ca0abd4a6b5d42e31b9ab937bfed +size 21802 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst.uasset new file mode 100644 index 0000000..aa30ad3 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a62edc2c1da072459764cde708f2e8ad0c8b9d97efe401afa0e414bc52089281 +size 17508 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst1.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst1.uasset new file mode 100644 index 0000000..f73dabe --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__36_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e6e1e1a014ae264f63df803b42662a6fe1b610d594063968c246a1046dbd30 +size 14113 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__37.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__37.uasset new file mode 100644 index 0000000..2a13231 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__37.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:820e80fa6d1bb5f01af885508da5a2b7112f256b588f8c22234e7bcceee4bb8c +size 21001 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__37_Inst.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__37_Inst.uasset new file mode 100644 index 0000000..50411de --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__37_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ad19a808b4085f92fac2680c507e518d338fd506c8748ed38ad8b6446168da +size 18786 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__38.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__38.uasset new file mode 100644 index 0000000..290f981 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__38.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39cdcda0b6ae3ebfbb2cc4d6855b436f158d2113cdd2f2474a5b1ec326e8d0d1 +size 7205 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__39.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__39.uasset new file mode 100644 index 0000000..77a33ee --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__39.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0ee4289aec06ff3fbb6f94ada4f461a91e3ea1ee501a04119a6014b4720a357 +size 21717 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst.uasset new file mode 100644 index 0000000..33b2bd5 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6702e102e7c2670330c7c5ed72b286d4ec3185fe88a3d5699ac2fa682d051d0 +size 15398 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst1.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst1.uasset new file mode 100644 index 0000000..e894699 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__39_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c735cf13246e04e91b500e949b3aa4a18c75e08e6c880b02b746c3f3f9c9da +size 17762 diff --git a/Content/QSH_jixielong/mesh/wenwu/Material__42.uasset b/Content/QSH_jixielong/mesh/wenwu/Material__42.uasset new file mode 100644 index 0000000..db8a0c2 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Material__42.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fadfe88928a8d44f60e129dbdb6527c100faa362ace3171c41b8e4f1e68e2019 +size 21432 diff --git a/Content/QSH_jixielong/mesh/wenwu/Mia_001146_Jue_64K_OBJ.uasset b/Content/QSH_jixielong/mesh/wenwu/Mia_001146_Jue_64K_OBJ.uasset new file mode 100644 index 0000000..034c5ba --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/Mia_001146_Jue_64K_OBJ.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b4dcb206db47dc852e9fb2ab8ee5da3e3c247ede099e2a6030e9d21356713b8 +size 3556947 diff --git a/Content/QSH_jixielong/mesh/wenwu/NewMaterial.uasset b/Content/QSH_jixielong/mesh/wenwu/NewMaterial.uasset new file mode 100644 index 0000000..bd9ab9e --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/NewMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f35753c13eea921c6223bdf16a9551364fde04c44e14f90fdb3f22c6802a3f8 +size 15220 diff --git a/Content/QSH_jixielong/mesh/wenwu/NormalGL_84e22516-0b47-4732-8820-e7b797421160.uasset b/Content/QSH_jixielong/mesh/wenwu/NormalGL_84e22516-0b47-4732-8820-e7b797421160.uasset new file mode 100644 index 0000000..4405899 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/NormalGL_84e22516-0b47-4732-8820-e7b797421160.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80e707a5ffc27f1d59e6a95195640600bdf1b7abf797f21c5fb95c285cc22733 +size 3902953 diff --git a/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial.uasset b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial.uasset new file mode 100644 index 0000000..5c80863 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1962872a00626c8cb65485d862c2379b6610f94282af6b5fafdda0467f1f9c16 +size 15619 diff --git a/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial1.uasset b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial1.uasset new file mode 100644 index 0000000..4064d6e --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:054edc001a6e069365aad087ff8b56635191b01cc6ea3ce5fba8822f92abbf9a +size 12279 diff --git a/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial2.uasset b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial2.uasset new file mode 100644 index 0000000..1bd847d --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/PhysicalMaterial2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0434683d419a83530c2aedc00d0badcb11aa1c1c5f6ed8ce6e648a053e1a1662 +size 12022 diff --git a/Content/QSH_jixielong/mesh/wenwu/SM_zhuzi3.uasset b/Content/QSH_jixielong/mesh/wenwu/SM_zhuzi3.uasset new file mode 100644 index 0000000..81182de --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/SM_zhuzi3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2418b2def765faba5ad3a6790d984151f01ad3d99c0f81ea493e816ea22399ae +size 198469 diff --git a/Content/QSH_jixielong/mesh/wenwu/bi.uasset b/Content/QSH_jixielong/mesh/wenwu/bi.uasset new file mode 100644 index 0000000..62c7353 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/bi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8324cc6d7530e5f8f21037b1cd53748ef4eb06c31a49efe5f34e306c93251aa +size 36191 diff --git a/Content/QSH_jixielong/mesh/wenwu/jian.uasset b/Content/QSH_jixielong/mesh/wenwu/jian.uasset new file mode 100644 index 0000000..29fe8bb --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/jian.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:292d439b3f5e9ec4bc6d98358aecec24805954351d615c5f6977cf25fd178413 +size 322541 diff --git a/Content/QSH_jixielong/mesh/wenwu/mujia.uasset b/Content/QSH_jixielong/mesh/wenwu/mujia.uasset new file mode 100644 index 0000000..b607665 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/mujia.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95d81d48e631226951d2df360a30de1ecc68c15a5b8d899114993323fe045024 +size 20099 diff --git a/Content/QSH_jixielong/mesh/wenwu/piao.uasset b/Content/QSH_jixielong/mesh/wenwu/piao.uasset new file mode 100644 index 0000000..d534535 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/piao.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96be531294b79e5e79a93a1026afa317c8590c97a84797c9660ba71f94082c26 +size 117015 diff --git a/Content/QSH_jixielong/mesh/wenwu/piao1.uasset b/Content/QSH_jixielong/mesh/wenwu/piao1.uasset new file mode 100644 index 0000000..e0439b1 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/piao1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53fe35bf287219587f9bca774f950c63c654066662a7f7be4b25a54079d1ff3f +size 14446 diff --git a/Content/QSH_jixielong/mesh/wenwu/sanzuding.uasset b/Content/QSH_jixielong/mesh/wenwu/sanzuding.uasset new file mode 100644 index 0000000..73c9489 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/sanzuding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eebbdf939b7472c19ebc9817ee1277a70f66b7b5b05c0f287817959b07097201 +size 304963 diff --git a/Content/QSH_jixielong/mesh/wenwu/taotiewen02.uasset b/Content/QSH_jixielong/mesh/wenwu/taotiewen02.uasset new file mode 100644 index 0000000..475677d --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/taotiewen02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b63d9ab37abe1b1182523f58483e4e83f2131ce37820d008c3cb850f55854bf1 +size 430326 diff --git a/Content/QSH_jixielong/mesh/wenwu/taotiewen1.uasset b/Content/QSH_jixielong/mesh/wenwu/taotiewen1.uasset new file mode 100644 index 0000000..4010a7f --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/taotiewen1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e60e5e2156eb2f4d2930a613f366d06cdcef48050c77eedb11847365ebc9616 +size 876233 diff --git a/Content/QSH_jixielong/mesh/wenwu/tripo_image_49cb16e3-9cec-4748-86b8-2f249313eaee_0.uasset b/Content/QSH_jixielong/mesh/wenwu/tripo_image_49cb16e3-9cec-4748-86b8-2f249313eaee_0.uasset new file mode 100644 index 0000000..5ecda2c --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/tripo_image_49cb16e3-9cec-4748-86b8-2f249313eaee_0.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92693b732910cc9d00e244dbd10b9c2ba540dbadc7878a6e89c690cbfd26c78a +size 860278 diff --git a/Content/QSH_jixielong/mesh/wenwu/tripo_mat_dae00f4d-c143-4c03-b5c1-7d6d98d73c27.uasset b/Content/QSH_jixielong/mesh/wenwu/tripo_mat_dae00f4d-c143-4c03-b5c1-7d6d98d73c27.uasset new file mode 100644 index 0000000..0b02cb7 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/tripo_mat_dae00f4d-c143-4c03-b5c1-7d6d98d73c27.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c87c3f490b0185a858616370d8021114988a06a488a4907616689c1f78beea0 +size 16053 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu01.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu01.uasset new file mode 100644 index 0000000..170c5ef --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e10335fd6fbfbdaeed8f81a8cabbc42ee5b819f377f685e78f67ef27fd1729d5 +size 1208832 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu02.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu02.uasset new file mode 100644 index 0000000..0833f16 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c142a5752e0e937ec1096e124e30d81129670a840db09e8b9e645f10a73969e4 +size 696563 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu06.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu06.uasset new file mode 100644 index 0000000..4819972 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14703b667abbfbb93e1d54a1c36be9c22b7ca1d6e2fc2cbcec6f71d168211ba3 +size 48610 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu07.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu07.uasset new file mode 100644 index 0000000..d8eaa53 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6b48bb5fd01385bd93c4d25e2413a4aa966003b8151259ba554bc10927f7ea5 +size 2818162 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu08.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu08.uasset new file mode 100644 index 0000000..2d11051 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b81a9eb6c64a13c3794fa191fc11dbb3a83150502f237d7b248f75027959a8 +size 3802148 diff --git a/Content/QSH_jixielong/mesh/wenwu/wenwu09.uasset b/Content/QSH_jixielong/mesh/wenwu/wenwu09.uasset new file mode 100644 index 0000000..dfafd46 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/wenwu09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:104cf08811891b69a4b0a670bc4a2a46c319fd7e510eed10bca72fdc6d52c4a3 +size 1015475 diff --git a/Content/QSH_jixielong/mesh/wenwu/yu.uasset b/Content/QSH_jixielong/mesh/wenwu/yu.uasset new file mode 100644 index 0000000..7149a08 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/yu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b8b76ca91774a3c04f2f6e0a50cd9d5ab2f42f275a743df1c41ef4ddce1c1c7 +size 139639 diff --git a/Content/QSH_jixielong/mesh/wenwu/yu1.uasset b/Content/QSH_jixielong/mesh/wenwu/yu1.uasset new file mode 100644 index 0000000..d2ff3f4 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/yu1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44e2fb00cf491776195d03170026f4cafba684beb4a31bffec84078602b91512 +size 21708 diff --git a/Content/QSH_jixielong/mesh/wenwu/yubi.uasset b/Content/QSH_jixielong/mesh/wenwu/yubi.uasset new file mode 100644 index 0000000..d4acb0b --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/yubi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:590d586de15c45949207a03994b625bb874b1d9a86cd6ab3c05266ff77004c72 +size 1852389 diff --git a/Content/QSH_jixielong/mesh/wenwu/yuxi.uasset b/Content/QSH_jixielong/mesh/wenwu/yuxi.uasset new file mode 100644 index 0000000..72ac8b1 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/yuxi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d20ed595d639a2f505d52a4791208f2715ae9d7a13fa2bd31cc0396b6ed5c55 +size 1527305 diff --git a/Content/QSH_jixielong/mesh/wenwu/zhong03.uasset b/Content/QSH_jixielong/mesh/wenwu/zhong03.uasset new file mode 100644 index 0000000..12025e0 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/zhong03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9bbb91f74fe07e3ff02e2b0c23b77e70eae46585916cd68f0b04014aab78a99 +size 6325003 diff --git a/Content/QSH_jixielong/mesh/wenwu/zhong1.uasset b/Content/QSH_jixielong/mesh/wenwu/zhong1.uasset new file mode 100644 index 0000000..f3d1bd7 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/zhong1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:099987dcf727c1c153bcc15cec8474488dd2a2428a354d18d3490a8a303ca176 +size 18099 diff --git a/Content/QSH_jixielong/mesh/wenwu/zhuanshi1.uasset b/Content/QSH_jixielong/mesh/wenwu/zhuanshi1.uasset new file mode 100644 index 0000000..2a440f7 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/zhuanshi1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1b68911183cb37adc866b09996f127876e34c362115ea2dfbccf40bc378ef8d +size 18517 diff --git a/Content/QSH_jixielong/mesh/wenwu/zhuanshi2.uasset b/Content/QSH_jixielong/mesh/wenwu/zhuanshi2.uasset new file mode 100644 index 0000000..877d7de --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/zhuanshi2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85974ae30eac1a356842e465557aa7d748d6293797d38d37f25efe781df93f30 +size 57231 diff --git a/Content/QSH_jixielong/mesh/wenwu/霸气貔貅镇墓兽.uasset b/Content/QSH_jixielong/mesh/wenwu/霸气貔貅镇墓兽.uasset new file mode 100644 index 0000000..c5505fc --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/霸气貔貅镇墓兽.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1454f08f21604b4e9ab59767b47a5901b98984411b0843f2b2f9c173f2d7c2d4 +size 2085749 diff --git a/Content/QSH_jixielong/mesh/wenwu/鸟盖瓠壶-大秦.uasset b/Content/QSH_jixielong/mesh/wenwu/鸟盖瓠壶-大秦.uasset new file mode 100644 index 0000000..3332119 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/鸟盖瓠壶-大秦.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9955c1a7aac523acff535bb674754682572af131365205d88455947948da57ba +size 506489 diff --git a/Content/QSH_jixielong/mesh/wenwu/黑色娅光.uasset b/Content/QSH_jixielong/mesh/wenwu/黑色娅光.uasset new file mode 100644 index 0000000..babf860 --- /dev/null +++ b/Content/QSH_jixielong/mesh/wenwu/黑色娅光.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b1f66d2bd9d77a969549f808603de5a2c263637a23d5670020dc3fed92a36fe +size 7264 diff --git a/Content/QSH_jixielong/mesh/zhuzi/zhuzi04.uasset b/Content/QSH_jixielong/mesh/zhuzi/zhuzi04.uasset new file mode 100644 index 0000000..4c7a610 --- /dev/null +++ b/Content/QSH_jixielong/mesh/zhuzi/zhuzi04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dd561de4a5f6b5ce7b4558b2e0db8f9212efa6cb5a61539251a052f4d8bd154 +size 27429 diff --git a/Content/QSH_jixielong/mesh/zhuzi/黑铁.uasset b/Content/QSH_jixielong/mesh/zhuzi/黑铁.uasset new file mode 100644 index 0000000..8eb1831 --- /dev/null +++ b/Content/QSH_jixielong/mesh/zhuzi/黑铁.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f378adba51d46a0a868a54b70dd06e2baada1c8651e7c15425f98b42f3dc665a +size 7736 diff --git a/Content/QSH_jixielong/螭龙介绍.uasset b/Content/QSH_jixielong/螭龙介绍.uasset new file mode 100644 index 0000000..295319e --- /dev/null +++ b/Content/QSH_jixielong/螭龙介绍.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85e800d64719bc0d8ae65eddcee03d26bbb2c2e42ec4827127052f27b0a49751 +size 453796 diff --git a/Content/Restart/BP_FocusContinue.uasset b/Content/Restart/BP_FocusContinue.uasset new file mode 100644 index 0000000..631353f --- /dev/null +++ b/Content/Restart/BP_FocusContinue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:435263c83c86a61b30e47d2fb901b8d24ecee04bcaa7e8da9bc604ce05cbb57d +size 171378 diff --git a/Content/Restart/M_Redline.uasset b/Content/Restart/M_Redline.uasset new file mode 100644 index 0000000..d982ad7 --- /dev/null +++ b/Content/Restart/M_Redline.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb301e8cb78e447514115c2c07fc8efcaea3eb812ce2f7d20fa00e959a90796f +size 18595 diff --git a/Content/Restart/M_Redline_Inst.uasset b/Content/Restart/M_Redline_Inst.uasset new file mode 100644 index 0000000..deb70d3 --- /dev/null +++ b/Content/Restart/M_Redline_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6225d94daac230ef1428ba4f0965af7455d17b7b0050c84c3bef36153573a262 +size 6422 diff --git a/Content/Restart/Restart.umap b/Content/Restart/Restart.umap new file mode 100644 index 0000000..ab19c00 --- /dev/null +++ b/Content/Restart/Restart.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:593a3a8a03ae18467c8c2af1926398bf1932e930c42548c4c502ada5329c52d9 +size 41436 diff --git a/Content/Restart/WB_Continue.uasset b/Content/Restart/WB_Continue.uasset new file mode 100644 index 0000000..a58a6a8 --- /dev/null +++ b/Content/Restart/WB_Continue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc26c6efe9638f2e9ac722606c13694bb9bd54200dd3cc1bde7e5c5ecafa422a +size 67814 diff --git a/Content/Restart/WB_Quit.uasset b/Content/Restart/WB_Quit.uasset new file mode 100644 index 0000000..1c6a54c --- /dev/null +++ b/Content/Restart/WB_Quit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c60130f8a5d155203c216026f4965115543603fd105258938835f2e0b35468b +size 35326 diff --git a/Content/Rock_Collection_04/MasterMaterial/MM_Rocks.uasset b/Content/Rock_Collection_04/MasterMaterial/MM_Rocks.uasset new file mode 100644 index 0000000..f5ace31 --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/MM_Rocks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54bdf9d83fd7ce917c2a6a2206e51368c011884e30e1f90088f0f309772f896a +size 33568 diff --git a/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_BaseColor_Controls.uasset b/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_BaseColor_Controls.uasset new file mode 100644 index 0000000..55662a0 --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_BaseColor_Controls.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b401b08b6f086961a2a608d3886e75998c6d3fa40d6644da1745465698b5037 +size 15543 diff --git a/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_NormalControls.uasset b/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_NormalControls.uasset new file mode 100644 index 0000000..7e881ee --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/MaterialFunctions/MF_NormalControls.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd27b75cfc895080b5d0e0a22fc517923e46ad620602b4658e935d7e2ffc02b7 +size 9041 diff --git a/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_LinearWhite.uasset b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_LinearWhite.uasset new file mode 100644 index 0000000..12255bb --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_LinearWhite.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7cc352de55490b31a5aebe615aaa09f151501448777f463f091e1f560f2979 +size 3807 diff --git a/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_Normal.uasset b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_Normal.uasset new file mode 100644 index 0000000..5f5938e --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dacde47fb0537731bfbecc727f86c93bab2d5ae23ae3d34e9837b07e46a0e13 +size 4090 diff --git a/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_White.uasset b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_White.uasset new file mode 100644 index 0000000..714e1b6 --- /dev/null +++ b/Content/Rock_Collection_04/MasterMaterial/Textures/T_Empty_White.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59b344890c89586137ac8ff7faf929da035b7597d038eaa08c200486dd42be22 +size 3759 diff --git a/Content/Rock_Collection_04/Meshes/Rock_01/Materials/MI_Rock_01.uasset b/Content/Rock_Collection_04/Meshes/Rock_01/Materials/MI_Rock_01.uasset new file mode 100644 index 0000000..18f395b --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_01/Materials/MI_Rock_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:481041bc657ed09278fbeedd38d9f0a0df34094be721d96f8219769bdabafe8f +size 13160 diff --git a/Content/Rock_Collection_04/Meshes/Rock_01/StaticMeshes/SM_Rock_01.uasset b/Content/Rock_Collection_04/Meshes/Rock_01/StaticMeshes/SM_Rock_01.uasset new file mode 100644 index 0000000..e420f5d --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_01/StaticMeshes/SM_Rock_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6d648c807043df7f439ca56e3967ec4b2d6666ca7b282b895d8044415b16e8 +size 765077 diff --git a/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_A.uasset b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_A.uasset new file mode 100644 index 0000000..58d4c8b --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a5b77f4bd2c4f78aeb84db88a19b94df213ad73838cb18e8253f2997af4965a +size 32086121 diff --git a/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_N.uasset b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_N.uasset new file mode 100644 index 0000000..ea00680 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d08fd6a3dbef9f2c9dad1f755a7462fd3362983f8659232941c9080400501c +size 33847279 diff --git a/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_ORM.uasset b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_ORM.uasset new file mode 100644 index 0000000..6dc58ac --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_01/Textures/T_Rock_01_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f60a4bdea0e1747425cb0fd5bcbdedc62fee0f32e1938aaa6f68afc6ff1d742 +size 24570234 diff --git a/Content/Rock_Collection_04/Meshes/Rock_04/Materials/MI_Rock_04.uasset b/Content/Rock_Collection_04/Meshes/Rock_04/Materials/MI_Rock_04.uasset new file mode 100644 index 0000000..f4ad333 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_04/Materials/MI_Rock_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c59b5013da6910af1590d653356df8c533ab09daa870d1186629f5f77c72933 +size 12462 diff --git a/Content/Rock_Collection_04/Meshes/Rock_04/StaticMeshes/SM_Rock_04.uasset b/Content/Rock_Collection_04/Meshes/Rock_04/StaticMeshes/SM_Rock_04.uasset new file mode 100644 index 0000000..86358be --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_04/StaticMeshes/SM_Rock_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac294f4adb41406d6bf645b2f10c6d1be39d4348af1bc8822acfb94808316e4b +size 1498928 diff --git a/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_A.uasset b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_A.uasset new file mode 100644 index 0000000..7ae8042 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cc203937814d85d6168ebdedc5c79fcba4bcd11c0bc353f70943ee4eaf291ce +size 34825471 diff --git a/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_N.uasset b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_N.uasset new file mode 100644 index 0000000..fb6150a --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90f784b8d4736b50ac6c9078570bbef650c5b5b84f5c61def7d0620c5ef262c1 +size 37946814 diff --git a/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_ORM.uasset b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_ORM.uasset new file mode 100644 index 0000000..42d8ece --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_04/Textures/T_Rock_04_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30f53bea66853535a71a045ed2417a2dab9a33ebef9ef6d2b2ae1fb93a876b56 +size 26926956 diff --git a/Content/Rock_Collection_04/Meshes/Rock_05/Materials/MI_Rock_05.uasset b/Content/Rock_Collection_04/Meshes/Rock_05/Materials/MI_Rock_05.uasset new file mode 100644 index 0000000..17b5d80 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_05/Materials/MI_Rock_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c88f3fdb2bfd43eb21daac472f10d07713ee34a64822e83800e11f57ed178897 +size 12651 diff --git a/Content/Rock_Collection_04/Meshes/Rock_05/StaticMeshes/SM_Rock_05.uasset b/Content/Rock_Collection_04/Meshes/Rock_05/StaticMeshes/SM_Rock_05.uasset new file mode 100644 index 0000000..94ce315 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_05/StaticMeshes/SM_Rock_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd53c14df135fc2e581023a06f941058aa8329139d527c35d481d5c15b9b4dad +size 1559230 diff --git a/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_A.uasset b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_A.uasset new file mode 100644 index 0000000..889ff56 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c1cabb30e78bc6829ea347ba0b3ea853989d3d21ebd82dccbeab87f83429f7 +size 35396210 diff --git a/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_N.uasset b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_N.uasset new file mode 100644 index 0000000..6a1bcc8 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:716f1ca6669cc98f8388c364d084ab8d9c33a2967361d5e4d9724a9e77535e8a +size 36426927 diff --git a/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_ORM.uasset b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_ORM.uasset new file mode 100644 index 0000000..9591bed --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_05/Textures/T_Rock_05_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73e538aba718d956a9700fe532144c59dd292d5b79a29635ea4ddcdf48b54e2f +size 25734579 diff --git a/Content/Rock_Collection_04/Meshes/Rock_07/Materials/MI_Rock_07.uasset b/Content/Rock_Collection_04/Meshes/Rock_07/Materials/MI_Rock_07.uasset new file mode 100644 index 0000000..aa3407a --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_07/Materials/MI_Rock_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2c5d9fac6f10349342afca1d08397702c902312918e27fa87bdb7d41b25960 +size 12798 diff --git a/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_A.uasset b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_A.uasset new file mode 100644 index 0000000..c4b9976 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32e0558c0235af10a5db544a15aec56fd67d56c8f43bcc5af19a38f83e134529 +size 37303044 diff --git a/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_N.uasset b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_N.uasset new file mode 100644 index 0000000..1c3bed8 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ae197b2bb36f951162a93c827b69485ea436c342ec27ed7b8cdacb726f3a10c +size 37920049 diff --git a/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_ORM.uasset b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_ORM.uasset new file mode 100644 index 0000000..6c292b1 --- /dev/null +++ b/Content/Rock_Collection_04/Meshes/Rock_07/Textures/T_Rock_07_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91639e2c01a13d59039f0108c3ee5bcbc4e531da8e67474f8d4d93a79f05320a +size 27060822 diff --git a/Content/SICKA_Ornate/Materials/MI_CoinsSet.uasset b/Content/SICKA_Ornate/Materials/MI_CoinsSet.uasset new file mode 100644 index 0000000..1825d4a --- /dev/null +++ b/Content/SICKA_Ornate/Materials/MI_CoinsSet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc2f1f6051ef98b15d7eff6bd6c85708beb358ceb21fb8d2cf48a87498fad7fc +size 18140 diff --git a/Content/SICKA_Ornate/Materials/MI_Rings.uasset b/Content/SICKA_Ornate/Materials/MI_Rings.uasset new file mode 100644 index 0000000..491d5e5 --- /dev/null +++ b/Content/SICKA_Ornate/Materials/MI_Rings.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:856477441ef7aa1b17d8dc69009c31585938cb78f85efdf8609922a517068043 +size 20479 diff --git a/Content/SICKA_Ornate/Materials/MI_Urn2.uasset b/Content/SICKA_Ornate/Materials/MI_Urn2.uasset new file mode 100644 index 0000000..c1e24c3 --- /dev/null +++ b/Content/SICKA_Ornate/Materials/MI_Urn2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2abc47617fadd5e636c4ecd4b88049d4d55f1e8412fff64edd30c4caf90394f +size 14542 diff --git a/Content/SICKA_Ornate/Materials/MI_Urn3.uasset b/Content/SICKA_Ornate/Materials/MI_Urn3.uasset new file mode 100644 index 0000000..b20310c --- /dev/null +++ b/Content/SICKA_Ornate/Materials/MI_Urn3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bda3df6954bb9c61c197f2574315780eccc71f1d6ae265e1146bcec23b5719d +size 14319 diff --git a/Content/SICKA_Ornate/Materials/M_MasterProps.uasset b/Content/SICKA_Ornate/Materials/M_MasterProps.uasset new file mode 100644 index 0000000..e717c39 --- /dev/null +++ b/Content/SICKA_Ornate/Materials/M_MasterProps.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:201d403142eb366b17874379808c8a0f39093940426ee9f099c21e8458168bcb +size 33707 diff --git a/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4.uasset b/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4.uasset new file mode 100644 index 0000000..0878250 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bef06e90501b79378646e87db6ccd7cdb94cfd58e3a48c96d2ade9ab65566b79 +size 7374971 diff --git a/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4_FoliageType.uasset new file mode 100644 index 0000000..912ad0a --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_OrnateRings_4_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b25941f5cb32790cedd4690b72d194a543c945ce664164bd053700f22b62a641 +size 6787 diff --git a/Content/SICKA_Ornate/Meshes/SM_URN2.uasset b/Content/SICKA_Ornate/Meshes/SM_URN2.uasset new file mode 100644 index 0000000..84230e6 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_URN2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:618c675a0bc439a759d1e75bfa8eaacdb184e02e77065749d250eacdb978c618 +size 4159028 diff --git a/Content/SICKA_Ornate/Meshes/SM_URN2_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM_URN2_FoliageType.uasset new file mode 100644 index 0000000..5116787 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_URN2_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3960f0b094b194e855311171c7f8fc55eefe1bafff0742d8ebd22eef12f49c94 +size 9566 diff --git a/Content/SICKA_Ornate/Meshes/SM_URN3.uasset b/Content/SICKA_Ornate/Meshes/SM_URN3.uasset new file mode 100644 index 0000000..afec808 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_URN3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0dcf4c4091b6014eea66d4149f0200109bd3a5824e2a7d0358f97d72b172949 +size 4225125 diff --git a/Content/SICKA_Ornate/Meshes/SM_URN3_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM_URN3_FoliageType.uasset new file mode 100644 index 0000000..3b5235c --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM_URN3_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d43ffa1d980399d9dc6f6bba1f7ac959461a19ad574a678b4d82b28e1f9d86c4 +size 10248 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1.uasset new file mode 100644 index 0000000..f76000d --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fba7d253a0df0b2bb5589210c0f3f43f20841d66d5b71f69bd0a7b8c35da344b +size 813111 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1_FoliageType.uasset new file mode 100644 index 0000000..22b9093 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_1_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13062804cf3e32baed265fa29e99e76ae09652017ba741369c4f1468ef55b315 +size 6404 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3.uasset new file mode 100644 index 0000000..e1610e7 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dd571dc016ace560134e1fd56a7f5b03348b2c234b25b14363da79e8d7959b6 +size 4726054 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3_FoliageType.uasset new file mode 100644 index 0000000..7f2684c --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_3_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df5a9e4a1855c8aad5a5dba8baad75206c91d888bad68b16d9e9d867944b78c6 +size 8585 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4.uasset new file mode 100644 index 0000000..74bfb23 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30dd3ae3f23b7c9921b998f324a7c62a923c1f633501fe63604b64be5c4104bd +size 7733230 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4_FoliageType.uasset new file mode 100644 index 0000000..8189221 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_HexaHoled_4_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ba153dc739d68ab057e44b0e7206d3bf9747bc952f6043d25bc64222aad3449 +size 9443 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11.uasset new file mode 100644 index 0000000..5e76d55 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:645f0d2e86aa3fef541cc5d6973dd6b870f438d0b412573943bced86a2a3a2af +size 4228744 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11_FoliageType.uasset new file mode 100644 index 0000000..67dad3f --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_11_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e694292222f64f4c406265d8f4a3eebd648e3f32bf64d27a44ad1c20f2bc672 +size 6569 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4.uasset new file mode 100644 index 0000000..15b2779 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0f62b7015feb800718255532805fb3ebe36fef9e3a6ddb5cc9fce537f9b0e40 +size 6298264 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4_FoliageType.uasset new file mode 100644 index 0000000..0d71daf --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_4_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edd855f2a40b7b8192fa2e1babbe24e3b0b4638b589e98ff8598fb829b885775 +size 6200 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5.uasset new file mode 100644 index 0000000..eaf7712 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ccb457e2af7194e96fca9409aec2f557f27f2d81a7443b6d0d47d1756fd593 +size 3799031 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5_FoliageType.uasset new file mode 100644 index 0000000..f4adccf --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_5_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d430469c0ea818a00f12ad86be947ee1a2350b79dc8f85e388942022316a7c4 +size 6439 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6.uasset new file mode 100644 index 0000000..bc3b41d --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f13d43a8921a72c98284cfa9a79dabc6ea361e4695737b6ce1c042c6aa816f78 +size 4665108 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6_FoliageType.uasset new file mode 100644 index 0000000..d96dde0 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_6_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a785b82550a50360e6fcb17d823a5328e1bf41e9bcd533e8764b677e8bbb13c +size 7059 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7.uasset new file mode 100644 index 0000000..6e1105c --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d4c27180c1a06987772b8e0f4fb33b8309b834cf7b0d63d9725477e2dd81419 +size 3830162 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7_FoliageType.uasset new file mode 100644 index 0000000..d90d6cc --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_7_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:163e0e18c35f594fa0e4395dd7d603a042cf267347d93a98632e158f419b456d +size 6902 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8.uasset new file mode 100644 index 0000000..102e395 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71b60de74f026c5e41d2dd3758b691e12dd8e2b92490c51a5489ea6f108aece3 +size 8216090 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8_FoliageType.uasset new file mode 100644 index 0000000..6d800cd --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_8_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e39e71b4971f79281c8d19e7d2b255dbb96065b3ea755d3dbd190e9148c7fa2 +size 6953 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9.uasset new file mode 100644 index 0000000..8db7c55 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdcae60b23c3975698543cbd332694868225b01932c2e862f8ec241fb53e5099 +size 2678784 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9_FoliageType.uasset new file mode 100644 index 0000000..4eb93e2 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_Pile_9_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6056861938ab2c2f2ebd972f715bc06251f7510784a285da3f32edc9c9ca31db +size 6389 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1.uasset new file mode 100644 index 0000000..01bea82 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6476db77329b8f44973d79ed8028e78c455c2df8ab29be6ad7c23e06c2b6563 +size 474810 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1_FoliageType.uasset new file mode 100644 index 0000000..b6d93bf --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_1_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b6380d231b93351c107789d8229a11b097ff4f1df96febf8f7ddc606f14ff0 +size 6305 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3.uasset new file mode 100644 index 0000000..576570e --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0edef5a1befa6bcdef3c58b6503b3a4ca9dca0092e364a29e2429135548abdda +size 2385652 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3_FoliageType.uasset new file mode 100644 index 0000000..86fbfa7 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_3_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:783aafafa7484c65d6fd669e92a9a434c8a967bbd832f6d71ba959b467b2c5e0 +size 7738 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5.uasset new file mode 100644 index 0000000..57f1296 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccc35e0679af6f4c331b4a68509bf901db4590fd1ecd3bd30196d4f3590fbc1d +size 8094939 diff --git a/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5_FoliageType.uasset b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5_FoliageType.uasset new file mode 100644 index 0000000..97b0fe4 --- /dev/null +++ b/Content/SICKA_Ornate/Meshes/SM__Coin_SquareHoled_5_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abe0573aab52badacc172ad9ca3002ac4a4594bc13bba292610e11c435896d02 +size 8972 diff --git a/Content/SICKA_Ornate/Textures/DefaultTextures/T_BaseColor_Blank.uasset b/Content/SICKA_Ornate/Textures/DefaultTextures/T_BaseColor_Blank.uasset new file mode 100644 index 0000000..20f55e1 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/DefaultTextures/T_BaseColor_Blank.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c1021d5add1c94c4bcb0f25f559935b5b943816de88b13c90582513570153d0 +size 5767 diff --git a/Content/SICKA_Ornate/Textures/DefaultTextures/T_HDRI_Fake.uasset b/Content/SICKA_Ornate/Textures/DefaultTextures/T_HDRI_Fake.uasset new file mode 100644 index 0000000..aeb3950 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/DefaultTextures/T_HDRI_Fake.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3399f64ae06a22e4e7181087623d96d5e574c9160e52e19e8b40b6387e3be0b9 +size 13464700 diff --git a/Content/SICKA_Ornate/Textures/DefaultTextures/T_Normal_Blank.uasset b/Content/SICKA_Ornate/Textures/DefaultTextures/T_Normal_Blank.uasset new file mode 100644 index 0000000..1a7c64c --- /dev/null +++ b/Content/SICKA_Ornate/Textures/DefaultTextures/T_Normal_Blank.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69c935fc244eb9533399092190a5644554773b0fa55de8dd718661ccaf86cd9e +size 5934 diff --git a/Content/SICKA_Ornate/Textures/T_Coins_BaseColor.uasset b/Content/SICKA_Ornate/Textures/T_Coins_BaseColor.uasset new file mode 100644 index 0000000..60211ed --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_Coins_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b1424c54b6ceb3615a42f921b84775c805d5250a98f9f2cbaae831bd4bad3e6 +size 20845092 diff --git a/Content/SICKA_Ornate/Textures/T_Coins_Normal.uasset b/Content/SICKA_Ornate/Textures/T_Coins_Normal.uasset new file mode 100644 index 0000000..12345a1 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_Coins_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae1d70689ee2ce0ca5335d6a6478cd5466c40c6fdfaff9f23417d5f98151d37a +size 26952658 diff --git a/Content/SICKA_Ornate/Textures/T_Coins_ORM.uasset b/Content/SICKA_Ornate/Textures/T_Coins_ORM.uasset new file mode 100644 index 0000000..8f03677 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_Coins_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b35a96e94a9ec003ffea5a985595483d0f3f656515698fcfd02031339d97653 +size 15354550 diff --git a/Content/SICKA_Ornate/Textures/T_OrnateRings_BaseColor.uasset b/Content/SICKA_Ornate/Textures/T_OrnateRings_BaseColor.uasset new file mode 100644 index 0000000..bd56023 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_OrnateRings_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bc2a20ad5250b62b78098a0bf9d174200e2d329e455bdb830f758e62173817f +size 26348347 diff --git a/Content/SICKA_Ornate/Textures/T_OrnateRings_Normal.uasset b/Content/SICKA_Ornate/Textures/T_OrnateRings_Normal.uasset new file mode 100644 index 0000000..a868007 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_OrnateRings_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5b6df1bed5d742f50ff4f4015372bcacd30902e06875c9ac2056350b0c7a762 +size 31390891 diff --git a/Content/SICKA_Ornate/Textures/T_OrnateRings_OcclusionRoughnessMetallic.uasset b/Content/SICKA_Ornate/Textures/T_OrnateRings_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..9636b9e --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_OrnateRings_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:264d574bcf02be3ba6178acebcbd7561c48796e8bf74ce4289e295e3db6eceeb +size 33565182 diff --git a/Content/SICKA_Ornate/Textures/T_URN2_BaseColor.uasset b/Content/SICKA_Ornate/Textures/T_URN2_BaseColor.uasset new file mode 100644 index 0000000..eebfeee --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN2_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1cef49db63ebb06840edf94e0bc7ace4068aa49b51eb807fccb00ba7f46750 +size 29038782 diff --git a/Content/SICKA_Ornate/Textures/T_URN2_Normal.uasset b/Content/SICKA_Ornate/Textures/T_URN2_Normal.uasset new file mode 100644 index 0000000..7daa59f --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN2_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad9fcf37e4b25eace1d971851137e4dfdb5608c4d50d6e3f6ebd218aa0aef5db +size 34567865 diff --git a/Content/SICKA_Ornate/Textures/T_URN2_ORM.uasset b/Content/SICKA_Ornate/Textures/T_URN2_ORM.uasset new file mode 100644 index 0000000..bf13318 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN2_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:430920f156dd5800cfc8e68d898078b8bf8594b308419e286b8e43b9fab69e05 +size 30706275 diff --git a/Content/SICKA_Ornate/Textures/T_URN3_BaseColor.uasset b/Content/SICKA_Ornate/Textures/T_URN3_BaseColor.uasset new file mode 100644 index 0000000..25499d8 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN3_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88b4ea6b2679a152ed8ef395dbe24fab6af0b2052d96326b2230b5417b311fa2 +size 28179754 diff --git a/Content/SICKA_Ornate/Textures/T_URN3_Normal.uasset b/Content/SICKA_Ornate/Textures/T_URN3_Normal.uasset new file mode 100644 index 0000000..e4c53a5 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN3_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ddbb24ac01414caf7e9feedb506e94df3fe8dc3ad21ec96c5b9fb629ee212c6 +size 35315095 diff --git a/Content/SICKA_Ornate/Textures/T_URN3_ORM.uasset b/Content/SICKA_Ornate/Textures/T_URN3_ORM.uasset new file mode 100644 index 0000000..86514b7 --- /dev/null +++ b/Content/SICKA_Ornate/Textures/T_URN3_ORM.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6525bc5a8aaee42d7c184d87c028ceae91fc01671a2fcc741c83664a8b5dd59 +size 29322460 diff --git a/Content/SKYEnvirment/1111.uasset b/Content/SKYEnvirment/1111.uasset new file mode 100644 index 0000000..0c57221 --- /dev/null +++ b/Content/SKYEnvirment/1111.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:658f5e633e882aa7b2cd46a32fa376f70a4b3b208b6c94b7fd505293b60e4815 +size 12653669 diff --git a/Content/SKYEnvirment/M_bbingyong.uasset b/Content/SKYEnvirment/M_bbingyong.uasset new file mode 100644 index 0000000..5956e9e --- /dev/null +++ b/Content/SKYEnvirment/M_bbingyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc5646a1db2a33804e91ca59627b04ae16da7813ef3762f38216ff25021c4459 +size 19509 diff --git a/Content/SKYEnvirment/M_kaichang.uasset b/Content/SKYEnvirment/M_kaichang.uasset new file mode 100644 index 0000000..57145fa --- /dev/null +++ b/Content/SKYEnvirment/M_kaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2956e34dc6f0054307e614130b2c0418549cdb8be317e6033099fd71e188634e +size 15829 diff --git a/Content/SKYEnvirment/M_qijuSky.uasset b/Content/SKYEnvirment/M_qijuSky.uasset new file mode 100644 index 0000000..488110d --- /dev/null +++ b/Content/SKYEnvirment/M_qijuSky.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f717c8fae13e199b023b8383baa6d167afc8aa2b1357e8386262ce0913e500a3 +size 11797 diff --git a/Content/SKYEnvirment/M_qijuSky_Inst.uasset b/Content/SKYEnvirment/M_qijuSky_Inst.uasset new file mode 100644 index 0000000..1be5902 --- /dev/null +++ b/Content/SKYEnvirment/M_qijuSky_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:741dac965d619a150d3a5a1613c8070dfa7bfb1893b60a160d9505b3effd9d99 +size 9667 diff --git a/Content/SKYEnvirment/M_skysphere.uasset b/Content/SKYEnvirment/M_skysphere.uasset new file mode 100644 index 0000000..705f0ff --- /dev/null +++ b/Content/SKYEnvirment/M_skysphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0b7c6e268082159d3891e987cb2649873b7759e82ffb4f46b8379d740cc854a +size 16569 diff --git a/Content/SKYEnvirment/M_skysphere_Inst.uasset b/Content/SKYEnvirment/M_skysphere_Inst.uasset new file mode 100644 index 0000000..53deeef --- /dev/null +++ b/Content/SKYEnvirment/M_skysphere_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2da77b0111c74bd39954d642cadc54c54c343af610a7a4fbd8ed9ad6d8142ff +size 15507 diff --git a/Content/SKYEnvirment/NewLevelSequence_-0001.uasset b/Content/SKYEnvirment/NewLevelSequence_-0001.uasset new file mode 100644 index 0000000..27dba0a --- /dev/null +++ b/Content/SKYEnvirment/NewLevelSequence_-0001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a2f87e69a774ea42e51feffd0b4c00ecfde4bfab22deaddba3e4cb02e6ce106 +size 66812394 diff --git a/Content/SKYEnvirment/Se_dadianAudio_0000.uasset b/Content/SKYEnvirment/Se_dadianAudio_0000.uasset new file mode 100644 index 0000000..6b65247 --- /dev/null +++ b/Content/SKYEnvirment/Se_dadianAudio_0000.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fec91e11a0953714d397279cbe3fb589fe04102e3c6ad941b4a77f8ceb8be13 +size 30228357 diff --git a/Content/SKYEnvirment/Se_huanjing_-0001.uasset b/Content/SKYEnvirment/Se_huanjing_-0001.uasset new file mode 100644 index 0000000..984f9bb --- /dev/null +++ b/Content/SKYEnvirment/Se_huanjing_-0001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11468a61f1ceaaf9005b5c2c79688dc40cf4a1d80796fdcaf3a0450f46994ea3 +size 30608781 diff --git a/Content/SKYEnvirment/T_Kaichang.uasset b/Content/SKYEnvirment/T_Kaichang.uasset new file mode 100644 index 0000000..ac1160d --- /dev/null +++ b/Content/SKYEnvirment/T_Kaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:122d611f96f4819f446b23d427855bbc2f3505748d614324c35d81e833d1a3ef +size 36726450 diff --git a/Content/SKYEnvirment/T_QiJu.uasset b/Content/SKYEnvirment/T_QiJu.uasset new file mode 100644 index 0000000..7df5021 --- /dev/null +++ b/Content/SKYEnvirment/T_QiJu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c0c0efeb60d7d68bda8127f602f2e8f6d86ba655695cf182a5339ade35ae59 +size 11732630 diff --git a/Content/SKYEnvirment/T_quanjing.uasset b/Content/SKYEnvirment/T_quanjing.uasset new file mode 100644 index 0000000..206bfd1 --- /dev/null +++ b/Content/SKYEnvirment/T_quanjing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61d9cf98ee37d4658c67c55a3287c35752f958c66028fb8a2ea8a85c2f344755 +size 54373904 diff --git a/Content/SKYEnvirment/bingyong.uasset b/Content/SKYEnvirment/bingyong.uasset new file mode 100644 index 0000000..76a1d5c --- /dev/null +++ b/Content/SKYEnvirment/bingyong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e441a1c1492304e2dbdcd1e64a498d8f6ef80800a7432ae03f97141381348b9c +size 71618142 diff --git a/Content/SKYEnvirment/chaichang.uasset b/Content/SKYEnvirment/chaichang.uasset new file mode 100644 index 0000000..bbc7ee4 --- /dev/null +++ b/Content/SKYEnvirment/chaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12e8940c6d2a088501b5313ff32d498b5acb871000287162d22f0d492a5ed6b4 +size 49894678 diff --git a/Content/SKYEnvirment/qiju.uasset b/Content/SKYEnvirment/qiju.uasset new file mode 100644 index 0000000..5cbed0b --- /dev/null +++ b/Content/SKYEnvirment/qiju.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b439400aa56b8c04531a9b18ca9921f089b71a291459c63e543dd253f43e4e5 +size 11747020 diff --git a/Content/Se_xitaichangjing.umap b/Content/Se_xitaichangjing.umap new file mode 100644 index 0000000..33ce582 --- /dev/null +++ b/Content/Se_xitaichangjing.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51c58ccd8d0577712dfd65fdedf9a1b69551b6f3dbc3fc67add954ffaaa300bb +size 17388 diff --git a/Content/SharurCatacombsPack/Textures/noise01_normal_01.uasset b/Content/SharurCatacombsPack/Textures/noise01_normal_01.uasset new file mode 100644 index 0000000..1cd4ff0 --- /dev/null +++ b/Content/SharurCatacombsPack/Textures/noise01_normal_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee91b3cfb6cfbac5826689788cae5f9352b18975a08616a8ca8e97d0af457ad9 +size 7966185 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_05.uasset b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_05.uasset new file mode 100644 index 0000000..f92169a --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6a0c28b88f6ff30cbe66256f51ce1de06f057838af614e28d2a6efc07a52111 +size 160692 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_07.uasset b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_07.uasset new file mode 100644 index 0000000..82a7972 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ef9316b80250e3b342c817360034a85e5ac41640a9121bfb0ec7fc5b1bd9e2e +size 152358 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_09.uasset b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_09.uasset new file mode 100644 index 0000000..efa247e --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/MaterialInstances/ForMeshes/MI_GalaxyMaterial_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:867d523d912709f5de90a4746636f9d28bbf737b1cfba7861199860cb8fdb257 +size 153478 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Materials/M_GalaxyMaterial.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Materials/M_GalaxyMaterial.uasset new file mode 100644 index 0000000..b01d19b --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Materials/M_GalaxyMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c4b5ea3c70168bedfcda39c6bb30eb67d92aec58993067e17d239c5a6623f1f +size 160415 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Meshes/MeshTextures/T_Stone_Normal.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Meshes/MeshTextures/T_Stone_Normal.uasset new file mode 100644 index 0000000..3366b00 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Meshes/MeshTextures/T_Stone_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c43360a764440beca80c073f73ca2e076a9bf4825b6f36c1cd7007f4173ca95 +size 4530842 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_DarkClouds_02.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_DarkClouds_02.uasset new file mode 100644 index 0000000..7165d4d --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_DarkClouds_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36d5cd2f150e0c04a1d57352399f8e773660ccf30b3e5f6ceb4b8be12dbf44c9 +size 7157008 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_04.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_04.uasset new file mode 100644 index 0000000..47620f3 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a02786b50a0c630527cc5c9a113530f5c7547ab3e1c4dadfdf228987e060da50 +size 1702589 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_06.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_06.uasset new file mode 100644 index 0000000..9a06296 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f9538bcc9f9da8c87da39eba515b32681e12eb122502adc47957703e542c7cb +size 8697269 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_07.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_07.uasset new file mode 100644 index 0000000..e057109 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_LightClouds_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d00f6d7bbfb0a290e4eba03445ed4ee482a2190d680c9ce03595a4c8c00ef842 +size 12030149 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_02.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_02.uasset new file mode 100644 index 0000000..99f3fab --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9ea5872ed46020a606838c6e1fe010adf096166633f8225876245a3a49545f2 +size 10380400 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_04.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_04.uasset new file mode 100644 index 0000000..9babf99 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f53b29fe65893a4200b6e1c0a02b0ecf6143dd54c52ed5d04fed81101efad842 +size 9608476 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_06.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_06.uasset new file mode 100644 index 0000000..5a85b82 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Cubemaps/Layers/T_Layer_Stars_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd689e7a10481eea136681bcd0302d056bfbd36a5e0f5eac2d26859ceca76b1 +size 11034273 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseArt02.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseArt02.uasset new file mode 100644 index 0000000..f050056 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseArt02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaaa61f5f2f98e4b59655a9315f0e321b11d0e0892aabf99e3c6b09f18557e94 +size 2000566 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell01.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell01.uasset new file mode 100644 index 0000000..3d600d5 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a85d2750e3a70d3a4b7b5f6109da2bd027b0d48b532db79d9a18bef339442900 +size 1409881 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell03.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell03.uasset new file mode 100644 index 0000000..b945995 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseCell03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23e3b84e077ff40969a14f4c3a33c5d162433877a573bbe9633359dc3bd0e32e +size 2392154 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseSmooth01.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseSmooth01.uasset new file mode 100644 index 0000000..61ddbb3 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Noises/T_NoiseSmooth01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:420aba05d66132e2e6fbc87c7f90cc76b72c18f3d87f926864ccdd44a39d0346 +size 360692 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp02.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp02.uasset new file mode 100644 index 0000000..6a304fd --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f513dc17657a795b2361ac1ea60c481196ea74b24d40432de8bc673264a0dd3e +size 22183 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp18.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp18.uasset new file mode 100644 index 0000000..43bf59e --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2430c4f51779b11bda60e33aacfdb3c0481352ec049a4b053a3955c57cfa48bc +size 26551 diff --git a/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp19.uasset b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp19.uasset new file mode 100644 index 0000000..b496ad9 --- /dev/null +++ b/Content/SineVFX/GalaxyMaterials/Resources/Textures/Ramps/T_Ramp19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dc0aa536eb5d720b3cb42ad50eb3b9a7844d2a9ae7d435b09e808e814e85d07 +size 25685 diff --git a/Content/SmokeFireVFX/Materials_Functions/RadialGradientExponential.uasset b/Content/SmokeFireVFX/Materials_Functions/RadialGradientExponential.uasset new file mode 100644 index 0000000..7457cde --- /dev/null +++ b/Content/SmokeFireVFX/Materials_Functions/RadialGradientExponential.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7822ce0fd5d6ac39d019f4be298c5c4bc0d675dd830b40832b6c88772fe02a4e +size 86464 diff --git a/Content/SmokeFireVFX/materials/M_Circle1.uasset b/Content/SmokeFireVFX/materials/M_Circle1.uasset new file mode 100644 index 0000000..5acfc45 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_Circle1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac4b46de54a37fa751f3df671f5ab6559ec51876041dc7bcda8f9ae7ae91c253 +size 81885 diff --git a/Content/SmokeFireVFX/materials/M_In_Paper_Subuv1.uasset b/Content/SmokeFireVFX/materials/M_In_Paper_Subuv1.uasset new file mode 100644 index 0000000..5093456 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_In_Paper_Subuv1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08434f84ba896a5bb3b141abaab7ec4a65932c019cee937b1afe19f95fb84259 +size 96214 diff --git a/Content/SmokeFireVFX/materials/M_In_fire.uasset b/Content/SmokeFireVFX/materials/M_In_fire.uasset new file mode 100644 index 0000000..83dd058 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_In_fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d112a13ba0a3c08d787214a3433e288fb22afcea60941a9ec40b2cbcf7032dd7 +size 85973 diff --git a/Content/SmokeFireVFX/materials/M_In_fire_2.uasset b/Content/SmokeFireVFX/materials/M_In_fire_2.uasset new file mode 100644 index 0000000..e6bdce1 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_In_fire_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea83de1c60c378892352ed937ecbaeec92c3a8a90b6ee9e9c863451f2584abe +size 80530 diff --git a/Content/SmokeFireVFX/materials/M_In_fire_3.uasset b/Content/SmokeFireVFX/materials/M_In_fire_3.uasset new file mode 100644 index 0000000..575c387 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_In_fire_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d637bc4f69ae230f3b3538c13a59ec4cf4ea4e39983fb349fed3e44785261f79 +size 84440 diff --git a/Content/SmokeFireVFX/materials/M_In_fire_4.uasset b/Content/SmokeFireVFX/materials/M_In_fire_4.uasset new file mode 100644 index 0000000..16b7dff --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_In_fire_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc368d9e91400727545c7b26665f2cebe19825851baa39525ebca7840c2c9d9c +size 88154 diff --git a/Content/SmokeFireVFX/materials/M_Param_Translucent.uasset b/Content/SmokeFireVFX/materials/M_Param_Translucent.uasset new file mode 100644 index 0000000..e2ba88e --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_Param_Translucent.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57723acb9503124de85edc449d5dae814a2aeef24cf4802ec57e8ffddde17c2d +size 107603 diff --git a/Content/SmokeFireVFX/materials/M_fire10.uasset b/Content/SmokeFireVFX/materials/M_fire10.uasset new file mode 100644 index 0000000..922f201 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_fire10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17662fa168e4aa37cefafe399cbcd3302d17d35ba4dca43b8c7c0c80f78364f3 +size 94655 diff --git a/Content/SmokeFireVFX/materials/M_fire_param.uasset b/Content/SmokeFireVFX/materials/M_fire_param.uasset new file mode 100644 index 0000000..5010291 --- /dev/null +++ b/Content/SmokeFireVFX/materials/M_fire_param.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71cc509a13d796bbe3a4c6d1d17ae46c42c165f752415e8ea0e587d89307143a +size 110664 diff --git a/Content/SmokeFireVFX/particles/P_Fire8.uasset b/Content/SmokeFireVFX/particles/P_Fire8.uasset new file mode 100644 index 0000000..ce58d65 --- /dev/null +++ b/Content/SmokeFireVFX/particles/P_Fire8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dcfdc4e01fbfd365f5c235a2287a33d458e869fe6c74d849444696cced1692f +size 231866 diff --git a/Content/SmokeFireVFX/textures/T_FlamesRound_8x8_01.uasset b/Content/SmokeFireVFX/textures/T_FlamesRound_8x8_01.uasset new file mode 100644 index 0000000..466ee27 --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_FlamesRound_8x8_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:535047f960f68325172127a3bbe051d08ce2ca271691420894915f14b1aea586 +size 10117229 diff --git a/Content/SmokeFireVFX/textures/T_Flames_16x4_01.uasset b/Content/SmokeFireVFX/textures/T_Flames_16x4_01.uasset new file mode 100644 index 0000000..9fa50c2 --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_Flames_16x4_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:650f542b972ca81a26e3f6a422aed210ca75374590692c7ed9b4d066c9f66a14 +size 6731856 diff --git a/Content/SmokeFireVFX/textures/T_Flames_8x4_01.uasset b/Content/SmokeFireVFX/textures/T_Flames_8x4_01.uasset new file mode 100644 index 0000000..2e9d4ad --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_Flames_8x4_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e46317404927b38f7831e1a0431b6017b399dc37d0a185422a61b8409ee96aa +size 3849538 diff --git a/Content/SmokeFireVFX/textures/T_Flames_8x4_03.uasset b/Content/SmokeFireVFX/textures/T_Flames_8x4_03.uasset new file mode 100644 index 0000000..6470a8c --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_Flames_8x4_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e72203df8184ad9709454525f05d03118bf2aaa9ae54c534fd6d94f3e8bd231a +size 4285402 diff --git a/Content/SmokeFireVFX/textures/T_Flames_8x4_03_BW.uasset b/Content/SmokeFireVFX/textures/T_Flames_8x4_03_BW.uasset new file mode 100644 index 0000000..9c5f247 --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_Flames_8x4_03_BW.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8aa2546bfc87f8d0a0ec7d68a569432bdff87f131df66f14f9b2b1bced479c6 +size 1782584 diff --git a/Content/SmokeFireVFX/textures/T_SubUV_Fire10.uasset b/Content/SmokeFireVFX/textures/T_SubUV_Fire10.uasset new file mode 100644 index 0000000..82c5932 --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_SubUV_Fire10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4859511372ccd1e93a290988d3db2a8547c769c8b99dc826e06652342a6ac5ad +size 901328 diff --git a/Content/SmokeFireVFX/textures/T_SubUV_Paper02.uasset b/Content/SmokeFireVFX/textures/T_SubUV_Paper02.uasset new file mode 100644 index 0000000..faf7ec9 --- /dev/null +++ b/Content/SmokeFireVFX/textures/T_SubUV_Paper02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:484c516acfdc0ead0a192dc53a0a726ac4f53c494ab14a1476cee2c8361e0288 +size 119464 diff --git a/Content/SplinedGuideLinePack/Blueprints/BP_Navigation.uasset b/Content/SplinedGuideLinePack/Blueprints/BP_Navigation.uasset new file mode 100644 index 0000000..02a9703 --- /dev/null +++ b/Content/SplinedGuideLinePack/Blueprints/BP_Navigation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9881112d2e287590d1d220782718296bfa06be65098392360fe311a682b3115a +size 151475 diff --git a/Content/SplinedGuideLinePack/Blueprints/BP_Navigation_Auto.uasset b/Content/SplinedGuideLinePack/Blueprints/BP_Navigation_Auto.uasset new file mode 100644 index 0000000..93efc6f --- /dev/null +++ b/Content/SplinedGuideLinePack/Blueprints/BP_Navigation_Auto.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b38dba39252773bc372e3d750cfd3d2569e5e32bd4f4b0a64fa20cfca23ea184 +size 264135 diff --git a/Content/SplinedGuideLinePack/Geometry/Meshes/SM_Street.uasset b/Content/SplinedGuideLinePack/Geometry/Meshes/SM_Street.uasset new file mode 100644 index 0000000..185653b --- /dev/null +++ b/Content/SplinedGuideLinePack/Geometry/Meshes/SM_Street.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf2cf8ab575c6124f215bb5d81bcf16c88a794d41a99cf88ba6afc957c357288 +size 22824 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_1.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_1.uasset new file mode 100644 index 0000000..aad4b73 --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c990eb7fa6d1e86b0cb96d0d64c9167908476f73a89d8537cb0eee5decf5eb53 +size 95003 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_12.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_12.uasset new file mode 100644 index 0000000..8fa5a32 --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:809f3cd81fe6a3bb23d7d9f823592ef99b020ea19d186bfe4c3fa8aaa7964402 +size 85366 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_13.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_13.uasset new file mode 100644 index 0000000..5afffad --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81b48fb9fe9b982e42d7fdb7076ce2a695500275f5958732fb7d334c7b0d1ce1 +size 75867 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_2.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_2.uasset new file mode 100644 index 0000000..80a4355 --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d53a108ba8bdb41cde9acbd6e8d417a5978fa4b7f8fe7acf4ba27aac05f432 +size 88282 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_5.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_5.uasset new file mode 100644 index 0000000..e309d1b --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1341453be722c5ab33b6b146e2ef605f4c7b9f13e44b2dfe4092186394172e7d +size 80947 diff --git a/Content/SplinedGuideLinePack/Materials/MI_Arrow_9.uasset b/Content/SplinedGuideLinePack/Materials/MI_Arrow_9.uasset new file mode 100644 index 0000000..0c72438 --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/MI_Arrow_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:623fe3c6bbfd02113b01a908c5a5ebdaa5553a5e2068ecce6905faecb3dfbdfa +size 83610 diff --git a/Content/SplinedGuideLinePack/Materials/M_Arrow.uasset b/Content/SplinedGuideLinePack/Materials/M_Arrow.uasset new file mode 100644 index 0000000..489e7c6 --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/M_Arrow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d0f066cabd5f79e9ed1829c266084cb35274ff46cce4f737cd15fd4032a1976 +size 105121 diff --git a/Content/SplinedGuideLinePack/Materials/M_Empty.uasset b/Content/SplinedGuideLinePack/Materials/M_Empty.uasset new file mode 100644 index 0000000..4e1c4fd --- /dev/null +++ b/Content/SplinedGuideLinePack/Materials/M_Empty.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57731c0ff9c00fcda54f37aac9190374aeb9e0afc06972cb4f90a565fda38732 +size 81500 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow.uasset new file mode 100644 index 0000000..28e70ca --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad3fe59fb209e8a18f05dfe784236aa90b2763d05ff159b3852bfe1368fb302b +size 23004 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_1.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_1.uasset new file mode 100644 index 0000000..41f6629 --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d22ba68fee72a67198f09bd9433f50d98b25a691d5bada9b7998510a10f03f2 +size 100013 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_12.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_12.uasset new file mode 100644 index 0000000..a3b8a1a --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1986eb13b82654f3e6d2025e2d7f8a80e614b5507354c115a550795e19dd1e80 +size 56921 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_13.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_13.uasset new file mode 100644 index 0000000..34331dc --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e60ec47784e9a5e74b947b66e258dcb1482d082ed18ee24e0a388f60fccb977 +size 51446 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_2.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_2.uasset new file mode 100644 index 0000000..668c1da --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:248d155719208bb201519b70f5d6fb72fd579940a6f4d9a829ea98aa834d98d7 +size 56576 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_5.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_5.uasset new file mode 100644 index 0000000..b6cb192 --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22020648b12d81193cfb7edfca512680223699d3fed4c4f8be18a74bea67bf65 +size 69567 diff --git a/Content/SplinedGuideLinePack/Textures/T_Arrow_9.uasset b/Content/SplinedGuideLinePack/Textures/T_Arrow_9.uasset new file mode 100644 index 0000000..a876d7b --- /dev/null +++ b/Content/SplinedGuideLinePack/Textures/T_Arrow_9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7488a9ec7be2890126409d6f5dfa68b0d7f80e14252a155714d7a03653011935 +size 31795 diff --git a/Content/StarterContent/Architecture/Floor_400x400.uasset b/Content/StarterContent/Architecture/Floor_400x400.uasset new file mode 100644 index 0000000..1886dd5 --- /dev/null +++ b/Content/StarterContent/Architecture/Floor_400x400.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55379e44785e5a8f025864c989cab19a1641f9236ad171a1a15dadae12d357d0 +size 14410 diff --git a/Content/StarterContent/Architecture/Pillar_50x500.uasset b/Content/StarterContent/Architecture/Pillar_50x500.uasset new file mode 100644 index 0000000..a74124f --- /dev/null +++ b/Content/StarterContent/Architecture/Pillar_50x500.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ef6566b8a58d89c7c7de52e4c1723c9ad3e9636fc801766e89757eb98ec3cbb +size 15861 diff --git a/Content/StarterContent/Architecture/SM_AssetPlatform.uasset b/Content/StarterContent/Architecture/SM_AssetPlatform.uasset new file mode 100644 index 0000000..b6ef400 --- /dev/null +++ b/Content/StarterContent/Architecture/SM_AssetPlatform.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c0f8fbbe377ca3d96f2671c0eb941bb8b3755d2d60b69e71719f8727149bbe1 +size 160364 diff --git a/Content/StarterContent/Architecture/Wall_400x200.uasset b/Content/StarterContent/Architecture/Wall_400x200.uasset new file mode 100644 index 0000000..8df10ff --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_400x200.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05ad5630567f96399a57fec69383564321660e8e32dc2bfe4b206159475b6959 +size 14683 diff --git a/Content/StarterContent/Architecture/Wall_400x300.uasset b/Content/StarterContent/Architecture/Wall_400x300.uasset new file mode 100644 index 0000000..e195f24 --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_400x300.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f3b60af00eae705effeb499f368c376bb5bdb8620ec9790eceab8f1b6129bb0 +size 13933 diff --git a/Content/StarterContent/Architecture/Wall_400x400.uasset b/Content/StarterContent/Architecture/Wall_400x400.uasset new file mode 100644 index 0000000..1c97beb --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_400x400.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71738b34263d8579795bc65719c0ccfe1cf9bd7c8fe64ca02af09bce8b93fb53 +size 14660 diff --git a/Content/StarterContent/Architecture/Wall_500x500.uasset b/Content/StarterContent/Architecture/Wall_500x500.uasset new file mode 100644 index 0000000..75e7f96 --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_500x500.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59404b543ab051363ca22f47d8696264c20fb87012e5ffc3d0b370a3a7acbf41 +size 17336 diff --git a/Content/StarterContent/Architecture/Wall_Door_400x300.uasset b/Content/StarterContent/Architecture/Wall_Door_400x300.uasset new file mode 100644 index 0000000..59c6efc --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_Door_400x300.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30948daf1661aa95461de492c66d0a8b5a03a607893da56ad03bc7a114b8b62a +size 16508 diff --git a/Content/StarterContent/Architecture/Wall_Door_400x400.uasset b/Content/StarterContent/Architecture/Wall_Door_400x400.uasset new file mode 100644 index 0000000..05fda56 --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_Door_400x400.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31cbec41a1f814fb1aed3263b1b50f70f8d465f57934d5acda6004df67ae6a0b +size 16392 diff --git a/Content/StarterContent/Architecture/Wall_Window_400x300.uasset b/Content/StarterContent/Architecture/Wall_Window_400x300.uasset new file mode 100644 index 0000000..15c0eaf --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_Window_400x300.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1988d1310934ef357e8a7638ba7cb109d8a151d2a3ea8c0fe8744dfe96fd7d25 +size 17385 diff --git a/Content/StarterContent/Architecture/Wall_Window_400x400.uasset b/Content/StarterContent/Architecture/Wall_Window_400x400.uasset new file mode 100644 index 0000000..5596705 --- /dev/null +++ b/Content/StarterContent/Architecture/Wall_Window_400x400.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f34a11fa24048a7600f7b87d88d6c12f723fd955fd6c590f38745287e4f5957 +size 17251 diff --git a/Content/StarterContent/Audio/Collapse01.uasset b/Content/StarterContent/Audio/Collapse01.uasset new file mode 100644 index 0000000..ccf7c76 --- /dev/null +++ b/Content/StarterContent/Audio/Collapse01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da221ffae663d0698a2f988a88e7f126026bf3fe48a3c9fac7b14b6394321c01 +size 353636 diff --git a/Content/StarterContent/Audio/Collapse02.uasset b/Content/StarterContent/Audio/Collapse02.uasset new file mode 100644 index 0000000..b36a504 --- /dev/null +++ b/Content/StarterContent/Audio/Collapse02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:006e326f1554f4563d22b47f56e4b29ab56e81857a713fcf619a86f69bb333d9 +size 351562 diff --git a/Content/StarterContent/Audio/Collapse_Cue.uasset b/Content/StarterContent/Audio/Collapse_Cue.uasset new file mode 100644 index 0000000..81e69e1 --- /dev/null +++ b/Content/StarterContent/Audio/Collapse_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bbd215bbb20c2a86f7b9ba4d90aa1870edd1999e00b5ff64a52a657a50a690b +size 6517 diff --git a/Content/StarterContent/Audio/Explosion01.uasset b/Content/StarterContent/Audio/Explosion01.uasset new file mode 100644 index 0000000..5a831b4 --- /dev/null +++ b/Content/StarterContent/Audio/Explosion01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4454bd66732418eeff489356e70e66e59aa969c1d55b3e5a1b0481778177b7ea +size 286865 diff --git a/Content/StarterContent/Audio/Explosion02.uasset b/Content/StarterContent/Audio/Explosion02.uasset new file mode 100644 index 0000000..ad52bd1 --- /dev/null +++ b/Content/StarterContent/Audio/Explosion02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0763da19e88e904105a0df48ee898cd6993a74b893b3e012ec2e65a52d63357b +size 293426 diff --git a/Content/StarterContent/Audio/Explosion_Cue.uasset b/Content/StarterContent/Audio/Explosion_Cue.uasset new file mode 100644 index 0000000..a67301e --- /dev/null +++ b/Content/StarterContent/Audio/Explosion_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b66cedcfeedcaa25d7b2afe79c3dfb636e625f626fb56ce9b410fc6495ef3b +size 8088 diff --git a/Content/StarterContent/Audio/Fire01.uasset b/Content/StarterContent/Audio/Fire01.uasset new file mode 100644 index 0000000..d503040 --- /dev/null +++ b/Content/StarterContent/Audio/Fire01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a21269282edb9006cf690727295aa236450fa0e14567bfe22f02be3aa54e52c +size 555683 diff --git a/Content/StarterContent/Audio/Fire01_Cue.uasset b/Content/StarterContent/Audio/Fire01_Cue.uasset new file mode 100644 index 0000000..b723ef5 --- /dev/null +++ b/Content/StarterContent/Audio/Fire01_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3c93dca255ffe4fcd045103b0cf1341adda3640b47a5656c82ef6236639a51c +size 4280 diff --git a/Content/StarterContent/Audio/Fire_Sparks01.uasset b/Content/StarterContent/Audio/Fire_Sparks01.uasset new file mode 100644 index 0000000..d07dfd5 --- /dev/null +++ b/Content/StarterContent/Audio/Fire_Sparks01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21bfc29a0043abca6c7d6a28754e5244aebe910474474569462fe196aae0c2e0 +size 800440 diff --git a/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset b/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset new file mode 100644 index 0000000..693d437 --- /dev/null +++ b/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c13448535c552552c0216aa5a9d5af5957d4606153a004cdcec934ea5e9a22b +size 4299 diff --git a/Content/StarterContent/Audio/Light01.uasset b/Content/StarterContent/Audio/Light01.uasset new file mode 100644 index 0000000..56cd959 --- /dev/null +++ b/Content/StarterContent/Audio/Light01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3f4590a36c81dcf8770bb6dac55ae7367ec8a2e0f8033ff70eb57f6713c7727 +size 368411 diff --git a/Content/StarterContent/Audio/Light01_Cue.uasset b/Content/StarterContent/Audio/Light01_Cue.uasset new file mode 100644 index 0000000..24a1775 --- /dev/null +++ b/Content/StarterContent/Audio/Light01_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc123926fc005aceaa148edfc4cf3778e694a8c17e1e359448377462d4a63d95 +size 4237 diff --git a/Content/StarterContent/Audio/Light02.uasset b/Content/StarterContent/Audio/Light02.uasset new file mode 100644 index 0000000..207e9cd --- /dev/null +++ b/Content/StarterContent/Audio/Light02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fff109640197802c72bc707738cddb051e308979e54beb199b88720bf6c5a03 +size 312106 diff --git a/Content/StarterContent/Audio/Light02_Cue.uasset b/Content/StarterContent/Audio/Light02_Cue.uasset new file mode 100644 index 0000000..da4e413 --- /dev/null +++ b/Content/StarterContent/Audio/Light02_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c65561c4b6d3767df9e90d24684abfb9fd7b8f980c1a812e329d319b15ab1c87 +size 4237 diff --git a/Content/StarterContent/Audio/Smoke01.uasset b/Content/StarterContent/Audio/Smoke01.uasset new file mode 100644 index 0000000..b54c9a9 --- /dev/null +++ b/Content/StarterContent/Audio/Smoke01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c887ca14e673a83d48c231c3f537f776645b4170c0fb1a26aacf0300b0a46af4 +size 480600 diff --git a/Content/StarterContent/Audio/Smoke01_Cue.uasset b/Content/StarterContent/Audio/Smoke01_Cue.uasset new file mode 100644 index 0000000..d0d0bbf --- /dev/null +++ b/Content/StarterContent/Audio/Smoke01_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97a08e7214107b0f39835ba844b7dcbc69b6613b3573de87e3e9c0e9cfe1a057 +size 4257 diff --git a/Content/StarterContent/Audio/Starter_Background_Cue.uasset b/Content/StarterContent/Audio/Starter_Background_Cue.uasset new file mode 100644 index 0000000..8eed863 --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Background_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36bc3a7bbeaad1ecf33a97465da041171bdd205f780a171d8ec712b16174e8b8 +size 10330 diff --git a/Content/StarterContent/Audio/Starter_Birds01.uasset b/Content/StarterContent/Audio/Starter_Birds01.uasset new file mode 100644 index 0000000..f01ea84 --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Birds01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7348eb78b0857c0af54cd9e10a0744ac93d5708ce9bc9f77d4c91484af767e13 +size 2694263 diff --git a/Content/StarterContent/Audio/Starter_Music01.uasset b/Content/StarterContent/Audio/Starter_Music01.uasset new file mode 100644 index 0000000..8ace763 --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Music01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:451a8e15292b4ed2c323cb08f93e5e5478ee88e9ae245415f3d5a6aaf18747a2 +size 8452074 diff --git a/Content/StarterContent/Audio/Starter_Music_Cue.uasset b/Content/StarterContent/Audio/Starter_Music_Cue.uasset new file mode 100644 index 0000000..9b4e0b5 --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Music_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6fdbda2320b26aa806d967ca88390fbd6dd6078432952800fd029cf313bb2ce +size 3753 diff --git a/Content/StarterContent/Audio/Starter_Wind05.uasset b/Content/StarterContent/Audio/Starter_Wind05.uasset new file mode 100644 index 0000000..a0ab117 --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Wind05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bf85d6662df8fc20d56bd1a69cdad6f1594f6c935af2a21ea365e7f5fbfcf58 +size 2317523 diff --git a/Content/StarterContent/Audio/Starter_Wind06.uasset b/Content/StarterContent/Audio/Starter_Wind06.uasset new file mode 100644 index 0000000..89e8cab --- /dev/null +++ b/Content/StarterContent/Audio/Starter_Wind06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f9fa43fa38feb7243aa9a6a455a777bdb603888e0fbf414abb6d4b153a2c74 +size 2200055 diff --git a/Content/StarterContent/Audio/Steam01.uasset b/Content/StarterContent/Audio/Steam01.uasset new file mode 100644 index 0000000..29a882a --- /dev/null +++ b/Content/StarterContent/Audio/Steam01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15b872c1e69652373c33554eb2d264ad1ef79c3488878f097681c1739d3f978e +size 822968 diff --git a/Content/StarterContent/Audio/Steam01_Cue.uasset b/Content/StarterContent/Audio/Steam01_Cue.uasset new file mode 100644 index 0000000..2050940 --- /dev/null +++ b/Content/StarterContent/Audio/Steam01_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c43fb733ebfc395af98ce820de46fed7d2b3f2a42ad03f55c8cf8e12d1bd417f +size 4285 diff --git a/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset b/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset new file mode 100644 index 0000000..4b7f0d2 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c04c6cdec2455c8b6fa4c0dafd4a572d4003eacba85b923de671eece901238f6 +size 1858 diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset new file mode 100644 index 0000000..49b49d4 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21b7d8fa958eaa3e8324f3a762cd445877c7bbdc3b5a8eb2b2d6d858cb276c52 +size 10372 diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset new file mode 100644 index 0000000..bae5b52 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da01afa9d1cc164ac85b7a3d8329ee509485b29886e37a1288f84777e24ae85b +size 5250 diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset new file mode 100644 index 0000000..d5828c0 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b2b575f499de972bf4f97524adba121cc8c8c903abdb844e0a677477489d22b +size 13553 diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset new file mode 100644 index 0000000..c213dea --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fdf80a5102d6178944912fb4b2a242a96e3368baa3f8a0c1be38a94ae2d6e30 +size 15870 diff --git a/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset b/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset new file mode 100644 index 0000000..6218325 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6cc69849eb29034f71b88b8c3765ae353efb3c1f3e51a3f6117631529b24d52 +size 190020 diff --git a/Content/StarterContent/Blueprints/Assets/Skybox.uasset b/Content/StarterContent/Blueprints/Assets/Skybox.uasset new file mode 100644 index 0000000..2e67e29 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/Skybox.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c4555ecd203a7c2993d604fce22f6526b56ce59b39b6c069a1e3cdd5a456cdc +size 209212 diff --git a/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset b/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset new file mode 100644 index 0000000..dc478e6 --- /dev/null +++ b/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83865c6b24e80dc62f792fdfbdb63abca1be425b02b3164cbf1f2eecb8afb786 +size 5128 diff --git a/Content/StarterContent/Blueprints/BP_LightStudio.uasset b/Content/StarterContent/Blueprints/BP_LightStudio.uasset new file mode 100644 index 0000000..2ea4332 --- /dev/null +++ b/Content/StarterContent/Blueprints/BP_LightStudio.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33349930c4785a2bcd4f90e8c4e13df4ea6e29e33a1a8e5c8f576e0bf6a6663f +size 646714 diff --git a/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset b/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset new file mode 100644 index 0000000..c5c3b84 --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a60a29ad596546d481e43dfb8698842a78cc07f4a4b1000fa397cfba4e72331 +size 158206 diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset new file mode 100644 index 0000000..4269e35 --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcd9abdc6a00b26e0721b48a0bb06e3100c4c1ac407fcc3e4141225572d56cc2 +size 16095 diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset new file mode 100644 index 0000000..97e76f4 --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad0a791b92c961cde738111acefeab728b3b4e61589d133144b5a1c84b3a6fc +size 16096 diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset new file mode 100644 index 0000000..ca8a053 --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad60f189780f8ae94abd489b48cbd5de03a539e118a842c78585a174a09280eb +size 16117 diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset new file mode 100644 index 0000000..d1cd7fc --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b80b6d88fabd6b817e73b3b1da4b33def861812ea41b1971154f34c8f8420658 +size 14539 diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset new file mode 100644 index 0000000..a2ee9aa --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ae4ddbe5ac59963ae5a3177f417bb812d01be33076308bb1bd352a934149c38 +size 16133 diff --git a/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset b/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset new file mode 100644 index 0000000..d4c7b4e --- /dev/null +++ b/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c6ae820b88cfa7250fa16726c0dedcb150760c0e0b7c824993b01e152751607 +size 158241 diff --git a/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset b/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset new file mode 100644 index 0000000..0f99058 --- /dev/null +++ b/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc35eb2d43a47427d30aba0196f9eac90d089dd3abca319528c5d25c83510d0d +size 72364642 diff --git a/Content/StarterContent/Maps/Advanced_Lighting.umap b/Content/StarterContent/Maps/Advanced_Lighting.umap new file mode 100644 index 0000000..ec8eff1 --- /dev/null +++ b/Content/StarterContent/Maps/Advanced_Lighting.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:285c67c63d3781fa401267302d4f816a94002efae742b159faad04fe80348c9b +size 44639 diff --git a/Content/StarterContent/Maps/Minimal_Default.umap b/Content/StarterContent/Maps/Minimal_Default.umap new file mode 100644 index 0000000..408bd0e --- /dev/null +++ b/Content/StarterContent/Maps/Minimal_Default.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c87a71281a8741750325d976997db07632f5ded7c5e260ad22f0ebf5a6d28505 +size 54552 diff --git a/Content/StarterContent/Maps/StarterMap.umap b/Content/StarterContent/Maps/StarterMap.umap new file mode 100644 index 0000000..8f9648f --- /dev/null +++ b/Content/StarterContent/Maps/StarterMap.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bab654e54121851309a61daffde31c03b7216556cc27169f5905e28de78d0e35 +size 395548 diff --git a/Content/StarterContent/Materials/M_AssetPlatform.uasset b/Content/StarterContent/Materials/M_AssetPlatform.uasset new file mode 100644 index 0000000..9cffede --- /dev/null +++ b/Content/StarterContent/Materials/M_AssetPlatform.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cbe10edc23286ddb3d2dd176d410aa8cb134b9cd7ba08e0c565c7ef764d335a +size 8824 diff --git a/Content/StarterContent/Materials/M_Basic_Floor.uasset b/Content/StarterContent/Materials/M_Basic_Floor.uasset new file mode 100644 index 0000000..07401c9 --- /dev/null +++ b/Content/StarterContent/Materials/M_Basic_Floor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38e9963796183aa39c6cd4219fe60403740c902dadd223b96e37158f5b8e07f8 +size 9515 diff --git a/Content/StarterContent/Materials/M_Basic_Wall.uasset b/Content/StarterContent/Materials/M_Basic_Wall.uasset new file mode 100644 index 0000000..8180e21 --- /dev/null +++ b/Content/StarterContent/Materials/M_Basic_Wall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d98628a1928336e234cf6b0c1b65a394bc7b6ba7b8ced62bc2fb9e029b45c0b +size 8910 diff --git a/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset b/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset new file mode 100644 index 0000000..14c4569 --- /dev/null +++ b/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a2e69e0398d164f1102135139e33310e0818cd3adbc8ae1b22f180c4206c55 +size 22893 diff --git a/Content/StarterContent/Materials/M_Brick_Clay_New.uasset b/Content/StarterContent/Materials/M_Brick_Clay_New.uasset new file mode 100644 index 0000000..0dc4a46 --- /dev/null +++ b/Content/StarterContent/Materials/M_Brick_Clay_New.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94593f357a232f51687df14189072afeee85164e3ce42dfe65b402f80d63561c +size 26366 diff --git a/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset b/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset new file mode 100644 index 0000000..0d955cf --- /dev/null +++ b/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7ff7197aa1809106da243f9d8bd22fb0e1305ca2f67d934ac3fcea7629861c1 +size 34264 diff --git a/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset b/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset new file mode 100644 index 0000000..07408d2 --- /dev/null +++ b/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5931125b271156e0f931ee93de70fd48b4408467b9deb868f9fcb903972943c3 +size 33809 diff --git a/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset b/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset new file mode 100644 index 0000000..3150c05 --- /dev/null +++ b/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60200347bddea342b9e489b8642f8fafef462b6a36a87fe8e5cb4091e3647162 +size 26468 diff --git a/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset b/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset new file mode 100644 index 0000000..219b01e --- /dev/null +++ b/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:508d56703e09a7dc8bdd308eb1ac523a391a4be5373f3ee98ee7a4ecda979234 +size 26818 diff --git a/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset b/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset new file mode 100644 index 0000000..7485ad0 --- /dev/null +++ b/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b581105dc4109a3688351d8c4a71a5df9b4d3f142d54c8f405e4395fa9e25d51 +size 25680 diff --git a/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset b/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset new file mode 100644 index 0000000..2fabccc --- /dev/null +++ b/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35a3c495a0160ba64b0a312c64c744452ebd7c5d4a5a2320792ffc1636137462 +size 108929 diff --git a/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset b/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset new file mode 100644 index 0000000..5cb2bf4 --- /dev/null +++ b/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47689b5ede44d19cd095d31e9dfbb9eb444ffc04bb0fc5e4ad2c73c51628b6f7 +size 117888 diff --git a/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset b/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset new file mode 100644 index 0000000..0ebcc43 --- /dev/null +++ b/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d57780881466f2243edf382d5be4378852e02b68847565c45462ffdf7765588 +size 9385 diff --git a/Content/StarterContent/Materials/M_Concrete_Grime.uasset b/Content/StarterContent/Materials/M_Concrete_Grime.uasset new file mode 100644 index 0000000..4d6c696 --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Grime.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e4252dc15dbc22432a756fd77a66a1ba8e4acf4fe112469530ff75b6b855bb +size 36137 diff --git a/Content/StarterContent/Materials/M_Concrete_Panels.uasset b/Content/StarterContent/Materials/M_Concrete_Panels.uasset new file mode 100644 index 0000000..5645f01 --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Panels.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edbb25f1df295f3d81ca5daff4d1fa14abc599e2f56252fcdeacd96a27114651 +size 32155 diff --git a/Content/StarterContent/Materials/M_Concrete_Poured.uasset b/Content/StarterContent/Materials/M_Concrete_Poured.uasset new file mode 100644 index 0000000..604f867 --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Poured.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d453cc3372ddb78381716e4eafa298a39c10564cd6bf4ce6f269f8d5c5001e +size 30606 diff --git a/Content/StarterContent/Materials/M_Concrete_Tiles.uasset b/Content/StarterContent/Materials/M_Concrete_Tiles.uasset new file mode 100644 index 0000000..f616c4f --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Tiles.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:409815ab89d05e92ee115c677f210e72f09c9eb3b7ff3a42bcda77059def5afd +size 32196 diff --git a/Content/StarterContent/Materials/M_Concrete_Tiles01.uasset b/Content/StarterContent/Materials/M_Concrete_Tiles01.uasset new file mode 100644 index 0000000..e545b9e --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Tiles01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac8f6c5f54b1c029cd5e8c69b600b606df0700ce7321899753b5803081073b8 +size 37785 diff --git a/Content/StarterContent/Materials/M_Concrete_Tiles1.uasset b/Content/StarterContent/Materials/M_Concrete_Tiles1.uasset new file mode 100644 index 0000000..439f6c9 --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Tiles1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7af4bd13cc45842fcaad192982593ebfd74c133bee8d9072aa9522e90563ec53 +size 1567 diff --git a/Content/StarterContent/Materials/M_Concrete_Tiles_Inst.uasset b/Content/StarterContent/Materials/M_Concrete_Tiles_Inst.uasset new file mode 100644 index 0000000..207c544 --- /dev/null +++ b/Content/StarterContent/Materials/M_Concrete_Tiles_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c26d09afc8a3139ca20fd0f989b5f267051308085c00cd02c3b137e46c83fd00 +size 11752 diff --git a/Content/StarterContent/Materials/M_Glass.uasset b/Content/StarterContent/Materials/M_Glass.uasset new file mode 100644 index 0000000..e52df69 --- /dev/null +++ b/Content/StarterContent/Materials/M_Glass.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b9f8dbc501536bcf1725e58187b15f24dd0ca7c47eecbd963d77ecb5226c8e +size 13502 diff --git a/Content/StarterContent/Materials/M_Ground_Grass.uasset b/Content/StarterContent/Materials/M_Ground_Grass.uasset new file mode 100644 index 0000000..d6b21bc --- /dev/null +++ b/Content/StarterContent/Materials/M_Ground_Grass.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d44f22d05be5c7aa2286979bddd4c98ef7f22a5950ce101f673a03d85eb4e8cd +size 38110 diff --git a/Content/StarterContent/Materials/M_Ground_Gravel.uasset b/Content/StarterContent/Materials/M_Ground_Gravel.uasset new file mode 100644 index 0000000..3384221 --- /dev/null +++ b/Content/StarterContent/Materials/M_Ground_Gravel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07b4f6e7eb26e5e474181b534461bd2e06bb4837d3ce943d6d180a6bef018d24 +size 31861 diff --git a/Content/StarterContent/Materials/M_Ground_Moss.uasset b/Content/StarterContent/Materials/M_Ground_Moss.uasset new file mode 100644 index 0000000..8039767 --- /dev/null +++ b/Content/StarterContent/Materials/M_Ground_Moss.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08be31e96cd9ab8983dd2330353bff3a48835d41f331e912515b5071e93d4caa +size 37696 diff --git a/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset b/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset new file mode 100644 index 0000000..919edd6 --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ef7f067abc9a0d9e9d5093b8bd777bf549453c1ef50b2e89935a21d89ba08e3 +size 17036 diff --git a/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset b/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset new file mode 100644 index 0000000..c51d39d --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffe4c1b8afb6b84a011fa000d874b78bc4e78ec66d3bf00b20a279c6ca37967e +size 22803 diff --git a/Content/StarterContent/Materials/M_Metal_Chrome.uasset b/Content/StarterContent/Materials/M_Metal_Chrome.uasset new file mode 100644 index 0000000..beb7abe --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Chrome.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f6e1363960ae18a6406f76bf39787d453d5a705f012726c5d0a20ef38c84bd0 +size 17008 diff --git a/Content/StarterContent/Materials/M_Metal_Copper.uasset b/Content/StarterContent/Materials/M_Metal_Copper.uasset new file mode 100644 index 0000000..661bef6 --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Copper.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d0bc6b599b4a0744bd6f3f388983cef577239546b956d1e0e0e1395061ae0ad +size 21999 diff --git a/Content/StarterContent/Materials/M_Metal_Gold.uasset b/Content/StarterContent/Materials/M_Metal_Gold.uasset new file mode 100644 index 0000000..5c96059 --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Gold.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a616be2be9912db10fc0a1263fc0468ab2b4d520e69a3f4e10d82de84f390825 +size 22232 diff --git a/Content/StarterContent/Materials/M_Metal_Rust.uasset b/Content/StarterContent/Materials/M_Metal_Rust.uasset new file mode 100644 index 0000000..74afde3 --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Rust.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da8fcb44b3ba9b64dff8fb7da2b48201ffcebf4fd4b3fd84d16d45c0fb705a87 +size 24149 diff --git a/Content/StarterContent/Materials/M_Metal_Steel.uasset b/Content/StarterContent/Materials/M_Metal_Steel.uasset new file mode 100644 index 0000000..7b19500 --- /dev/null +++ b/Content/StarterContent/Materials/M_Metal_Steel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1c84656ac5d9301a55b7c48fe1c6607bdaf57db1f3f3a2f90a13965e3e8e88e +size 23634 diff --git a/Content/StarterContent/Materials/M_Rock_Basalt.uasset b/Content/StarterContent/Materials/M_Rock_Basalt.uasset new file mode 100644 index 0000000..48e574d --- /dev/null +++ b/Content/StarterContent/Materials/M_Rock_Basalt.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2356c40885bc0674e975505f07ab8a01f43e98ec099667bbd67d58c1cabfc6a9 +size 40498 diff --git a/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset b/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset new file mode 100644 index 0000000..63bbea1 --- /dev/null +++ b/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f09428e5aacb9b2ba948c0845b765315e776cee4c6d00872fd99725896efd46 +size 34113 diff --git a/Content/StarterContent/Materials/M_Rock_Sandstone.uasset b/Content/StarterContent/Materials/M_Rock_Sandstone.uasset new file mode 100644 index 0000000..f19b524 --- /dev/null +++ b/Content/StarterContent/Materials/M_Rock_Sandstone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3206845341fd89bf1e51a23599d504eea53ea289f6e066df32def3a603095bb3 +size 36603 diff --git a/Content/StarterContent/Materials/M_Rock_Slate.uasset b/Content/StarterContent/Materials/M_Rock_Slate.uasset new file mode 100644 index 0000000..28b5225 --- /dev/null +++ b/Content/StarterContent/Materials/M_Rock_Slate.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4e74dd3dc691ecf669006b8084181297040396881a33090f12f6ee81db44035 +size 38163 diff --git a/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset b/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset new file mode 100644 index 0000000..03651bf --- /dev/null +++ b/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff1183cab4442a5fa1c47d55c734edf08a77ca34fd786f1f96aebf9b51a3f941 +size 26338 diff --git a/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset b/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset new file mode 100644 index 0000000..a5204a6 --- /dev/null +++ b/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:620426859edd8dbbbfac831c7f1dcd6a5038ebf6df527aec80883a4758c273d0 +size 27325 diff --git a/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset b/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset new file mode 100644 index 0000000..8757f2d --- /dev/null +++ b/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27a5b0fab4f9af5c6a0aa9950f44068194d41176e15142833e2cc994d2b48ebb +size 25902 diff --git a/Content/StarterContent/Materials/M_Tech_Panel.uasset b/Content/StarterContent/Materials/M_Tech_Panel.uasset new file mode 100644 index 0000000..e3d57d6 --- /dev/null +++ b/Content/StarterContent/Materials/M_Tech_Panel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:479286a2b64dc7d6fecd43f82f2819657ced6d938061f77503946582a01d3300 +size 25957 diff --git a/Content/StarterContent/Materials/M_Water_Lake.uasset b/Content/StarterContent/Materials/M_Water_Lake.uasset new file mode 100644 index 0000000..662a11e --- /dev/null +++ b/Content/StarterContent/Materials/M_Water_Lake.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e6c50e3714db9a3e64abfdee4294ded227aea1629dc3167b08c171996bef45 +size 32687 diff --git a/Content/StarterContent/Materials/M_Water_Ocean.uasset b/Content/StarterContent/Materials/M_Water_Ocean.uasset new file mode 100644 index 0000000..1d82bcf --- /dev/null +++ b/Content/StarterContent/Materials/M_Water_Ocean.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a95baf816b67cfb63343cb7c80c89308619f03a7c2dd48a0f5b20b7cc9212166 +size 35894 diff --git a/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset new file mode 100644 index 0000000..9850ec3 --- /dev/null +++ b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dcb981b3f68f6d9594003af8cbd2b5449ceaf116399230e46781ea45dd02a2b +size 22926 diff --git a/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset new file mode 100644 index 0000000..93e56c5 --- /dev/null +++ b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c8cf6b2fa1a56a04df5d66950e31f154d7bf615c0c4e4c6f6a867bdff52c750 +size 23528 diff --git a/Content/StarterContent/Materials/M_Wood_Oak.uasset b/Content/StarterContent/Materials/M_Wood_Oak.uasset new file mode 100644 index 0000000..de1747e --- /dev/null +++ b/Content/StarterContent/Materials/M_Wood_Oak.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad76cd1109c8b4a3594e23dd83351170764980c3ccfe57859a3a2f60fef5cdd +size 23499 diff --git a/Content/StarterContent/Materials/M_Wood_Pine.uasset b/Content/StarterContent/Materials/M_Wood_Pine.uasset new file mode 100644 index 0000000..eafee70 --- /dev/null +++ b/Content/StarterContent/Materials/M_Wood_Pine.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b12c6d7285dd95b1c5669e07fc665f8859a17ee78c51f139170726848c06ee67 +size 31142 diff --git a/Content/StarterContent/Materials/M_Wood_Walnut.uasset b/Content/StarterContent/Materials/M_Wood_Walnut.uasset new file mode 100644 index 0000000..2e92619 --- /dev/null +++ b/Content/StarterContent/Materials/M_Wood_Walnut.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8491e0b8978a41999e0f4fc6520cab088fcbe6ddf8b51655f34753aa45234c66 +size 20495 diff --git a/Content/StarterContent/Particles/Materials/M_Burst.uasset b/Content/StarterContent/Particles/Materials/M_Burst.uasset new file mode 100644 index 0000000..8b6ae42 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Burst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19bf8a8995e63597472be08617fc5c11494c214561d92ba58cc866bbd3fc9258 +size 15675 diff --git a/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset b/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset new file mode 100644 index 0000000..6a1195e --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e054c7225139c4ed10e8695158b930b64c97deabca1f3c8160b382d40b082e94 +size 8718 diff --git a/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset b/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset new file mode 100644 index 0000000..20bce43 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c354f936265a8af7e8be784f38742943669fd17f128d163339565680962b31f +size 19541 diff --git a/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset b/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset new file mode 100644 index 0000000..ffb5899 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90e749c0af988f6f35a783853dd5f29a2556a1c6844187c6faa7175f8beac337 +size 13877 diff --git a/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset b/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset new file mode 100644 index 0000000..96f3272 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:969f0add70f571adb7e14da5ca542a15955166103efd54168a5e248826564781 +size 10357 diff --git a/Content/StarterContent/Particles/Materials/M_Spark.uasset b/Content/StarterContent/Particles/Materials/M_Spark.uasset new file mode 100644 index 0000000..1754977 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_Spark.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4d87a9647f2c232d84745d5c6379f3ad1d6dd2f11310af74f48c20c981d2cd5 +size 9786 diff --git a/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset b/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset new file mode 100644 index 0000000..a09186a --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137d164ab8e2ae79e3345d7ee75e4052857726c824617cf08276a9edeebf0e95 +size 12568 diff --git a/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset b/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset new file mode 100644 index 0000000..bc957b9 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:880794e3875c4394f93e280b35524a677e72a5a1edb06b03c8a0ae9efc2b51a6 +size 10366 diff --git a/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset b/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset new file mode 100644 index 0000000..29506ef --- /dev/null +++ b/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dbf2d29f4c50de40b74aef19e9a39a86891b9b617f971ea0136f90a6e4420ec +size 16561 diff --git a/Content/StarterContent/Particles/Materials/m_flare_01.uasset b/Content/StarterContent/Particles/Materials/m_flare_01.uasset new file mode 100644 index 0000000..4b49de3 --- /dev/null +++ b/Content/StarterContent/Particles/Materials/m_flare_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57377e5d237609372f0837407d7c9f35a5ba00bf81aa049102d699105af8a025 +size 14010 diff --git a/Content/StarterContent/Particles/P_Ambient_Dust.uasset b/Content/StarterContent/Particles/P_Ambient_Dust.uasset new file mode 100644 index 0000000..1d1385f --- /dev/null +++ b/Content/StarterContent/Particles/P_Ambient_Dust.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4b36b3133cf12a94a9e1a48d706b6a3c0be42f28a0d2d12b55d5f5d62dbe36a +size 52829 diff --git a/Content/StarterContent/Particles/P_Explosion.uasset b/Content/StarterContent/Particles/P_Explosion.uasset new file mode 100644 index 0000000..d3796ba --- /dev/null +++ b/Content/StarterContent/Particles/P_Explosion.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f21bbb2c9d69226415dd25268ce3c3f74af71981018c537d0080ec7df5d32309 +size 280221 diff --git a/Content/StarterContent/Particles/P_Fire.uasset b/Content/StarterContent/Particles/P_Fire.uasset new file mode 100644 index 0000000..38533cc --- /dev/null +++ b/Content/StarterContent/Particles/P_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2d1cb2ba9933d298c62788996e50a3015632eff8908f08ec28d85fe116cc073 +size 259431 diff --git a/Content/StarterContent/Particles/P_Smoke.uasset b/Content/StarterContent/Particles/P_Smoke.uasset new file mode 100644 index 0000000..b1b00f9 --- /dev/null +++ b/Content/StarterContent/Particles/P_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e66c5b6ed61896f44a837c0c88ac7cdd6ed16e7bdc9e0ded78e0742e83c4d60e +size 65670 diff --git a/Content/StarterContent/Particles/P_Sparks.uasset b/Content/StarterContent/Particles/P_Sparks.uasset new file mode 100644 index 0000000..061ebce --- /dev/null +++ b/Content/StarterContent/Particles/P_Sparks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ae32a7cc9882bcb982df7db98dac68bbe0db2bf08c40f49fcd85c8e1407d415 +size 171805 diff --git a/Content/StarterContent/Particles/P_Steam_Lit.uasset b/Content/StarterContent/Particles/P_Steam_Lit.uasset new file mode 100644 index 0000000..7f3b1e0 --- /dev/null +++ b/Content/StarterContent/Particles/P_Steam_Lit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:018c1d52865cea019dd1607b284acc89e0363c2e832d16e0d3f9e1164d337494 +size 117332 diff --git a/Content/StarterContent/Props/MaterialSphere.uasset b/Content/StarterContent/Props/MaterialSphere.uasset new file mode 100644 index 0000000..56bddfc --- /dev/null +++ b/Content/StarterContent/Props/MaterialSphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a8777c01491888bba9f40eda9d2bed76a611f0e80f75917501ce69c1a321342 +size 47333 diff --git a/Content/StarterContent/Props/Materials/M_Bush.uasset b/Content/StarterContent/Props/Materials/M_Bush.uasset new file mode 100644 index 0000000..152e540 --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Bush.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85a4a6e7aa928fa57dd41b42f64a267793a41a01d17a5789eafe2ccf0d27ba20 +size 16429 diff --git a/Content/StarterContent/Props/Materials/M_Chair.uasset b/Content/StarterContent/Props/Materials/M_Chair.uasset new file mode 100644 index 0000000..800b7f8 --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Chair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a7f31c580095e67771be87cdadc420847f26d71118fb75d31e5946a8366253d +size 17834 diff --git a/Content/StarterContent/Props/Materials/M_Door.uasset b/Content/StarterContent/Props/Materials/M_Door.uasset new file mode 100644 index 0000000..270fab8 --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Door.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5f9b85b032dd4c49bbfec94ad295ed70c530f2d193c0b7c02fdcc597536f772 +size 21015 diff --git a/Content/StarterContent/Props/Materials/M_Frame.uasset b/Content/StarterContent/Props/Materials/M_Frame.uasset new file mode 100644 index 0000000..2a6f32f --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Frame.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2790b944cee372200c299d4fad42fe31bf16a54233aa26700ef5be8a109f4e8 +size 13268 diff --git a/Content/StarterContent/Props/Materials/M_Lamp.uasset b/Content/StarterContent/Props/Materials/M_Lamp.uasset new file mode 100644 index 0000000..f1eeabe --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Lamp.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d37cb1a4137fa7ee0b3782d5d0f4c4968d2982d3d37a79d4d124bfc9d5a644c6 +size 21945 diff --git a/Content/StarterContent/Props/Materials/M_Rock.uasset b/Content/StarterContent/Props/Materials/M_Rock.uasset new file mode 100644 index 0000000..f76ba83 --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Rock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a2a237cfc23c8d44bb96b71cca8fe3f2da4bcf37bf03c4890cb1788e2ea3dd3 +size 22583 diff --git a/Content/StarterContent/Props/Materials/M_Shelf.uasset b/Content/StarterContent/Props/Materials/M_Shelf.uasset new file mode 100644 index 0000000..11fbc3b --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Shelf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3a633e42f4a149f8846cda390b26211dc51bc1dbff29f17269679ef6fb15708 +size 14571 diff --git a/Content/StarterContent/Props/Materials/M_Statue.uasset b/Content/StarterContent/Props/Materials/M_Statue.uasset new file mode 100644 index 0000000..b93e6f5 --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_Statue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19507688a5451c6958f24e9ef4aaf9617dd2523306925e6b4240540e906c5cbf +size 16585 diff --git a/Content/StarterContent/Props/Materials/M_StatueGlass.uasset b/Content/StarterContent/Props/Materials/M_StatueGlass.uasset new file mode 100644 index 0000000..a4a342e --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_StatueGlass.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e8269b7fc68d891c81f7600452dc8336cc193c2013d5441a9772c85d0b4eece +size 19243 diff --git a/Content/StarterContent/Props/Materials/M_TableRound.uasset b/Content/StarterContent/Props/Materials/M_TableRound.uasset new file mode 100644 index 0000000..572996b --- /dev/null +++ b/Content/StarterContent/Props/Materials/M_TableRound.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80511b0e6fb4265c716167e0032c7a4578881f93084caa6647f5c299ba199e36 +size 16288 diff --git a/Content/StarterContent/Props/SM_Bush.uasset b/Content/StarterContent/Props/SM_Bush.uasset new file mode 100644 index 0000000..883ca53 --- /dev/null +++ b/Content/StarterContent/Props/SM_Bush.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d590cc11d0237d03c8eaef929c412e9bf79b92532b8b84de91d0aa95cd82f34 +size 66229 diff --git a/Content/StarterContent/Props/SM_Chair.uasset b/Content/StarterContent/Props/SM_Chair.uasset new file mode 100644 index 0000000..4e6aa98 --- /dev/null +++ b/Content/StarterContent/Props/SM_Chair.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6330daf603205c63a66ae7ccba450a28edf5c7001cc572c407e6bc471cc1582 +size 99160 diff --git a/Content/StarterContent/Props/SM_CornerFrame.uasset b/Content/StarterContent/Props/SM_CornerFrame.uasset new file mode 100644 index 0000000..8cb6f39 --- /dev/null +++ b/Content/StarterContent/Props/SM_CornerFrame.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0f3c6f7d31d9adcb610643bce0424dc087e3319e725367af568779d4deab5a1 +size 38228 diff --git a/Content/StarterContent/Props/SM_Couch.uasset b/Content/StarterContent/Props/SM_Couch.uasset new file mode 100644 index 0000000..f2ac558 --- /dev/null +++ b/Content/StarterContent/Props/SM_Couch.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c5d0dc6306a79e974b23102451801c80cd3108d9a6fca175e5084d6488c74c9 +size 108540 diff --git a/Content/StarterContent/Props/SM_Door.uasset b/Content/StarterContent/Props/SM_Door.uasset new file mode 100644 index 0000000..9495967 --- /dev/null +++ b/Content/StarterContent/Props/SM_Door.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b72cc7534989fca4045a1d2ef743d929d8c001ac4450d2027c30d18b38628348 +size 63947 diff --git a/Content/StarterContent/Props/SM_DoorFrame.uasset b/Content/StarterContent/Props/SM_DoorFrame.uasset new file mode 100644 index 0000000..33b635c --- /dev/null +++ b/Content/StarterContent/Props/SM_DoorFrame.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44589f94b37599863cbac38e4dec7c4717fed858a7af56958bc7f20bbd59b035 +size 23125 diff --git a/Content/StarterContent/Props/SM_GlassWindow.uasset b/Content/StarterContent/Props/SM_GlassWindow.uasset new file mode 100644 index 0000000..5d56628 --- /dev/null +++ b/Content/StarterContent/Props/SM_GlassWindow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:006ac3da047529479d0af8768be4d9bc85f81f0f88d48a8a952eebde69b4b10f +size 36547 diff --git a/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset b/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset new file mode 100644 index 0000000..e4d57ce --- /dev/null +++ b/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c2bddbd1708467c5e926d34497d42a8c777b679310ceadbaba8040b88e02382 +size 113036 diff --git a/Content/StarterContent/Props/SM_Lamp_Wall.uasset b/Content/StarterContent/Props/SM_Lamp_Wall.uasset new file mode 100644 index 0000000..e200d4b --- /dev/null +++ b/Content/StarterContent/Props/SM_Lamp_Wall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b9716ccfb79da747e76090223e4767c7df90a95f8c9e742335477d577a8342d +size 60277 diff --git a/Content/StarterContent/Props/SM_PillarFrame.uasset b/Content/StarterContent/Props/SM_PillarFrame.uasset new file mode 100644 index 0000000..d627cac --- /dev/null +++ b/Content/StarterContent/Props/SM_PillarFrame.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c321f6bc2d7980ffc49a68d59d06e890154323aafc9b51828a08c02d18c03b7b +size 43484 diff --git a/Content/StarterContent/Props/SM_PillarFrame300.uasset b/Content/StarterContent/Props/SM_PillarFrame300.uasset new file mode 100644 index 0000000..1e6e260 --- /dev/null +++ b/Content/StarterContent/Props/SM_PillarFrame300.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbd6ff279f4666fca756ce3247fab616c6476871639bfd6f54039e24e90c2f4a +size 44444 diff --git a/Content/StarterContent/Props/SM_Rock.uasset b/Content/StarterContent/Props/SM_Rock.uasset new file mode 100644 index 0000000..5d81020 --- /dev/null +++ b/Content/StarterContent/Props/SM_Rock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b469ad02dfe591fc1024c356598344afeb9c2c10c0dfce44f86057b76b39cce5 +size 71152 diff --git a/Content/StarterContent/Props/SM_Shelf.uasset b/Content/StarterContent/Props/SM_Shelf.uasset new file mode 100644 index 0000000..06533ac --- /dev/null +++ b/Content/StarterContent/Props/SM_Shelf.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31f0effa39ebff7ff69958023b6462cf5541d619b924f932701163b2fb306a6e +size 46806 diff --git a/Content/StarterContent/Props/SM_Stairs.uasset b/Content/StarterContent/Props/SM_Stairs.uasset new file mode 100644 index 0000000..271ce20 --- /dev/null +++ b/Content/StarterContent/Props/SM_Stairs.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edbf2ae1f1df84510fdd2cb6fd6fdd0e3572bc7cedef8c316618a147e9ebcfc3 +size 27358 diff --git a/Content/StarterContent/Props/SM_Statue.uasset b/Content/StarterContent/Props/SM_Statue.uasset new file mode 100644 index 0000000..f16fd8b --- /dev/null +++ b/Content/StarterContent/Props/SM_Statue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91f1f18aa4bf9483b857271161824a212acf76615e825b80d42ff623ae39b2fc +size 191942 diff --git a/Content/StarterContent/Props/SM_TableRound.uasset b/Content/StarterContent/Props/SM_TableRound.uasset new file mode 100644 index 0000000..f90ae6e --- /dev/null +++ b/Content/StarterContent/Props/SM_TableRound.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff5d2b89bc0361b3b401d747fe0a365642db5a361f7940620791c73a9d2d1515 +size 242868 diff --git a/Content/StarterContent/Props/SM_WindowFrame.uasset b/Content/StarterContent/Props/SM_WindowFrame.uasset new file mode 100644 index 0000000..ca23fab --- /dev/null +++ b/Content/StarterContent/Props/SM_WindowFrame.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0339ea48549fc000cd25679a2aa17bb34333b161c3d05ffa58ca33179f21d7a3 +size 25448 diff --git a/Content/StarterContent/Shapes/Shape_Cone.uasset b/Content/StarterContent/Shapes/Shape_Cone.uasset new file mode 100644 index 0000000..6cd3c0a --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Cone.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4358682c6f6bff5ae3dd11bf13f31155b5aa74774647ffa4029f979e3bfc659 +size 27018 diff --git a/Content/StarterContent/Shapes/Shape_Cube.uasset b/Content/StarterContent/Shapes/Shape_Cube.uasset new file mode 100644 index 0000000..29e694f --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Cube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18e5e66d74e5bfeff80dd0cd93dee475ab35d0cc384262ab640109a3dd188dac +size 16145 diff --git a/Content/StarterContent/Shapes/Shape_Cylinder.uasset b/Content/StarterContent/Shapes/Shape_Cylinder.uasset new file mode 100644 index 0000000..c814b02 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Cylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8846205c866a82d9abfeb84b35d1f82e4e71e72df65337ea2e738455c4902f19 +size 31341 diff --git a/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset b/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset new file mode 100644 index 0000000..fda653e --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59bbaddb435bd43505fb8b6051b119e844e6d575185f177411837700609deead +size 47855 diff --git a/Content/StarterContent/Shapes/Shape_Pipe.uasset b/Content/StarterContent/Shapes/Shape_Pipe.uasset new file mode 100644 index 0000000..883aa14 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Pipe.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4a531ca154269866bb4a23b25e455de9215eea38d8afe5bfb2cc801f88a54be +size 26253 diff --git a/Content/StarterContent/Shapes/Shape_Pipe_180.uasset b/Content/StarterContent/Shapes/Shape_Pipe_180.uasset new file mode 100644 index 0000000..ea19046 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Pipe_180.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ed0652b8fed0405700dd6635ebb6d52902d4c3444bec19c3404ef3124a71d6c +size 85759 diff --git a/Content/StarterContent/Shapes/Shape_Pipe_90.uasset b/Content/StarterContent/Shapes/Shape_Pipe_90.uasset new file mode 100644 index 0000000..511b037 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Pipe_90.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36a4e17228e6f85fe4600a88ea6bb2939737671a8cba62e45c0a285e8b60a185 +size 59989 diff --git a/Content/StarterContent/Shapes/Shape_Plane.uasset b/Content/StarterContent/Shapes/Shape_Plane.uasset new file mode 100644 index 0000000..c37e7c4 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Plane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc27b5ffb949957289c59122b26b55464ac2cab8013dfa8d9b01cc6ef1781935 +size 16473 diff --git a/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset b/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset new file mode 100644 index 0000000..10464e5 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2b5549375a2425fba0127c8f2efc85d400a781009c7124a99ca2b9b214ebfd0 +size 16296 diff --git a/Content/StarterContent/Shapes/Shape_Sphere.uasset b/Content/StarterContent/Shapes/Shape_Sphere.uasset new file mode 100644 index 0000000..1801574 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Sphere.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9441fb1037a41686be1ccc4f8e45a25f4f7126a16e831ff4b587820d48059543 +size 37887 diff --git a/Content/StarterContent/Shapes/Shape_Torus.uasset b/Content/StarterContent/Shapes/Shape_Torus.uasset new file mode 100644 index 0000000..651f88a --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Torus.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9842e266d0bbeca032e107bdb4b809cbb0f043b12527fdad3dc690b43de5d95f +size 70998 diff --git a/Content/StarterContent/Shapes/Shape_TriPyramid.uasset b/Content/StarterContent/Shapes/Shape_TriPyramid.uasset new file mode 100644 index 0000000..9b4b0b8 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_TriPyramid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29481245fedbf1fbf6d37a7b49f064119fa9b61b8cde0f8a71634f3695fde42a +size 16154 diff --git a/Content/StarterContent/Shapes/Shape_Trim.uasset b/Content/StarterContent/Shapes/Shape_Trim.uasset new file mode 100644 index 0000000..21b93aa --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Trim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9ae1dad00a411a316ada5f41d16fe0491a299a4981e010fbc0a33d4fdc2bd8 +size 20918 diff --git a/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset b/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset new file mode 100644 index 0000000..8bc7d55 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98f0162abad4d75bb1794e7a1f11cac718637459a7d0d0600a63abe652ddcb16 +size 30650 diff --git a/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset b/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset new file mode 100644 index 0000000..3742d00 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd2e1073a23e135dce25c377ee94ef017f0626cadb665bcd762757dc59fa47fc +size 31102 diff --git a/Content/StarterContent/Shapes/Shape_Tube.uasset b/Content/StarterContent/Shapes/Shape_Tube.uasset new file mode 100644 index 0000000..e124cb8 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Tube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec9fc112a4fb0eea12c8d6d6a08e869ecf0401fa1c903b35cb956615060c839 +size 41303 diff --git a/Content/StarterContent/Shapes/Shape_Wedge_A.uasset b/Content/StarterContent/Shapes/Shape_Wedge_A.uasset new file mode 100644 index 0000000..e729d86 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Wedge_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78daa6706b75d7cdb8d0b20bfced79f634ad87f017496b8edb077ff9b71ceb81 +size 16633 diff --git a/Content/StarterContent/Shapes/Shape_Wedge_B.uasset b/Content/StarterContent/Shapes/Shape_Wedge_B.uasset new file mode 100644 index 0000000..63b5e93 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_Wedge_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1df8e160b090074b21098ea608b8191482368c23683ae4f599331105285188 +size 16760 diff --git a/Content/StarterContent/Shapes/Shape_WideCapsule.uasset b/Content/StarterContent/Shapes/Shape_WideCapsule.uasset new file mode 100644 index 0000000..ba744a9 --- /dev/null +++ b/Content/StarterContent/Shapes/Shape_WideCapsule.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11308fae1e1d7835780372aada5fb86c8eae88bc8b757af7f7e4a082e0c5b5b6 +size 42421 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset new file mode 100644 index 0000000..51d2802 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7fd6c18ebbb8d8b97f5fcfa6fa33a7409ae841f1bbb3350c09631718ac9a886 +size 7591336 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset new file mode 100644 index 0000000..71ff220 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:337b0f23251965e1b3ae95e1e5defa1be387ed9fa12f7e8b27929897ccd6f8d7 +size 8291521 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset new file mode 100644 index 0000000..452fd92 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0da0eb1e0c83fcb8b65fa8310e7bfc4dd31be7087d42545091129d7fa8baa7c +size 7530431 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset new file mode 100644 index 0000000..27ecdf9 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d49f52bd21c9400139010b6918a2b8bff1c12aba2b2040be66394aeaa3db8cd4 +size 5993577 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset new file mode 100644 index 0000000..465c25d --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6ee66163a117e18a55e3014fb188c5295618d17b68a2db98b6fcfefed2f0704 +size 9129111 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset new file mode 100644 index 0000000..29fcc08 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75dfb02a6aa4aba8ab593d5c428dd91b2c4ce6b130737ca027df872a9c7644cb +size 7801784 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset new file mode 100644 index 0000000..0309878 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5833d1ff5e20eae43c8fe2e6f043dd494fcae47d295bb7d480f1c9dff6e44acc +size 11372796 diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset new file mode 100644 index 0000000..fbac302 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e35cc57e8471e856d725d2df968a4ca4dbe8404979136dfe30ba8502f329d851 +size 7761834 diff --git a/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset b/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset new file mode 100644 index 0000000..3f92d6c --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:680c9eb5f07808e05325b17354618628d1d156b5e00a9d041729a9a157d5e1fc +size 13302492 diff --git a/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset b/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset new file mode 100644 index 0000000..08d46f1 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053fd7df91ed5f90629c24833503f42d688d7e1d7072f6c9cfcaaa505e314307 +size 6646267 diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset new file mode 100644 index 0000000..1d9e119 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b41c37360bbd4100366f9f70337f0045b29bfc3a35eb7325e90d03fd8c184e1 +size 7376796 diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset new file mode 100644 index 0000000..f75a9bf --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69428e6a424a1a0524052e50b7266b73b89eb0b35a307d111b1e0b594f23d32b +size 6771724 diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset new file mode 100644 index 0000000..4595078 --- /dev/null +++ b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:724271213b0fced0a2fa2ae812f070fedd592add2a63ead98804471a9dbeaa95 +size 8948214 diff --git a/Content/StarterContent/Textures/T_Burst_M.uasset b/Content/StarterContent/Textures/T_Burst_M.uasset new file mode 100644 index 0000000..3acb768 --- /dev/null +++ b/Content/StarterContent/Textures/T_Burst_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90ac59f9d0d57613887da39523e07557689038fb455dd4e934ea98bf5199f382 +size 123288 diff --git a/Content/StarterContent/Textures/T_Bush_D.uasset b/Content/StarterContent/Textures/T_Bush_D.uasset new file mode 100644 index 0000000..8437d31 --- /dev/null +++ b/Content/StarterContent/Textures/T_Bush_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b938fcd6fa2f33f011994454e945c2029114e977a44b834df5e07e603586257 +size 481332 diff --git a/Content/StarterContent/Textures/T_Bush_N.uasset b/Content/StarterContent/Textures/T_Bush_N.uasset new file mode 100644 index 0000000..cd99430 --- /dev/null +++ b/Content/StarterContent/Textures/T_Bush_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44359d480f07e2ff25fc1dea4d65250737afa4d73395c882c4ec0d642ab0b8c3 +size 351932 diff --git a/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset b/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset new file mode 100644 index 0000000..f9bf48c --- /dev/null +++ b/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fa96b66150d87ec4a54bcccb5946a1421278a04f720272de945980e499d19b9 +size 275476 diff --git a/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset b/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset new file mode 100644 index 0000000..55f8e53 --- /dev/null +++ b/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9e9cb0ac4766d1b050edcbb7f6ec15a7354a10b8df13c1547121a2e45fd19fb +size 233782 diff --git a/Content/StarterContent/Textures/T_Chair_M.uasset b/Content/StarterContent/Textures/T_Chair_M.uasset new file mode 100644 index 0000000..ef6bedb --- /dev/null +++ b/Content/StarterContent/Textures/T_Chair_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6486c196f80542ef1dd9b058f0ca1de9a05be34f1cc13ef2d4e379726488c13e +size 539588 diff --git a/Content/StarterContent/Textures/T_Chair_N.uasset b/Content/StarterContent/Textures/T_Chair_N.uasset new file mode 100644 index 0000000..d6e200b --- /dev/null +++ b/Content/StarterContent/Textures/T_Chair_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62ca4539f06c12c4ffcfb2d3e3d059c8d9379ce6a7b9c388d8c3084b47516c90 +size 1922495 diff --git a/Content/StarterContent/Textures/T_Checker_Noise_M.uasset b/Content/StarterContent/Textures/T_Checker_Noise_M.uasset new file mode 100644 index 0000000..1694883 --- /dev/null +++ b/Content/StarterContent/Textures/T_Checker_Noise_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ad0bbce973bfb000760bc7e5d5af5c968970a2f4ff838b4997251d7322197e +size 134687 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset new file mode 100644 index 0000000..7ac1beb --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f6258c8fc41deaf078df6780ba05ca0d82eee09912233202ac160810703e52a +size 11730856 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset new file mode 100644 index 0000000..7439177 --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83f100e71981f39cda279f585ff6eaa4fe880d309d87f09fcef3bc55c37ff63c +size 1274336 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset new file mode 100644 index 0000000..c6866a7 --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aff439802109893e1c0af4cd492033b54d6ff20441d049c3f99bb0244ef5d0ea +size 11790577 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset new file mode 100644 index 0000000..d7725e3 --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a663f5677bff0dafcad922400335269de036b93cf483724247926a57ee5074 +size 2888502 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset new file mode 100644 index 0000000..07b0a3a --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e64b707962b97c42ac2cd37fe14013d87a07e48afe67b1495c24c59270c5914 +size 2617708 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset new file mode 100644 index 0000000..4108c83 --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a12473b1cd94e0c0d3702f1abd58f0423393304e72a0265c77ff3ad0993ee5 +size 6532491 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset new file mode 100644 index 0000000..1bb9638 --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adbd4fcd12e92334148416cebbee9938c5f89cde1e2e139f8f6e476172191206 +size 5705923 diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset new file mode 100644 index 0000000..c64132a --- /dev/null +++ b/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5af71f25f0d2b429a300808fc1836652cb1fce9795cca2f64a3ca2fde85fc2d +size 8796793 diff --git a/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset b/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset new file mode 100644 index 0000000..a7d3fab --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6798aac85a9a686c6a6c5fc956b6f76346eba6fc2200b4f4227e0ea9b0e98375 +size 10650746 diff --git a/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset b/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset new file mode 100644 index 0000000..83f39ed --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6cc1e1e3803791f92ed99c9807f6165063e2b0bf2075c3f4821437dd5246a38 +size 8441488 diff --git a/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset b/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset new file mode 100644 index 0000000..57687e0 --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a2d2573425bd7177b4dee1e91d1ff1ae03983db9b87685711582b73eb7ef9f1 +size 6547780 diff --git a/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset b/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset new file mode 100644 index 0000000..30faa70 --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38af0336aa522c5835aae766d54ce2596793164421b90a67d56098798e7c4219 +size 11585076 diff --git a/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset b/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset new file mode 100644 index 0000000..0360614 --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2855eccdb5ec7106250e1e38eb0f68789a140cd6c1a80325104e937e37d48681 +size 7435085 diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset new file mode 100644 index 0000000..4c74361 --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:356e28b941e40f27de4745ceb135a97c95313884695140f340853c7911ccf9fd +size 4929050 diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset new file mode 100644 index 0000000..29ddf1e --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d0a4ab623474c06c2787b76d25c66b32d8aa587cc9d99c7d2306b0f65b6a702 +size 5740835 diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset new file mode 100644 index 0000000..6f9f7dd --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d127d14c8bb438abc79b00417f3fa032baa55949f34c410d3fedd84d6919eec +size 6602390 diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset new file mode 100644 index 0000000..fac4da1 --- /dev/null +++ b/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f126bec6a6c1e52c3c26d9f57250487f641a89f1558d112b0dacb64c1eda97e +size 6521 diff --git a/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset b/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset new file mode 100644 index 0000000..5932182 --- /dev/null +++ b/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c677deccbe0ad92b089a28e63da2c50f5354861ff189fb465cbfb45b1fafcda6 +size 2798883 diff --git a/Content/StarterContent/Textures/T_Door_M.uasset b/Content/StarterContent/Textures/T_Door_M.uasset new file mode 100644 index 0000000..ccca748 --- /dev/null +++ b/Content/StarterContent/Textures/T_Door_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1816807e795ab36ad16b0fc6d2ceb8c94badae605ebf77000bab1bc1006ac08e +size 555613 diff --git a/Content/StarterContent/Textures/T_Door_N.uasset b/Content/StarterContent/Textures/T_Door_N.uasset new file mode 100644 index 0000000..4d63741 --- /dev/null +++ b/Content/StarterContent/Textures/T_Door_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c47b017bffcd8cd11f09d4a19b378c365e053d17ead804c39e3e0eb35dcc73a2 +size 1074435 diff --git a/Content/StarterContent/Textures/T_Dust_Particle_D.uasset b/Content/StarterContent/Textures/T_Dust_Particle_D.uasset new file mode 100644 index 0000000..7bf767b --- /dev/null +++ b/Content/StarterContent/Textures/T_Dust_Particle_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:172fa478144c2b0b4d20df5a10bea4a97641c686b9f49da05aea7b4669698806 +size 20548 diff --git a/Content/StarterContent/Textures/T_Explosion_SubUV.uasset b/Content/StarterContent/Textures/T_Explosion_SubUV.uasset new file mode 100644 index 0000000..3c022dc --- /dev/null +++ b/Content/StarterContent/Textures/T_Explosion_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54bd4308cd9195c1c4c177d9a57875bd73c73b5f27843421ce25f6d82c7be76b +size 2957540 diff --git a/Content/StarterContent/Textures/T_Fire_SubUV.uasset b/Content/StarterContent/Textures/T_Fire_SubUV.uasset new file mode 100644 index 0000000..98ea6ae --- /dev/null +++ b/Content/StarterContent/Textures/T_Fire_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1fc6355dce68750de251fdd42dfeaaca4514945bad3d6141da2937ae24e94f1 +size 495113 diff --git a/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset b/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset new file mode 100644 index 0000000..468da16 --- /dev/null +++ b/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:785975fbfa81ef0e0c94e97e2f941d5df7b74682e8cd0cb38f1764dd3db8be90 +size 500022 diff --git a/Content/StarterContent/Textures/T_Frame_M.uasset b/Content/StarterContent/Textures/T_Frame_M.uasset new file mode 100644 index 0000000..a42e91f --- /dev/null +++ b/Content/StarterContent/Textures/T_Frame_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d046c8b25245f637ea4e087f01b4d40a58a210678de303f67c07ee55abd476d5 +size 534405 diff --git a/Content/StarterContent/Textures/T_Frame_N.uasset b/Content/StarterContent/Textures/T_Frame_N.uasset new file mode 100644 index 0000000..a1e9af0 --- /dev/null +++ b/Content/StarterContent/Textures/T_Frame_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34f0830b05503a3ba496d56546a0140425f8e8ecaab371e8213492d4defd5c68 +size 1246201 diff --git a/Content/StarterContent/Textures/T_Gradinet_01.uasset b/Content/StarterContent/Textures/T_Gradinet_01.uasset new file mode 100644 index 0000000..c1b5485 --- /dev/null +++ b/Content/StarterContent/Textures/T_Gradinet_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9347fa6dd73d59f53fb39c454d19821a7a22e6879bb56018a3859777a497f870 +size 7415 diff --git a/Content/StarterContent/Textures/T_Ground_Grass_D.uasset b/Content/StarterContent/Textures/T_Ground_Grass_D.uasset new file mode 100644 index 0000000..b27e9cd --- /dev/null +++ b/Content/StarterContent/Textures/T_Ground_Grass_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47ba5414c8da7999dafb37e9c76bd0eceab97f394bea6f5c5adca5832adcd342 +size 11963236 diff --git a/Content/StarterContent/Textures/T_Ground_Grass_N.uasset b/Content/StarterContent/Textures/T_Ground_Grass_N.uasset new file mode 100644 index 0000000..40b4f8d --- /dev/null +++ b/Content/StarterContent/Textures/T_Ground_Grass_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19c42ca6b12658235c152998fceeb207b9a1119611ff1ef7f85cc4cc431d37f2 +size 11592596 diff --git a/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset b/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset new file mode 100644 index 0000000..7a5aa75 --- /dev/null +++ b/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adf23999b628f5ae55a1635ce63e09924f23df5822955e86b3e1f0bfc49704ba +size 10606442 diff --git a/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset b/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset new file mode 100644 index 0000000..31f6229 --- /dev/null +++ b/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94c35e1a2d16fa2fced8f966f061c08aa7a62c3ca41a5264e5e079eacc74e4c8 +size 7370852 diff --git a/Content/StarterContent/Textures/T_Ground_Moss_N.uasset b/Content/StarterContent/Textures/T_Ground_Moss_N.uasset new file mode 100644 index 0000000..14686fe --- /dev/null +++ b/Content/StarterContent/Textures/T_Ground_Moss_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18deaa6e9634beafecc3e2f7ccf16477bde02e2a3b488ecdccfe4ff3fc50dce1 +size 8341278 diff --git a/Content/StarterContent/Textures/T_Lamp_M.uasset b/Content/StarterContent/Textures/T_Lamp_M.uasset new file mode 100644 index 0000000..786ceb2 --- /dev/null +++ b/Content/StarterContent/Textures/T_Lamp_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4a3a2b018a4fd96b7e934dc3c73d055f6f182bf3c15798b5a1b188b631c4082 +size 753129 diff --git a/Content/StarterContent/Textures/T_Lamp_N.uasset b/Content/StarterContent/Textures/T_Lamp_N.uasset new file mode 100644 index 0000000..da95204 --- /dev/null +++ b/Content/StarterContent/Textures/T_Lamp_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61c55d75f215dae417ca438690e79f77badc612e2a5912a1abd7cb3368eb6fd2 +size 2059569 diff --git a/Content/StarterContent/Textures/T_MacroVariation.uasset b/Content/StarterContent/Textures/T_MacroVariation.uasset new file mode 100644 index 0000000..ec7086e --- /dev/null +++ b/Content/StarterContent/Textures/T_MacroVariation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeb1fb942acf8721eb4678223e160fd35668c507355fce4132f334c6284a7342 +size 10744761 diff --git a/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset b/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset new file mode 100644 index 0000000..3c11d7f --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a6f5743eecc990c80391163b7fd93629d338a3a3a7c4a646988bd4612edca9d +size 9683327 diff --git a/Content/StarterContent/Textures/T_Metal_Copper_D.uasset b/Content/StarterContent/Textures/T_Metal_Copper_D.uasset new file mode 100644 index 0000000..22358dd --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Copper_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f75f9fb29212ef71bc5ca3c710cf5d2cb5672697ed45f0c004d33a078ea9177 +size 8806136 diff --git a/Content/StarterContent/Textures/T_Metal_Gold_D.uasset b/Content/StarterContent/Textures/T_Metal_Gold_D.uasset new file mode 100644 index 0000000..881ff7a --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Gold_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bde39c57011fb1d814710d58cd475f2c6249ebeb68bbb2d2e13f2bd349ed9692 +size 8787638 diff --git a/Content/StarterContent/Textures/T_Metal_Gold_N.uasset b/Content/StarterContent/Textures/T_Metal_Gold_N.uasset new file mode 100644 index 0000000..6c7a61d --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Gold_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd6500c67b3f17aa699bb6cb4b3f2da4038845f45fe38ecc9abe49b26f1be3e6 +size 2811609 diff --git a/Content/StarterContent/Textures/T_Metal_Rust_D.uasset b/Content/StarterContent/Textures/T_Metal_Rust_D.uasset new file mode 100644 index 0000000..6e8b074 --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Rust_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97244d9d61bb141a499125f6a21c719caa4e0917e513912aa6b139440d0ac01d +size 9290171 diff --git a/Content/StarterContent/Textures/T_Metal_Rust_N.uasset b/Content/StarterContent/Textures/T_Metal_Rust_N.uasset new file mode 100644 index 0000000..c15a7f6 --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Rust_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c63fd1a729903d1c48486998561550a9cf461e3bf154477504c16fd6c19b9511 +size 7473783 diff --git a/Content/StarterContent/Textures/T_Metal_Steel_D.uasset b/Content/StarterContent/Textures/T_Metal_Steel_D.uasset new file mode 100644 index 0000000..985216b --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Steel_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:553beb8d69dc61963c6566d2f18db4787ebdc76c43796dacf627118ee1b47569 +size 3572066 diff --git a/Content/StarterContent/Textures/T_Metal_Steel_N.uasset b/Content/StarterContent/Textures/T_Metal_Steel_N.uasset new file mode 100644 index 0000000..675c5d3 --- /dev/null +++ b/Content/StarterContent/Textures/T_Metal_Steel_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf83e43c2a3c66c7222af7db215596de955cf09a7d9cd3d5bf645eba0078b9fd +size 4912078 diff --git a/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset b/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset new file mode 100644 index 0000000..fc9a1de --- /dev/null +++ b/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51d78b11e74d7da8b446d4552363ef0227a5b8a3812329740139e9f30002eac5 +size 7834324 diff --git a/Content/StarterContent/Textures/T_RockMesh_M.uasset b/Content/StarterContent/Textures/T_RockMesh_M.uasset new file mode 100644 index 0000000..1ef71b4 --- /dev/null +++ b/Content/StarterContent/Textures/T_RockMesh_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e349fe2778d117f94fbb047ea0ac19be770c895801a3fe7a814eaf9046881899 +size 2679820 diff --git a/Content/StarterContent/Textures/T_RockMesh_N.uasset b/Content/StarterContent/Textures/T_RockMesh_N.uasset new file mode 100644 index 0000000..0670981 --- /dev/null +++ b/Content/StarterContent/Textures/T_RockMesh_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01e5d9182e9a4010b5d3ad91968ca3db192d521d03b6cbffecb65897d39d7035 +size 5337671 diff --git a/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset b/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset new file mode 100644 index 0000000..1639282 --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7092b9f5b20d16e9058242ca91a4f7fb061f637f631f10cdddc7cd5674448efa +size 9299763 diff --git a/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset b/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset new file mode 100644 index 0000000..07c670c --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1802155501e6982e68fa04c43bea492740b28b30ec52266516a0d1aae4c44578 +size 7804770 diff --git a/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset b/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset new file mode 100644 index 0000000..550cd6f --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38e952a9d0f3696eb56521bf7e9ce525236da3bfb8d49d1d67b292a892568af1 +size 5288078 diff --git a/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset b/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset new file mode 100644 index 0000000..20b40e6 --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82cf5b1f377f0bf932854bbb5df7b4d1b0cee804180ea1dcdaba0184736bc3ea +size 9170780 diff --git a/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset b/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset new file mode 100644 index 0000000..fa37985 --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf856d55f538aa455cc834890d9f61cf90354d01e984cb78ea5e598509758322 +size 8366788 diff --git a/Content/StarterContent/Textures/T_Rock_Slate_D.uasset b/Content/StarterContent/Textures/T_Rock_Slate_D.uasset new file mode 100644 index 0000000..569360e --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Slate_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46947bc63546540839a3f3df00d9596142464dc35dc1e4abc5fb146cb8f19af1 +size 12264193 diff --git a/Content/StarterContent/Textures/T_Rock_Slate_N.uasset b/Content/StarterContent/Textures/T_Rock_Slate_N.uasset new file mode 100644 index 0000000..1708abb --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Slate_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31dee677b3e69a3be40bfaadae0398ed14ff1154060ce13ff09618b8ea7ae359 +size 9608113 diff --git a/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset b/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset new file mode 100644 index 0000000..6cc463f --- /dev/null +++ b/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77e684ee82a9a1dc5c97ad0308cfff19987d5090cf4cd152830d37f25f14763 +size 8782207 diff --git a/Content/StarterContent/Textures/T_Shelf_M.uasset b/Content/StarterContent/Textures/T_Shelf_M.uasset new file mode 100644 index 0000000..f5ad59f --- /dev/null +++ b/Content/StarterContent/Textures/T_Shelf_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c18efac4dcf4b88c5ecaac68e2d456b170d97ab7624e2a1fd7aadde8931c372a +size 645532 diff --git a/Content/StarterContent/Textures/T_Shelf_N.uasset b/Content/StarterContent/Textures/T_Shelf_N.uasset new file mode 100644 index 0000000..53322a3 --- /dev/null +++ b/Content/StarterContent/Textures/T_Shelf_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec277e89e0ccdae7a554698699c311a5e0ee9428f240b87def1a8779bfe60ea7 +size 1634736 diff --git a/Content/StarterContent/Textures/T_Single_Tile_N.uasset b/Content/StarterContent/Textures/T_Single_Tile_N.uasset new file mode 100644 index 0000000..a37ddbf --- /dev/null +++ b/Content/StarterContent/Textures/T_Single_Tile_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:570549d4aaa657171fbfd8031af38dfca19b313dcdc5d8b1318a65d04e6cbbb8 +size 9172 diff --git a/Content/StarterContent/Textures/T_Smoke_SubUV.uasset b/Content/StarterContent/Textures/T_Smoke_SubUV.uasset new file mode 100644 index 0000000..12c905f --- /dev/null +++ b/Content/StarterContent/Textures/T_Smoke_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f8c2a528a4d367921b6108d95f79766e6d8bad57868a4546b70dbacec6065de +size 2588122 diff --git a/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset b/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset new file mode 100644 index 0000000..9d6f986 --- /dev/null +++ b/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dda54aea84888edb638319ae3fa00fbc334759bce3683680ff62daa61fa90d10 +size 56487 diff --git a/Content/StarterContent/Textures/T_Spark_Core.uasset b/Content/StarterContent/Textures/T_Spark_Core.uasset new file mode 100644 index 0000000..614a8b6 --- /dev/null +++ b/Content/StarterContent/Textures/T_Spark_Core.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e994095844eafd889151bd94672120f0989644a45956d4f613aa3f4810d293b +size 136231 diff --git a/Content/StarterContent/Textures/T_Statue_M.uasset b/Content/StarterContent/Textures/T_Statue_M.uasset new file mode 100644 index 0000000..f6cd4bd --- /dev/null +++ b/Content/StarterContent/Textures/T_Statue_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:416b08a867057d7a19496f8dcad72b10db6b23d70aa36fd693c60cbc6d6349ed +size 542689 diff --git a/Content/StarterContent/Textures/T_Statue_N.uasset b/Content/StarterContent/Textures/T_Statue_N.uasset new file mode 100644 index 0000000..e55a7c3 --- /dev/null +++ b/Content/StarterContent/Textures/T_Statue_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8810fd046b77a99192742daaa0f15dbf023327ffdcec86e66dce2b83dbf21a56 +size 504347 diff --git a/Content/StarterContent/Textures/T_TableRound_M.uasset b/Content/StarterContent/Textures/T_TableRound_M.uasset new file mode 100644 index 0000000..734aadc --- /dev/null +++ b/Content/StarterContent/Textures/T_TableRound_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d336121b0c08daa46e37300cafce3fa195a298b0dba7fedcc5bd4bd31aa90b +size 853624 diff --git a/Content/StarterContent/Textures/T_TableRound_N.uasset b/Content/StarterContent/Textures/T_TableRound_N.uasset new file mode 100644 index 0000000..cb4c719 --- /dev/null +++ b/Content/StarterContent/Textures/T_TableRound_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65470b69a6797b1520b26492f43f6a5cb75dc4e424bd2850454f00a8350dc983 +size 1539628 diff --git a/Content/StarterContent/Textures/T_Tech_Dot_M.uasset b/Content/StarterContent/Textures/T_Tech_Dot_M.uasset new file mode 100644 index 0000000..7c72269 --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Dot_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7b1ba3deb1cceb2f6ff0808262c5abdd74c8b9022dda4e51da8542559537034 +size 87410 diff --git a/Content/StarterContent/Textures/T_Tech_Dot_N.uasset b/Content/StarterContent/Textures/T_Tech_Dot_N.uasset new file mode 100644 index 0000000..5195758 --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Dot_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc3ad34c61120aea1112a6846856b3596655df3371168c831ec69475ce424a13 +size 179482 diff --git a/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset b/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset new file mode 100644 index 0000000..a59e13a --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:454e8b9be045075a1aad36d9177e6a7d1da3e74966661cc8511a66e43c0ff0c4 +size 762987 diff --git a/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset b/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset new file mode 100644 index 0000000..4fb62e1 --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:544320ffc2d7f4ea90f0226c1be6cb1f4baf455bc335a3a0ad1ff4b2354747d0 +size 463065 diff --git a/Content/StarterContent/Textures/T_Tech_Panel_M.uasset b/Content/StarterContent/Textures/T_Tech_Panel_M.uasset new file mode 100644 index 0000000..2a4b188 --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Panel_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21648f92e4001e53537be3b6cd310afc382d41c8b033a6aeb5bf83d5d9a7690e +size 949083 diff --git a/Content/StarterContent/Textures/T_Tech_Panel_N.uasset b/Content/StarterContent/Textures/T_Tech_Panel_N.uasset new file mode 100644 index 0000000..0336dff --- /dev/null +++ b/Content/StarterContent/Textures/T_Tech_Panel_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d021b18adec23ed357d0a8f29c958c1245ec7b21226c856195cca6f9f2143a39 +size 1857006 diff --git a/Content/StarterContent/Textures/T_Water_M.uasset b/Content/StarterContent/Textures/T_Water_M.uasset new file mode 100644 index 0000000..a97725c --- /dev/null +++ b/Content/StarterContent/Textures/T_Water_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:990a6e33285d33e53cb6956f1a7a30360c66477f9737ece4721aad36e07584cc +size 1651409 diff --git a/Content/StarterContent/Textures/T_Water_N.uasset b/Content/StarterContent/Textures/T_Water_N.uasset new file mode 100644 index 0000000..65370c5 --- /dev/null +++ b/Content/StarterContent/Textures/T_Water_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d683c8f67d1a1639bcc2939f1fb23ee61289a0c3bbc44cb0db689a23348ba1bc +size 2064469 diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset new file mode 100644 index 0000000..3c72685 --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c1683ee19b2be98916e3b0869ddb3cb6911a715fb2caff560f70ebdc25f1246 +size 4548392 diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset new file mode 100644 index 0000000..9690785 --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12901c3b39ac9338e27c9ab0729188145690e9d361a0729371c7598f394eb835 +size 3923225 diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset new file mode 100644 index 0000000..5200275 --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d77f652374989bbf21c449d9de8979c8c9856509caca2f823337abd466c005c +size 2859583 diff --git a/Content/StarterContent/Textures/T_Wood_Oak_D.uasset b/Content/StarterContent/Textures/T_Wood_Oak_D.uasset new file mode 100644 index 0000000..0ab273e --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Oak_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f55386ba1743f0a9e6c2a0580d08be6fdad756ac6d08ff496ffa2cde371e9f2 +size 6678190 diff --git a/Content/StarterContent/Textures/T_Wood_Oak_N.uasset b/Content/StarterContent/Textures/T_Wood_Oak_N.uasset new file mode 100644 index 0000000..7af102d --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Oak_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90646b164c5018e2268e14831af332128202d18a9dad38d438754b27ddc1d723 +size 6244254 diff --git a/Content/StarterContent/Textures/T_Wood_Pine_D.uasset b/Content/StarterContent/Textures/T_Wood_Pine_D.uasset new file mode 100644 index 0000000..31ddb19 --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Pine_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b0f9afde310f6e49b2dd2dcb755926bd317c851111a2709397e15a7d571ee38 +size 9827131 diff --git a/Content/StarterContent/Textures/T_Wood_Pine_N.uasset b/Content/StarterContent/Textures/T_Wood_Pine_N.uasset new file mode 100644 index 0000000..b53b21f --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Pine_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dafc4eed7a793910c95c4a9d1b1cf95f248589776ea7caa2f0667b7cd23a57e +size 3460305 diff --git a/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset b/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset new file mode 100644 index 0000000..75fc93b --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5756b81ce5abd2c786ec568be95ab9d255da0230e389c3c98d6ecf5faef8d990 +size 6485570 diff --git a/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset b/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset new file mode 100644 index 0000000..7a28b52 --- /dev/null +++ b/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68f5d2cf1d93100036006e7af9ab6306b0afabd8156b167606a7c48952f42949 +size 3834899 diff --git a/Content/StarterContent/Textures/T_ground_Moss_D.uasset b/Content/StarterContent/Textures/T_ground_Moss_D.uasset new file mode 100644 index 0000000..62cfc6e --- /dev/null +++ b/Content/StarterContent/Textures/T_ground_Moss_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aef65bf6ef89648cb6ffd875e3ddb3747349bfecd2854583c874b2d7d180f29 +size 12978098 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_n.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_n.uasset new file mode 100644 index 0000000..16beeab --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92a3e4397e810eb8bf9c5dde2ac8a929faa86f44da9d46e3df4ca9ec4af7a271 +size 3064274 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_r.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_r.uasset new file mode 100644 index 0000000..1a84602 --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Detail_01_01_r.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:737b35ab129aae37d2209d979b19edc0799dc52b9752f7410afb7f137141d4e1 +size 857745 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset new file mode 100644 index 0000000..89b98be --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_GreyScaleLinear_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5b5f41c3113aed303b7025cfbf8aabe1865cbad602d0fbf17e516be8c6d940 +size 3802 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Masks_01_01.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Masks_01_01.uasset new file mode 100644 index 0000000..e79e280 --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_Masks_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0274539f9f3124915bb24327dfee534e2be34208bdd20aa0c88bf3e5ddd5f028 +size 3746 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseColor_01_01.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseColor_01_01.uasset new file mode 100644 index 0000000..e00fd6e --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseColor_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5fb384ce7771e5bd4aaefe97418aea0e30a615388d21efda7941b1c97739ecd +size 3535 diff --git a/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset new file mode 100644 index 0000000..884ad98 --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/Textures/t_baseNormalMap_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c0ece9d0ecb36e77e822a43b3905f965a393fcd3b46c808369c354e63e7ff8e +size 3427 diff --git a/Content/TemplesOfCambodia/BaseMaterials/m_BaseMaterial_01_01.uasset b/Content/TemplesOfCambodia/BaseMaterials/m_BaseMaterial_01_01.uasset new file mode 100644 index 0000000..b9b6d29 --- /dev/null +++ b/Content/TemplesOfCambodia/BaseMaterials/m_BaseMaterial_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:880e2393f68d5b8ff5c22af46bff139342d826c990cfd30fb48117b75275de64 +size 20439 diff --git a/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_SubUV_01_01.uasset b/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_SubUV_01_01.uasset new file mode 100644 index 0000000..e270655 --- /dev/null +++ b/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_SubUV_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0361b97d7875141ec662838a2171d7b6983167c9522fab812001856e780666d2 +size 2585487 diff --git a/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_Tiled_01_01_bc.uasset b/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_Tiled_01_01_bc.uasset new file mode 100644 index 0000000..108b8d2 --- /dev/null +++ b/Content/TemplesOfCambodia/Demo/EpicContent/StarterContent/Particles/Textures/t_Smoke_Tiled_01_01_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ae3f86f70648e5c9818f7b1b4c5fc6a4911163d54ca325fb36723967a45f944 +size 54973 diff --git a/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01.uasset b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01.uasset new file mode 100644 index 0000000..6c981dc --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:168224aca4828790f2516e3c996bca0daced8f67a5d0be209d047709c20521f3 +size 117619 diff --git a/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst.uasset b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst.uasset new file mode 100644 index 0000000..f80e828 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f287ce0db5027592bcadd40fddacde1aae3ff4fefa228599ae5452fd55d02d7 +size 8546 diff --git a/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst_Inst.uasset b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst_Inst.uasset new file mode 100644 index 0000000..3fbff21 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/LightRay_01/m_LightRay_01_01_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ed5f0a625f9931f17fdea133a84f0912575c65ed2900670acc4cf865448075b +size 6263 diff --git a/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_01.uasset b/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_01.uasset new file mode 100644 index 0000000..5d71207 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b94757be4bd8585b0439418e830343c1d89593b83a245e3efca306f048f81040 +size 20296 diff --git a/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_02.uasset b/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_02.uasset new file mode 100644 index 0000000..ce62443 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/LightRay_01/sm_LightRay_01_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:719bd76cb7bf8d21d9c4956cdc9263307b8d6b9b900e78cae99db9a48361b1fe +size 121096 diff --git a/Content/TemplesOfCambodia/Effects/Mist_01/m_ps_Mist_01_01_Lit.uasset b/Content/TemplesOfCambodia/Effects/Mist_01/m_ps_Mist_01_01_Lit.uasset new file mode 100644 index 0000000..3399284 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/Mist_01/m_ps_Mist_01_01_Lit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4efe3d57c93a4c8ef3f22b911ab1f13e5da2db93a620881a188872d9c4ec2038 +size 107328 diff --git a/Content/TemplesOfCambodia/Effects/Mist_01/mf_Mist_01_01_ParticleSphericalNormals.uasset b/Content/TemplesOfCambodia/Effects/Mist_01/mf_Mist_01_01_ParticleSphericalNormals.uasset new file mode 100644 index 0000000..fca971d --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/Mist_01/mf_Mist_01_01_ParticleSphericalNormals.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b335c3e44302b317dfdbec85688549403d95a6ff87a640c8672dea74277aaf2 +size 76373 diff --git a/Content/TemplesOfCambodia/Effects/Mist_01/ps_Mist_01_01_LitLarge.uasset b/Content/TemplesOfCambodia/Effects/Mist_01/ps_Mist_01_01_LitLarge.uasset new file mode 100644 index 0000000..f84cb72 --- /dev/null +++ b/Content/TemplesOfCambodia/Effects/Mist_01/ps_Mist_01_01_LitLarge.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39777d5ae0c3a46bcad6e54a7ef51046a641520429ff28a6d6af830db6321084 +size 33429 diff --git a/Content/TemplesOfCambodia/Environment/Torch_01/mi_Torch_01_01.uasset b/Content/TemplesOfCambodia/Environment/Torch_01/mi_Torch_01_01.uasset new file mode 100644 index 0000000..5ff48ed --- /dev/null +++ b/Content/TemplesOfCambodia/Environment/Torch_01/mi_Torch_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b45b8077ddd7217d4b727c258c05831942eaa61190e341b842540d66ad8c875 +size 14205 diff --git a/Content/TemplesOfCambodia/Environment/Torch_01/sm_Torch_01_01.uasset b/Content/TemplesOfCambodia/Environment/Torch_01/sm_Torch_01_01.uasset new file mode 100644 index 0000000..086cb85 --- /dev/null +++ b/Content/TemplesOfCambodia/Environment/Torch_01/sm_Torch_01_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:803c63772eb984b4e6cfb59942dd6fa6a5a369867429a541a9c5f6041a91f204 +size 187187 diff --git a/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_bc.uasset b/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_bc.uasset new file mode 100644 index 0000000..da72b04 --- /dev/null +++ b/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a9a2e43bf961f950d027fcf5cdd0fc5001638529b890ef3ea7dd176faf54429 +size 6552116 diff --git a/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_n.uasset b/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_n.uasset new file mode 100644 index 0000000..3fa852d --- /dev/null +++ b/Content/TemplesOfCambodia/Environment/Torch_01/t_Torch_01_01_n.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c6fd23ee0cb532e9d9c14103bd7d619eba983d1dd6f80415d418527403453c1 +size 9994822 diff --git a/Content/TerracottaWarriors/BP/Anim/ABP_DarkBird.uasset b/Content/TerracottaWarriors/BP/Anim/ABP_DarkBird.uasset new file mode 100644 index 0000000..85f8bef --- /dev/null +++ b/Content/TerracottaWarriors/BP/Anim/ABP_DarkBird.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d70efa13dd8f83d7bf7db13d79deab687b485d92adf17354a36ca9a9af196ef +size 64658 diff --git a/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong.uasset b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong.uasset new file mode 100644 index 0000000..fe96b0c --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5425da9531374d1acb4894cc576f0e92f507703501657f4bb2e1ffd2f8d92de +size 148406 diff --git a/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_A.uasset b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_A.uasset new file mode 100644 index 0000000..8eb015b --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9a810c21a6d24811b32bf39b3c7d0474126ad3305b89fad1c3f770b8257686e +size 71410 diff --git a/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_B.uasset b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_B.uasset new file mode 100644 index 0000000..f0244ca --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce0d0793e2aec946d75146fb6aa95ad7156dcb61ec675b66382003f22354fcd +size 76609 diff --git a/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_C.uasset b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_C.uasset new file mode 100644 index 0000000..54e6aec --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82effa1ea3a02f4663ce468cb490cad114c1418ad1f881cacaee3cb503595f64 +size 75575 diff --git a/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_D.uasset b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_D.uasset new file mode 100644 index 0000000..a142fd1 --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_BingYong/BP_BingMaYong_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11c387f066a6bb6e7e0f3833d5ebf4dcb652699729b25969d659999e1a75aae7 +size 77003 diff --git a/Content/TerracottaWarriors/BP/BP_ChangLangZhuanChang.uasset b/Content/TerracottaWarriors/BP/BP_ChangLangZhuanChang.uasset new file mode 100644 index 0000000..e198848 --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_ChangLangZhuanChang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc30763237e5b77b6fa90f95c8972fdc7e620a35c32a830a31c8921ee8a2c0fe +size 54051 diff --git a/Content/TerracottaWarriors/BP/BP_FireNew.uasset b/Content/TerracottaWarriors/BP/BP_FireNew.uasset new file mode 100644 index 0000000..0d3bec3 --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_FireNew.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c68665dee315ae05a2fc9e38a689bae28b7624224d428008739c52a97a683472 +size 82245 diff --git a/Content/TerracottaWarriors/BP/BP_TriggerAnim.uasset b/Content/TerracottaWarriors/BP/BP_TriggerAnim.uasset new file mode 100644 index 0000000..36cf91c --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_TriggerAnim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5541e024863ed0634bbfdbd18856c0f1a125d02b7eba4a506d87ac51777941a +size 82543 diff --git a/Content/TerracottaWarriors/BP/BP_TriggetMove.uasset b/Content/TerracottaWarriors/BP/BP_TriggetMove.uasset new file mode 100644 index 0000000..f3ff641 --- /dev/null +++ b/Content/TerracottaWarriors/BP/BP_TriggetMove.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b4a0586d0c76644329da64355cb874d30239fed267b626ed0e577ec3ad662fe +size 132662 diff --git a/Content/TerracottaWarriors/BP/Box/A+LevelEnd.uasset b/Content/TerracottaWarriors/BP/Box/A+LevelEnd.uasset new file mode 100644 index 0000000..4d157f4 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/A+LevelEnd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a98d37dedb9c98ffa90997751fb64f59fc7a65889c3e1244375d44d2eb9e7e51 +size 115120 diff --git a/Content/TerracottaWarriors/BP/Box/A-LevelEnd.uasset b/Content/TerracottaWarriors/BP/Box/A-LevelEnd.uasset new file mode 100644 index 0000000..dc72627 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/A-LevelEnd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2095c346830e731f9ed8c0ad0a8f949270399f8caf4191ee8026293583ff2332 +size 118767 diff --git a/Content/TerracottaWarriors/BP/Box/BLevelEnd.uasset b/Content/TerracottaWarriors/BP/Box/BLevelEnd.uasset new file mode 100644 index 0000000..e8d4793 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/BLevelEnd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d48651043140c1ae508de9edf5d127f28a468fd1c436a10102e033219567e92c +size 116862 diff --git a/Content/TerracottaWarriors/BP/Box/EndBox.uasset b/Content/TerracottaWarriors/BP/Box/EndBox.uasset new file mode 100644 index 0000000..c8de2ca --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/EndBox.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e252ef937451296d708282380aef2e0f898e717280a3154a50b84dfe1626396 +size 133516 diff --git a/Content/TerracottaWarriors/BP/Box/Level.uasset b/Content/TerracottaWarriors/BP/Box/Level.uasset new file mode 100644 index 0000000..3faad02 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/Level.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2a080420eec1cad08056f11c5bfa174da1f7ce0e085addb75bd644137886cef +size 127634 diff --git a/Content/TerracottaWarriors/BP/Box/StartLevelEnd.uasset b/Content/TerracottaWarriors/BP/Box/StartLevelEnd.uasset new file mode 100644 index 0000000..b502a1a --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/StartLevelEnd.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5aa2d472606687c7ed7fb25538f5d85b40f5d5ebda4be7244f1977a810ce371b +size 129182 diff --git a/Content/TerracottaWarriors/BP/Box/StartTiger.uasset b/Content/TerracottaWarriors/BP/Box/StartTiger.uasset new file mode 100644 index 0000000..7ef3fff --- /dev/null +++ b/Content/TerracottaWarriors/BP/Box/StartTiger.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c8f05880e787d2fd903628f493393e4d115e3512963d2ba032e855e9f416c95 +size 156131 diff --git a/Content/TerracottaWarriors/BP/Drum/BP_Drum.uasset b/Content/TerracottaWarriors/BP/Drum/BP_Drum.uasset new file mode 100644 index 0000000..0d9ba4e --- /dev/null +++ b/Content/TerracottaWarriors/BP/Drum/BP_Drum.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d82da7e7c8367dddb7be21b3575b92f0c82d0c13fdb133d41ff3f27e9facc52 +size 136995 diff --git a/Content/TerracottaWarriors/BP/Drumhead.uasset b/Content/TerracottaWarriors/BP/Drumhead.uasset new file mode 100644 index 0000000..dabdd01 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Drumhead.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50b48ad42829289213784399406ff0d682f493794c9a634c975cd3605ae2b1eb +size 210578 diff --git a/Content/TerracottaWarriors/BP/Drumming.uasset b/Content/TerracottaWarriors/BP/Drumming.uasset new file mode 100644 index 0000000..3dce2b9 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Drumming.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a5e3352a4c9845bb0f00ac5f72d7b2ae8af9bdd5fa382ba8533879a95acfc8 +size 53444 diff --git a/Content/TerracottaWarriors/BP/FireBox.uasset b/Content/TerracottaWarriors/BP/FireBox.uasset new file mode 100644 index 0000000..0854610 --- /dev/null +++ b/Content/TerracottaWarriors/BP/FireBox.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f412546995b6f73f5351a44e1cc946274759033e09c932ce6aca12e6ff52903 +size 73497 diff --git a/Content/TerracottaWarriors/BP/Grab/BP_Fire.uasset b/Content/TerracottaWarriors/BP/Grab/BP_Fire.uasset new file mode 100644 index 0000000..d4b6449 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/BP_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be39925f45f6506f6e7af685a193b03bb44df84b5509107782873de4ee911a2f +size 39937 diff --git a/Content/TerracottaWarriors/BP/Grab/Base.uasset b/Content/TerracottaWarriors/BP/Grab/Base.uasset new file mode 100644 index 0000000..e4226c4 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Base.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb0d3ace038c211f05dfc5ce10624a48f5c6c8497f85e51d87dcc6e49ba8d0f +size 94280 diff --git a/Content/TerracottaWarriors/BP/Grab/Bead.uasset b/Content/TerracottaWarriors/BP/Grab/Bead.uasset new file mode 100644 index 0000000..683f031 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Bead.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:916363542606315067a75b07ab9a771f6f2ae4dbbf4716c837eb6fe0e7b5da14 +size 193770 diff --git a/Content/TerracottaWarriors/BP/Grab/Cylinder.uasset b/Content/TerracottaWarriors/BP/Grab/Cylinder.uasset new file mode 100644 index 0000000..1832264 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Cylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8611552f5ca1f3bab5a56228ce3a3f102f4b11bd8c3921723aa2a210d77c9fa3 +size 327473 diff --git a/Content/TerracottaWarriors/BP/Grab/Cylinder1.uasset b/Content/TerracottaWarriors/BP/Grab/Cylinder1.uasset new file mode 100644 index 0000000..0b31209 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Cylinder1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4e4236a961388e339841f807db57e315c59f65e7ac2050b5ba23371f9ae2f17 +size 191648 diff --git a/Content/TerracottaWarriors/BP/Grab/Dice.uasset b/Content/TerracottaWarriors/BP/Grab/Dice.uasset new file mode 100644 index 0000000..92a8ee3 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Dice.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7911c242b21273a639de4c78a8d8be911cceeb5930e7942440d852608362583a +size 144692 diff --git a/Content/TerracottaWarriors/BP/Grab/SanZuDing.uasset b/Content/TerracottaWarriors/BP/Grab/SanZuDing.uasset new file mode 100644 index 0000000..7596b39 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/SanZuDing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20ee8be3074ef43247280af31df0ea96dd70bb9ddb19823b7e8f7b28cedcfc41 +size 43933 diff --git a/Content/TerracottaWarriors/BP/Grab/Tiger.uasset b/Content/TerracottaWarriors/BP/Grab/Tiger.uasset new file mode 100644 index 0000000..b9e5496 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Tiger.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c0c158eac662aab41f3938b9fadd94e6f686dba7b56fbb2e8fc0ced58cd007c +size 152385 diff --git a/Content/TerracottaWarriors/BP/Grab/Yu.uasset b/Content/TerracottaWarriors/BP/Grab/Yu.uasset new file mode 100644 index 0000000..1dec8d2 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Yu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9f82746ad3737b49484d88cf143fb2bc277bb96597092cf299468d472c346ec +size 52853 diff --git a/Content/TerracottaWarriors/BP/Grab/Zhong.uasset b/Content/TerracottaWarriors/BP/Grab/Zhong.uasset new file mode 100644 index 0000000..4e5d604 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Grab/Zhong.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d75fb48d4be5632637fdea3cc713e2ab1dcd5d993352a8f417e1bc2955c662e +size 52905 diff --git a/Content/TerracottaWarriors/BP/LampBox.uasset b/Content/TerracottaWarriors/BP/LampBox.uasset new file mode 100644 index 0000000..78b3685 --- /dev/null +++ b/Content/TerracottaWarriors/BP/LampBox.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31e14a3791cb6e2b64630b4c3da4d77734a0e119e3562576aff3c1c6b747d5dc +size 106952 diff --git a/Content/TerracottaWarriors/BP/LevelSeq.uasset b/Content/TerracottaWarriors/BP/LevelSeq.uasset new file mode 100644 index 0000000..b409826 --- /dev/null +++ b/Content/TerracottaWarriors/BP/LevelSeq.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a9dd908c702c23c5e2f02d438aee59234f82e325f7ed001965c14667a76cd54 +size 1408653 diff --git a/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial.uasset b/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial.uasset new file mode 100644 index 0000000..ef66709 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:436fa406e9fdc3a0e683f62089d2df29f142ff059cbfa666754b713882f2edd1 +size 9690 diff --git a/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial_Inst.uasset b/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial_Inst.uasset new file mode 100644 index 0000000..9ff99c8 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Mesh/BasicShapeMaterial_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38743ff30de77ec90b1b1bfe207b41fbd0c2bbf4028d07efc0a1a475b00607f7 +size 7169 diff --git a/Content/TerracottaWarriors/BP/Pawn/PawnLevelOne.uasset b/Content/TerracottaWarriors/BP/Pawn/PawnLevelOne.uasset new file mode 100644 index 0000000..d42f885 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Pawn/PawnLevelOne.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d43cf4c488675e87fa019a2a9927ee1e413086754a53af958057f73b2e4dab56 +size 129584 diff --git a/Content/TerracottaWarriors/BP/Pawn/PawnLevelTwo.uasset b/Content/TerracottaWarriors/BP/Pawn/PawnLevelTwo.uasset new file mode 100644 index 0000000..113ccaa --- /dev/null +++ b/Content/TerracottaWarriors/BP/Pawn/PawnLevelTwo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc0cd7f6575c9ab53f9c3bd96b9a7a6010e8133944619c9fc14cb574bb28de71 +size 170509 diff --git a/Content/TerracottaWarriors/BP/PlayerMesh/Name.uasset b/Content/TerracottaWarriors/BP/PlayerMesh/Name.uasset new file mode 100644 index 0000000..1f549a3 --- /dev/null +++ b/Content/TerracottaWarriors/BP/PlayerMesh/Name.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d051e02f870a54fd61819c1b9082f6434b08aeba23b8fc2c4bc6d79b82bc9f +size 40959 diff --git a/Content/TerracottaWarriors/BP/PlayerMesh/PlayerModel.uasset b/Content/TerracottaWarriors/BP/PlayerMesh/PlayerModel.uasset new file mode 100644 index 0000000..157db61 --- /dev/null +++ b/Content/TerracottaWarriors/BP/PlayerMesh/PlayerModel.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:749a9c5d2f7369b9144448049a07a55454aa03ccf38c4e2f275b4b57b7b753bd +size 266938 diff --git a/Content/TerracottaWarriors/BP/PlayerMesh/Standing_Idle_2_Skeleton_AnimBlueprint.uasset b/Content/TerracottaWarriors/BP/PlayerMesh/Standing_Idle_2_Skeleton_AnimBlueprint.uasset new file mode 100644 index 0000000..dd48ee9 --- /dev/null +++ b/Content/TerracottaWarriors/BP/PlayerMesh/Standing_Idle_2_Skeleton_AnimBlueprint.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807fadcca4b323a640151aaf9ce11c0c2c01efb0b614231c45b1698e7b3e77a7 +size 106782 diff --git a/Content/TerracottaWarriors/BP/Sound/0戏台.uasset b/Content/TerracottaWarriors/BP/Sound/0戏台.uasset new file mode 100644 index 0000000..3036429 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/0戏台.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc5fc0fc50eb61e1d47fe8dd028720b35fbc36b4a3f5913f769e77e474b17683 +size 9010329 diff --git a/Content/TerracottaWarriors/BP/Sound/1长廊.uasset b/Content/TerracottaWarriors/BP/Sound/1长廊.uasset new file mode 100644 index 0000000..87d3ec7 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/1长廊.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b68b00b8bc8e9f5e2ff007642055f16527f8eebe750105db66d931c2b9b5d50f +size 16247866 diff --git a/Content/TerracottaWarriors/BP/Sound/2弩箭阵.uasset b/Content/TerracottaWarriors/BP/Sound/2弩箭阵.uasset new file mode 100644 index 0000000..2583eb3 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/2弩箭阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ed83f08d8e86cb1775a124a8968313d7778ab3df74112e4d4c7429ec6a6177 +size 10062221 diff --git a/Content/TerracottaWarriors/BP/Sound/3棋阵.uasset b/Content/TerracottaWarriors/BP/Sound/3棋阵.uasset new file mode 100644 index 0000000..f2f62a0 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/3棋阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eefcad05da4f61f8b8da283549f5318b128f34d70101ee02055fb141e1340ec1 +size 13661067 diff --git a/Content/TerracottaWarriors/BP/Sound/4鼓阵.uasset b/Content/TerracottaWarriors/BP/Sound/4鼓阵.uasset new file mode 100644 index 0000000..98df695 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/4鼓阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03bfcadd6ce5c6ea04fdabf622c2ae4d74075d79afc83459a8cde28a19108eff +size 11799673 diff --git a/Content/TerracottaWarriors/BP/Sound/5藏宝阁.uasset b/Content/TerracottaWarriors/BP/Sound/5藏宝阁.uasset new file mode 100644 index 0000000..7ff65fb --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/5藏宝阁.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5941a5b021d711280db5a0b26482ae5c90170a12b9ff80e1bfa393cc51574f3b +size 42746357 diff --git a/Content/TerracottaWarriors/BP/Sound/6秦皇大殿.uasset b/Content/TerracottaWarriors/BP/Sound/6秦皇大殿.uasset new file mode 100644 index 0000000..7ad2bbe --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/6秦皇大殿.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c8eab8765f42b5cde82593d1e889db1ff2db33e0156a8536a38a45d6ce9742 +size 47812448 diff --git a/Content/TerracottaWarriors/BP/Sound/7咸阳城.uasset b/Content/TerracottaWarriors/BP/Sound/7咸阳城.uasset new file mode 100644 index 0000000..57790ad --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/7咸阳城.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdef2f844139a4259a328085799dc2cf739d10bce071b0465d10841f59c6de6d +size 20396605 diff --git a/Content/TerracottaWarriors/BP/Sound/7咸阳城叫卖.uasset b/Content/TerracottaWarriors/BP/Sound/7咸阳城叫卖.uasset new file mode 100644 index 0000000..13111f8 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/7咸阳城叫卖.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f59d42c2874aac01c57c8221cdbfac543f659884498666da3200b991363fea +size 13110832 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/1长廊.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/1长廊.uasset new file mode 100644 index 0000000..2ea029e --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/1长廊.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e603c10fc32d117242812b0d2b20b196ecd3860d7669e2e27372e2c9f9ae1e15 +size 16247685 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/2弩箭阵.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/2弩箭阵.uasset new file mode 100644 index 0000000..7497c6a --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/2弩箭阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8122d8d10cdc77a2639cc48123c2e8150167498f925d4e00bb09854b7584515c +size 19180541 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/3棋阵.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/3棋阵.uasset new file mode 100644 index 0000000..8b834c9 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/3棋阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a3efa0e702c798f2a824bc9b426ad4c65294890bae6e0ddb80bef3071e3ebc9 +size 13660886 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/4鼓阵.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/4鼓阵.uasset new file mode 100644 index 0000000..7af5d2c --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/4鼓阵.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8c5b2eb3e57d04de9ffb938eb4b6e2cf29f385c9922bd6223572bb2db382ae6 +size 11799492 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/5藏宝阁.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/5藏宝阁.uasset new file mode 100644 index 0000000..be35572 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/5藏宝阁.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13934882a2bcea0464d6f2c54a9f8fbc559dc1247686e5476aa3ae4ca9953a7d +size 21840757 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/6秦皇大殿.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/6秦皇大殿.uasset new file mode 100644 index 0000000..45b97c8 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/6秦皇大殿.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d1d82bb2fc57b211751ce3c44b3a4dabf1317a019bc6e7cca8287d4f2f9f52 +size 48630557 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城.uasset new file mode 100644 index 0000000..ff46852 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b090741917a0105e3f473998b1643cf70cbddf8509f4f27cce29188985c29545 +size 20396424 diff --git a/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城叫卖.uasset b/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城叫卖.uasset new file mode 100644 index 0000000..93d5d74 --- /dev/null +++ b/Content/TerracottaWarriors/BP/Sound/NewSound/7咸阳城叫卖.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efae580aeba776921d530fbb6655c93f0410cd8a1978ef1e527df712b3aa6c25 +size 13110588 diff --git a/Content/TerracottaWarriors/BP/TextPawn.uasset b/Content/TerracottaWarriors/BP/TextPawn.uasset new file mode 100644 index 0000000..5a6c485 --- /dev/null +++ b/Content/TerracottaWarriors/BP/TextPawn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b9df5226ee40ba9074451d8e71faeda853d410b8ccd2f0be9d83e90fe4f3d16 +size 420176 diff --git a/Content/TerracottaWarriors/BP/UDP/UDP.uasset b/Content/TerracottaWarriors/BP/UDP/UDP.uasset new file mode 100644 index 0000000..fb697e6 --- /dev/null +++ b/Content/TerracottaWarriors/BP/UDP/UDP.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c49f85bf011d952b9febd09d4141d9fb5773ad3e8e3e012ad7c03fe1879878fb +size 303888 diff --git a/Content/TerracottaWarriors/Input/AD.uasset b/Content/TerracottaWarriors/Input/AD.uasset new file mode 100644 index 0000000..d106874 --- /dev/null +++ b/Content/TerracottaWarriors/Input/AD.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa61370d2746eeb66cd39e792e90eeef301419b43e0a25f84d51b2f7cabc89fd +size 1474 diff --git a/Content/TerracottaWarriors/Input/IA_RightX.uasset b/Content/TerracottaWarriors/Input/IA_RightX.uasset new file mode 100644 index 0000000..d17d607 --- /dev/null +++ b/Content/TerracottaWarriors/Input/IA_RightX.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b3829a12e8fa4a723dd717b229175fa72a65884398ce6e698b297e1fa425ac7 +size 1509 diff --git a/Content/TerracottaWarriors/Input/IA_RightY.uasset b/Content/TerracottaWarriors/Input/IA_RightY.uasset new file mode 100644 index 0000000..ed064ac --- /dev/null +++ b/Content/TerracottaWarriors/Input/IA_RightY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d157aca9620f4958bb30795f6d1fb1658dc78856eea5a1bf93eac8b4219db94 +size 1509 diff --git a/Content/TerracottaWarriors/Input/IMC_Move.uasset b/Content/TerracottaWarriors/Input/IMC_Move.uasset new file mode 100644 index 0000000..ba4d45c --- /dev/null +++ b/Content/TerracottaWarriors/Input/IMC_Move.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:def9658cf2eb22e6ca653163543bae363f758bddd96a681da866c6655d9df06a +size 36033 diff --git a/Content/TerracottaWarriors/Input/WS.uasset b/Content/TerracottaWarriors/Input/WS.uasset new file mode 100644 index 0000000..32d7b55 --- /dev/null +++ b/Content/TerracottaWarriors/Input/WS.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8161641dfecae203e4b2d4049452ab86739ebfce19c0f346728390c1e9a1a56a +size 1474 diff --git a/Content/TerracottaWarriors/M_Black.uasset b/Content/TerracottaWarriors/M_Black.uasset new file mode 100644 index 0000000..debdc0c --- /dev/null +++ b/Content/TerracottaWarriors/M_Black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d54a9e395bed43a8b52f1074a26323e1008bded83ba13729ebf5ea213e68ab71 +size 6200 diff --git a/Content/TerracottaWarriors/Map/280/A+280.umap b/Content/TerracottaWarriors/Map/280/A+280.umap new file mode 100644 index 0000000..16ae9d2 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/A+280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a41f925a391fa39f979f9f1273004a686961f789dff5e307fa22d1082ae480f +size 47853 diff --git a/Content/TerracottaWarriors/Map/280/A-280.umap b/Content/TerracottaWarriors/Map/280/A-280.umap new file mode 100644 index 0000000..baa7795 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/A-280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbf712416da186a3e2424452a90442913c3757ec6a70985ff0922655e615d98d +size 43807 diff --git a/Content/TerracottaWarriors/Map/280/A280.umap b/Content/TerracottaWarriors/Map/280/A280.umap new file mode 100644 index 0000000..7abaac6 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/A280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9afeb6db45fb184765379e812879d2ff173ca4614735848d4bbe883b98383aa +size 87025 diff --git a/Content/TerracottaWarriors/Map/280/B280.umap b/Content/TerracottaWarriors/Map/280/B280.umap new file mode 100644 index 0000000..0262d9b --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/B280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bafea8bfaab83d99c1338c996bf9d48e9e01c7c6f6cc9c113e0389ced20cebe8 +size 86722 diff --git a/Content/TerracottaWarriors/Map/280/Begin280.umap b/Content/TerracottaWarriors/Map/280/Begin280.umap new file mode 100644 index 0000000..a910525 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/Begin280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4a3e9f30a62aad94ecf3d68126e1d9acb602b8041fe25dc06eb1f239effc6c3 +size 24049 diff --git a/Content/TerracottaWarriors/Map/280/C280.umap b/Content/TerracottaWarriors/Map/280/C280.umap new file mode 100644 index 0000000..c947935 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/C280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e28ce0f401f50c24196f31d2fd0058dafd672c61a08ba9b02f755c3d7091f0c7 +size 67808 diff --git a/Content/TerracottaWarriors/Map/280/D280.umap b/Content/TerracottaWarriors/Map/280/D280.umap new file mode 100644 index 0000000..5ba619a --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/D280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1e6171d6e1a167c6e110082c946451f3c3ce12572b6215032c7ce7f163e3452 +size 46192 diff --git a/Content/TerracottaWarriors/Map/280/E280.umap b/Content/TerracottaWarriors/Map/280/E280.umap new file mode 100644 index 0000000..0bb48e8 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/E280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29d6601a18dbece4d7bf1ecaa6b71e4fb547c6b751164c36ad7cfe5d0d8f73eb +size 32358 diff --git a/Content/TerracottaWarriors/Map/280/Start280.umap b/Content/TerracottaWarriors/Map/280/Start280.umap new file mode 100644 index 0000000..f3d2500 --- /dev/null +++ b/Content/TerracottaWarriors/Map/280/Start280.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad0688602399d1d5a17757f4b622f6352bd59b87fceae34b44fadc9a285523dc +size 45125 diff --git a/Content/TerracottaWarriors/Map/A+.umap b/Content/TerracottaWarriors/Map/A+.umap new file mode 100644 index 0000000..7fce245 --- /dev/null +++ b/Content/TerracottaWarriors/Map/A+.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11aa46b5717d7a70bf420698cdcb950f8b15269b5e4a6077a42d1a1d23ddd162 +size 38959 diff --git a/Content/TerracottaWarriors/Map/A-.umap b/Content/TerracottaWarriors/Map/A-.umap new file mode 100644 index 0000000..5346e4b --- /dev/null +++ b/Content/TerracottaWarriors/Map/A-.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c4d123142ba0ffafd1e5dec23b32600b63aa508b7d5f0ef403b1d7a044c84a +size 18485 diff --git a/Content/TerracottaWarriors/Map/A.umap b/Content/TerracottaWarriors/Map/A.umap new file mode 100644 index 0000000..3ff42f3 --- /dev/null +++ b/Content/TerracottaWarriors/Map/A.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a734f89a5af08eb0482ab0c88140c510bd7e80f5ca48cc8deba76121a674f3b7 +size 58909 diff --git a/Content/TerracottaWarriors/Map/B.umap b/Content/TerracottaWarriors/Map/B.umap new file mode 100644 index 0000000..6ce2747 --- /dev/null +++ b/Content/TerracottaWarriors/Map/B.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c285c42d6151f2df9bea4f2dae2ffb0e6c561457137456372cc0be55ff52739f +size 104124 diff --git a/Content/TerracottaWarriors/Map/Begin.umap b/Content/TerracottaWarriors/Map/Begin.umap new file mode 100644 index 0000000..666ac77 --- /dev/null +++ b/Content/TerracottaWarriors/Map/Begin.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10b7c35015f05da1a4985ff0a0e59bfd410d94b6bdcdb975ee6b8b414142ec8c +size 18880 diff --git a/Content/TerracottaWarriors/Map/C.umap b/Content/TerracottaWarriors/Map/C.umap new file mode 100644 index 0000000..20915bb --- /dev/null +++ b/Content/TerracottaWarriors/Map/C.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2902aa6c9d63f486827f15c6e4508a89b9474b9e5935361085ae50c46023e91e +size 49461 diff --git a/Content/TerracottaWarriors/Map/D.umap b/Content/TerracottaWarriors/Map/D.umap new file mode 100644 index 0000000..50e4cc4 --- /dev/null +++ b/Content/TerracottaWarriors/Map/D.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c7c916b9eddaaa8b45674e6115e71f012193dc29b403221c63d10580c6b771 +size 22979 diff --git a/Content/TerracottaWarriors/Map/E.umap b/Content/TerracottaWarriors/Map/E.umap new file mode 100644 index 0000000..7d6c2cd --- /dev/null +++ b/Content/TerracottaWarriors/Map/E.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1437c9875dd05fd2407ce214f3f034c4003cd78f0dc89c5461a16803033cbb14 +size 19330 diff --git a/Content/TerracottaWarriors/Map/Start.umap b/Content/TerracottaWarriors/Map/Start.umap new file mode 100644 index 0000000..0a95223 --- /dev/null +++ b/Content/TerracottaWarriors/Map/Start.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4551f1e2487007c4b3d8a0865d57ff07e34f8c874af42b161b7fcbcb13e76646 +size 40920 diff --git a/Content/TerracottaWarriors/NewBlueprint.uasset b/Content/TerracottaWarriors/NewBlueprint.uasset new file mode 100644 index 0000000..d61554c --- /dev/null +++ b/Content/TerracottaWarriors/NewBlueprint.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:610252bf18960b805f2c3771e5b5874ac3c455cfb253aa7c96346126bcfd92a3 +size 28858 diff --git a/Content/TerracottaWarriors/TW_Hand_track.uasset b/Content/TerracottaWarriors/TW_Hand_track.uasset new file mode 100644 index 0000000..4b050a2 --- /dev/null +++ b/Content/TerracottaWarriors/TW_Hand_track.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:565ed4d4916a478f012adf0e24c10ff8ad0b1c3056e0023cb23169e1a10c68b2 +size 1613210 diff --git a/Content/TerracottaWarriors/TW_Hand_track1.uasset b/Content/TerracottaWarriors/TW_Hand_track1.uasset new file mode 100644 index 0000000..ed605ef --- /dev/null +++ b/Content/TerracottaWarriors/TW_Hand_track1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25ca5b7b046f2bcdcd4e30ef650b29dc8cec311dc35d504fb260399cad1f2037 +size 1037071 diff --git a/Content/TerracottaWarriors/TW_Hand_track2.uasset b/Content/TerracottaWarriors/TW_Hand_track2.uasset new file mode 100644 index 0000000..1c58153 --- /dev/null +++ b/Content/TerracottaWarriors/TW_Hand_track2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b13588d79e8780a2abf8167ca4505985395778b701d10a0bd3f8347fcd09989e +size 1030933 diff --git a/Content/TerracottaWarriors/WBP_GrabTest.uasset b/Content/TerracottaWarriors/WBP_GrabTest.uasset new file mode 100644 index 0000000..5727f2a --- /dev/null +++ b/Content/TerracottaWarriors/WBP_GrabTest.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dce6b85cd0c5554682c634d96d83dfab55faa1ea2783383beb27dedd69e02ba0 +size 47829 diff --git a/Content/Torches/BP_touches.uasset b/Content/Torches/BP_touches.uasset new file mode 100644 index 0000000..5ed64ac --- /dev/null +++ b/Content/Torches/BP_touches.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a83ca1fe54161ad26ff329908d25b18524a174dacbcc0f92e46cac4202e4610f +size 30895 diff --git a/Content/Torches/Blueprints/BP_Torch_00.uasset b/Content/Torches/Blueprints/BP_Torch_00.uasset new file mode 100644 index 0000000..95a2e94 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e01145942bb52c74f61692fec67dcc958ebc8c41bf5c7d7bd0ec3721ada88d67 +size 35760 diff --git a/Content/Torches/Blueprints/BP_Torch_01.uasset b/Content/Torches/Blueprints/BP_Torch_01.uasset new file mode 100644 index 0000000..477fc37 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58590da1dd58f5dd0107d384e5703b5d53466f1f50633857ac099c0ef141c845 +size 117363 diff --git a/Content/Torches/Blueprints/BP_Torch_02.uasset b/Content/Torches/Blueprints/BP_Torch_02.uasset new file mode 100644 index 0000000..8b1579f --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:681401d172ce38c685bd0d50ce32fd962b495ca21db8b65a43e3c9e975c95b55 +size 119645 diff --git a/Content/Torches/Blueprints/BP_Torch_03.uasset b/Content/Torches/Blueprints/BP_Torch_03.uasset new file mode 100644 index 0000000..30806f9 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c74b1a77db6f8ad7fcfceb0db5a778b990b04a6f47e82677a5f6cf98ab24950b +size 117244 diff --git a/Content/Torches/Blueprints/BP_Torch_04.uasset b/Content/Torches/Blueprints/BP_Torch_04.uasset new file mode 100644 index 0000000..51b06b5 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f955b8af963f3094a873403cad9910acf5fa97fa35224e1e78c94d89c5ce6cca +size 116837 diff --git a/Content/Torches/Blueprints/BP_Torch_05.uasset b/Content/Torches/Blueprints/BP_Torch_05.uasset new file mode 100644 index 0000000..c5c710f --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3e2e34acaee6141ed49cadef77cd10da443793cfd16de86c29633b4f449f197 +size 117691 diff --git a/Content/Torches/Blueprints/BP_Torch_06.uasset b/Content/Torches/Blueprints/BP_Torch_06.uasset new file mode 100644 index 0000000..129bab7 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46da4553b288ec69521fcf0356d0a6a2a3c35e4afb8986309d3aa262d0edee6a +size 107724 diff --git a/Content/Torches/Blueprints/BP_Torch_07.uasset b/Content/Torches/Blueprints/BP_Torch_07.uasset new file mode 100644 index 0000000..5227fb5 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99218a4dbe4a7465b26183331d1207c1974adc0d432dc27c6a8c80ec5a95586d +size 111945 diff --git a/Content/Torches/Blueprints/BP_Torch_08.uasset b/Content/Torches/Blueprints/BP_Torch_08.uasset new file mode 100644 index 0000000..09fd8bf --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7783374ee102ba2cd92a042e862837fda420b15411d8042bf5227f8f04a38ee4 +size 111786 diff --git a/Content/Torches/Blueprints/BP_Torch_09.uasset b/Content/Torches/Blueprints/BP_Torch_09.uasset new file mode 100644 index 0000000..63e64f2 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f32f4617b1fece91867eb39e0d2e07cd7a235c09cacee3ce54886e29e071ac24 +size 33339 diff --git a/Content/Torches/Blueprints/BP_Torch_10.uasset b/Content/Torches/Blueprints/BP_Torch_10.uasset new file mode 100644 index 0000000..fb0f03e --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92462ea02054e1005bd5f66603728d07a0050d21ad96f8689ce889e57762b74e +size 111563 diff --git a/Content/Torches/Blueprints/BP_Torch_11.uasset b/Content/Torches/Blueprints/BP_Torch_11.uasset new file mode 100644 index 0000000..1f866fa --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67066810ca5b575c34facf300f8778a48d10f30c77744f40d7d32c18a81c9578 +size 113723 diff --git a/Content/Torches/Blueprints/BP_Torch_12.uasset b/Content/Torches/Blueprints/BP_Torch_12.uasset new file mode 100644 index 0000000..28ab612 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9ba8a4f0c0794bc223ea48c7b152727457eac3ccd5fb5e921fce62e1b225432 +size 115159 diff --git a/Content/Torches/Blueprints/BP_Torch_13.uasset b/Content/Torches/Blueprints/BP_Torch_13.uasset new file mode 100644 index 0000000..a6d9ae9 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20e19792a05fbaf9e4c1ec37eaa777892438ee5546ac46dd487cea7c24825f3e +size 116545 diff --git a/Content/Torches/Blueprints/BP_Torch_14.uasset b/Content/Torches/Blueprints/BP_Torch_14.uasset new file mode 100644 index 0000000..87e1b12 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dac199660e7f673e78172f8718dc8999d7772e148d8a43532ddeacdc920e0161 +size 113761 diff --git a/Content/Torches/Blueprints/BP_Torch_15.uasset b/Content/Torches/Blueprints/BP_Torch_15.uasset new file mode 100644 index 0000000..3982eed --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbccda0b4950f95c855671016ba57c07751d1a775d409777e417ed543c844a26 +size 110432 diff --git a/Content/Torches/Blueprints/BP_Torch_16.uasset b/Content/Torches/Blueprints/BP_Torch_16.uasset new file mode 100644 index 0000000..9d4e416 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cddc95fa78a349c1287f2b9ab1fa8d87a01548de4d2d8a3424e6ae9153629923 +size 112682 diff --git a/Content/Torches/Blueprints/BP_Torch_17.uasset b/Content/Torches/Blueprints/BP_Torch_17.uasset new file mode 100644 index 0000000..4d3223a --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:937dc7090dd71fece3e54768d117edf377211e9b2d95554b61ecd2c21336012f +size 112245 diff --git a/Content/Torches/Blueprints/BP_Torch_18.uasset b/Content/Torches/Blueprints/BP_Torch_18.uasset new file mode 100644 index 0000000..f16da54 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87c2174a58d1f4d5fdc1821052b1716aaf336adc8116b8ef59c1fdceb44947e +size 108486 diff --git a/Content/Torches/Blueprints/BP_Torch_19.uasset b/Content/Torches/Blueprints/BP_Torch_19.uasset new file mode 100644 index 0000000..18453cc --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b0661f1484ab08c03d273cced30a81c976587674ac2ca8518cd278cb00ebafb +size 112777 diff --git a/Content/Torches/Blueprints/BP_Torch_20.uasset b/Content/Torches/Blueprints/BP_Torch_20.uasset new file mode 100644 index 0000000..63c6fd5 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d54865865462321a3946e219c57a5aa526b1ef35de598f1c8d6214fdd2781048 +size 108441 diff --git a/Content/Torches/Blueprints/BP_Torch_21.uasset b/Content/Torches/Blueprints/BP_Torch_21.uasset new file mode 100644 index 0000000..5708890 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04298f73f095b7dd8ec63e5bd541d2036c959205d7c8366c39770280077497c3 +size 111083 diff --git a/Content/Torches/Blueprints/BP_Torch_22.uasset b/Content/Torches/Blueprints/BP_Torch_22.uasset new file mode 100644 index 0000000..244d316 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41fb46e77fe98b8aff173092001de602d9241d432c0acfbc80c02e8d538dd776 +size 112821 diff --git a/Content/Torches/Blueprints/BP_Torch_23.uasset b/Content/Torches/Blueprints/BP_Torch_23.uasset new file mode 100644 index 0000000..214fe26 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3971936728eae9ab533ca43fa07d50e1ec8ae5ca8f5febc455d1867f5d5505ce +size 111007 diff --git a/Content/Torches/Blueprints/BP_Torch_24.uasset b/Content/Torches/Blueprints/BP_Torch_24.uasset new file mode 100644 index 0000000..e436158 --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cb98761b97b21da9847e1ec297b72f237f3ea3cc9f39c5a6d2f73f61159fdbe +size 110181 diff --git a/Content/Torches/Blueprints/BP_Torch_25.uasset b/Content/Torches/Blueprints/BP_Torch_25.uasset new file mode 100644 index 0000000..823691d --- /dev/null +++ b/Content/Torches/Blueprints/BP_Torch_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ed842e29aa089beab111ae65f65a163420a04b494345d88794cd43f33d70723 +size 36074 diff --git a/Content/Torches/Material_Instances/MI_Background.uasset b/Content/Torches/Material_Instances/MI_Background.uasset new file mode 100644 index 0000000..dbc2f29 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Background.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e2865d614dfc6e937fd430effc6db68ff533e6a6f1cbd3cebb9fa8d7ba4b135 +size 99005 diff --git a/Content/Torches/Material_Instances/MI_Concrete_00.uasset b/Content/Torches/Material_Instances/MI_Concrete_00.uasset new file mode 100644 index 0000000..22447e5 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Concrete_00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14773c1d5ee4ff8f4ef8cc7c32dc23861fbe48c517df937eec9ba7464f946ab9 +size 131139 diff --git a/Content/Torches/Material_Instances/MI_Torch_00.uasset b/Content/Torches/Material_Instances/MI_Torch_00.uasset new file mode 100644 index 0000000..e3f973a --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e2c7ec52ffe427f87307440bf3f5be0fdad429dd36846efd864cc4aee71d53d +size 13884 diff --git a/Content/Torches/Material_Instances/MI_Torch_01.uasset b/Content/Torches/Material_Instances/MI_Torch_01.uasset new file mode 100644 index 0000000..8a08651 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ef4d75a8cf685ad016227d72615fa6d78b6e0410415afb1f2a84cd71922c51 +size 127993 diff --git a/Content/Torches/Material_Instances/MI_Torch_02.uasset b/Content/Torches/Material_Instances/MI_Torch_02.uasset new file mode 100644 index 0000000..9cb3692 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f7f1ba0504df3a1aa01887daa0e9a1c9a110a38d2892c57a5a9f243844379a6 +size 126494 diff --git a/Content/Torches/Material_Instances/MI_Torch_03.uasset b/Content/Torches/Material_Instances/MI_Torch_03.uasset new file mode 100644 index 0000000..5935f84 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c01f0c014a43fc6780976c59c266508a16a4e1f60e9c137113e81646bb6d2252 +size 129678 diff --git a/Content/Torches/Material_Instances/MI_Torch_04.uasset b/Content/Torches/Material_Instances/MI_Torch_04.uasset new file mode 100644 index 0000000..6481172 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fc789507403d6372fbd9984f7bf14e791b10fa1745dc3214b7430a790571ec +size 124574 diff --git a/Content/Torches/Material_Instances/MI_Torch_05.uasset b/Content/Torches/Material_Instances/MI_Torch_05.uasset new file mode 100644 index 0000000..de3abc6 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee1498fce5e735af3680c6cac90e0e361e2ea48240b40fcd22026b790e143c15 +size 132412 diff --git a/Content/Torches/Material_Instances/MI_Torch_06.uasset b/Content/Torches/Material_Instances/MI_Torch_06.uasset new file mode 100644 index 0000000..2f2ad90 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e690f7f49d3d057127255227dd79d1536f4d4b5cd9eb9da607837d80295b469a +size 129372 diff --git a/Content/Torches/Material_Instances/MI_Torch_07.uasset b/Content/Torches/Material_Instances/MI_Torch_07.uasset new file mode 100644 index 0000000..a77bc19 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa52a5cd01d494c8fda659f0e9916d49f0a51cb48a6598b4ff6308308a5657d5 +size 118538 diff --git a/Content/Torches/Material_Instances/MI_Torch_08.uasset b/Content/Torches/Material_Instances/MI_Torch_08.uasset new file mode 100644 index 0000000..1eb0ba9 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a1dc7f346a5b9315a8283720810573945f38f900c2bc4395b191531454e627d +size 142475 diff --git a/Content/Torches/Material_Instances/MI_Torch_09.uasset b/Content/Torches/Material_Instances/MI_Torch_09.uasset new file mode 100644 index 0000000..848d041 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e05fdc70c1bb988f137cf5c8d88529dd7902afdcc809be8ac43e4f9e8852b6ee +size 143464 diff --git a/Content/Torches/Material_Instances/MI_Torch_10.uasset b/Content/Torches/Material_Instances/MI_Torch_10.uasset new file mode 100644 index 0000000..4714001 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d300333d5dd540019d0f88ca63975c615b9952e3a69830beae2181ff72354ca +size 134893 diff --git a/Content/Torches/Material_Instances/MI_Torch_11.uasset b/Content/Torches/Material_Instances/MI_Torch_11.uasset new file mode 100644 index 0000000..b6a8865 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e59d8e056786a9e1991c4bde67c3db55f3bbba19206f0d48ef378685c0796e60 +size 136404 diff --git a/Content/Torches/Material_Instances/MI_Torch_12.uasset b/Content/Torches/Material_Instances/MI_Torch_12.uasset new file mode 100644 index 0000000..7c72880 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7772bc7a532184c572a3a11254d5ee7da6f3ed0ec08b6a4d7723479bd206be9d +size 136942 diff --git a/Content/Torches/Material_Instances/MI_Torch_13.uasset b/Content/Torches/Material_Instances/MI_Torch_13.uasset new file mode 100644 index 0000000..c1f6241 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7c3186ac64c35c8f4f375ba8f82d38a83386531d4012b12fac6d43365624cac +size 139133 diff --git a/Content/Torches/Material_Instances/MI_Torch_14.uasset b/Content/Torches/Material_Instances/MI_Torch_14.uasset new file mode 100644 index 0000000..719166d --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8c85015c74f9c0bae77af22f34c8f6b26556f4c77383618b7efad55d5f6f5f1 +size 126578 diff --git a/Content/Torches/Material_Instances/MI_Torch_15.uasset b/Content/Torches/Material_Instances/MI_Torch_15.uasset new file mode 100644 index 0000000..f1272da --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ece2bd59c48ab2602eafd790de6c981027cf76ba4ede1c3d2f81add6a38efc7 +size 127331 diff --git a/Content/Torches/Material_Instances/MI_Torch_16.uasset b/Content/Torches/Material_Instances/MI_Torch_16.uasset new file mode 100644 index 0000000..f48bbaa --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d56777df23e0fd6849e213f5c0887ad186d6c3f1bd375b6b603dbc5140507b0f +size 127002 diff --git a/Content/Torches/Material_Instances/MI_Torch_17.uasset b/Content/Torches/Material_Instances/MI_Torch_17.uasset new file mode 100644 index 0000000..557bdd2 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58f684a7faed08b8aa4ed7abf85bb75ca89c130136998b32fa6eeaf51a684dcc +size 135640 diff --git a/Content/Torches/Material_Instances/MI_Torch_18.uasset b/Content/Torches/Material_Instances/MI_Torch_18.uasset new file mode 100644 index 0000000..fa2c003 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ecd5c83c1494a2b7ee4f1cac63df3372946d606f8d01b767483030d710be93 +size 123289 diff --git a/Content/Torches/Material_Instances/MI_Torch_19.uasset b/Content/Torches/Material_Instances/MI_Torch_19.uasset new file mode 100644 index 0000000..64a4ee6 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:273fbac4a8720fbd80c87280bd482e4e0b6d4626dd20d6cb6c81f614de706b2f +size 132583 diff --git a/Content/Torches/Material_Instances/MI_Torch_20.uasset b/Content/Torches/Material_Instances/MI_Torch_20.uasset new file mode 100644 index 0000000..ab212fa --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d90a7913b5771021457d3dfa80849c9bf5037efdb5c64a18490de2dd3f789533 +size 130437 diff --git a/Content/Torches/Material_Instances/MI_Torch_21.uasset b/Content/Torches/Material_Instances/MI_Torch_21.uasset new file mode 100644 index 0000000..b89ae6a --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d4e4393069af88d403d73e095753bedab9d1bb2444ec5c7e9226b1675d7fac3 +size 124538 diff --git a/Content/Torches/Material_Instances/MI_Torch_22.uasset b/Content/Torches/Material_Instances/MI_Torch_22.uasset new file mode 100644 index 0000000..cabb64f --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e98fc023b589672605363c678a0eac108bf815dc140b720a69024e9fde20de +size 139761 diff --git a/Content/Torches/Material_Instances/MI_Torch_23.uasset b/Content/Torches/Material_Instances/MI_Torch_23.uasset new file mode 100644 index 0000000..6c98c69 --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e5a10fe32307da0aeff0cba4e000fa5e14bb32f83c1e2cd011e071e3b015b7f +size 119012 diff --git a/Content/Torches/Material_Instances/MI_Torch_24.uasset b/Content/Torches/Material_Instances/MI_Torch_24.uasset new file mode 100644 index 0000000..2ea117b --- /dev/null +++ b/Content/Torches/Material_Instances/MI_Torch_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7f24a1e581084a655b51b5fce8edf4022b0896220512a304eca3f86577f5de0 +size 127624 diff --git a/Content/Torches/Materials/M_Background.uasset b/Content/Torches/Materials/M_Background.uasset new file mode 100644 index 0000000..85b62de --- /dev/null +++ b/Content/Torches/Materials/M_Background.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8ef172f817463d28f54b16243cc3c4a948a51e5c29ff718bb0b97c3ebdc0bf8 +size 101787 diff --git a/Content/Torches/Materials/M_Base.uasset b/Content/Torches/Materials/M_Base.uasset new file mode 100644 index 0000000..12350fa --- /dev/null +++ b/Content/Torches/Materials/M_Base.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961007939ff6a4f4cac90614d03d82b19a4ab9ba541df6e2522afd60750b41d7 +size 139838 diff --git a/Content/Torches/Materials/M_Fire.uasset b/Content/Torches/Materials/M_Fire.uasset new file mode 100644 index 0000000..c8caafd --- /dev/null +++ b/Content/Torches/Materials/M_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30d5906f767f4beab92bfdae6718a12bbc816940bffbc152c91b8fdc2bc757e5 +size 86484 diff --git a/Content/Torches/Materials/M_FireLow.uasset b/Content/Torches/Materials/M_FireLow.uasset new file mode 100644 index 0000000..cb0ab90 --- /dev/null +++ b/Content/Torches/Materials/M_FireLow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46f6101ded2d1aae2e33246cc12f4fba7b7c86c9bdc4dbc631cbafaf19034f07 +size 21347 diff --git a/Content/Torches/Materials/M_Fire_Details.uasset b/Content/Torches/Materials/M_Fire_Details.uasset new file mode 100644 index 0000000..d8a605e --- /dev/null +++ b/Content/Torches/Materials/M_Fire_Details.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eccab0459958c826141e5c278eb91e3b5ff2cb3c31cd76406b96a0bdf062ccbf +size 72834 diff --git a/Content/Torches/Materials/M_Smoke.uasset b/Content/Torches/Materials/M_Smoke.uasset new file mode 100644 index 0000000..522d94d --- /dev/null +++ b/Content/Torches/Materials/M_Smoke.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b739c952ac890fa15ca1d0e2d13f93bb9c55a9007f3ae42f34c3c091cdae8b87 +size 88225 diff --git a/Content/Torches/Meshes/SM_Torch_00.uasset b/Content/Torches/Meshes/SM_Torch_00.uasset new file mode 100644 index 0000000..ad2eb75 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_00.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fa3fc2ac63569fb7359f8326839ebc3c3e8b91f7c958524b7cf1cc18b8f1c4 +size 177998 diff --git a/Content/Torches/Meshes/SM_Torch_01.uasset b/Content/Torches/Meshes/SM_Torch_01.uasset new file mode 100644 index 0000000..e6d44db --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbb1b6dc1663023f519fdc3226bbd39e3ecbc9185ace0fb0425881f49e7b9159 +size 175749 diff --git a/Content/Torches/Meshes/SM_Torch_02.uasset b/Content/Torches/Meshes/SM_Torch_02.uasset new file mode 100644 index 0000000..a20a1e3 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c36215cbfffb86817b01d5b23e998145e8b82f6043a07990e137e3a32a8c6d8 +size 223530 diff --git a/Content/Torches/Meshes/SM_Torch_03.uasset b/Content/Torches/Meshes/SM_Torch_03.uasset new file mode 100644 index 0000000..9ecaff6 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:174e6bee8e0cfd2a4ffa74874ad76e70dfa7126a44e7abbe3f9fdb0be590ce5e +size 262463 diff --git a/Content/Torches/Meshes/SM_Torch_04.uasset b/Content/Torches/Meshes/SM_Torch_04.uasset new file mode 100644 index 0000000..5dcccd1 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_04.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d995e24605c15d165f582103365d930786a4ea30fe9c7244d2d633325f1ed6 +size 147260 diff --git a/Content/Torches/Meshes/SM_Torch_05.uasset b/Content/Torches/Meshes/SM_Torch_05.uasset new file mode 100644 index 0000000..94787dc --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_05.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f76179a7fa02730d62f66655b814b06523f94e38c123a6f6a26c37603eaabc +size 233990 diff --git a/Content/Torches/Meshes/SM_Torch_06.uasset b/Content/Torches/Meshes/SM_Torch_06.uasset new file mode 100644 index 0000000..a5a0c66 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df0bbf9813db24a140cb9495704e2ec1f5232dc55330856b9f9d0669444913c0 +size 144274 diff --git a/Content/Torches/Meshes/SM_Torch_07.uasset b/Content/Torches/Meshes/SM_Torch_07.uasset new file mode 100644 index 0000000..fbf2f9e --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_07.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9435bdb7ea49d293fa235db0f4d26d985b30213795eb20b65e588ab3d1772f7b +size 151854 diff --git a/Content/Torches/Meshes/SM_Torch_08.uasset b/Content/Torches/Meshes/SM_Torch_08.uasset new file mode 100644 index 0000000..c7480e7 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:777d5036f0d70df7bb24b844ec13dc44d6db4aadff8d4efc8c5840b0f0f962cf +size 215769 diff --git a/Content/Torches/Meshes/SM_Torch_09.uasset b/Content/Torches/Meshes/SM_Torch_09.uasset new file mode 100644 index 0000000..4510e72 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d03dc829a04f18e1d31108c14f37a59d86c00973c27f200f33ca9faf618aaab4 +size 227824 diff --git a/Content/Torches/Meshes/SM_Torch_10.uasset b/Content/Torches/Meshes/SM_Torch_10.uasset new file mode 100644 index 0000000..d67f1ba --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb02b9efe29d1a332ea3deda94863273274546d0cb80b2ca5c43c3453b1939f5 +size 175440 diff --git a/Content/Torches/Meshes/SM_Torch_11.uasset b/Content/Torches/Meshes/SM_Torch_11.uasset new file mode 100644 index 0000000..44a4a7a --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_11.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac7a04d0accfc9b63c0387b9aa555f3914fb9983051db086ebb24a8b7d8adc7e +size 313693 diff --git a/Content/Torches/Meshes/SM_Torch_12.uasset b/Content/Torches/Meshes/SM_Torch_12.uasset new file mode 100644 index 0000000..b1b5517 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_12.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d73720b7ddf428a171bb27029a2ee3cd29e054f7cb5422c947dc2f613747285 +size 368427 diff --git a/Content/Torches/Meshes/SM_Torch_13.uasset b/Content/Torches/Meshes/SM_Torch_13.uasset new file mode 100644 index 0000000..966c218 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_13.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea1f50d3bccfdb7266fddb24cc128b759a8082af870e43dea6f83343afd961fa +size 379651 diff --git a/Content/Torches/Meshes/SM_Torch_14.uasset b/Content/Torches/Meshes/SM_Torch_14.uasset new file mode 100644 index 0000000..ee8546a --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_14.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34da9c039f271fdd5ad292dbf0eb4338e8e293476d4f2377a3b55ae1d12f3454 +size 364063 diff --git a/Content/Torches/Meshes/SM_Torch_15.uasset b/Content/Torches/Meshes/SM_Torch_15.uasset new file mode 100644 index 0000000..792c71a --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_15.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55bb4ca52db45de400ded4d7e17ef7f0bc3f985b40aa450c0852c13c8cd55466 +size 139397 diff --git a/Content/Torches/Meshes/SM_Torch_16.uasset b/Content/Torches/Meshes/SM_Torch_16.uasset new file mode 100644 index 0000000..300d142 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_16.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b4495e432607440dc8db113a856c769a1e4ca207d5a8806b9f7dd15a3db654c +size 271765 diff --git a/Content/Torches/Meshes/SM_Torch_17.uasset b/Content/Torches/Meshes/SM_Torch_17.uasset new file mode 100644 index 0000000..cdd3605 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_17.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e36ca5708867ce31440dbf4d290d9b703b5acf0e55525f6f67db6d53478cc23c +size 371309 diff --git a/Content/Torches/Meshes/SM_Torch_18.uasset b/Content/Torches/Meshes/SM_Torch_18.uasset new file mode 100644 index 0000000..176979a --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_18.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2718d44740f0a5a4b7d1efe5d7280f40b113def6b1ca39ec846150450e23383f +size 166477 diff --git a/Content/Torches/Meshes/SM_Torch_19.uasset b/Content/Torches/Meshes/SM_Torch_19.uasset new file mode 100644 index 0000000..ee74d44 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_19.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b414c05b3c315c5a9a88aa92dfe79059ff6802d166404b2bf668c31e7765b808 +size 332022 diff --git a/Content/Torches/Meshes/SM_Torch_20.uasset b/Content/Torches/Meshes/SM_Torch_20.uasset new file mode 100644 index 0000000..4a6539f --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_20.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:907e30cdcd64163c6d4347789e2f3d13625113d7364c22a688513fe136252441 +size 147487 diff --git a/Content/Torches/Meshes/SM_Torch_21.uasset b/Content/Torches/Meshes/SM_Torch_21.uasset new file mode 100644 index 0000000..6b730ca --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_21.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc91f9e00c0b691b682de3d73acb354842277fcc0e0fa5f2a155651c0b2b4a86 +size 172103 diff --git a/Content/Torches/Meshes/SM_Torch_22.uasset b/Content/Torches/Meshes/SM_Torch_22.uasset new file mode 100644 index 0000000..1d669d4 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_22.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1d8fe1ece0850cc45ff6e389c4cb12ade079d9102d9615b08343a3dc5a1a393 +size 183566 diff --git a/Content/Torches/Meshes/SM_Torch_23.uasset b/Content/Torches/Meshes/SM_Torch_23.uasset new file mode 100644 index 0000000..8a31095 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_23.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7207334587c44c526aa88383ddf1422f32798cc8d084168c4183b78ff31784ac +size 153115 diff --git a/Content/Torches/Meshes/SM_Torch_24.uasset b/Content/Torches/Meshes/SM_Torch_24.uasset new file mode 100644 index 0000000..2b0d34b --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_24.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dff61e56d0ea93e3430ea56c9a5a490070e28f75a8691d9089a4d6b1e5c89c1 +size 164380 diff --git a/Content/Torches/Meshes/SM_Torch_25.uasset b/Content/Torches/Meshes/SM_Torch_25.uasset new file mode 100644 index 0000000..5a95d74 --- /dev/null +++ b/Content/Torches/Meshes/SM_Torch_25.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2010a45ef71e5b451a18c3aa1997350dc599084429d2855371c17212fb3febb8 +size 71884 diff --git a/Content/Torches/Particle_Systems/PS_Fire.uasset b/Content/Torches/Particle_Systems/PS_Fire.uasset new file mode 100644 index 0000000..16b993c --- /dev/null +++ b/Content/Torches/Particle_Systems/PS_Fire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e0c4ffeb7b8a18bd73fbda2e55d424f3197bbb206cff5910c394ad7669fa38b +size 43933 diff --git a/Content/Torches/Particle_Systems/PS_Fire1.uasset b/Content/Torches/Particle_Systems/PS_Fire1.uasset new file mode 100644 index 0000000..8d47f7f --- /dev/null +++ b/Content/Torches/Particle_Systems/PS_Fire1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ffa19ed835ca452cb0eebb6314920b1280e113e5b0d8f966e7ed9ebfa6ca763 +size 42045 diff --git a/Content/Torches/Particle_Systems/PS_FireKaichang.uasset b/Content/Torches/Particle_Systems/PS_FireKaichang.uasset new file mode 100644 index 0000000..36344fa --- /dev/null +++ b/Content/Torches/Particle_Systems/PS_FireKaichang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:902a67b8203ca6f878e71b59667006fa1ea4c79d603689d442b472bbffbe8590 +size 20354 diff --git a/Content/Torches/Particle_Systems/PS_FireKaichang1.uasset b/Content/Torches/Particle_Systems/PS_FireKaichang1.uasset new file mode 100644 index 0000000..af57237 --- /dev/null +++ b/Content/Torches/Particle_Systems/PS_FireKaichang1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c925dabcdbf6a899de3f151d94d7c15f158df2dc9a34fd582cae089751f3d60e +size 20388 diff --git a/Content/Torches/Particle_Systems/PS_Firechanglang.uasset b/Content/Torches/Particle_Systems/PS_Firechanglang.uasset new file mode 100644 index 0000000..53d6b43 --- /dev/null +++ b/Content/Torches/Particle_Systems/PS_Firechanglang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a00c9ed1f11e8a8c8a17dfc788d00ad50fcd7fe73510cf3d34734742544d0724 +size 20275 diff --git a/Content/Torches/Textures/T_Fire/T_Fire_SubUV.uasset b/Content/Torches/Textures/T_Fire/T_Fire_SubUV.uasset new file mode 100644 index 0000000..653c15e --- /dev/null +++ b/Content/Torches/Textures/T_Fire/T_Fire_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09feedcc78b0d25e354b4935829778fbd256cf3cb76376969e1a5a8f7e27edf5 +size 58675 diff --git a/Content/Torches/Textures/T_Fire/T_Fire_Tiled_D.uasset b/Content/Torches/Textures/T_Fire/T_Fire_Tiled_D.uasset new file mode 100644 index 0000000..214d02e --- /dev/null +++ b/Content/Torches/Textures/T_Fire/T_Fire_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df0c29fe9b34036147b3acb12c32bf9560b76f01e3ac934b1ea6ae7685a9bec1 +size 162468 diff --git a/Content/Torches/Textures/T_Fire/T_Smoke_SubUV.uasset b/Content/Torches/Textures/T_Fire/T_Smoke_SubUV.uasset new file mode 100644 index 0000000..c2429f6 --- /dev/null +++ b/Content/Torches/Textures/T_Fire/T_Smoke_SubUV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:953b9ed1d45a17a3d352c71c76fb950171a8de7dff03f37b0d962f78da33b557 +size 103960 diff --git a/Content/Torches/Textures/T_Fire/T_Smoke_Tiled_D.uasset b/Content/Torches/Textures/T_Fire/T_Smoke_Tiled_D.uasset new file mode 100644 index 0000000..3653d26 --- /dev/null +++ b/Content/Torches/Textures/T_Fire/T_Smoke_Tiled_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29d46140b6cf593f8b99ab9e191717a8477a884cf1eae7558def858dbe2fad40 +size 44109 diff --git a/Content/Torches/Textures/Torch_00/T_Torch_00_AO_R_MT.uasset b/Content/Torches/Textures/Torch_00/T_Torch_00_AO_R_MT.uasset new file mode 100644 index 0000000..26da91c --- /dev/null +++ b/Content/Torches/Textures/Torch_00/T_Torch_00_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca84ee0088dabb69ee0b45267268d24f770aa96f45839d006693ab37ad033670 +size 21894152 diff --git a/Content/Torches/Textures/Torch_00/T_Torch_00_BC.uasset b/Content/Torches/Textures/Torch_00/T_Torch_00_BC.uasset new file mode 100644 index 0000000..9a760cd --- /dev/null +++ b/Content/Torches/Textures/Torch_00/T_Torch_00_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:779d5ebf6422db7ca2f41f1718026c5444cc4fabb41078d2debbe7e881bddc6c +size 9944804 diff --git a/Content/Torches/Textures/Torch_00/T_Torch_00_N.uasset b/Content/Torches/Textures/Torch_00/T_Torch_00_N.uasset new file mode 100644 index 0000000..fab1922 --- /dev/null +++ b/Content/Torches/Textures/Torch_00/T_Torch_00_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551c3f47ab7ff48a5b2bd89feeaab1a47f73edfa35aca3df5e7ba880a18c96c8 +size 16268520 diff --git a/Content/Torches/Textures/Torch_01/T_Torch_01_AO_R_MT.uasset b/Content/Torches/Textures/Torch_01/T_Torch_01_AO_R_MT.uasset new file mode 100644 index 0000000..6943489 --- /dev/null +++ b/Content/Torches/Textures/Torch_01/T_Torch_01_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a00a9d3a4e3ba7acce19058ddb7f9b84abcaba4489612dc25d062b747f72f700 +size 19738716 diff --git a/Content/Torches/Textures/Torch_01/T_Torch_01_BC.uasset b/Content/Torches/Textures/Torch_01/T_Torch_01_BC.uasset new file mode 100644 index 0000000..893284b --- /dev/null +++ b/Content/Torches/Textures/Torch_01/T_Torch_01_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1237a547c534395177f925264df40c52ebe1faa9de4c22608b61eb88fc5284eb +size 9289682 diff --git a/Content/Torches/Textures/Torch_01/T_Torch_01_N.uasset b/Content/Torches/Textures/Torch_01/T_Torch_01_N.uasset new file mode 100644 index 0000000..ac3a8ff --- /dev/null +++ b/Content/Torches/Textures/Torch_01/T_Torch_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b5172dfbaa668b502de671cb2c6ba7bd6f5178858e40fa235dd5e96e7ed050d +size 14398385 diff --git a/Content/Torches/Textures/Torch_02/T_Torch_02_AO_R_MT.uasset b/Content/Torches/Textures/Torch_02/T_Torch_02_AO_R_MT.uasset new file mode 100644 index 0000000..1c76c24 --- /dev/null +++ b/Content/Torches/Textures/Torch_02/T_Torch_02_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec2874e46471fad89c6ddc6b19543fbece58c736fa8f012f83cd280df6d7461b +size 15524299 diff --git a/Content/Torches/Textures/Torch_02/T_Torch_02_BC.uasset b/Content/Torches/Textures/Torch_02/T_Torch_02_BC.uasset new file mode 100644 index 0000000..23ce582 --- /dev/null +++ b/Content/Torches/Textures/Torch_02/T_Torch_02_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a040a84610c573bfc73ee5e0d193f765c0e45f9326f653b07cce5f0da3f40f +size 9371221 diff --git a/Content/Torches/Textures/Torch_02/T_Torch_02_N.uasset b/Content/Torches/Textures/Torch_02/T_Torch_02_N.uasset new file mode 100644 index 0000000..e6f9f9d --- /dev/null +++ b/Content/Torches/Textures/Torch_02/T_Torch_02_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:604a0c39b1bdf2192779838895f4c816d3f71c67b91bf76aa1bd5fbecb0993f1 +size 13426595 diff --git a/Content/Torches/Textures/Torch_03/T_Torch_03_AO_R_MT.uasset b/Content/Torches/Textures/Torch_03/T_Torch_03_AO_R_MT.uasset new file mode 100644 index 0000000..63ef8d5 --- /dev/null +++ b/Content/Torches/Textures/Torch_03/T_Torch_03_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd193319447faf08e90a6586ca09556f17c5c6df2da20be3fd1b919817295828 +size 17873252 diff --git a/Content/Torches/Textures/Torch_03/T_Torch_03_BC.uasset b/Content/Torches/Textures/Torch_03/T_Torch_03_BC.uasset new file mode 100644 index 0000000..03ade9d --- /dev/null +++ b/Content/Torches/Textures/Torch_03/T_Torch_03_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4178516dd4faf7da39aadfb17531b0aab749c4a50356985cee1a8837ce9fee28 +size 9056838 diff --git a/Content/Torches/Textures/Torch_03/T_Torch_03_N.uasset b/Content/Torches/Textures/Torch_03/T_Torch_03_N.uasset new file mode 100644 index 0000000..ec5562e --- /dev/null +++ b/Content/Torches/Textures/Torch_03/T_Torch_03_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff2641cb0162523db62d385f2809e2e5d5e1f020820e2f9433832aa5c22e1eb8 +size 13958369 diff --git a/Content/Torches/Textures/Torch_04/T_Torch_04_AO_R_MT.uasset b/Content/Torches/Textures/Torch_04/T_Torch_04_AO_R_MT.uasset new file mode 100644 index 0000000..dd2b146 --- /dev/null +++ b/Content/Torches/Textures/Torch_04/T_Torch_04_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9ca24d7c73444d006defd5d57e090cea2e02861f352f167b55fdb3a0a01bc9 +size 20064326 diff --git a/Content/Torches/Textures/Torch_04/T_Torch_04_BC.uasset b/Content/Torches/Textures/Torch_04/T_Torch_04_BC.uasset new file mode 100644 index 0000000..4277356 --- /dev/null +++ b/Content/Torches/Textures/Torch_04/T_Torch_04_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6069dd0e772cb364b091297ce641bafccc42d456b19df994de4a592a77ab5c63 +size 10417137 diff --git a/Content/Torches/Textures/Torch_04/T_Torch_04_N.uasset b/Content/Torches/Textures/Torch_04/T_Torch_04_N.uasset new file mode 100644 index 0000000..c273454 --- /dev/null +++ b/Content/Torches/Textures/Torch_04/T_Torch_04_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ff2ccb15515cd7a7236cfc4173045f02d208f5e1de6ce6d8d7683074793915 +size 14401759 diff --git a/Content/Torches/Textures/Torch_05/T_Torch_05_AO_R_MT.uasset b/Content/Torches/Textures/Torch_05/T_Torch_05_AO_R_MT.uasset new file mode 100644 index 0000000..119c2f2 --- /dev/null +++ b/Content/Torches/Textures/Torch_05/T_Torch_05_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21f5788457d2bff5238ca181a5cfd3f989212c7e0e87389e33c56bbada3b5dfc +size 17894785 diff --git a/Content/Torches/Textures/Torch_05/T_Torch_05_BC.uasset b/Content/Torches/Textures/Torch_05/T_Torch_05_BC.uasset new file mode 100644 index 0000000..157eab2 --- /dev/null +++ b/Content/Torches/Textures/Torch_05/T_Torch_05_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85f663ebc89bd5283f6c62c83b9dfe2293178bf12dd21882a22896244a72464b +size 10796052 diff --git a/Content/Torches/Textures/Torch_05/T_Torch_05_N.uasset b/Content/Torches/Textures/Torch_05/T_Torch_05_N.uasset new file mode 100644 index 0000000..d72dc55 --- /dev/null +++ b/Content/Torches/Textures/Torch_05/T_Torch_05_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8919118b857824140c887286ad3541e4de049cded1ebc890a6048ee9549cb4ca +size 16101910 diff --git a/Content/Torches/Textures/Torch_06/T_Torch_06_AO_R_MT.uasset b/Content/Torches/Textures/Torch_06/T_Torch_06_AO_R_MT.uasset new file mode 100644 index 0000000..ae4dfc9 --- /dev/null +++ b/Content/Torches/Textures/Torch_06/T_Torch_06_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b060e2404cd9ea3d4f6a5860ed86b517ee7a22d04e948b2341b59f92c29cd6 +size 20105000 diff --git a/Content/Torches/Textures/Torch_06/T_Torch_06_BC.uasset b/Content/Torches/Textures/Torch_06/T_Torch_06_BC.uasset new file mode 100644 index 0000000..da73403 --- /dev/null +++ b/Content/Torches/Textures/Torch_06/T_Torch_06_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1d325f52276209bba0756edaf367c8a56bc24a145766921fe37dd99aae07ce8 +size 16776990 diff --git a/Content/Torches/Textures/Torch_06/T_Torch_06_N.uasset b/Content/Torches/Textures/Torch_06/T_Torch_06_N.uasset new file mode 100644 index 0000000..94b33e0 --- /dev/null +++ b/Content/Torches/Textures/Torch_06/T_Torch_06_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a448144b3ecdb0540e2cc264beeaee415343d0ab241a4cf05004116ee888e2 +size 19412158 diff --git a/Content/Torches/Textures/Torch_07/T_Torch_07_AO_R_MT.uasset b/Content/Torches/Textures/Torch_07/T_Torch_07_AO_R_MT.uasset new file mode 100644 index 0000000..8953fd5 --- /dev/null +++ b/Content/Torches/Textures/Torch_07/T_Torch_07_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57664113877debd9e4a2f9a0c52ec5a6fee96fe197e6a559b4b475e5ffc017f2 +size 16284190 diff --git a/Content/Torches/Textures/Torch_07/T_Torch_07_BC.uasset b/Content/Torches/Textures/Torch_07/T_Torch_07_BC.uasset new file mode 100644 index 0000000..b70bac6 --- /dev/null +++ b/Content/Torches/Textures/Torch_07/T_Torch_07_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f04c355a788821b1d27f909c5c32fb03fa97df86b6c950088ab45ee5db0702c +size 10768235 diff --git a/Content/Torches/Textures/Torch_07/T_Torch_07_N.uasset b/Content/Torches/Textures/Torch_07/T_Torch_07_N.uasset new file mode 100644 index 0000000..22b89f3 --- /dev/null +++ b/Content/Torches/Textures/Torch_07/T_Torch_07_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6438eb89790731ca342ba913b0c2c48f48c4f7d5ca8a643364b88646a5f1cc70 +size 14096368 diff --git a/Content/Torches/Textures/Torch_08/T_Torch_08_AO_R_MT.uasset b/Content/Torches/Textures/Torch_08/T_Torch_08_AO_R_MT.uasset new file mode 100644 index 0000000..10bae66 --- /dev/null +++ b/Content/Torches/Textures/Torch_08/T_Torch_08_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dbf9f83d2b144b2855893f21c32560f6a520a83e3307c14763fbaebb72404a1 +size 14760987 diff --git a/Content/Torches/Textures/Torch_08/T_Torch_08_BC.uasset b/Content/Torches/Textures/Torch_08/T_Torch_08_BC.uasset new file mode 100644 index 0000000..a8726ac --- /dev/null +++ b/Content/Torches/Textures/Torch_08/T_Torch_08_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cdaa27e170e9d1ad350d112e41f86cad494297ae97beb6ff46ae9c66267f200 +size 14229441 diff --git a/Content/Torches/Textures/Torch_08/T_Torch_08_N.uasset b/Content/Torches/Textures/Torch_08/T_Torch_08_N.uasset new file mode 100644 index 0000000..313dd0f --- /dev/null +++ b/Content/Torches/Textures/Torch_08/T_Torch_08_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bad549f854b0c09657fe4c56fe6512434bb4f00491e363673e0816ced0b234d +size 21492595 diff --git a/Content/Torches/Textures/Torch_09/T_Torch_09_AO_R_MT.uasset b/Content/Torches/Textures/Torch_09/T_Torch_09_AO_R_MT.uasset new file mode 100644 index 0000000..b6cc658 --- /dev/null +++ b/Content/Torches/Textures/Torch_09/T_Torch_09_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa13a21bc4e23b309ef7084a0dd365be0f468c67e611ca72ed4bd9b52521bae9 +size 13723552 diff --git a/Content/Torches/Textures/Torch_09/T_Torch_09_BC.uasset b/Content/Torches/Textures/Torch_09/T_Torch_09_BC.uasset new file mode 100644 index 0000000..a728bef --- /dev/null +++ b/Content/Torches/Textures/Torch_09/T_Torch_09_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e33e812fbcf558be39dc57feea3d1277427fb7e231d366b05d845d77ebf869 +size 14439031 diff --git a/Content/Torches/Textures/Torch_09/T_Torch_09_N.uasset b/Content/Torches/Textures/Torch_09/T_Torch_09_N.uasset new file mode 100644 index 0000000..138e83e --- /dev/null +++ b/Content/Torches/Textures/Torch_09/T_Torch_09_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ec31cf2d8e362f8d1142dfb99ceae70d52e8954ceed4a5793160dc22705e696 +size 21229446 diff --git a/Content/Torches/Textures/Torch_10/T_Torch_10_AO_R_MT.uasset b/Content/Torches/Textures/Torch_10/T_Torch_10_AO_R_MT.uasset new file mode 100644 index 0000000..90d9f47 --- /dev/null +++ b/Content/Torches/Textures/Torch_10/T_Torch_10_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cad7ad5eade788e53905a8541f82f9057d6bbf8680853e16600155b1c5271205 +size 17861176 diff --git a/Content/Torches/Textures/Torch_10/T_Torch_10_BC.uasset b/Content/Torches/Textures/Torch_10/T_Torch_10_BC.uasset new file mode 100644 index 0000000..13367ca --- /dev/null +++ b/Content/Torches/Textures/Torch_10/T_Torch_10_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7ca1b1075fa4b01f7996bd76fb247489b2affe16180ddc617d07ea0bf242ea7 +size 13199134 diff --git a/Content/Torches/Textures/Torch_10/T_Torch_10_N.uasset b/Content/Torches/Textures/Torch_10/T_Torch_10_N.uasset new file mode 100644 index 0000000..27dc0e1 --- /dev/null +++ b/Content/Torches/Textures/Torch_10/T_Torch_10_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129306a9e3d927ec068a584d5e6a5faf7003405e9ad94514c2f5c2b1b98434e1 +size 17393717 diff --git a/Content/Torches/Textures/Torch_11/T_Torch_11_AO_R_MT.uasset b/Content/Torches/Textures/Torch_11/T_Torch_11_AO_R_MT.uasset new file mode 100644 index 0000000..47cf362 --- /dev/null +++ b/Content/Torches/Textures/Torch_11/T_Torch_11_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0795c4e31ddd647499a6496385eca144f644d1200cc5c0f54d39231d848d0d4 +size 13169497 diff --git a/Content/Torches/Textures/Torch_11/T_Torch_11_BC.uasset b/Content/Torches/Textures/Torch_11/T_Torch_11_BC.uasset new file mode 100644 index 0000000..2934ac4 --- /dev/null +++ b/Content/Torches/Textures/Torch_11/T_Torch_11_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5b85a97f841151b994be9f4ee239945ff47a9ab5e708ba4546460a05ded3121 +size 9794866 diff --git a/Content/Torches/Textures/Torch_11/T_Torch_11_N.uasset b/Content/Torches/Textures/Torch_11/T_Torch_11_N.uasset new file mode 100644 index 0000000..f02c850 --- /dev/null +++ b/Content/Torches/Textures/Torch_11/T_Torch_11_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84e9137449a4c8bf34781caa855d2d9daac0ad227371564729c1846ae1cd845e +size 14431958 diff --git a/Content/Torches/Textures/Torch_12/T_Torch_12_AO_R_MT.uasset b/Content/Torches/Textures/Torch_12/T_Torch_12_AO_R_MT.uasset new file mode 100644 index 0000000..a69f11c --- /dev/null +++ b/Content/Torches/Textures/Torch_12/T_Torch_12_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3442b98abee08ea7081259d625a54f42e2a60bb5f0cb9bca89b6fe715f76cd6 +size 13541991 diff --git a/Content/Torches/Textures/Torch_12/T_Torch_12_BC.uasset b/Content/Torches/Textures/Torch_12/T_Torch_12_BC.uasset new file mode 100644 index 0000000..c777635 --- /dev/null +++ b/Content/Torches/Textures/Torch_12/T_Torch_12_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82315e116be3a5e7fcd8290829fc7f4a045c49f9cc494dcf161465cb0641003e +size 9793529 diff --git a/Content/Torches/Textures/Torch_12/T_Torch_12_N.uasset b/Content/Torches/Textures/Torch_12/T_Torch_12_N.uasset new file mode 100644 index 0000000..594ff1a --- /dev/null +++ b/Content/Torches/Textures/Torch_12/T_Torch_12_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f036d1474937f784ebda99f8ecde964aae726a860423462d1461d902c421a3c4 +size 13862976 diff --git a/Content/Torches/Textures/Torch_13/T_Torch_13_AO_R_MT.uasset b/Content/Torches/Textures/Torch_13/T_Torch_13_AO_R_MT.uasset new file mode 100644 index 0000000..ec9796c --- /dev/null +++ b/Content/Torches/Textures/Torch_13/T_Torch_13_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfec34691912b30d8d9cc145074f366bf463a3792090f86ac728f9325aa594cf +size 14853292 diff --git a/Content/Torches/Textures/Torch_13/T_Torch_13_BC.uasset b/Content/Torches/Textures/Torch_13/T_Torch_13_BC.uasset new file mode 100644 index 0000000..d0ee702 --- /dev/null +++ b/Content/Torches/Textures/Torch_13/T_Torch_13_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebb29c4ef1549357e8a0eb53054ad6f9b203ee63d4f71d6784da6001d03dbeb3 +size 10126215 diff --git a/Content/Torches/Textures/Torch_13/T_Torch_13_N.uasset b/Content/Torches/Textures/Torch_13/T_Torch_13_N.uasset new file mode 100644 index 0000000..129ac7f --- /dev/null +++ b/Content/Torches/Textures/Torch_13/T_Torch_13_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdb3e61e1024a3ea6ddd9ee2cb956f5e6368b17bc5ecad79c5fffc8d7c26fc54 +size 15039434 diff --git a/Content/Torches/Textures/Torch_14/T_Torch_14_AO_R_MT.uasset b/Content/Torches/Textures/Torch_14/T_Torch_14_AO_R_MT.uasset new file mode 100644 index 0000000..dff7876 --- /dev/null +++ b/Content/Torches/Textures/Torch_14/T_Torch_14_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f285e550f463e1cd474be6cb87db82e6b1fadbb187a41058245ee50702421a30 +size 16888160 diff --git a/Content/Torches/Textures/Torch_14/T_Torch_14_BC.uasset b/Content/Torches/Textures/Torch_14/T_Torch_14_BC.uasset new file mode 100644 index 0000000..1d72a0f --- /dev/null +++ b/Content/Torches/Textures/Torch_14/T_Torch_14_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f7fe35e49bd24f1536b8ef87455847c74bde6918092020529b4fdc768e7f42e +size 10053269 diff --git a/Content/Torches/Textures/Torch_14/T_Torch_14_N.uasset b/Content/Torches/Textures/Torch_14/T_Torch_14_N.uasset new file mode 100644 index 0000000..cab0127 --- /dev/null +++ b/Content/Torches/Textures/Torch_14/T_Torch_14_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab162fe99786794696571e5bd843c23e35bf199e37073641deb0e07d6d4d402b +size 13377455 diff --git a/Content/Torches/Textures/Torch_15/T_Torch_15_AO_R_MT.uasset b/Content/Torches/Textures/Torch_15/T_Torch_15_AO_R_MT.uasset new file mode 100644 index 0000000..60401e6 --- /dev/null +++ b/Content/Torches/Textures/Torch_15/T_Torch_15_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3904b498d196d6eb6d199e38949e28fee316e591bb7b547374fc57dcb78c5914 +size 19584410 diff --git a/Content/Torches/Textures/Torch_15/T_Torch_15_BC.uasset b/Content/Torches/Textures/Torch_15/T_Torch_15_BC.uasset new file mode 100644 index 0000000..5e42d16 --- /dev/null +++ b/Content/Torches/Textures/Torch_15/T_Torch_15_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1269916762d5a786a23e532abe14a916591a50b37c50a263807f4e28ff78381 +size 15201623 diff --git a/Content/Torches/Textures/Torch_15/T_Torch_15_N.uasset b/Content/Torches/Textures/Torch_15/T_Torch_15_N.uasset new file mode 100644 index 0000000..d34ef20 --- /dev/null +++ b/Content/Torches/Textures/Torch_15/T_Torch_15_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:640f31d326ab1c51a6490845350570ea1bed5a5cf5bb6acade2a1fc058bce281 +size 18026819 diff --git a/Content/Torches/Textures/Torch_16/T_Torch_16_AO_R_MT.uasset b/Content/Torches/Textures/Torch_16/T_Torch_16_AO_R_MT.uasset new file mode 100644 index 0000000..4fdfd11 --- /dev/null +++ b/Content/Torches/Textures/Torch_16/T_Torch_16_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e086e06672cd2c786aa4af63fb13ac078335f7cb270903f2c1079c5901a9aea7 +size 18224959 diff --git a/Content/Torches/Textures/Torch_16/T_Torch_16_BC.uasset b/Content/Torches/Textures/Torch_16/T_Torch_16_BC.uasset new file mode 100644 index 0000000..02f3716 --- /dev/null +++ b/Content/Torches/Textures/Torch_16/T_Torch_16_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c8112b326fed5c9321ee5d5360c6d05a99a8b63ffe630fa38ede12daf62f62e +size 10219187 diff --git a/Content/Torches/Textures/Torch_16/T_Torch_16_N.uasset b/Content/Torches/Textures/Torch_16/T_Torch_16_N.uasset new file mode 100644 index 0000000..8c8844a --- /dev/null +++ b/Content/Torches/Textures/Torch_16/T_Torch_16_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09d282a1874d03dfbf87fb52674bd7e1f4d28cd3677ab6ba43b8aea3b457784b +size 14088491 diff --git a/Content/Torches/Textures/Torch_17/T_Torch_17_AO_R_MT.uasset b/Content/Torches/Textures/Torch_17/T_Torch_17_AO_R_MT.uasset new file mode 100644 index 0000000..7198bec --- /dev/null +++ b/Content/Torches/Textures/Torch_17/T_Torch_17_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cfab93f42a359cf2c56e8aa9bbe8625cb9dd7bee17d49cb1bad827ac415406a +size 13866392 diff --git a/Content/Torches/Textures/Torch_17/T_Torch_17_BC.uasset b/Content/Torches/Textures/Torch_17/T_Torch_17_BC.uasset new file mode 100644 index 0000000..8989fe2 --- /dev/null +++ b/Content/Torches/Textures/Torch_17/T_Torch_17_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00c689ac10a453a38a0d6b5c44c445de3560a2639731c2734953c44100e64ed2 +size 9149328 diff --git a/Content/Torches/Textures/Torch_17/T_Torch_17_N.uasset b/Content/Torches/Textures/Torch_17/T_Torch_17_N.uasset new file mode 100644 index 0000000..06c9513 --- /dev/null +++ b/Content/Torches/Textures/Torch_17/T_Torch_17_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:627c02bd868faeffe2346c743bc1344a643ac68ef41031a779dcb33574ac0cc4 +size 13591959 diff --git a/Content/Torches/Textures/Torch_18/T_Torch_18_AO_R_MT.uasset b/Content/Torches/Textures/Torch_18/T_Torch_18_AO_R_MT.uasset new file mode 100644 index 0000000..dee618a --- /dev/null +++ b/Content/Torches/Textures/Torch_18/T_Torch_18_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6675affa12cf5c35ee3a13af3de938dc2814d60385bda46c8e4571249295e7a3 +size 18803467 diff --git a/Content/Torches/Textures/Torch_18/T_Torch_18_BC.uasset b/Content/Torches/Textures/Torch_18/T_Torch_18_BC.uasset new file mode 100644 index 0000000..fe26f79 --- /dev/null +++ b/Content/Torches/Textures/Torch_18/T_Torch_18_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:500f767f59b1e85afe25775ba3b0411806bb2ee35fc3390de9a47b6367d24786 +size 11232268 diff --git a/Content/Torches/Textures/Torch_18/T_Torch_18_N.uasset b/Content/Torches/Textures/Torch_18/T_Torch_18_N.uasset new file mode 100644 index 0000000..7af147e --- /dev/null +++ b/Content/Torches/Textures/Torch_18/T_Torch_18_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f703683a3450bb84ac963370437c720ed9017e12bf04acef3225f45077cc4ca1 +size 15226448 diff --git a/Content/Torches/Textures/Torch_19/T_Torch_19_AO_R_MT.uasset b/Content/Torches/Textures/Torch_19/T_Torch_19_AO_R_MT.uasset new file mode 100644 index 0000000..6e7aa63 --- /dev/null +++ b/Content/Torches/Textures/Torch_19/T_Torch_19_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:255dbb6843f72b39a831b5d320bd912a324743453a32780f0f1b318aa7aa8d7f +size 14376475 diff --git a/Content/Torches/Textures/Torch_19/T_Torch_19_BC.uasset b/Content/Torches/Textures/Torch_19/T_Torch_19_BC.uasset new file mode 100644 index 0000000..0efcc6a --- /dev/null +++ b/Content/Torches/Textures/Torch_19/T_Torch_19_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b858d67812e84cc084ddaf18730653d82ef06cf6890832df340d6d93b9d58a9c +size 10393848 diff --git a/Content/Torches/Textures/Torch_19/T_Torch_19_N.uasset b/Content/Torches/Textures/Torch_19/T_Torch_19_N.uasset new file mode 100644 index 0000000..8ea1e3e --- /dev/null +++ b/Content/Torches/Textures/Torch_19/T_Torch_19_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8308c2efc4d829d540b0ad706b1858b2b92a9888ba6256571931981a6ebe564f +size 14054215 diff --git a/Content/Torches/Textures/Torch_20/T_Torch_20_AO_R_MT.uasset b/Content/Torches/Textures/Torch_20/T_Torch_20_AO_R_MT.uasset new file mode 100644 index 0000000..eb67514 --- /dev/null +++ b/Content/Torches/Textures/Torch_20/T_Torch_20_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f2591f4b30377685ed99ba6e79dbdc32643b8d8598f7643a7db38c18a703a17 +size 18822110 diff --git a/Content/Torches/Textures/Torch_20/T_Torch_20_BC.uasset b/Content/Torches/Textures/Torch_20/T_Torch_20_BC.uasset new file mode 100644 index 0000000..44e47cd --- /dev/null +++ b/Content/Torches/Textures/Torch_20/T_Torch_20_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f5d306a390b8db39209b779ae6a721866beeecd2b83c5753ef314ccbc879dd2 +size 12196699 diff --git a/Content/Torches/Textures/Torch_20/T_Torch_20_N.uasset b/Content/Torches/Textures/Torch_20/T_Torch_20_N.uasset new file mode 100644 index 0000000..4fbf630 --- /dev/null +++ b/Content/Torches/Textures/Torch_20/T_Torch_20_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:947ae54ca4a955610d542b7b3a526b4e9a5a3af7d4f58fb71f7f8a60b98ee42c +size 15499799 diff --git a/Content/Torches/Textures/Torch_21/T_Torch_21_AO_R_MT.uasset b/Content/Torches/Textures/Torch_21/T_Torch_21_AO_R_MT.uasset new file mode 100644 index 0000000..a1584bb --- /dev/null +++ b/Content/Torches/Textures/Torch_21/T_Torch_21_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfff776bf90fc5e027135f7171a836cffbea55acf69bb78a4099e6f248959a5b +size 15031176 diff --git a/Content/Torches/Textures/Torch_21/T_Torch_21_BC.uasset b/Content/Torches/Textures/Torch_21/T_Torch_21_BC.uasset new file mode 100644 index 0000000..75376a2 --- /dev/null +++ b/Content/Torches/Textures/Torch_21/T_Torch_21_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71f51a449cfc5f70a4aac945dabbade1aee4f527a0105b90d15c09536e00e31d +size 9857683 diff --git a/Content/Torches/Textures/Torch_21/T_Torch_21_N.uasset b/Content/Torches/Textures/Torch_21/T_Torch_21_N.uasset new file mode 100644 index 0000000..fb12879 --- /dev/null +++ b/Content/Torches/Textures/Torch_21/T_Torch_21_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:836c6510e2b1649f25ff29c96e6bcd69e3a35fcaab53e802ef34aab503b79bc5 +size 14308558 diff --git a/Content/Torches/Textures/Torch_22/T_Torch_22_AO_R_MT.uasset b/Content/Torches/Textures/Torch_22/T_Torch_22_AO_R_MT.uasset new file mode 100644 index 0000000..d67df5a --- /dev/null +++ b/Content/Torches/Textures/Torch_22/T_Torch_22_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84e7428c12eb8097dbf7d03ce0902219244aa76968d75257f94cc1d766dd1e77 +size 18317002 diff --git a/Content/Torches/Textures/Torch_22/T_Torch_22_BC.uasset b/Content/Torches/Textures/Torch_22/T_Torch_22_BC.uasset new file mode 100644 index 0000000..2d8c230 --- /dev/null +++ b/Content/Torches/Textures/Torch_22/T_Torch_22_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1d634d5f945643ca580f64de307447ebac37a696e397145a4c6ad9b5e710dd9 +size 13581206 diff --git a/Content/Torches/Textures/Torch_22/T_Torch_22_N.uasset b/Content/Torches/Textures/Torch_22/T_Torch_22_N.uasset new file mode 100644 index 0000000..267d5f0 --- /dev/null +++ b/Content/Torches/Textures/Torch_22/T_Torch_22_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f318d0c4831b59f6e9f3aa50ad641639e5076483b52e3e888c965cabf2ad4cd8 +size 18530208 diff --git a/Content/Torches/Textures/Torch_23/T_Torch_23_AO_R_MT.uasset b/Content/Torches/Textures/Torch_23/T_Torch_23_AO_R_MT.uasset new file mode 100644 index 0000000..04411e3 --- /dev/null +++ b/Content/Torches/Textures/Torch_23/T_Torch_23_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fdd8fcf32598d3de2ea5ab571876a2c25f727226e7a6a61fd1cb63601c473d1 +size 15357116 diff --git a/Content/Torches/Textures/Torch_23/T_Torch_23_BC.uasset b/Content/Torches/Textures/Torch_23/T_Torch_23_BC.uasset new file mode 100644 index 0000000..5166545 --- /dev/null +++ b/Content/Torches/Textures/Torch_23/T_Torch_23_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e465df0d7ccc0e6516c6d2dc92d8c011f93d722a79b2c986ea4aa68ffbc0c18f +size 10171825 diff --git a/Content/Torches/Textures/Torch_23/T_Torch_23_N.uasset b/Content/Torches/Textures/Torch_23/T_Torch_23_N.uasset new file mode 100644 index 0000000..84d889a --- /dev/null +++ b/Content/Torches/Textures/Torch_23/T_Torch_23_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fa72a5e4cb0df7d64f37fdaab5875f103b71eb70690dff578b918562def198e +size 14195173 diff --git a/Content/Torches/Textures/Torch_24/T_Torch_24_AO_R_MT.uasset b/Content/Torches/Textures/Torch_24/T_Torch_24_AO_R_MT.uasset new file mode 100644 index 0000000..7fa6f6a --- /dev/null +++ b/Content/Torches/Textures/Torch_24/T_Torch_24_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a99ebfc51c225814175743d6683bbcc7522b68bace9ff04d2bd9f9cd46df9a02 +size 13643747 diff --git a/Content/Torches/Textures/Torch_24/T_Torch_24_BC.uasset b/Content/Torches/Textures/Torch_24/T_Torch_24_BC.uasset new file mode 100644 index 0000000..1c59294 --- /dev/null +++ b/Content/Torches/Textures/Torch_24/T_Torch_24_BC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d46fb72b23ea4a7a85c201b22d01653cd8980f7900d1f85a9e7c2fcf0471026 +size 8033829 diff --git a/Content/Torches/Textures/Torch_24/T_Torch_24_N.uasset b/Content/Torches/Textures/Torch_24/T_Torch_24_N.uasset new file mode 100644 index 0000000..485b41c --- /dev/null +++ b/Content/Torches/Textures/Torch_24/T_Torch_24_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:385cfdd525d01b5659978eafe1dc5707e98385b49c98c3dc85a084b5a4e82394 +size 10923638 diff --git a/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_AO_R_MT.uasset b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_AO_R_MT.uasset new file mode 100644 index 0000000..275f4f4 --- /dev/null +++ b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_AO_R_MT.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2d368dba67cab9eeb4a1a2f5f58faa3e845d91af4562ec68d72c92a117d6a7e +size 1257355 diff --git a/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_N.uasset b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_N.uasset new file mode 100644 index 0000000..4752bef --- /dev/null +++ b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7392315e5d770b3e55451b322557488e0ce60b5c901750e36e11944e9b6c090 +size 2774612 diff --git a/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_bc.uasset b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_bc.uasset new file mode 100644 index 0000000..0aaddb6 --- /dev/null +++ b/Content/Torches/Textures/Torches_Concrete_00/T_Torches_Concrete_00_bc.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b08acddb1c97172edbb9fdb154b1f7eb0e2ecec3dc3d7067bb09b7965aef815 +size 2015995 diff --git a/Content/Treasury/Materials/BaseMaterial_M.uasset b/Content/Treasury/Materials/BaseMaterial_M.uasset new file mode 100644 index 0000000..8ae7fc1 --- /dev/null +++ b/Content/Treasury/Materials/BaseMaterial_M.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc8ec9de9b4f6ed7aa94dd1851bcc4354c51c9a612e4cd9347e7bdc02331e11e +size 23667 diff --git a/Content/Treasury/Materials/Chest3_MI.uasset b/Content/Treasury/Materials/Chest3_MI.uasset new file mode 100644 index 0000000..0cfd5eb --- /dev/null +++ b/Content/Treasury/Materials/Chest3_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f2b420de573067b1950bb9f1da80f1c403a5b7dc3a3883ef7cb47bc2c0762ed +size 147528 diff --git a/Content/Treasury/Materials/Chest4_MI.uasset b/Content/Treasury/Materials/Chest4_MI.uasset new file mode 100644 index 0000000..a811248 --- /dev/null +++ b/Content/Treasury/Materials/Chest4_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73868f3eb09f446a9ecaaa04f8f6a68d3d17ea2a7d079e2bc81cbfc38b2979ef +size 131725 diff --git a/Content/Treasury/Materials/Chest5_MI.uasset b/Content/Treasury/Materials/Chest5_MI.uasset new file mode 100644 index 0000000..2e4aad4 --- /dev/null +++ b/Content/Treasury/Materials/Chest5_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:248a366cb7e168f5415dca4c64846f28a3a8a6969f041347463a0af90b8b2a02 +size 153341 diff --git a/Content/Treasury/Materials/CoinsMaterial_MI.uasset b/Content/Treasury/Materials/CoinsMaterial_MI.uasset new file mode 100644 index 0000000..3d6f1a5 --- /dev/null +++ b/Content/Treasury/Materials/CoinsMaterial_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d587a5a9de29e0170f0f135d1cf5da9963ca92113ed72fd53ca4ec310aee102b +size 24957 diff --git a/Content/Treasury/Materials/CoinsMaterial_MI_Inst.uasset b/Content/Treasury/Materials/CoinsMaterial_MI_Inst.uasset new file mode 100644 index 0000000..7af107b --- /dev/null +++ b/Content/Treasury/Materials/CoinsMaterial_MI_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3c66f143b051e8f7f02f11e048c3f6422cf1cd29b5c4b370e34d709925a5de2 +size 16071 diff --git a/Content/Treasury/Materials/CoinsMaterial_MI_Inst1.uasset b/Content/Treasury/Materials/CoinsMaterial_MI_Inst1.uasset new file mode 100644 index 0000000..a70c66a --- /dev/null +++ b/Content/Treasury/Materials/CoinsMaterial_MI_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f260e4c5110f74144be2e0d9a35746b914ae897e8f2f4040b67487ea49ee5a3 +size 15844 diff --git a/Content/Treasury/Materials/CoinsTreasures_MI.uasset b/Content/Treasury/Materials/CoinsTreasures_MI.uasset new file mode 100644 index 0000000..8834943 --- /dev/null +++ b/Content/Treasury/Materials/CoinsTreasures_MI.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:824e0c763f4f5786ebb61fc2a2e4872be03c749b15b2047f153d9186bff1fc2f +size 147319 diff --git a/Content/Treasury/Meshes/CoinPileSmall_MS.uasset b/Content/Treasury/Meshes/CoinPileSmall_MS.uasset new file mode 100644 index 0000000..74915f9 --- /dev/null +++ b/Content/Treasury/Meshes/CoinPileSmall_MS.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a78a6b90c7124b4f1a36ae6ea853bb1ff7cd668d0b098b2ef6fcd9aa6472b5c6 +size 155364 diff --git a/Content/Treasury/Textures/Chest_1_diff_T.uasset b/Content/Treasury/Textures/Chest_1_diff_T.uasset new file mode 100644 index 0000000..e4cbcae --- /dev/null +++ b/Content/Treasury/Textures/Chest_1_diff_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06a831fbcd0c37485d7a87fd3198b86438adc016bba0e65c13940862c8b51ef7 +size 6491636 diff --git a/Content/Treasury/Textures/Chest_1_gloss_T.uasset b/Content/Treasury/Textures/Chest_1_gloss_T.uasset new file mode 100644 index 0000000..550ad3e --- /dev/null +++ b/Content/Treasury/Textures/Chest_1_gloss_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbb9afb851069aad648b85c7f9ba933ad3a3463ae1cb591715ee6c1a2cea7d54 +size 4239412 diff --git a/Content/Treasury/Textures/Chest_1_metall_T.uasset b/Content/Treasury/Textures/Chest_1_metall_T.uasset new file mode 100644 index 0000000..51d3e77 --- /dev/null +++ b/Content/Treasury/Textures/Chest_1_metall_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d0349555537afcd444b54f774f4dcd1aeb9d915b56b9d0541aa0ba003e455e7 +size 6515377 diff --git a/Content/Treasury/Textures/Chest_1_normal_T.uasset b/Content/Treasury/Textures/Chest_1_normal_T.uasset new file mode 100644 index 0000000..87a9a61 --- /dev/null +++ b/Content/Treasury/Textures/Chest_1_normal_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9862d21eb65366552e2f5a69acc574eca91bc6ff7f3d31109fd26ad5ed74d7f3 +size 6939465 diff --git a/Content/Treasury/Textures/Chest_3_diff_T.uasset b/Content/Treasury/Textures/Chest_3_diff_T.uasset new file mode 100644 index 0000000..201e7ba --- /dev/null +++ b/Content/Treasury/Textures/Chest_3_diff_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c68f79d5c88c2218e88b05b6cbabf2a09d3306ab05778e1871dd4d31aa12aa +size 15665277 diff --git a/Content/Treasury/Textures/Chest_3_gloss_T.uasset b/Content/Treasury/Textures/Chest_3_gloss_T.uasset new file mode 100644 index 0000000..943dab4 --- /dev/null +++ b/Content/Treasury/Textures/Chest_3_gloss_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01e888b75453e27a85de69dc758838a5934b921ec7469f2adc19b31839474875 +size 6063642 diff --git a/Content/Treasury/Textures/Chest_3_metall_T.uasset b/Content/Treasury/Textures/Chest_3_metall_T.uasset new file mode 100644 index 0000000..ecd9d69 --- /dev/null +++ b/Content/Treasury/Textures/Chest_3_metall_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bc04a9c3974434bcac0d23f59c1848828e19e817a8bc7a3d2a4135afc91a737 +size 7557338 diff --git a/Content/Treasury/Textures/Chest_3_normal_T.uasset b/Content/Treasury/Textures/Chest_3_normal_T.uasset new file mode 100644 index 0000000..69fe514 --- /dev/null +++ b/Content/Treasury/Textures/Chest_3_normal_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c67644926dc3dae08feda16a51ad2c4964bd509cccb4bf3c6a9e4b617e9bd49 +size 14895585 diff --git a/Content/Treasury/Textures/Chest_5_diff_T.uasset b/Content/Treasury/Textures/Chest_5_diff_T.uasset new file mode 100644 index 0000000..3ecfdc2 --- /dev/null +++ b/Content/Treasury/Textures/Chest_5_diff_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65e4cdf73d0086e86372ff6522aae241b776fa76598ff5a7ab0a6812b0d4be48 +size 14767144 diff --git a/Content/Treasury/Textures/Chest_5_gloss_T.uasset b/Content/Treasury/Textures/Chest_5_gloss_T.uasset new file mode 100644 index 0000000..de1a757 --- /dev/null +++ b/Content/Treasury/Textures/Chest_5_gloss_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e53efb457cfbe9e66282e0eb40e1bf56331587cc86f2a071c9017a2e08a7f5bd +size 9961689 diff --git a/Content/Treasury/Textures/Chest_5_metall_T.uasset b/Content/Treasury/Textures/Chest_5_metall_T.uasset new file mode 100644 index 0000000..94f4020 --- /dev/null +++ b/Content/Treasury/Textures/Chest_5_metall_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19b5b2d416772cec4eb5827459f9e8fc185be92f56e3a39106d7ca0d708df066 +size 12072759 diff --git a/Content/Treasury/Textures/Chest_5_normal_T.uasset b/Content/Treasury/Textures/Chest_5_normal_T.uasset new file mode 100644 index 0000000..e944d05 --- /dev/null +++ b/Content/Treasury/Textures/Chest_5_normal_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10ba49fbf4ff05ef2f9dbe8a8a9f8deb5887a8c89e55d56c0b01340890134127 +size 13476305 diff --git a/Content/Treasury/Textures/CoinsHeight2_T.uasset b/Content/Treasury/Textures/CoinsHeight2_T.uasset new file mode 100644 index 0000000..189a031 --- /dev/null +++ b/Content/Treasury/Textures/CoinsHeight2_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:317f8c2bc9d3b3afa4172081854688e5b96ed71f7b2e349239e7099eaec0b6fe +size 3392036 diff --git a/Content/Treasury/Textures/chest_4_diff_T.uasset b/Content/Treasury/Textures/chest_4_diff_T.uasset new file mode 100644 index 0000000..f456567 --- /dev/null +++ b/Content/Treasury/Textures/chest_4_diff_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61aeecd3997d31a7bc37b6abb1664e0b925b3d7d0292ac15c6a592628256337e +size 27491992 diff --git a/Content/Treasury/Textures/chest_4_gloss_T.uasset b/Content/Treasury/Textures/chest_4_gloss_T.uasset new file mode 100644 index 0000000..b73dbf4 --- /dev/null +++ b/Content/Treasury/Textures/chest_4_gloss_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60a1543e92e8245a97094b766829bc4e851983d83c105d9617df42d0ce5023ad +size 19724754 diff --git a/Content/Treasury/Textures/chest_4_metall_T.uasset b/Content/Treasury/Textures/chest_4_metall_T.uasset new file mode 100644 index 0000000..bb23d59 --- /dev/null +++ b/Content/Treasury/Textures/chest_4_metall_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8614a0118029550e1d5ae8b0c531c787d052758e1d56f21b105a2a3f05360dd +size 21809167 diff --git a/Content/Treasury/Textures/chest_4_normal_T.uasset b/Content/Treasury/Textures/chest_4_normal_T.uasset new file mode 100644 index 0000000..e64a243 --- /dev/null +++ b/Content/Treasury/Textures/chest_4_normal_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdfd66b3511bff643a79645e79de2a0a66ce4991851a0aed8e81bb97d463fd10 +size 30554840 diff --git a/Content/Treasury/Textures/coins_jugs_MT_AlbedoTransparency_T.uasset b/Content/Treasury/Textures/coins_jugs_MT_AlbedoTransparency_T.uasset new file mode 100644 index 0000000..fcf65c7 --- /dev/null +++ b/Content/Treasury/Textures/coins_jugs_MT_AlbedoTransparency_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0deee4a62f94755c442b4222eac2e0b93faa1d2253136be6b56f490ac83ca34d +size 6667223 diff --git a/Content/Treasury/Textures/coins_jugs_MT_Glossiness_T.uasset b/Content/Treasury/Textures/coins_jugs_MT_Glossiness_T.uasset new file mode 100644 index 0000000..d7d758d --- /dev/null +++ b/Content/Treasury/Textures/coins_jugs_MT_Glossiness_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8fd3208563949d3880f5a303d5c9b93dceb97a30746fa372c6ee51ec7af4cea +size 4117059 diff --git a/Content/Treasury/Textures/coins_jugs_MT_Normal_T.uasset b/Content/Treasury/Textures/coins_jugs_MT_Normal_T.uasset new file mode 100644 index 0000000..2dfb62b --- /dev/null +++ b/Content/Treasury/Textures/coins_jugs_MT_Normal_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:154238e67e758e82b130ca0577495c78dcc97939f98444cba568e153ae0369f6 +size 5610341 diff --git a/Content/Treasury/Textures/coins_jugs_MetallicSmoothness_T.uasset b/Content/Treasury/Textures/coins_jugs_MetallicSmoothness_T.uasset new file mode 100644 index 0000000..a6c1bab --- /dev/null +++ b/Content/Treasury/Textures/coins_jugs_MetallicSmoothness_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1989fa04cb028a02eb2b6328616b2f9f0df96191096bb677c8f40c6414a134f +size 4008121 diff --git a/Content/Treasury/Textures/plane_UVChannel_1_color_T.uasset b/Content/Treasury/Textures/plane_UVChannel_1_color_T.uasset new file mode 100644 index 0000000..ea0b5a1 --- /dev/null +++ b/Content/Treasury/Textures/plane_UVChannel_1_color_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbd13fca68649138bcd7eba23058c50e072b9214856b23473e0d57eed917803f +size 12829667 diff --git a/Content/Treasury/Textures/plane_UVChannel_1_gloss_T.uasset b/Content/Treasury/Textures/plane_UVChannel_1_gloss_T.uasset new file mode 100644 index 0000000..577165b --- /dev/null +++ b/Content/Treasury/Textures/plane_UVChannel_1_gloss_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ca7d5b892dfabf22d65337836bf2207fc0d303c48c44e2a99423b4d57f8e68 +size 11253076 diff --git a/Content/Treasury/Textures/plane_UVChannel_1_nmap_T.uasset b/Content/Treasury/Textures/plane_UVChannel_1_nmap_T.uasset new file mode 100644 index 0000000..47f2cb3 --- /dev/null +++ b/Content/Treasury/Textures/plane_UVChannel_1_nmap_T.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7682496007c0f5a3c3f6088f450a2f867576d8547d3abc19f0d4f2ba61fb6a7 +size 44467753 diff --git a/Content/USCANS_WindTemple/Material/M_Uscans_Basic.uasset b/Content/USCANS_WindTemple/Material/M_Uscans_Basic.uasset new file mode 100644 index 0000000..e961a8d --- /dev/null +++ b/Content/USCANS_WindTemple/Material/M_Uscans_Basic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20f14dcf82d998b57c8138bca0704a63cd678b5d610c77001bcb093cb3389606 +size 44997 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Fence.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Fence.uasset new file mode 100644 index 0000000..f1a0e96 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Fence.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87b794a386f745046fe91ac0e6fb8d97a97914ba4c30a4b347ad7fd76b27ad45 +size 15930 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Fence1.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Fence1.uasset new file mode 100644 index 0000000..496cda0 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Fence1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4b778a598f3b607084eb9bc52c95d46eec07ee81767bf989a50e06d618a954c +size 18572 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Floor.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Floor.uasset new file mode 100644 index 0000000..ced2a05 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Floor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ca0a7654cdb99310cdb5863e95fe0ec5f1f7a7893ee38a806389354bcc959b3 +size 15856 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Rock.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Rock.uasset new file mode 100644 index 0000000..c361c9d --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Rock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac8cdfe4f36a4eb4afb4b7b32ed4fc12752c8375ccf289eb238a7ccd0b358fde +size 20540 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Stone_Baked.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Stone_Baked.uasset new file mode 100644 index 0000000..5bd2b0b --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Stone_Baked.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba8c814e7133f451e0c1bd028ae59afca3aa85698378b5d9ef05878bf7350605 +size 16650 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_Wall_4.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_Wall_4.uasset new file mode 100644 index 0000000..4570119 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_Wall_4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb35cee3f26b560613af183dbb7f3dc1b2638f5c2efb0b4e8bdb282d04d36dab +size 14658 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_crockery.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_crockery.uasset new file mode 100644 index 0000000..f4ce819 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_crockery.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94d845323b547ca7110a4e547037d99d03190fffd0cda1a43ea191f72ee8eaaa +size 14576 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_pidestall.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_pidestall.uasset new file mode 100644 index 0000000..ed5f5aa --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_pidestall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de29a5b219b8e669683868b8b4e5bb92b7825cfdcdb72db96eea8ffed959a329 +size 15646 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_pillar_1.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_pillar_1.uasset new file mode 100644 index 0000000..67f0085 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_pillar_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a93bd22b0c08b7f8aefa7be472f86508e2de969381e9e11b1abad4077cf58d5 +size 19298 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_ribbons.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_ribbons.uasset new file mode 100644 index 0000000..f9005c0 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_ribbons.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe148a47c7ae66688c24bc376d32e611aa111cfdacd9ac6e156fca894c8550e6 +size 13230 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_roof.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_roof.uasset new file mode 100644 index 0000000..d285686 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_roof.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bad722690cffbdd7bb1492e5ee30d60acf7cdfa88e8a171c9b9be1580de2b7e4 +size 18507 diff --git a/Content/USCANS_WindTemple/Materialinsances/MI_sticks.uasset b/Content/USCANS_WindTemple/Materialinsances/MI_sticks.uasset new file mode 100644 index 0000000..5f7ce26 --- /dev/null +++ b/Content/USCANS_WindTemple/Materialinsances/MI_sticks.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e60f3204b6ac4c89ce8549800d0f81c098a8a800c5ff6a87013600d31b962161 +size 14445 diff --git a/Content/USCANS_WindTemple/PackedBlueprints_BPP/Floors/BPP_Floor_3.uasset b/Content/USCANS_WindTemple/PackedBlueprints_BPP/Floors/BPP_Floor_3.uasset new file mode 100644 index 0000000..54fd786 --- /dev/null +++ b/Content/USCANS_WindTemple/PackedBlueprints_BPP/Floors/BPP_Floor_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a077a1e8ac1212bbd30176b2c3c216304f2f0f9bbd4edc1dedb94a4c489cce28 +size 30685 diff --git a/Content/USCANS_WindTemple/PackedBlueprints_BPP/Stairs/BPP_Stair_1.uasset b/Content/USCANS_WindTemple/PackedBlueprints_BPP/Stairs/BPP_Stair_1.uasset new file mode 100644 index 0000000..cc29f40 --- /dev/null +++ b/Content/USCANS_WindTemple/PackedBlueprints_BPP/Stairs/BPP_Stair_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9dec5507ae0bdebdccaa20b0f655a24899bf7f37429fc3bdcd5a4b6ca9cb901 +size 31389 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Cobblestone/SM_Stone_005.uasset b/Content/USCANS_WindTemple/StaticMeshes/Cobblestone/SM_Stone_005.uasset new file mode 100644 index 0000000..5f609eb --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Cobblestone/SM_Stone_005.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1903d177a7ac78fdb0a69f6dff389d59912b434496acfb3fd8c0237c831ba58a +size 1061753 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Column/SM_Pillar2_030.uasset b/Content/USCANS_WindTemple/StaticMeshes/Column/SM_Pillar2_030.uasset new file mode 100644 index 0000000..ebd2cde --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Column/SM_Pillar2_030.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf0c957b86ff7a2b6cab0fb211b6bce640c7cc51153f2425792acc4f5be1018 +size 350742 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_004.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_004.uasset new file mode 100644 index 0000000..ae2dc93 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_004.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2abf913e8fdf77af969b8756d6ab89f5ed802acabbc5f2ab2034da1a45ed058 +size 322578 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_007.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_007.uasset new file mode 100644 index 0000000..400582f --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2575589105520694f574c5cb2036123e30ddbe31551887260fce28c771e8983a +size 150221 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_011.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_011.uasset new file mode 100644 index 0000000..0cd2343 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_011.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cf8a4ea8233b01a5a42ca799d38f8f63ed8d35a8cdc7cbfdf5b47525c290705 +size 151555 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_012.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_012.uasset new file mode 100644 index 0000000..133ea2b --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_012.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a63e8dd2145326d406663fe92c5cb1186d0314d0f7b973363c07b60fa57fc9ba +size 103132 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_014.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_014.uasset new file mode 100644 index 0000000..15e6ee9 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_014.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6906a4c4adca8d18fd25ab5b9dbf078225901e5debc1ccda8fba0469ae4da91 +size 192485 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_017.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_017.uasset new file mode 100644 index 0000000..a5b8746 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_017.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22a2fddef9ba4e25d5c31ee90644e8e5fa34314b779655adb03ea26757a8c952 +size 143893 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_030.uasset b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_030.uasset new file mode 100644 index 0000000..15c62e4 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Fence/SM_Fence_030.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b9eacdeb0725b8f1873782b7e3687f8f04c0fab54424cb18dfcdf72a42d0d84 +size 870981 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Floors/SM_floor_1_001.uasset b/Content/USCANS_WindTemple/StaticMeshes/Floors/SM_floor_1_001.uasset new file mode 100644 index 0000000..505a88b --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Floors/SM_floor_1_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da693e4ac4c92be9c8c990ff2ca07d530b450649e8a1e7d1bce9fc347ae2c7da +size 996550 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Cylinder.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Cylinder.uasset new file mode 100644 index 0000000..d497a78 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Cylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e75c8416888611809cd1b533cf8e25fc2627c42477ada0fe42500f3e4c17d410 +size 40552 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Pidestall_001.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Pidestall_001.uasset new file mode 100644 index 0000000..c9b4796 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Pidestall_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6edf1e4ea30efb6913a98134c0770aae694e6da5fee95318c718bf3a4ac10440 +size 204877 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_003.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_003.uasset new file mode 100644 index 0000000..a30d535 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_003.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94032331cded16a22567be346fa591ac60dc66c77991bee846647df852cf5a0d +size 236142 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_004.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_004.uasset new file mode 100644 index 0000000..d067781 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_Roof_004.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b07f4552b121e3d8e6e506e872519df55b90ad5f637a12f8863a02d7aa980cb +size 121633 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001.uasset new file mode 100644 index 0000000..9658ac9 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6f88b03a7c7a9afc5bd6b29721bd92d8962837031f6bfe2818a9505d79e2a9 +size 173493 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001_FoliageType.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001_FoliageType.uasset new file mode 100644 index 0000000..173d49e --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_001_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e3c97ba3168046be58039475e0b2722c93ecccc38427bb0ec07659b10062dfb +size 6322 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_006.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_006.uasset new file mode 100644 index 0000000..944cb10 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_006.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53257b47f4176dbfe75252fdc7a7b046e2236598caf6dbda1abee1a8804763f9 +size 142805 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008.uasset new file mode 100644 index 0000000..bb764db --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f1a07eeaff534065832fd341deec7068c10f2c77966b8623ac2f5010110b8e9 +size 181143 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008_FoliageType.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008_FoliageType.uasset new file mode 100644 index 0000000..1b5118a --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_crockery_008_FoliageType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a28d23410b800dc0a6d6b13cd97f170094243225cf600e78e72e2cfffac34111 +size 6477 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_007.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_007.uasset new file mode 100644 index 0000000..7eece86 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164514dcde368888b8d5b37a13d11160e727fdc25a10b18ed7da9f4311781045 +size 78243 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_008.uasset b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_008.uasset new file mode 100644 index 0000000..ae85f30 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Other/SM_sticks_008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d2298098f83621442567e4feb8c38ee3349c43de35c176a7309b5e2041694ad +size 77546 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Rock/SM_Rock.uasset b/Content/USCANS_WindTemple/StaticMeshes/Rock/SM_Rock.uasset new file mode 100644 index 0000000..12a5294 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Rock/SM_Rock.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54ff415c702f1b11673725ecc80128b9f91aa6efb444161a0fbde291a3b341d1 +size 347952 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_009.uasset b/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_009.uasset new file mode 100644 index 0000000..5acbe15 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_009.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb35e37718e12d8ec7db6d799a056d1a086de73a027babdfae018889e357a2b7 +size 470310 diff --git a/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_014.uasset b/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_014.uasset new file mode 100644 index 0000000..1d22960 --- /dev/null +++ b/Content/USCANS_WindTemple/StaticMeshes/Wall/SM_Wall_4_014.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6baad335a729b7e3774708e95bb537dcfa1eec3f1651e59ee875f4e5a95581a1 +size 72728 diff --git a/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..ce3629a --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1cd2ae5ba66989af352a9c16e9d54fa4d63a316b9084d83ee8cb2a16454d414 +size 29737966 diff --git a/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..da2258f --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c88615b0d26b53902c511b9580e11fe8a56a7d910ab68f27d364387f8ff3540 +size 27843913 diff --git a/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..b0c1fe2 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Fence_001__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f40182b6835764c52bc4d5465d8e4b6bbc79112acc831142888bb2682ae4c3 +size 9767045 diff --git a/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..e84e42a --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:342edcc1076e84cad820c529ff9e74fb1eeea908b9262c0eb2c5a6b4559b657c +size 27786958 diff --git a/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..55f78e5 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0e8c0dd894685606dd1366b4314b98d484cd21aa57342461c5467d8496a337 +size 37407744 diff --git a/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..df0cc60 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Floor_1_002__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0181f943521461b3c04fd39fe141fad2dc596bc439d2f9b1712a99d9b3dd8fb +size 5842623 diff --git a/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Diffuse.uasset new file mode 100644 index 0000000..84f788a --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5839240ac0523c94252b04163a7e555f9238c1d8472ef390d9f4f52cbb582ef1 +size 8262484 diff --git a/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Normal.uasset new file mode 100644 index 0000000..21a44d4 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecbd3888f4af80d43544ce9bffeb27e4fe897ad72c2cce892a4a57cbd81fbaef +size 38516467 diff --git a/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Roughness.uasset new file mode 100644 index 0000000..a367775 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Stone__PBR_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99a7edfbc22ed2cfae0756b643eec220bdae58ad7270a978a95022db947e16f9 +size 2617200 diff --git a/Content/USCANS_WindTemple/Textures/T_T_Clay_Mask.uasset b/Content/USCANS_WindTemple/Textures/T_T_Clay_Mask.uasset new file mode 100644 index 0000000..7289aaf --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_T_Clay_Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05224b3bfa01b137d7a3449495f3c888f8a1355b08e701712e2b5b71d20b7a3b +size 11486855 diff --git a/Content/USCANS_WindTemple/Textures/T_T_T_BaseNormal.uasset b/Content/USCANS_WindTemple/Textures/T_T_T_BaseNormal.uasset new file mode 100644 index 0000000..2960dfe --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_T_T_BaseNormal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:203bdb8c0424c5abff0cfe44d265bc5fffdd6e8d02541995f2cec5f244f960f4 +size 3894 diff --git a/Content/USCANS_WindTemple/Textures/T_T_T_Black.uasset b/Content/USCANS_WindTemple/Textures/T_T_T_Black.uasset new file mode 100644 index 0000000..59d672d --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_T_T_Black.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39446612af551964f7c3cb7de910c2d505789461b01922879c0e778a49ae2e59 +size 4030 diff --git a/Content/USCANS_WindTemple/Textures/T_T_T_White.uasset b/Content/USCANS_WindTemple/Textures/T_T_T_White.uasset new file mode 100644 index 0000000..dedd9f5 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_T_T_White.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22a0bc0e5729a8652c2efc7e8cb25f662291460ebbbf560f56b2070776c101ea +size 5656 diff --git a/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..19133ce --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:872407c4f7ba7e1164ef775eb6e1d07295b49faef8cb078f1e68c0fe1cfb536c +size 30008804 diff --git a/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..21237ee --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fced26481734ffe146f1716c7c18d4d8376efa442817ece3c0d886c158a7d931 +size 28219249 diff --git a/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..fd83084 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_Wall_4_002__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1619560caefc8625f36565946ff436d038380e0eb3231086c056e29b5b980b2 +size 8717476 diff --git a/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..1bf8145 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:637895f14c6be1737ccbcea2a4ac86fa028c1dcb798bc6723a568a596491ba0d +size 7939917 diff --git a/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..16f08d1 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44b38a22aa64aa4a5561d8572147b0bf8d67b10985d5549acc2c433152977491 +size 6970670 diff --git a/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..89fdbc8 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_crockery__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d5e02e010ce812a3291946ee81ea6680429316cb660c488946a009d60e86eae +size 2464926 diff --git a/Content/USCANS_WindTemple/Textures/T_fabric_BaseColor.uasset b/Content/USCANS_WindTemple/Textures/T_fabric_BaseColor.uasset new file mode 100644 index 0000000..1f0ffd9 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_fabric_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c4c501123acae7a764db1355f94c7f072fbf35d475beba2c27ccb68d297313e +size 49169973 diff --git a/Content/USCANS_WindTemple/Textures/T_moss_4_BaseColor.uasset b/Content/USCANS_WindTemple/Textures/T_moss_4_BaseColor.uasset new file mode 100644 index 0000000..69d9fea --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_moss_4_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfcac42ed1ecedf918cd938324d44a35b29b1ee5a8b1c9a437368d58d45963f3 +size 9053764 diff --git a/Content/USCANS_WindTemple/Textures/T_moss_mask.uasset b/Content/USCANS_WindTemple/Textures/T_moss_mask.uasset new file mode 100644 index 0000000..0c9d43d --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_moss_mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b60a4b0099a501da0a13299b4de23945df48fb165cc70d505bac328a3beec9b +size 213671 diff --git a/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..4489d57 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc1bcbd2e8e880e74f7c957aa75859bd30a99a6654f1fb5c0067074b180c0e31 +size 7461043 diff --git a/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..88386f7 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00efe592c447b02b3b0da22cde0238024546836a333e1a565ab24f457a0d4e02 +size 9798607 diff --git a/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..0998ff2 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pidestall__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2448e53971d03bfca6e8ebf30bff01260a5cff68994f25c1cb101b1fc6b27f44 +size 3051019 diff --git a/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..f529377 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a88b22bcda8926d1cc232f6552a34e019b37036feb41dd9968f3dbdee81bb3e +size 28963401 diff --git a/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..1d4b3be --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11a712d947ce03858dc7eabe67077b056ad21f03bbfef5f4be356b832da4e6cf +size 34625270 diff --git a/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..dbaa44b --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_pillar2_002__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32e07ed9f84a452ea61d3873b77c57789e998469a34b1e3f1ba94bcbe3bbdef3 +size 10128290 diff --git a/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..6aeac28 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7b61ef33a1ef671cd63b85977fa365556e1a03af5a5227cc33745d2f3bb28ab +size 40676192 diff --git a/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..49ee057 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7eab565405ad46cd00fa25f2a7133743c9b6a296f63c1ab4d2e2d7da69f1f9 +size 29357628 diff --git a/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..93c78b2 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_rock__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fed93db91cfeae04c388222046a42c0f5d8d50c686e7b29d0cbe9caad2ec4538 +size 14640664 diff --git a/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..d0346cc --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdfdeffba4985075828b058d514b789011fffd313e1753bd10b6155d38360edf +size 29215932 diff --git a/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..2491c55 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d14d07492a163f74f827a36909bc58436c9fd27f2ec9be62511378e347a4602 +size 31084772 diff --git a/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..29c309f --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_roof__001__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87a298071914ac7e848c546129697af4a52e14d3e091c8884b68c7a186261380 +size 9795487 diff --git a/Content/USCANS_WindTemple/Textures/T_snow_BaseColor.uasset b/Content/USCANS_WindTemple/Textures/T_snow_BaseColor.uasset new file mode 100644 index 0000000..0bbef47 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_snow_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dca03af3840c87d9cb5f62313f35178c68ba8924aa7e1c5d7f8882b5a1ac684 +size 828704 diff --git a/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Diffuse.uasset b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Diffuse.uasset new file mode 100644 index 0000000..92e8411 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Diffuse.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4251f3c6cb51208955c2a3e2fbc16588265690bec47a1dd38e4f5edcf8013412 +size 7727455 diff --git a/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Normal.uasset b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Normal.uasset new file mode 100644 index 0000000..1a7edbb --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a45bf4d0f6386c4116d75560f7d60770c9235c3534e92dbc7f10492cd318307a +size 6869804 diff --git a/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Roughness.uasset b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Roughness.uasset new file mode 100644 index 0000000..e9d18c1 --- /dev/null +++ b/Content/USCANS_WindTemple/Textures/T_sticks__PBR_StoA_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fc73283dcf621fa1c2fb9ec7c8c918b9cda91765937315a73b6949c58b21b4e +size 2217624 diff --git a/Content/VRSpectator/EVRSpectatorMode.uasset b/Content/VRSpectator/EVRSpectatorMode.uasset new file mode 100644 index 0000000..c4692ec --- /dev/null +++ b/Content/VRSpectator/EVRSpectatorMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab9b4c57fd9c4f2bc5e37545f92e2f2c7c46777272d3200962d02be64d7fc80b +size 2365 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV.uasset new file mode 100644 index 0000000..cfc23a3 --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d533daf1bcb5c730ade965ae9fa11ad9d0d0295451c7305079246b40c02451a1 +size 1916 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV_Reset.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV_Reset.uasset new file mode 100644 index 0000000..5a77ce1 --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FOV_Reset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:984e2789c716f2f2b1346be12a655fc6a94af14828de212b101ff090dc01735c +size 1439 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_FadeInOut.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FadeInOut.uasset new file mode 100644 index 0000000..2599906 --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_FadeInOut.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c2f4beb218d22d54a6152661e4886e00168b5f1e3f7248ace48ccc751fa390 +size 1439 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_Look.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Look.uasset new file mode 100644 index 0000000..8adebef --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Look.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2a56b2b07feb4113b9633705c3b202535eb579fa5153d25f590cbca86cd1e19 +size 1561 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_Move.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Move.uasset new file mode 100644 index 0000000..5e86544 --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Move.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed5710a1e2ccd98b324f15320ddd2a8ab6db2c56de787c3169290f79e487d440 +size 1561 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_ResetRotation.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_ResetRotation.uasset new file mode 100644 index 0000000..00c31d3 --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_ResetRotation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38a3719ee502a628f1fa2ca6eca34a28b9c85c8e83f275b1377bf55aecb49053 +size 1459 diff --git a/Content/VRSpectator/Input/Actions/IA_VRSpectator_Toggle.uasset b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Toggle.uasset new file mode 100644 index 0000000..3c5d95d --- /dev/null +++ b/Content/VRSpectator/Input/Actions/IA_VRSpectator_Toggle.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17d676cf4f8113a9cf6c2920edabb8541b8575e21ec6b5a14c4c2f9d56e3e139 +size 1424 diff --git a/Content/VRSpectator/Input/IMC_VRSpectator.uasset b/Content/VRSpectator/Input/IMC_VRSpectator.uasset new file mode 100644 index 0000000..46ef2db --- /dev/null +++ b/Content/VRSpectator/Input/IMC_VRSpectator.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84415376d03d1ddc60d41c7917ad31da160339645a09b91918188f4204884813 +size 17809 diff --git a/Content/VRSpectator/RT_VRSpectator.uasset b/Content/VRSpectator/RT_VRSpectator.uasset new file mode 100644 index 0000000..5b036b6 --- /dev/null +++ b/Content/VRSpectator/RT_VRSpectator.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13b5a95a15137d14a8e594e40c024186ec962bd83ea40b2b373c93638528d354 +size 4090 diff --git a/Content/VRSpectator/VRSpectator.uasset b/Content/VRSpectator/VRSpectator.uasset new file mode 100644 index 0000000..7a2e753 --- /dev/null +++ b/Content/VRSpectator/VRSpectator.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c35edd49f59aeebffeabf48629f0aa5bf8c0808f79b3bceb2fe4a6eea2cd544 +size 586388 diff --git a/Content/VRTemplate/Audio/Fire01.uasset b/Content/VRTemplate/Audio/Fire01.uasset new file mode 100644 index 0000000..7bd9352 --- /dev/null +++ b/Content/VRTemplate/Audio/Fire01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6464ca4d24f5c480110d9ce39b3859022327832c1f3d1ad3ea352004ab93631 +size 555675 diff --git a/Content/VRTemplate/Audio/Fire_Cue.uasset b/Content/VRTemplate/Audio/Fire_Cue.uasset new file mode 100644 index 0000000..7e10320 --- /dev/null +++ b/Content/VRTemplate/Audio/Fire_Cue.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1da7ec176c67bfe0434c8aefd818744b79784d72a908351fb77ff4442b0501 +size 4939 diff --git a/Content/VRTemplate/Blueprints/B_AssetGuideline_VRTemplate.uasset b/Content/VRTemplate/Blueprints/B_AssetGuideline_VRTemplate.uasset new file mode 100644 index 0000000..aeb796c --- /dev/null +++ b/Content/VRTemplate/Blueprints/B_AssetGuideline_VRTemplate.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a05d4a1f18eb00d47b16f39186523ccb50ff485c21dd083ee9c320d9e87dd95 +size 11135 diff --git a/Content/VRTemplate/Blueprints/GrabComponent.uasset b/Content/VRTemplate/Blueprints/GrabComponent.uasset new file mode 100644 index 0000000..61dae68 --- /dev/null +++ b/Content/VRTemplate/Blueprints/GrabComponent.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfd97a932aed079fee0517b823088c850e07a3ee134cb5cf1907d4e9dd578df2 +size 250047 diff --git a/Content/VRTemplate/Blueprints/GrabType.uasset b/Content/VRTemplate/Blueprints/GrabType.uasset new file mode 100644 index 0000000..248a33a --- /dev/null +++ b/Content/VRTemplate/Blueprints/GrabType.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e23c4d5fd830ae0ef4fd3aefd2f77a4df0ded82395d5d75de5bf6444850d0241 +size 2965 diff --git a/Content/VRTemplate/Blueprints/Grabbable_SmallCube.uasset b/Content/VRTemplate/Blueprints/Grabbable_SmallCube.uasset new file mode 100644 index 0000000..b03ba14 --- /dev/null +++ b/Content/VRTemplate/Blueprints/Grabbable_SmallCube.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ac2250de44ad8ca99821ce571e58cf3cf3b61a7418ca1334558dc5c6455612f +size 30875 diff --git a/Content/VRTemplate/Blueprints/Menu.uasset b/Content/VRTemplate/Blueprints/Menu.uasset new file mode 100644 index 0000000..1f1e73f --- /dev/null +++ b/Content/VRTemplate/Blueprints/Menu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb50307f023bad1d31054917053339bfd8dcc9abb5a30079c30ac1cd82b8005 +size 517366 diff --git a/Content/VRTemplate/Blueprints/Pistol.uasset b/Content/VRTemplate/Blueprints/Pistol.uasset new file mode 100644 index 0000000..b873781 --- /dev/null +++ b/Content/VRTemplate/Blueprints/Pistol.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0969306084656b207e49ffa769a5693b481d2fb49640d3b24bd7f87e0112c02 +size 132556 diff --git a/Content/VRTemplate/Blueprints/Projectile.uasset b/Content/VRTemplate/Blueprints/Projectile.uasset new file mode 100644 index 0000000..186c981 --- /dev/null +++ b/Content/VRTemplate/Blueprints/Projectile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb71f68781f0d5dc8b52e9ef163a521a8eed163018291ac6cecdcbc55d91c916 +size 137032 diff --git a/Content/VRTemplate/Blueprints/VRGameMode.uasset b/Content/VRTemplate/Blueprints/VRGameMode.uasset new file mode 100644 index 0000000..1c01184 --- /dev/null +++ b/Content/VRTemplate/Blueprints/VRGameMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:510f813c18a4f607d3ab01e442b1adbdd4bb5a27ee74a012a15bbb241ea93521 +size 19581 diff --git a/Content/VRTemplate/Blueprints/VRPawn.uasset b/Content/VRTemplate/Blueprints/VRPawn.uasset new file mode 100644 index 0000000..161f65b --- /dev/null +++ b/Content/VRTemplate/Blueprints/VRPawn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c69c8a23072108ea1770feab18949410db4a1aa3ecf3364cd1234a57c7bfecdd +size 888337 diff --git a/Content/VRTemplate/Blueprints/VRTeleportVisualizer.uasset b/Content/VRTemplate/Blueprints/VRTeleportVisualizer.uasset new file mode 100644 index 0000000..7559965 --- /dev/null +++ b/Content/VRTemplate/Blueprints/VRTeleportVisualizer.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:911c6c1f10674d05a1c1232378be5908a87830f8ceb2256717504d62bb4e78b0 +size 78009 diff --git a/Content/VRTemplate/Blueprints/WidgetMenu.uasset b/Content/VRTemplate/Blueprints/WidgetMenu.uasset new file mode 100644 index 0000000..ba8bdeb --- /dev/null +++ b/Content/VRTemplate/Blueprints/WidgetMenu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef2354f5aa9a4fd090397feacac50b0ef07da97376f23fafc6c51a8c8cb00314 +size 66156 diff --git a/Content/VRTemplate/Haptics/GrabHapticEffect.uasset b/Content/VRTemplate/Haptics/GrabHapticEffect.uasset new file mode 100644 index 0000000..c7597d9 --- /dev/null +++ b/Content/VRTemplate/Haptics/GrabHapticEffect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5aed3feb9fba8e1edb03f21dbd7585975ca42000f8ad61890db6adf46d49fa37 +size 2135 diff --git a/Content/VRTemplate/Haptics/PistolFireHapticEffect.uasset b/Content/VRTemplate/Haptics/PistolFireHapticEffect.uasset new file mode 100644 index 0000000..49629a6 --- /dev/null +++ b/Content/VRTemplate/Haptics/PistolFireHapticEffect.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ea69f8ca0380e2a42784da2bc4ac2c3951866dcd86cbd663578f8d731980050 +size 1997 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Left.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Left.uasset new file mode 100644 index 0000000..794e4cd --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:760dc527bc67f5e34005762d5ad2bcda8b417e4070e100a4466b78b0a5fed3c3 +size 1572 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Right.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Right.uasset new file mode 100644 index 0000000..5206519 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b94a20d52449a984fd515f0620b863257e95a42d92c9bec0c00472f0e53d530 +size 1576 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Left.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Left.uasset new file mode 100644 index 0000000..d61da07 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54267e3428b7e5561286b572dda2a701e456d6bc4bed4bf7a787824fcbf3739a +size 1588 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Right.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Right.uasset new file mode 100644 index 0000000..acad4fd --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97992799e0a23d2c23a431839afc73c5b9ba42f07b1ca3088b690540c32897c8 +size 1592 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Left.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Left.uasset new file mode 100644 index 0000000..aed2427 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:944e621c5e132608192b83012a5672bf4e2d22755461017b15cced0ab2f3dd82 +size 1572 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Right.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Right.uasset new file mode 100644 index 0000000..5b4c638 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdd008c9ea7aaebd3790087b60e761005c73dac7a2e4922c35c551cf30eb0c4a +size 1636 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Left.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Left.uasset new file mode 100644 index 0000000..875f297 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18b5818a2e7b26dbb53e05ac0a03235839c4a2791144d6e8dfd176ffa79dba89 +size 1580 diff --git a/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Right.uasset b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Right.uasset new file mode 100644 index 0000000..3e90e60 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f065eca2fc273b0889e419bc81bb4ba9a6214f889f4fb42b8c0ca58324581da +size 1584 diff --git a/Content/VRTemplate/Input/Actions/IA_Grab_Left.uasset b/Content/VRTemplate/Input/Actions/IA_Grab_Left.uasset new file mode 100644 index 0000000..18708e0 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Grab_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebe280d957c632da9a7cbe04f7a6b1bd802aeb223ff1e538170c7cadb169c733 +size 2089 diff --git a/Content/VRTemplate/Input/Actions/IA_Grab_Right.uasset b/Content/VRTemplate/Input/Actions/IA_Grab_Right.uasset new file mode 100644 index 0000000..03a598e --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Grab_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38e172cd55ddc177025c148fca85ca75a5d6fd370c078b3ad79e58433a9276b9 +size 2097 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Left.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Left.uasset new file mode 100644 index 0000000..25e4bb0 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c30a0531059e547527bb963ce1f34febd9921cd14b86d08dfebb80d2f044c376 +size 1845 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Right.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Right.uasset new file mode 100644 index 0000000..9cf6b19 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ad808a83e247d0007f7f16d46387ad3afaa144172dae10e9c7d46b8e32cea98 +size 1850 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Left.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Left.uasset new file mode 100644 index 0000000..9ae1c78 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcbaa513f5531c0f0ea8780ce5dd7a05dfbe022b93e5b0c7a794e5d04e5b0141 +size 1322 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Right.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Right.uasset new file mode 100644 index 0000000..078c5f9 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a14cda122e606f05fc09895c38b176b345b43c41e85e0b9affb04e06a8990307 +size 1326 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Left.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Left.uasset new file mode 100644 index 0000000..08ca661 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6da639c5cdb17a82f20b27b909e953876688da9340c558e96e7c0b1bf0303d5f +size 1654 diff --git a/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Right.uasset b/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Right.uasset new file mode 100644 index 0000000..c31ef31 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b137fb7f797ed7e73b0ec86caacc2a0bb2dfcf24254bdd76ab79d3876933751 +size 1662 diff --git a/Content/VRTemplate/Input/Actions/IA_Move.uasset b/Content/VRTemplate/Input/Actions/IA_Move.uasset new file mode 100644 index 0000000..6b65d75 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Move.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55bc0bbff0319dc9efbcadbe11fdacbc464f8e4d3c370e0efe8b8ea475c41b23 +size 2534 diff --git a/Content/VRTemplate/Input/Actions/IA_Shoot_Left.uasset b/Content/VRTemplate/Input/Actions/IA_Shoot_Left.uasset new file mode 100644 index 0000000..5f255cf --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Shoot_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2a0a80f061e3a8be988e7c06c753fd81788b09a26732ba49ea51d44a5645aa4 +size 1290 diff --git a/Content/VRTemplate/Input/Actions/IA_Shoot_Right.uasset b/Content/VRTemplate/Input/Actions/IA_Shoot_Right.uasset new file mode 100644 index 0000000..71c9c0b --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Shoot_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56bfbfa835e1d0e05ea319ee0bf88f4808c14d1662d14715893912da755b78f9 +size 1294 diff --git a/Content/VRTemplate/Input/Actions/IA_Turn.uasset b/Content/VRTemplate/Input/Actions/IA_Turn.uasset new file mode 100644 index 0000000..60acf82 --- /dev/null +++ b/Content/VRTemplate/Input/Actions/IA_Turn.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9804de4a630d81ed6cb9fc44d530c4d57f4c306435e04147794cf4ca6d4a659d +size 2098 diff --git a/Content/VRTemplate/Input/B_InputModifier_XAxisPositiveOnly.uasset b/Content/VRTemplate/Input/B_InputModifier_XAxisPositiveOnly.uasset new file mode 100644 index 0000000..6bc5d52 --- /dev/null +++ b/Content/VRTemplate/Input/B_InputModifier_XAxisPositiveOnly.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9887f4637771c2763ddd6d27d507f8a97d92cd4bf837d7906556105c773db71 +size 40449 diff --git a/Content/VRTemplate/Input/IMC_Default.uasset b/Content/VRTemplate/Input/IMC_Default.uasset new file mode 100644 index 0000000..df77db6 --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1247039aadc37c3728de31c952d7fb3fe56a0e5e2fba95cec4a33bdce18e720 +size 21558 diff --git a/Content/VRTemplate/Input/IMC_Hands.uasset b/Content/VRTemplate/Input/IMC_Hands.uasset new file mode 100644 index 0000000..6021922 --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Hands.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e7e9015c1284dcd9bf8810096b6d1897f3a66907d57824e58a1ca3abcd2149a +size 27297 diff --git a/Content/VRTemplate/Input/IMC_Menu.uasset b/Content/VRTemplate/Input/IMC_Menu.uasset new file mode 100644 index 0000000..9f2a06a --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Menu.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76be30ce517f65313ea9165ac2b29c20f76d884c062338548e78696203ec3406 +size 12488 diff --git a/Content/VRTemplate/Input/IMC_Weapon.uasset b/Content/VRTemplate/Input/IMC_Weapon.uasset new file mode 100644 index 0000000..e691d8b --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Weapon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba3fcd4b15d22fa48cd71bee28f612a13b9e694d28a7528fc08e37b684da45a1 +size 1473 diff --git a/Content/VRTemplate/Input/IMC_Weapon_Left.uasset b/Content/VRTemplate/Input/IMC_Weapon_Left.uasset new file mode 100644 index 0000000..e88fa55 --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Weapon_Left.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:795ff2e37d04eaf15583bf557f0946e5230a2620b872f990abc8b5d0ecb946cd +size 5031 diff --git a/Content/VRTemplate/Input/IMC_Weapon_Right.uasset b/Content/VRTemplate/Input/IMC_Weapon_Right.uasset new file mode 100644 index 0000000..ea1daf5 --- /dev/null +++ b/Content/VRTemplate/Input/IMC_Weapon_Right.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:730628e5833aac5ab36235bbc2bbd503b46e28ea5cc118c1c84381211e061efc +size 5052 diff --git a/Content/VRTemplate/Input/PMI_VRTemplate.uasset b/Content/VRTemplate/Input/PMI_VRTemplate.uasset new file mode 100644 index 0000000..a586603 --- /dev/null +++ b/Content/VRTemplate/Input/PMI_VRTemplate.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcc7bfeeb4e150e138d0a74aadd898efe271646be99d09305c651a8a2e39b425 +size 2827 diff --git a/Content/VRTemplate/Maps/VRTemplateMap.umap b/Content/VRTemplate/Maps/VRTemplateMap.umap new file mode 100644 index 0000000..9f3dd58 --- /dev/null +++ b/Content/VRTemplate/Maps/VRTemplateMap.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2427ec165e9f3a2f72432ca52658bf859b9e88438f7ec02298b2ce9f98b2a5fd +size 1479 diff --git a/Content/VRTemplate/Materials/DefaultRibbonMaterial_NoGradient.uasset b/Content/VRTemplate/Materials/DefaultRibbonMaterial_NoGradient.uasset new file mode 100644 index 0000000..a7650f6 --- /dev/null +++ b/Content/VRTemplate/Materials/DefaultRibbonMaterial_NoGradient.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e60a45f18d9bbe8ac86f1be038d6d656b10b6ac7a9bf741774f121f3c1eb2a +size 65243 diff --git a/Content/VRTemplate/Materials/Functions/MF_OccludedPixels.uasset b/Content/VRTemplate/Materials/Functions/MF_OccludedPixels.uasset new file mode 100644 index 0000000..2454f4e --- /dev/null +++ b/Content/VRTemplate/Materials/Functions/MF_OccludedPixels.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e64f3c0f9851e9c7ab30677f9a9364fa93e4dd79be5a91f90fb488dae9a980 +size 115522 diff --git a/Content/VRTemplate/Materials/MI_Grid_Accent.uasset b/Content/VRTemplate/Materials/MI_Grid_Accent.uasset new file mode 100644 index 0000000..c7bdc8e --- /dev/null +++ b/Content/VRTemplate/Materials/MI_Grid_Accent.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1568672d8031c534f32e148f3b36846ef571efbf0821725826af70df10de14 +size 114443 diff --git a/Content/VRTemplate/Materials/MI_Grid_Default.uasset b/Content/VRTemplate/Materials/MI_Grid_Default.uasset new file mode 100644 index 0000000..37cbccd --- /dev/null +++ b/Content/VRTemplate/Materials/MI_Grid_Default.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c893da4a4a1dcac3d0cbf8e87a833da6958fc63fb9390ee20c372520e56dc92b +size 119261 diff --git a/Content/VRTemplate/Materials/MI_Projectile.uasset b/Content/VRTemplate/Materials/MI_Projectile.uasset new file mode 100644 index 0000000..9c27070 --- /dev/null +++ b/Content/VRTemplate/Materials/MI_Projectile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51b3a7c52c882fae6d5ad2b285286964421d7e83f77d2953338f7ce3fd2e19b3 +size 9468 diff --git a/Content/VRTemplate/Materials/M_GridRotation.uasset b/Content/VRTemplate/Materials/M_GridRotation.uasset new file mode 100644 index 0000000..84cbcd5 --- /dev/null +++ b/Content/VRTemplate/Materials/M_GridRotation.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e6e541760279aacbbfbbdf898acb72e936f5b8370620ae18e830196b9bde945 +size 129120 diff --git a/Content/VRTemplate/Materials/M_Projectile.uasset b/Content/VRTemplate/Materials/M_Projectile.uasset new file mode 100644 index 0000000..28f4d3a --- /dev/null +++ b/Content/VRTemplate/Materials/M_Projectile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ba256ec530817b0058fb6af5bd64974a195c73b261a4d46b1dc3ea9d3dc6e2f +size 10460 diff --git a/Content/VRTemplate/Materials/M_TeleportCylinder.uasset b/Content/VRTemplate/Materials/M_TeleportCylinder.uasset new file mode 100644 index 0000000..95a2a1d --- /dev/null +++ b/Content/VRTemplate/Materials/M_TeleportCylinder.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a5c21d0b684a529667fe15fd46da3e0fe83abe70b8b03e340cb84160933cce +size 83553 diff --git a/Content/VRTemplate/Materials/M_TeleportNoise.uasset b/Content/VRTemplate/Materials/M_TeleportNoise.uasset new file mode 100644 index 0000000..0d2b531 --- /dev/null +++ b/Content/VRTemplate/Materials/M_TeleportNoise.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:951c5abf87d9f43b414db33fdbbd5866bd7a0a8b883b8c70eabe26bb4d3c4653 +size 71650 diff --git a/Content/VRTemplate/Materials/M_VRCursor.uasset b/Content/VRTemplate/Materials/M_VRCursor.uasset new file mode 100644 index 0000000..e0bc127 --- /dev/null +++ b/Content/VRTemplate/Materials/M_VRCursor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb382e33a72c7d3383174940cd30444abb1b3e3cf0fdd48def2b1da520add8a2 +size 54066 diff --git a/Content/VRTemplate/Textures/T_Grid.uasset b/Content/VRTemplate/Textures/T_Grid.uasset new file mode 100644 index 0000000..afbbb38 --- /dev/null +++ b/Content/VRTemplate/Textures/T_Grid.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52e5b1e331b92f2139debad3e796229d0cba1e7498e025916444277edd718c9b +size 25291 diff --git a/Content/VRTemplate/VFX/NPC_VRTemplate.uasset b/Content/VRTemplate/VFX/NPC_VRTemplate.uasset new file mode 100644 index 0000000..95b2f33 --- /dev/null +++ b/Content/VRTemplate/VFX/NPC_VRTemplate.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4deaafdde47a9c9f763e3ff2fe18e6dbd28c8ea30572b7fc03a763ba67b25c0 +size 2918 diff --git a/Content/VRTemplate/VFX/NS_MenuLaser.uasset b/Content/VRTemplate/VFX/NS_MenuLaser.uasset new file mode 100644 index 0000000..9eb68d2 --- /dev/null +++ b/Content/VRTemplate/VFX/NS_MenuLaser.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd0bf0a40f6a12752adcaed33f8c06e9966166fc560e1cb52c9569f3f0df75a6 +size 554155 diff --git a/Content/VRTemplate/VFX/NS_PlayAreaBounds.uasset b/Content/VRTemplate/VFX/NS_PlayAreaBounds.uasset new file mode 100644 index 0000000..7bdbde5 --- /dev/null +++ b/Content/VRTemplate/VFX/NS_PlayAreaBounds.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13c0bed079f7aef9f0e458246311b95168b22649ca5495a4c51155bb7691fe89 +size 538530 diff --git a/Content/VRTemplate/VFX/NS_TeleportRing.uasset b/Content/VRTemplate/VFX/NS_TeleportRing.uasset new file mode 100644 index 0000000..7607fc2 --- /dev/null +++ b/Content/VRTemplate/VFX/NS_TeleportRing.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c55f173631ba21b4bf6e8af38dd85a9f2d4a93b0d08288459a3ec9e868fbe3c +size 765398 diff --git a/Content/VRTemplate/VFX/NS_TeleportTrace.uasset b/Content/VRTemplate/VFX/NS_TeleportTrace.uasset new file mode 100644 index 0000000..24b6de2 --- /dev/null +++ b/Content/VRTemplate/VFX/NS_TeleportTrace.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:936f859d9eff23692e3ca31af07698fbc7c61c1e5b6f54ad5f8bae812a1e067b +size 720370 diff --git a/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_01.uasset b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_01.uasset new file mode 100644 index 0000000..99536dc --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183a0e46eb2b1400bec4def0b041af2937e8802b7520249a05d77df1bc52da26 +size 17615 diff --git a/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_02.uasset b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_02.uasset new file mode 100644 index 0000000..b670c98 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Nature_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d855f8457666545e923adda459d59f318238a1b19f91e8ff43069d2c3738907 +size 85443 diff --git a/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Void.uasset b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Void.uasset new file mode 100644 index 0000000..c729d7a --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Materials/MI_VFX_Trail_Void.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3553c9e45f62bce46a0c4ddb50692af5c03c7a29e773e1d775a6881b9eb2c7f +size 88761 diff --git a/Content/Vefects/Essential_Trails/Shared/Materials/M_VFX_AdvTrail.uasset b/Content/Vefects/Essential_Trails/Shared/Materials/M_VFX_AdvTrail.uasset new file mode 100644 index 0000000..2be74cf --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Materials/M_VFX_AdvTrail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1fc3fc60d93c007cc725b18495c3d5c4dba6aeb065fe38b9ff0382031f556d9 +size 137756 diff --git a/Content/Vefects/Essential_Trails/Shared/Particles/NS_Trail_Nature.uasset b/Content/Vefects/Essential_Trails/Shared/Particles/NS_Trail_Nature.uasset new file mode 100644 index 0000000..3125bdd --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Particles/NS_Trail_Nature.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38049ea90be9128b42fc7137d7c22bb0964b18e82f6864fcda5b189185f54d04 +size 438894 diff --git a/Content/Vefects/Essential_Trails/Shared/Particles/_Emitters/NE_Trail.uasset b/Content/Vefects/Essential_Trails/Shared/Particles/_Emitters/NE_Trail.uasset new file mode 100644 index 0000000..f22b3a2 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Particles/_Emitters/NE_Trail.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3244a9a23bbc6692eb9681933e14b5fefea065519c8ee16757c88069837f2f47 +size 108711 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_01.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_01.uasset new file mode 100644 index 0000000..7ad3f63 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:035d89521ed7cfa9c97e44250724dae8e9f919d805562f908c9c4d7a76ff6f98 +size 243964 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_02.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_02.uasset new file mode 100644 index 0000000..1d4dd05 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Noises_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eacc739af6ecd144b2e5bc89e701309f3545c0fcfcaadf64c54d609150a9d4ec +size 231229 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_01.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_01.uasset new file mode 100644 index 0000000..a281e98 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae1cd1075036ad245c2376a4a40d93aa4f0e16801d5226e67d3d7bbf5b5ed055 +size 332674 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_02.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_02.uasset new file mode 100644 index 0000000..ecafc8f --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Normal_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fe857323cb0cc74e49093cbb5f7814245d056523e467daae878bb13eeb0bf3f +size 247737 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_02.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_02.uasset new file mode 100644 index 0000000..1a74530 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34713e678e30c1caa06fd7daba2d3cc0023cd0986435d0305fb59f75a18813bf +size 102286 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_03.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_03.uasset new file mode 100644 index 0000000..d8d4c70 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_Trail_03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3e86dc4deb59699d4d27bf0b096fe86bef9641eaebbc62fa9d2a33432895099 +size 69457 diff --git a/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_White.uasset b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_White.uasset new file mode 100644 index 0000000..8908b70 --- /dev/null +++ b/Content/Vefects/Essential_Trails/Shared/Textures/T_VFX_White.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa45bfca58500a23ab6da2f030069a6334ace8616ea5e9b977a84aad628a1a0d +size 3807 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MI_Female_Body.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MI_Female_Body.uasset new file mode 100644 index 0000000..9d9b0d7 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MI_Female_Body.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:929f0cbca79349d724304e23216102b86163bf6887f8cf7bbb230088d6d75891 +size 110964 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_Male_Body.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_Male_Body.uasset new file mode 100644 index 0000000..ded7500 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_Male_Body.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b66725d494531218c5b4311f605920119b56a2a24268c1ef0c25c20a17a2b6d +size 133284 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_UE4Man_ChestLogo.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_UE4Man_ChestLogo.uasset new file mode 100644 index 0000000..64ab9f6 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/M_UE4Man_ChestLogo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d7a9a7d9d5de17de38418cd9fa46b9b6475c50287a40fb4f3a0f4a953bd8e1 +size 85677 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset new file mode 100644 index 0000000..a1ce450 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b0b80f9e67b93782bddf92073f5d9f8eeb51bb1a498afc3d7bf81dd47348605 +size 87429 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset new file mode 100644 index 0000000..ea16fbe --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8368fa843a98ee1354a89efa5dd1360138101c8287d0300db55f5712bb213189 +size 100706 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige_LOGO.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige_LOGO.uasset new file mode 100644 index 0000000..4242d56 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige_LOGO.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75a87373c244ab164893773b9516394b6644dfe0267a76ef47bf59e2e16557cc +size 89531 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset new file mode 100644 index 0000000..a5e486f --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c59f2d74a7ecb6dfd7960af3d2a16a3d8399e9e45ca449f1a9ec6cc9ac8009 +size 87886 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01.uasset new file mode 100644 index 0000000..52e515e --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8a0d0e320ad25ef42d8b1d9d06b69aabf431c47a89498637f81f8ed21312765 +size 458080 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset new file mode 100644 index 0000000..fdc2920 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17c7c036a8014e8df8953f31f78c56e6c66b31a9c6266bb954ec32240777fd15 +size 473712 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset new file mode 100644 index 0000000..86b24de --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e281e8cb94782cadecbf5a663f7a661ccb15cd0e7445ea5b680162102bd3c57f +size 502803 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset new file mode 100644 index 0000000..555a163 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bef61f2fe3cbb62515feca3a87b05cc8f4a58530b1af6509a71a43f1f64d40e +size 429534 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin.uasset new file mode 100644 index 0000000..71d5426 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7e2fc5d45770bda8e3ca06a21f08bf4fae45a5713ccfe2bdd581e4ff19d786c +size 6016105 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female.uasset new file mode 100644 index 0000000..4497b15 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77dc3cec220fc5bffbca0daa6eecce24146f0bb8a3fa1b50785a63d62536f9c1 +size 7098359 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female_PhysicsAsset.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female_PhysicsAsset.uasset new file mode 100644 index 0000000..f784a70 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_Female_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d8af5efab909e877f5aca022773e3a24d9c0b27306e4836058f3d02446e5cf6 +size 115736 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset new file mode 100644 index 0000000..6198683 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6aaed0970866408ac31896571fefd5b6fd64a2f72309017cb899afd014d7f40 +size 46248 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/UE4_Mannequin_Skeleton.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/UE4_Mannequin_Skeleton.uasset new file mode 100644 index 0000000..19b66d6 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Mesh/UE4_Mannequin_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09f4b1d14fac8e7858efaf51beaca3eb3d15f678503b7ce9dae69ddfd2ced41b +size 37879 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_Mask.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_Mask.uasset new file mode 100644 index 0000000..5191c6c --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126e9785311419856926be647be664b95784752b9918482a6abafae97559ed4f +size 261831 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_N.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_N.uasset new file mode 100644 index 0000000..3175ac8 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Female_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26baca0b6256b11a04f90a1320eae384cd636998860c86f57b79b652e13ca77e +size 18472640 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_Mask.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_Mask.uasset new file mode 100644 index 0000000..f5429c1 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b903309aab3ba87224f5244974b55422201ccf1a9c3938c2b6174486e9b40a14 +size 271885 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_N.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_N.uasset new file mode 100644 index 0000000..607a349 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_Male_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98fb106a598c9a89029b5f2a982d12d05f24ec5be646931b8c574270037d3dc7 +size 5480265 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_Mask.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_Mask.uasset new file mode 100644 index 0000000..d0a6a35 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6371201580220bd7707b5bbe45b5ffb2b97b92669f487765d5e59a384a05562d +size 97401 diff --git a/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_N.uasset b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_N.uasset new file mode 100644 index 0000000..b43b67d --- /dev/null +++ b/Content/Vefects/Sand_VFX/Demo/Others/Mannequin/Character/Textures/T_UE4Logo_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fa126196a3bc49bea24fc099cdbaaa1cfcfa2358a6744e31cb1438527e0741b +size 145676 diff --git a/Content/Vefects/Sand_VFX/Shared/Materials/M_VFX_SandFloating.uasset b/Content/Vefects/Sand_VFX/Shared/Materials/M_VFX_SandFloating.uasset new file mode 100644 index 0000000..d0cec85 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Materials/M_VFX_SandFloating.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33f4b536ebe0510e9747f466591ceac24faa0a6a805c6810a90a71d791831546 +size 95460 diff --git a/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Dir.uasset b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Dir.uasset new file mode 100644 index 0000000..15d8334 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Dir.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95fe53c229b3e1bc924407a1c4ae930e075938b282d5b0552a6b59d56ba9bc11 +size 117848 diff --git a/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_SideThick.uasset b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_SideThick.uasset new file mode 100644 index 0000000..db25ea3 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_SideThick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c939490c89828844d1ff4d3f222cd6b7dbea2e36e30191e3f6e08e8fcc6fa97 +size 89200 diff --git a/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Top.uasset b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Top.uasset new file mode 100644 index 0000000..75bfccb --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Particles/NE_SandBurst_Top.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a340b45d774e219e7d91b36886e89bac73414bbc69d1ba354e82305a50fbfc08 +size 118690 diff --git a/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_BigImpact.uasset b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_BigImpact.uasset new file mode 100644 index 0000000..785353f --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_BigImpact.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82e0edb0fd8073ba9df6f43e8d8f6ad7c0451bc10f6ff1adf4501616b8cc2d6 +size 2944083 diff --git a/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Dir.uasset b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Dir.uasset new file mode 100644 index 0000000..27f46ee --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Dir.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcca23c9c825281ede56ecffa1f329c317086e35d2083ebb6fc13c71b64fa914 +size 1513845 diff --git a/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Side.uasset b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Side.uasset new file mode 100644 index 0000000..4f396ce --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Side.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83672db13425dfc9b4ef3bb242597cfac9e539eefd45c9b4927caf67ab04b4fc +size 1317506 diff --git a/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_SideSmall.uasset b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_SideSmall.uasset new file mode 100644 index 0000000..908a391 --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_SideSmall.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:633d6196a102e72dd91beb26aa7295c05b93c9379edb85fdf11a303de83696c5 +size 1576790 diff --git a/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Top.uasset b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Top.uasset new file mode 100644 index 0000000..20d852c --- /dev/null +++ b/Content/Vefects/Sand_VFX/Shared/Textures/T_VFX_SandBurst_Top.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05a8b7e47cb08b8c81c4d26125b1b81ed8490395d81ab66090837fe2ac82e527 +size 745749 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Looped/NS_Sand_Impact_Ground_Big_Looped.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Looped/NS_Sand_Impact_Ground_Big_Looped.uasset new file mode 100644 index 0000000..a08c143 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Looped/NS_Sand_Impact_Ground_Big_Looped.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88107601b5770591c41392f2956aebb62f9d71437ba6d70bedcf5a92df00a34 +size 1868614 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDir.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDir.uasset new file mode 100644 index 0000000..202609c --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDir.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc67260763455d41ef9194806320a96d2d947469141b37ee548b0dfc29991fa7 +size 79987 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDirExtraFade.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDirExtraFade.uasset new file mode 100644 index 0000000..d5158fc --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstDirExtraFade.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa5d641ec5fd0233c8d948684cc01dd05640e429ea5d9f62451a72a134b7eed4 +size 82938 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideBig.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideBig.uasset new file mode 100644 index 0000000..1d94a8e --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideBig.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f1cb239fd5e6642eaf3cf38bba6525c393df7af50471fa9ff80aba4c005ad92 +size 90881 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideThick.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideThick.uasset new file mode 100644 index 0000000..5b84557 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstSideThick.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35f69c8d9354ef98fc5a1a37c2c43cf4260ac7273e554a888704c08c79d1f8ef +size 79710 diff --git a/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstTop.uasset b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstTop.uasset new file mode 100644 index 0000000..6e54558 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/Impacts/Materials/MI_VFX_SandBurstTop.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af6700e2bc3a6b3119904e04a5cb9073bdc21175233f0924d4dbe1ff1f07f4e9 +size 80963 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02.uasset new file mode 100644 index 0000000..1a3f7f6 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48bacc7786d3f3e7eedbac2fe0230fad9cfdaacdcc22cea2f84c3dcbb317c6a0 +size 11094 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02FaceCamera.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02FaceCamera.uasset new file mode 100644 index 0000000..e3b9e6c --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling02FaceCamera.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be18abefabf53140f2feea6bdec3310200d031fee0f80ffb27908a4d41a54cce +size 76804 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03.uasset new file mode 100644 index 0000000..a81ab0a --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56166a794b53c71f66eb01670b1b72515e4bf19fa0442b00c9d466b8dc8d8932 +size 10949 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03FaceCamera.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03FaceCamera.uasset new file mode 100644 index 0000000..5fe4e35 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Materials/MI_VFX_Sand_Falling_Ceiling03FaceCamera.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab5545b539189cb16fb1d68f38a1e82520486bba8f4638e013100099d6076fec +size 77333 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling02.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling02.uasset new file mode 100644 index 0000000..3b430f9 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfa0fb7159fcd94452fc40f31e19cadfaaf9a6bbdbe60206f46d23049e1eb231 +size 613574 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling03.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling03.uasset new file mode 100644 index 0000000..a514e94 --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/NS_Sand_Ceiling03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5e71159ac23a0226185dcbff7f4d82b4bed2c89b255909b3f11e3a462faab99 +size 613689 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling02.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling02.uasset new file mode 100644 index 0000000..431ad5b --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986e48fe5eba4ea0cc6240198d3766e149476935b0bb0bbef5f68cdd8a987062 +size 610596 diff --git a/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling03.uasset b/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling03.uasset new file mode 100644 index 0000000..4a4954c --- /dev/null +++ b/Content/Vefects/Sand_VFX/VFX/SandFalling/Textures/T_VFX_Sand_Ceiling03.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77c0de0c4259239d9b43c83088b81f136ae609e0803a29cd95e59491f0e7f75 +size 594965 diff --git a/Content/WaterEffect/Texture/T_Fx_NoiseC.uasset b/Content/WaterEffect/Texture/T_Fx_NoiseC.uasset new file mode 100644 index 0000000..0eeee3b --- /dev/null +++ b/Content/WaterEffect/Texture/T_Fx_NoiseC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d38afe26f093e0540d1bc3a333ebb276e8a245e481153de6a0696fba4ac00b5 +size 696683 diff --git a/Content/WaterStamp/Base/Materials/6_Light_Direction_BP/MPC_Light_Direction.uasset b/Content/WaterStamp/Base/Materials/6_Light_Direction_BP/MPC_Light_Direction.uasset new file mode 100644 index 0000000..7923bc8 --- /dev/null +++ b/Content/WaterStamp/Base/Materials/6_Light_Direction_BP/MPC_Light_Direction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f11db6ad215122f53c0317153cf0a761efcf69c331fa513741b064020102b2e +size 1951 diff --git a/Content/WaterStamp/Base/Textures/Foam/Wave_Foam/alpha.uasset b/Content/WaterStamp/Base/Textures/Foam/Wave_Foam/alpha.uasset new file mode 100644 index 0000000..a06b800 --- /dev/null +++ b/Content/WaterStamp/Base/Textures/Foam/Wave_Foam/alpha.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e89e143bcb322bc753681852c818c1a4892fe4d02818fba2c0fef81c67a28a2 +size 6850346 diff --git a/Content/WaterStamp/Base/Textures/Water_Normals/T_Water_Normal_15_N.uasset b/Content/WaterStamp/Base/Textures/Water_Normals/T_Water_Normal_15_N.uasset new file mode 100644 index 0000000..720ca56 --- /dev/null +++ b/Content/WaterStamp/Base/Textures/Water_Normals/T_Water_Normal_15_N.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c876b535b10831de61176a19c29c83321d85607430d0665a0b7ccb204a0252e +size 2919682 diff --git a/Content/WaterStamp/Dev/MI_Base_Water1.uasset b/Content/WaterStamp/Dev/MI_Base_Water1.uasset new file mode 100644 index 0000000..c8bec0c --- /dev/null +++ b/Content/WaterStamp/Dev/MI_Base_Water1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df42ffc7d556fb6241eb440d256cce97ae9fb8a870f970fd72854534ef7db8d5 +size 20530 diff --git a/Content/WaterStamp/Dev/M_Base_Water.uasset b/Content/WaterStamp/Dev/M_Base_Water.uasset new file mode 100644 index 0000000..9297c9e --- /dev/null +++ b/Content/WaterStamp/Dev/M_Base_Water.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a76da330e2892875e98469be384d224e3c3d561a0f56e0687d7d99f5e26018c +size 87091 diff --git a/Content/Waterline_Content/Resources/Textures/Caustics/Caustics_Tex_3.uasset b/Content/Waterline_Content/Resources/Textures/Caustics/Caustics_Tex_3.uasset new file mode 100644 index 0000000..f2cf8b3 --- /dev/null +++ b/Content/Waterline_Content/Resources/Textures/Caustics/Caustics_Tex_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e930f1b81b96e41fea4a733695ad8e9e20d46cb4b0f7aac79ec158ea85ebc21e +size 574750 diff --git a/Content/Waterline_Content/Resources/Textures/Water_Camera_Drops/Drops_Mask.uasset b/Content/Waterline_Content/Resources/Textures/Water_Camera_Drops/Drops_Mask.uasset new file mode 100644 index 0000000..1cf5fe7 --- /dev/null +++ b/Content/Waterline_Content/Resources/Textures/Water_Camera_Drops/Drops_Mask.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f12750cab85af761bfb8561379ae9f7a678adb9c52d87a7674c4a4e82ac418c +size 2962792 diff --git a/Content/Wood_Pack_03/Material/M_Wood_02.uasset b/Content/Wood_Pack_03/Material/M_Wood_02.uasset new file mode 100644 index 0000000..42ba88f --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f62846765e453e9b2217d9ec929fce1a4e14a99459476c02e20c6c48c186c247 +size 21055 diff --git a/Content/Wood_Pack_03/Material/M_Wood_02_Inst.uasset b/Content/Wood_Pack_03/Material/M_Wood_02_Inst.uasset new file mode 100644 index 0000000..3400bee --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_02_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb1eb7d16bdd82ab3ae4f452c5be7785ac9b45b0ba32151ca1b61c63d9c50168 +size 12393 diff --git a/Content/Wood_Pack_03/Material/M_Wood_02_Inst1.uasset b/Content/Wood_Pack_03/Material/M_Wood_02_Inst1.uasset new file mode 100644 index 0000000..ad0142c --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_02_Inst1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88f05971307383f583e2e55d8985e3907435c3882850292eaa2c8ea7bc0d8a4 +size 12848 diff --git a/Content/Wood_Pack_03/Material/M_Wood_06.uasset b/Content/Wood_Pack_03/Material/M_Wood_06.uasset new file mode 100644 index 0000000..55d2677 --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_06.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:642905656e51b8ecb3c18c66575afb2c40ab25f80085e00a6db09f6d613dad5b +size 20650 diff --git a/Content/Wood_Pack_03/Material/M_Wood_06_Inst.uasset b/Content/Wood_Pack_03/Material/M_Wood_06_Inst.uasset new file mode 100644 index 0000000..431ea71 --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_06_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c916873981cff2e5a0375228de7db0b7bf635d487a745c35286dac62b409e1c +size 12277 diff --git a/Content/Wood_Pack_03/Material/M_Wood_08.uasset b/Content/Wood_Pack_03/Material/M_Wood_08.uasset new file mode 100644 index 0000000..90467b8 --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_08.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:498c552d1e0616d10c69fbfe31bbb6bbefa53aa14ce377b05f60fa96ecd9fabb +size 19947 diff --git a/Content/Wood_Pack_03/Material/M_Wood_08_Inst.uasset b/Content/Wood_Pack_03/Material/M_Wood_08_Inst.uasset new file mode 100644 index 0000000..72d1777 --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_08_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dfa6d15be58e058e1fd1432249f869f3098c5e9b935614c38b70344f3b8fc94 +size 10365 diff --git a/Content/Wood_Pack_03/Material/M_Wood_08_Inst_Inst.uasset b/Content/Wood_Pack_03/Material/M_Wood_08_Inst_Inst.uasset new file mode 100644 index 0000000..af09aec --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_08_Inst_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b69337e759e71ae2cb29446832aed7c0358b14ee028dfb7fcaa0507edcf63d4 +size 10768 diff --git a/Content/Wood_Pack_03/Material/M_Wood_09.uasset b/Content/Wood_Pack_03/Material/M_Wood_09.uasset new file mode 100644 index 0000000..2ed4383 --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_09.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3e419ac677d531e5c0428dfe54e65972ac29086aaaa35ca004d777ba203c28e +size 139253 diff --git a/Content/Wood_Pack_03/Material/M_Wood_10.uasset b/Content/Wood_Pack_03/Material/M_Wood_10.uasset new file mode 100644 index 0000000..f2719ba --- /dev/null +++ b/Content/Wood_Pack_03/Material/M_Wood_10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3305f1df7e8fd5335affdf4c774decc490303aca8e5f1a5edf7f1bafe7b17611 +size 131941 diff --git a/Content/Wood_Pack_03/Material/blinn1.uasset b/Content/Wood_Pack_03/Material/blinn1.uasset new file mode 100644 index 0000000..91e9f44 --- /dev/null +++ b/Content/Wood_Pack_03/Material/blinn1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b7e5890e555079b6b3d4feb092e2a1265845fc1deb4c501092c94459a42d81d +size 9010 diff --git a/Content/Wood_Pack_03/Material/lambert10.uasset b/Content/Wood_Pack_03/Material/lambert10.uasset new file mode 100644 index 0000000..bdd8743 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cd5bf6bebd90db78725fb7eb448a966dce2d583aefdd03f298679821e7a9bdc +size 9028 diff --git a/Content/Wood_Pack_03/Material/lambert2.uasset b/Content/Wood_Pack_03/Material/lambert2.uasset new file mode 100644 index 0000000..4c4aa95 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6fd97d45131add70e94b73dc3e2c6a636b6852f07cf99f6c6d06c1ea274312d +size 8699 diff --git a/Content/Wood_Pack_03/Material/lambert2_ncl1_1.uasset b/Content/Wood_Pack_03/Material/lambert2_ncl1_1.uasset new file mode 100644 index 0000000..fc89139 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert2_ncl1_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce624898df2b8a2320558bafa2f5dd73058199a30619a66c8af6d59d146e1c8 +size 9078 diff --git a/Content/Wood_Pack_03/Material/lambert3.uasset b/Content/Wood_Pack_03/Material/lambert3.uasset new file mode 100644 index 0000000..154a779 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64766c425b9364b09fa6ded8676b9962bf8a4851e2f00210a03da27e614a35f5 +size 9523 diff --git a/Content/Wood_Pack_03/Material/lambert5.uasset b/Content/Wood_Pack_03/Material/lambert5.uasset new file mode 100644 index 0000000..cef43b0 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9f6eec04a5c41cc4508b2de3c1aa1e18ef4e69dcfe1ad13baef9a9db1aaa6de +size 9022 diff --git a/Content/Wood_Pack_03/Material/lambert6.uasset b/Content/Wood_Pack_03/Material/lambert6.uasset new file mode 100644 index 0000000..32b717e --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e3ce34e5c61884515606319a0e7c2e09844bd6e230649e063e34c58a60b0565 +size 9201 diff --git a/Content/Wood_Pack_03/Material/lambert7.uasset b/Content/Wood_Pack_03/Material/lambert7.uasset new file mode 100644 index 0000000..e84ec34 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c66b8f6fbac117a457bb2529a43e63b771e56b0f9621a37dea7035264e944ff +size 8524 diff --git a/Content/Wood_Pack_03/Material/lambert8.uasset b/Content/Wood_Pack_03/Material/lambert8.uasset new file mode 100644 index 0000000..5b8e129 --- /dev/null +++ b/Content/Wood_Pack_03/Material/lambert8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ba7967e148a0c12da22b659b033500fee2117669f05a24c2d41c222983b6d0 +size 9076 diff --git a/Content/Wood_Pack_03/Material/戏台3.uasset b/Content/Wood_Pack_03/Material/戏台3.uasset new file mode 100644 index 0000000..bc2750c --- /dev/null +++ b/Content/Wood_Pack_03/Material/戏台3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a6c4d1e1e3ef13dbf84b6d63f991d45e9022dda02bac65b8b84b365e97d6be8 +size 8027975 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_Normal.uasset b/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_Normal.uasset new file mode 100644 index 0000000..3e2ca25 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1446cf84e63269b465394d8fe296a34137a9fad5962658efd43f5b8ee7ad1a2a +size 22484624 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_OcclusionRoughnessMetallic.uasset b/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..3a27ddd --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_02/T_Wood_02_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32205cb3c16f23c2f1a86b1aaa6f4e1334c3e1586a956b14a173cff181dce5ff +size 23085753 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_05/T_Wood_05_BaseColor.uasset b/Content/Wood_Pack_03/Textures/T_Wood_05/T_Wood_05_BaseColor.uasset new file mode 100644 index 0000000..7e297b3 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_05/T_Wood_05_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e1374656ace0fc08c098cc33317ae340b82f9641ec64150a6ce4373806b5138 +size 16179625 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_BaseColor.uasset b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_BaseColor.uasset new file mode 100644 index 0000000..aefde76 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6823ad201df8765517bd849ab65f5b4d577b6f3e0fef21ab3737b23ea28b486 +size 20700936 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_Normal.uasset b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_Normal.uasset new file mode 100644 index 0000000..d6a2d36 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0f0b13f47c7bd41091bff984cb1c6bcaf70c13b35fa66524cf53c8330fcffac +size 32687394 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_OcclusionRoughnessMetallic.uasset b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..c78a439 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_06/T_Wood_06_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76b078bfd2d6f82abfc77b4df7e6a0a6fe4b38c3247be6836b33b6de5aaadec1 +size 30283610 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_BaseColor.uasset b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_BaseColor.uasset new file mode 100644 index 0000000..ea601da --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c518b2f6e6ed4374538decf3391703bde5f9a2b8517ceb04cc105c45b71894a +size 31647150 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_Normal.uasset b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_Normal.uasset new file mode 100644 index 0000000..b2e27bd --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75c750fddf0266869c40fa840083c3b3d4b192da7df2bd4e7431d0789b7d7686 +size 39070590 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_OcclusionRoughnessMetallic.uasset b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..29c17be --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_08/T_Wood_08_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62e795a45b4b51fcd8606b4ce18a9b8d4134922b9e85387287601c62733c843a +size 29199003 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_BaseColor.uasset b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_BaseColor.uasset new file mode 100644 index 0000000..d6d9c1d --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:868759110910ec695f331f22018b243952f89695b8aec041d7d90dd036d1f5b4 +size 7223350 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_Normal.uasset b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_Normal.uasset new file mode 100644 index 0000000..8540576 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:571dbfa1117faa7982dae5796b4165bbbb28f76b2a6c30f8ec57bf30d830abc9 +size 8126897 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_OcclusionRoughnessMetallic.uasset b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..3c847bf --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_09/T_Wood_09_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37bdbea31751a5e17ba1a12fb84832560a4bd7a947585116b76e3b73dc37a88b +size 5985047 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_BaseColor.uasset b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_BaseColor.uasset new file mode 100644 index 0000000..65dcdc9 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d15a6975628414b84972d08a44ffef51cbcb264d410ef98fabd49bd175ecd3b +size 6795214 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_Normal.uasset b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_Normal.uasset new file mode 100644 index 0000000..e5f4717 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4d53361735df59b66c1c1e5cef0fc6602ca6ebbff76b41d347b2279602ee1d8 +size 2061762 diff --git a/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_OcclusionRoughnessMetallic.uasset b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..d647ea3 --- /dev/null +++ b/Content/Wood_Pack_03/Textures/T_Wood_10/T_Wood_10_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93d2dc241f332268effa391bd8282a1f2a4070d265702a35ff35ed28721c2262 +size 4433562 diff --git a/Content/XiTai/01jiannu260_01-10Copy.uasset b/Content/XiTai/01jiannu260_01-10Copy.uasset new file mode 100644 index 0000000..aaf473e --- /dev/null +++ b/Content/XiTai/01jiannu260_01-10Copy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:435e95f9f034d313cd72b2d78f84019b60bf06870726e274faa79923c1765ffd +size 79557 diff --git a/Content/YuLin/Meshes/A_attack.uasset b/Content/YuLin/Meshes/A_attack.uasset new file mode 100644 index 0000000..6814d26 --- /dev/null +++ b/Content/YuLin/Meshes/A_attack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44205a5fe6477bbacaae8ee25c50ed67750bdf7c6a9d446f2db914a8a700b7bf +size 6539528 diff --git a/Content/YuLin/Meshes/A_attack1.uasset b/Content/YuLin/Meshes/A_attack1.uasset new file mode 100644 index 0000000..2537baf --- /dev/null +++ b/Content/YuLin/Meshes/A_attack1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db1a5e6a6c043ebb147b757c75fd1eba7fea29976646c54a41347ece87c3b1ba +size 1447 diff --git a/Content/YuLin/Meshes/A_attack_Anim.uasset b/Content/YuLin/Meshes/A_attack_Anim.uasset new file mode 100644 index 0000000..8c75796 --- /dev/null +++ b/Content/YuLin/Meshes/A_attack_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4afc675cd3cefc4ee3688f67119cb5b4bc0945c79f667f21163ac8f4b7cfe040 +size 891486 diff --git a/Content/YuLin/Meshes/A_attack_PhysicsAsset.uasset b/Content/YuLin/Meshes/A_attack_PhysicsAsset.uasset new file mode 100644 index 0000000..18f8852 --- /dev/null +++ b/Content/YuLin/Meshes/A_attack_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09639e08903966ab6063c5549eb018c0abcbbb4dfc29e766867f8eb78b31b62e +size 196104 diff --git a/Content/YuLin/Meshes/A_attack_Skeleton.uasset b/Content/YuLin/Meshes/A_attack_Skeleton.uasset new file mode 100644 index 0000000..3f4f9db --- /dev/null +++ b/Content/YuLin/Meshes/A_attack_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b811660619256f69376276465d6466d6d176a082c6f914e0bffd2258a7a37d42 +size 70164 diff --git a/Content/YuLin/Meshes/A_dead_Anim.uasset b/Content/YuLin/Meshes/A_dead_Anim.uasset new file mode 100644 index 0000000..1b8db21 --- /dev/null +++ b/Content/YuLin/Meshes/A_dead_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7132169c10e196cc4f96707455624bab44324aeffb75a97640a6a3c704332e40 +size 908068 diff --git a/Content/YuLin/Meshes/A_idle_Anim.uasset b/Content/YuLin/Meshes/A_idle_Anim.uasset new file mode 100644 index 0000000..66c2b8e --- /dev/null +++ b/Content/YuLin/Meshes/A_idle_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7554423b7c86925220a6a62c0842b0b613828009e73358d135a137dc323769c6 +size 1123259 diff --git a/Content/YuLin/Meshes/A_run_Anim.uasset b/Content/YuLin/Meshes/A_run_Anim.uasset new file mode 100644 index 0000000..90f145a --- /dev/null +++ b/Content/YuLin/Meshes/A_run_Anim.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76e05a50ecb1d6f8edbf88dcfcf583db827c42a150694f7b3b647c9b1299ec98 +size 758523 diff --git a/Content/YuLin/Meshes/M_HuoshanYouY.uasset b/Content/YuLin/Meshes/M_HuoshanYouY.uasset new file mode 100644 index 0000000..f879b55 --- /dev/null +++ b/Content/YuLin/Meshes/M_HuoshanYouY.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2767d8e316b5aa7f2b48d543d03f9fddcb02dbe7caee83c17a78fd0a0cf25d1f +size 17342 diff --git a/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset b/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset new file mode 100644 index 0000000..69d94a0 --- /dev/null +++ b/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-007.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7cf731032d47d831af07f9f63e9817a49faea0dcf1f049a54738997ace2702c +size 5281292 diff --git a/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset b/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset new file mode 100644 index 0000000..66b7beb --- /dev/null +++ b/Content/jixielong/mesh/wenwu/3d66Model-19859571-files-008.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3cb87f0c10c3631b6362527ab09a3763770f7f4800ff05f1a1e4bce02ed535f +size 6334912 diff --git a/Content/jixielong/mesh/wenwu/M_banliang.uasset b/Content/jixielong/mesh/wenwu/M_banliang.uasset new file mode 100644 index 0000000..d65651a --- /dev/null +++ b/Content/jixielong/mesh/wenwu/M_banliang.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcbe3e3deec2de884a7bd183e7269f1edd3ca6a930aad8b21ccb0a9360837139 +size 22996 diff --git a/Content/jixielong/mesh/wenwu/M_banliang_Inst.uasset b/Content/jixielong/mesh/wenwu/M_banliang_Inst.uasset new file mode 100644 index 0000000..c799898 --- /dev/null +++ b/Content/jixielong/mesh/wenwu/M_banliang_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f558f0f5d8963af7b2694d70d1dc2c0868cf81a9b16832b97c7239931ac4d059 +size 14727 diff --git a/Content/jixielong/mesh/wenwu/bi.uasset b/Content/jixielong/mesh/wenwu/bi.uasset new file mode 100644 index 0000000..b924203 --- /dev/null +++ b/Content/jixielong/mesh/wenwu/bi.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c77b128d1e859ebfc9a74fc0fea45af9bd26f35f4a25283b92072c673d8de89 +size 36183 diff --git a/Content/marble_materials_03/Materials/MI_marble_56.uasset b/Content/marble_materials_03/Materials/MI_marble_56.uasset new file mode 100644 index 0000000..68a1df0 --- /dev/null +++ b/Content/marble_materials_03/Materials/MI_marble_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a8fafff3a9e32bf07ba12a22cdf751deb85c50c3b92af652c12880b1d3d903c +size 13912 diff --git a/Content/marble_materials_03/Materials/MI_marble_63.uasset b/Content/marble_materials_03/Materials/MI_marble_63.uasset new file mode 100644 index 0000000..c7335d1 --- /dev/null +++ b/Content/marble_materials_03/Materials/MI_marble_63.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abfbd2c45d7d5e0c98291b1a20127462df47e896a0b255b4b79b48197692d371 +size 13405 diff --git a/Content/marble_materials_03/Materials/M_marble_01.uasset b/Content/marble_materials_03/Materials/M_marble_01.uasset new file mode 100644 index 0000000..8a35077 --- /dev/null +++ b/Content/marble_materials_03/Materials/M_marble_01.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d22f7f2d110406c3e4a088dfd65a0bf7a9d54ae7d1cdad7d6afd731d6cf41170 +size 16361 diff --git a/Content/marble_materials_03/Materials/M_marble_02.uasset b/Content/marble_materials_03/Materials/M_marble_02.uasset new file mode 100644 index 0000000..8660a7d --- /dev/null +++ b/Content/marble_materials_03/Materials/M_marble_02.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:154d228c56390aed5d367c7e4ab659a7065d62c8d83ebd7f909b9518976004eb +size 34571 diff --git a/Content/marble_materials_03/Materials/M_marble_02_Inst.uasset b/Content/marble_materials_03/Materials/M_marble_02_Inst.uasset new file mode 100644 index 0000000..a869668 --- /dev/null +++ b/Content/marble_materials_03/Materials/M_marble_02_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd68a13d12778ccd750a02b800a41d873f2a40addf4be82c2e762656281a3672 +size 15333 diff --git a/Content/marble_materials_03/textures/T_marble_41.uasset b/Content/marble_materials_03/textures/T_marble_41.uasset new file mode 100644 index 0000000..968009e --- /dev/null +++ b/Content/marble_materials_03/textures/T_marble_41.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76f5598245476eb9246ab8d721502b77072693a034f1a1e5c5b152b4554d7fb6 +size 25102538 diff --git a/Content/marble_materials_03/textures/T_marble_56.uasset b/Content/marble_materials_03/textures/T_marble_56.uasset new file mode 100644 index 0000000..e52ad8f --- /dev/null +++ b/Content/marble_materials_03/textures/T_marble_56.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c47598066b9b68e45730154a13cbb58fa9a1eed41cb325cf29d761e9281316c +size 14983714 diff --git a/Content/sA_ParticleFx_01/Fx/NS_Ground_CC_4_Infinite.uasset b/Content/sA_ParticleFx_01/Fx/NS_Ground_CC_4_Infinite.uasset new file mode 100644 index 0000000..3e826ed --- /dev/null +++ b/Content/sA_ParticleFx_01/Fx/NS_Ground_CC_4_Infinite.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3409edfe389d04a4750a0d3b909351d50944c19e9edaeeff886b0adb9794b8a0 +size 4059788 diff --git a/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Ground.uasset b/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Ground.uasset new file mode 100644 index 0000000..f3891f3 --- /dev/null +++ b/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Ground.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7869f82c4b56a264b6c75584b7c1dd541773e59fdbcc88a0804d0d9181ec7b54 +size 71121 diff --git a/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Spray.uasset b/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Spray.uasset new file mode 100644 index 0000000..2a8c5d8 --- /dev/null +++ b/Content/sA_ParticleFx_01/Fx/NiagaraEmitters/NE_Basic_Spray.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5efe364bd1ded55c860d19df20d59c9380d5596ed3945a4f15046356113a38 +size 139081 diff --git a/Content/sA_ParticleFx_01/Materials/MI_Radial.uasset b/Content/sA_ParticleFx_01/Materials/MI_Radial.uasset new file mode 100644 index 0000000..956041b --- /dev/null +++ b/Content/sA_ParticleFx_01/Materials/MI_Radial.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c410e8ff17d09d5615547ed0119e4efeb615d9cfa0c344eba42c2bc5d36eff95 +size 70227 diff --git a/Content/sA_ParticleFx_01/Materials/M_Master_RadialBeam.uasset b/Content/sA_ParticleFx_01/Materials/M_Master_RadialBeam.uasset new file mode 100644 index 0000000..0fee658 --- /dev/null +++ b/Content/sA_ParticleFx_01/Materials/M_Master_RadialBeam.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ca28f8c733727b7e39fb10b42e64d1fb348c292110b13e69988f1fd58564a8a +size 74348 diff --git a/Content/sA_ParticleFx_01/Materials/M_Master_Unlit.uasset b/Content/sA_ParticleFx_01/Materials/M_Master_Unlit.uasset new file mode 100644 index 0000000..bc3d66b --- /dev/null +++ b/Content/sA_ParticleFx_01/Materials/M_Master_Unlit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6666149f7282657af07e7613bd304f2bb675f1b0990dfe2269e082bd2d61fa87 +size 81815 diff --git a/Content/sA_ParticleFx_01/Materials/Textures/T_CircCloud_1.uasset b/Content/sA_ParticleFx_01/Materials/Textures/T_CircCloud_1.uasset new file mode 100644 index 0000000..4d32f7d --- /dev/null +++ b/Content/sA_ParticleFx_01/Materials/Textures/T_CircCloud_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d632820b199efb731aba40fd5e4966652418f4b1ca6bee7312eb07c4bb3d8207 +size 1156695 diff --git a/Content/sA_ParticleFx_01/Meshes/SM_Ground_Plane.uasset b/Content/sA_ParticleFx_01/Meshes/SM_Ground_Plane.uasset new file mode 100644 index 0000000..ebd0010 --- /dev/null +++ b/Content/sA_ParticleFx_01/Meshes/SM_Ground_Plane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ce5b57d62aca94da16b87d7fe7a181ed5defb82be53463464cf4f79982bec3c +size 94867 diff --git a/Content/sA_ParticleFx_01/Meshes/SM_HemiSphere_1.uasset b/Content/sA_ParticleFx_01/Meshes/SM_HemiSphere_1.uasset new file mode 100644 index 0000000..21b5f28 --- /dev/null +++ b/Content/sA_ParticleFx_01/Meshes/SM_HemiSphere_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e0f453e4e18d1b1721827bf7b1a92470e0d5231e8f3cfa98c7b5832e38ca206 +size 289700 diff --git a/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_Plane.uasset b/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_Plane.uasset new file mode 100644 index 0000000..0af3dac --- /dev/null +++ b/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_Plane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b2addbdc276375f159f1e7405c6412fb0066e110cdf582b7922ac19720cb12b +size 74895 diff --git a/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_SimpleBurst.uasset b/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_SimpleBurst.uasset new file mode 100644 index 0000000..835ee35 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/FX/NiagaraEmitters/NE_SimpleBurst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:972c734d54b13c95e5ffbe5280b7574b511232278e96061463bf0dccd428ec97 +size 143644 diff --git a/Content/sA_StylizedAttacksPack/FX/NiagaraSystems/NS_AOE_Attack_2_WallMode.uasset b/Content/sA_StylizedAttacksPack/FX/NiagaraSystems/NS_AOE_Attack_2_WallMode.uasset new file mode 100644 index 0000000..7ae4507 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/FX/NiagaraSystems/NS_AOE_Attack_2_WallMode.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9814e8fca3170599945bbce5502389007738cb8f96d9ac97c8ac877d730e5d5 +size 1003589 diff --git a/Content/sA_StylizedAttacksPack/Materials/MI_Radial_2.uasset b/Content/sA_StylizedAttacksPack/Materials/MI_Radial_2.uasset new file mode 100644 index 0000000..18ced02 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/MI_Radial_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b01ebade2770d357df15e37e0c65376978aab87f2131e565f192d805471bb12 +size 68383 diff --git a/Content/sA_StylizedAttacksPack/Materials/M_Basic_Particle_2.uasset b/Content/sA_StylizedAttacksPack/Materials/M_Basic_Particle_2.uasset new file mode 100644 index 0000000..43c5258 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/M_Basic_Particle_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6f94e119a3434d7c6dccd03b52f79d2e103b565edcd4774ddb05a2cf34a7907 +size 75067 diff --git a/Content/sA_StylizedAttacksPack/Materials/M_Gradient_Vert2.uasset b/Content/sA_StylizedAttacksPack/Materials/M_Gradient_Vert2.uasset new file mode 100644 index 0000000..84d4be8 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/M_Gradient_Vert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08e8ee1204efe81a59ed0001df93db926e76d150002e39fb9cdf13c7fd3645a3 +size 13248 diff --git a/Content/sA_StylizedAttacksPack/Materials/M_Ground_Crack_Masked.uasset b/Content/sA_StylizedAttacksPack/Materials/M_Ground_Crack_Masked.uasset new file mode 100644 index 0000000..f842a5d --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/M_Ground_Crack_Masked.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3a93e785c76ed2d81c2cedc66dad1478d9dd0a550dc6417b218373201f66783 +size 82074 diff --git a/Content/sA_StylizedAttacksPack/Materials/M_Master_RadialBeam.uasset b/Content/sA_StylizedAttacksPack/Materials/M_Master_RadialBeam.uasset new file mode 100644 index 0000000..40b4437 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/M_Master_RadialBeam.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f94c5724a8dcbacdee9f0e7a633ad1f210109a587739a5ededc30a168db3396 +size 75145 diff --git a/Content/sA_StylizedAttacksPack/Materials/Textures/T_Circle_1.uasset b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Circle_1.uasset new file mode 100644 index 0000000..b7ad2f5 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Circle_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3591b00efd5c9d66660722c238908452b2f7495320e791ab9a29f211e2764a54 +size 395307 diff --git a/Content/sA_StylizedAttacksPack/Materials/Textures/T_Gradient_Vertical.uasset b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Gradient_Vertical.uasset new file mode 100644 index 0000000..d7eb7b1 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Gradient_Vertical.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2c3fe8bf5860bdde1a5c7705bcbc129e7ebfd731c5b7513ad876ba8c4692d7d +size 25004 diff --git a/Content/sA_StylizedAttacksPack/Materials/Textures/T_Ground_Crack_3.uasset b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Ground_Crack_3.uasset new file mode 100644 index 0000000..21c6767 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Materials/Textures/T_Ground_Crack_3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c62cd21a054742161d86015b3a2a9132363a8acc041686a0309526402a354b25 +size 282149 diff --git a/Content/sA_StylizedAttacksPack/Models/SM_GroundCrackAura3.uasset b/Content/sA_StylizedAttacksPack/Models/SM_GroundCrackAura3.uasset new file mode 100644 index 0000000..e0de25f --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Models/SM_GroundCrackAura3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14cab5f67bab7bfbe60ef4e145f5590120fb5712cb4e3ffe7bf952b291142c1c +size 47924 diff --git a/Content/sA_StylizedAttacksPack/Models/SM_LongPlane.uasset b/Content/sA_StylizedAttacksPack/Models/SM_LongPlane.uasset new file mode 100644 index 0000000..37f156c --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Models/SM_LongPlane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaad674f938fa70cecbc02d50126dced262fe132bd44e6760a906c809759f2eb +size 15254 diff --git a/Content/sA_StylizedAttacksPack/Models/SM_Plane.uasset b/Content/sA_StylizedAttacksPack/Models/SM_Plane.uasset new file mode 100644 index 0000000..add5400 --- /dev/null +++ b/Content/sA_StylizedAttacksPack/Models/SM_Plane.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91a7fe08e40f9a49dafa2bf4541173df93109bfc4ef2a9ac9f83686298ab37bc +size 15257 diff --git a/Content/xuweihuanyu/Meshes/zhutai/BP_huo_bideng.uasset b/Content/xuweihuanyu/Meshes/zhutai/BP_huo_bideng.uasset new file mode 100644 index 0000000..95e2bf9 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/BP_huo_bideng.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21994e1314674786de875470f5df55493b0d01e2ba3b2ba6745b39dfb492349e +size 80361 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire.uasset new file mode 100644 index 0000000..3679d19 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:976fecaea3020993fe6fcf41123a1f585720ba6502e2d62b74031d9947e1108e +size 11564 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire1.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire1.uasset new file mode 100644 index 0000000..76c7f62 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feb869e16613accebc89e1d95046513b7a3dfc2629f92743d948055ab2f9a64e +size 11736 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire111.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire111.uasset new file mode 100644 index 0000000..6f515be --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire111.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a083e4f1f277b82a21ead3967f38f633a23485cad432d4890aa204f7cf0ff2 +size 11760 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire112.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire112.uasset new file mode 100644 index 0000000..26c81b8 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire112.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54302be49acd07d367245f8af4aa2de585a7ffb29fcf62184b3cd8a1e37a09ed +size 11663 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire2.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire2.uasset new file mode 100644 index 0000000..56dbd75 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_Bluefire2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27ee2703d42a79b116898f23d6e3fcc928a95a1797be795e2892e636796f0d2 +size 11533 diff --git a/Content/xuweihuanyu/Meshes/zhutai/M_huo.uasset b/Content/xuweihuanyu/Meshes/zhutai/M_huo.uasset new file mode 100644 index 0000000..3f22ad8 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/M_huo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e020cf8943cbfa8bf4563a1de1a8e313c4f595fc2dd53a8d1c481db6d09376e8 +size 12513 diff --git a/Content/xuweihuanyu/Meshes/zhutai/Mat3d66_11918829_4_96787.uasset b/Content/xuweihuanyu/Meshes/zhutai/Mat3d66_11918829_4_96787.uasset new file mode 100644 index 0000000..d74fe78 --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/Mat3d66_11918829_4_96787.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:336aa6eb970c71ae15d5597c995cf930f356f1c05f1e839200b73b8fb95b0528 +size 1542 diff --git a/Content/xuweihuanyu/Meshes/zhutai/huo.uasset b/Content/xuweihuanyu/Meshes/zhutai/huo.uasset new file mode 100644 index 0000000..0d4fc3a --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/huo.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1ba9a70fcab88709ef05d3058399644c3a58dcf72110a50fcee7bb512c80307 +size 28651 diff --git a/Content/xuweihuanyu/Meshes/zhutai/huo1.uasset b/Content/xuweihuanyu/Meshes/zhutai/huo1.uasset new file mode 100644 index 0000000..f948ffe --- /dev/null +++ b/Content/xuweihuanyu/Meshes/zhutai/huo1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18288f573123c96080f669dab56f5c54ef40096f817d1c4cd060d04ba5656c19 +size 28977 diff --git a/Plugins/AndroidVulkanVideo_5.3/AndroidVulkanVideo.uplugin b/Plugins/AndroidVulkanVideo_5.3/AndroidVulkanVideo.uplugin new file mode 100644 index 0000000..ed8eb21 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/AndroidVulkanVideo.uplugin @@ -0,0 +1,72 @@ +{ + "FileVersion": 3, + "Version": 10, + "VersionName": "v2.05", + "FriendlyName": "DirectVideo Android", + "Description": "Android video playback using Vulkan", + "Category": "Rendering", + "CreatedBy": "Joe Marshall", + "CreatedByURL": "", + "DocsURL": "", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/342ae80f4bc04e4aa232991047532ff2", + "SupportURL": "https://joemarshall.github.io/directvideo/", + "EngineVersion": "5.3.0", + "CanContainContent": true, + "Installed": true, + "SupportedTargetPlatforms": [ + "Win64", + "Android" + ], + "Modules": [ + { + "Name": "AndroidVulkanVideo", + "Type": "Runtime", + "LoadingPhase": "PostConfigInit", + "PlatformAllowList": [ + "Android" + ], + "TargetAllowList": [ + "Game", + "Client" + ] + }, + { + "Name": "VulkanVideoMeshComponent", + "Type": "RuntimeNoCommandlet", + "LoadingPhase": "PostEngineInit", + "PlatformAllowList": [ + "Android" + ], + "TargetAllowList": [ + "Game", + "Editor", + "Client", + "Server" + ] + }, + { + "Name": "AndroidVulkanVideoFactory", + "Type": "RuntimeNoCommandlet", + "LoadingPhase": "PostEngineInit", + "PlatformAllowList": [ + "Android" + ], + "TargetAllowList": [ + "Game", + "Editor", + "Client", + "Server" + ] + }, + { + "Name": "AndroidVulkanVideoFactory", + "Type": "Editor", + "LoadingPhase": "PostEngineInit" + }, + { + "Name": "VulkanVideoMeshComponent", + "Type": "Editor", + "LoadingPhase": "PostEngineInit" + } + ] +} \ No newline at end of file diff --git a/Plugins/AndroidVulkanVideo_5.3/Resources/Icon128.png b/Plugins/AndroidVulkanVideo_5.3/Resources/Icon128.png new file mode 100644 index 0000000..e2db129 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Resources/Icon128.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126ac901a5501b9de0a5b4c9f7f4cf648a3b16609ba3d66158e58d05515c0d01 +size 22882 diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/AndroidVulkanVideo.Build.cs b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/AndroidVulkanVideo.Build.cs new file mode 100644 index 0000000..4fd8202 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/AndroidVulkanVideo.Build.cs @@ -0,0 +1,88 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Build AndroidVulkanVideo module +// ------------------------------------------------ + +using UnrealBuildTool; +using System.IO; +using System; + +public class AndroidVulkanVideo : ModuleRules +{ + public AndroidVulkanVideo(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + CppStandard = CppStandardVersion.Cpp17; + + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Projects" + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", "Engine","RHI","VulkanRHI","AudioExtensions","MediaUtils" + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + "Media" + } + ); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "Media","MediaUtils" + }); + + if (Target.Platform == UnrealTargetPlatform.Android) + { + PrivateDependencyModuleNames.AddRange(new string[] { "Launch" }); + // AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "Copy_Lib_Android.xml")); + AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan"); + PublicSystemLibraries.Add("libmediandk"); + string overridelib_src_path = Path.GetFullPath("../overridelib/BuildOverrideLib.xml", ModuleDirectory); + string overridelib_built_path = Path.GetFullPath("./overridelib_built/InstallOverrideLib.xml",ModuleDirectory); + if(File.Exists(overridelib_src_path)){ + // build vulkan override layer from scratch if we have code + AdditionalPropertiesForReceipt.Add("AndroidPlugin", overridelib_src_path); + }else if(File.Exists(overridelib_built_path)){ + // otherwise copy pre-built vulkan override layer .so into project + AdditionalPropertiesForReceipt.Add("AndroidPlugin", overridelib_built_path); + }else{ + // ERROR + throw new InvalidOperationException("Need "+overridelib_built_path+" to build"); + } + } + + bPrecompile = true; + + } +} diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanMediaPlayer.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanMediaPlayer.cpp new file mode 100644 index 0000000..a5e4a8d --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanMediaPlayer.cpp @@ -0,0 +1,716 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// The main IMediaPlayer implementation. This is a +// shim which provides Unreal interfaces, and then +// defers everything vulkan related to the main +// AndroidVulkanVideoImpl class. +// ------------------------------------------------ + +#include "AndroidVulkanMediaPlayer.h" +#include "AndroidVulkanTextureSample.h" + +#include "IVulkanImpl.h" + +#include "VideoMediaSampleHolder.h" + +#include "UnrealArchiveFileSource.h" +#include "UnrealAudioOut.h" + +#include "HAL/FileManager.h" +#include "HAL/PlatformFilemanager.h" +#include "IPlatformFilePak.h" +#include "Misc/ConfigCacheIni.h" // for GConfig access + +#include "UnrealLogging.h" + +#define LOCTEXT_NAMESPACE "FAndroidVulkanVideoModule" + +#include + +static void *implDLL = NULL; + +// logging object passed to impl +static UnrealLogger logger; + +typedef IVulkanImpl *(*CreateImplType)(); +typedef void (*DestroyImplType)(IVulkanImpl *); +static CreateImplType createImpl = NULL; +static DestroyImplType destroyImpl = NULL; + +FAndroidVulkanMediaPlayer::FAndroidVulkanMediaPlayer(IMediaEventSink &InEventSink) + : SampleQueue(MakeShared()), + EventSink(InEventSink) +{ + if (implDLL == NULL) + { + implDLL = dlopen("libVkLayer_OverrideLib.so", RTLD_NOW | RTLD_LOCAL); + createImpl = (CreateImplType)(dlsym(implDLL, "createImpl")); + destroyImpl = (DestroyImplType)(dlsym(implDLL, "destroyImpl")); + } + impl = createImpl(); + impl->setDataCallback(this); + impl->setLogger(&logger); + impl->setLooping(Looping); + // get log format bitmask from defaultEngine.ini + int32 LogVisibility; + if (GConfig->GetInt(TEXT("DirectVideo"), TEXT("LogBitmask"), LogVisibility, GEngineIni)) + { + logger.SetLogVisibilityBitmask((int64)LogVisibility); + } + else + { + logger.SetLogVisibilityBitmask(ILogger::LogTypes::ALL_LOGS_BITMASK); + } + // get output format from defaultEngine.ini + FString OutFormat; + EMediaTextureSampleFormat SampleFormat = EMediaTextureSampleFormat::CharBGR10A2; + if (GConfig->GetString(TEXT("DirectVideo"), TEXT("OutputFormat"), OutFormat, GEngineIni)) + { + if (OutFormat.Equals(TEXT("CharBGR10A2"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::CharBGR10A2; + } + else if (OutFormat.Equals(TEXT("CharBGRA"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::CharBGRA; + } + + else if (OutFormat.Equals(TEXT("CharRGBA"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::CharRGBA; + } + else if (OutFormat.Equals(TEXT("RGBA16"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::RGBA16; + } + + else if (OutFormat.Equals(TEXT("FloatRGB"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::FloatRGB; + } + else if (OutFormat.Equals(TEXT("FloatRGBA"), ESearchCase::IgnoreCase)) + { + SampleFormat = EMediaTextureSampleFormat::FloatRGBA; + } + else + { + UE_LOGFMT(LogDirectVideo, Error, "Bad sample format in defaultEngine.ini"); + } + } + AndroidVulkanTextureSample::SetVideoFormat(SampleFormat); + + AudioOut = new UnrealAudioOut(NULL); + impl->setAudioOut(AudioOut); + PlayState = EMediaState::Closed; + CurInfo.Empty(); + DelegateEnterBackground = FCoreDelegates::ApplicationWillEnterBackgroundDelegate.AddRaw( + this, &FAndroidVulkanMediaPlayer::OnEnterBackground); + DelegateEnterForeground = FCoreDelegates::ApplicationHasEnteredForegroundDelegate.AddRaw( + this, &FAndroidVulkanMediaPlayer::OnEnterForeground); + SeekIndex = 0; + SentBlankFrame = false; + Seeking = false; +} + +FAndroidVulkanMediaPlayer::~FAndroidVulkanMediaPlayer() +{ + Close(); + SentBlankFrame = true; + if (DelegateEnterBackground.IsValid()) + { + FCoreDelegates::ApplicationWillEnterBackgroundDelegate.Remove(DelegateEnterBackground); + } + if (DelegateEnterForeground.IsValid()) + { + FCoreDelegates::ApplicationHasEnteredForegroundDelegate.Remove(DelegateEnterForeground); + } + destroyImpl(impl); + impl = NULL; + delete AudioOut; + AudioOut = NULL; +} + +// IMediaPlayer +// -------------------------------- +void FAndroidVulkanMediaPlayer::Close() +{ + SentBlankFrame = false; + + if (PlayState != EMediaState::Closed) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Media player close called"); + SampleQueue->FlushSamples(); + VideoSamplePool.ReleaseEverything(); + SeekIndex = 0; + Seeking = false; + EventSink.ReceiveMediaEvent(EMediaEvent::TracksChanged); + EventSink.ReceiveMediaEvent(EMediaEvent::MediaClosed); + PlayState = EMediaState::Closed; + // close the impl last because it will + // kill all the texture images that we release in the pool above + impl->close(); + } +} +FString FAndroidVulkanMediaPlayer::GetInfo() const +{ + return CurInfo; +} +FGuid FAndroidVulkanMediaPlayer::GetPlayerPluginGUID() const +{ + static FGuid OurGUID(0x9bf2d7c6, 0xb2b84d26, 0xb6ae5a3a, 0xc9883569); + return OurGUID; +} +FString FAndroidVulkanMediaPlayer::GetStats() const +{ + return TEXT("Not implemented"); +} +FString FAndroidVulkanMediaPlayer::GetUrl() const +{ + return VideoURL; +} +bool FAndroidVulkanMediaPlayer::Open(const FString &Url, const IMediaOptions *Options) +{ + Close(); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Try open Url {0}", Url); + SentBlankFrame = false; + bool started = false; + FString fullPath = Url; + if (fullPath.StartsWith("file://")) + { + fullPath = fullPath.RightChop(7); + } + if (fullPath.Contains("://")) + { + // a (non-file url) + started = impl->startVideoURL(TCHAR_TO_UTF8(*fullPath), false); + } + else + { + // a file path - check if it is local or not + if (fullPath.StartsWith("./")) + { + fullPath = FPaths::ProjectContentDir() + fullPath.RightChop(2); + } + FPaths::NormalizeFilename(fullPath); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Start video {0}", fullPath); + IAndroidPlatformFile &PlatformFile = IAndroidPlatformFile::GetPlatformPhysical(); + if (PlatformFile.FileExists(*fullPath)) + { + int64 FileOffset = PlatformFile.FileStartOffset(*fullPath); + int64 FileSize = PlatformFile.FileSize(*fullPath); + FString FileRootPath = PlatformFile.FileRootPath(*fullPath); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "File exists: {0} {1} {2} {3}", FileRootPath, + FileOffset, FileSize, fullPath); + started = + impl->startVideoFile(TCHAR_TO_UTF8(*FileRootPath), FileOffset, FileSize, false); + } + else + { + // check if the file exists in an archive / encrypted etc. + FPakPlatformFile *PakPlatformFile = + (FPakPlatformFile *)(FPlatformFileManager::Get().FindPlatformFile( + FPakPlatformFile::GetTypeName())); + + TRefCountPtr PakFile; + FPakEntry FileEntry; + if (PakPlatformFile != nullptr && + PakPlatformFile->FindFileInPakFiles(*fullPath, &PakFile, &FileEntry)) + { + // we have the file in a pak file + // use a custom media data source to read it + // n.b. if pak file is uncompressed and the file isn't encrypted we could skip this + // step but this should work whatever + TSharedRef Archive = + MakeShareable(IFileManager::Get().CreateFileReader(*fullPath)); + UnrealArchiveFileSource *fs = new UnrealArchiveFileSource(Archive); + started = impl->startVideoCustomSource(fs, false); + } + } + } + if (started) + { + PlayState = EMediaState::Stopped; + EventSink.ReceiveMediaEvent(EMediaEvent::TracksChanged); + EventSink.ReceiveMediaEvent(EMediaEvent::MediaOpened); + UE_LOGFMT(LogDirectVideo, Verbose, "Opening {0}", *Url); + SeekIndex = 0; + Seeking = false; + } + else + { + // couldn't open + UE_LOGFMT(LogDirectVideo, Error, "Can't find video file {0}", *Url); + } + return started; +} +bool FAndroidVulkanMediaPlayer::Open(const TSharedRef &Archive, + const FString &OriginalUrl, const IMediaOptions *Options) +{ + UE_LOGFMT(LogDirectVideo, Error, "Opening archive {0} not supported", *OriginalUrl); + return false; +} +void FAndroidVulkanMediaPlayer::SetGuid(const FGuid &Guid) +{ + PlayerGUID = Guid; +} + +void FAndroidVulkanMediaPlayer::TickFetch(FTimespan DeltaTime, FTimespan Timecode) +{ + UE_LOGFMT(LogDirectVideo, VeryVerbose, "TickFetch"); +} + +void FAndroidVulkanMediaPlayer::TickInput(FTimespan DeltaTime, FTimespan Timecode) +{ + UE_LOGFMT(LogDirectVideo, VeryVerbose, "TickInput start"); + + /* int64_t presTimeNs = impl->getTimeNS(); + SampleQueue->SetLastTimeStamp( + FMediaTimeStamp(DeltaTime, + #if UE_VERSION_OLDER_THAN(5, 3, 0) + static_cast(SeekIndex) << 32)); + #else + FMediaTimeStamp::MakeSequenceIndex(SeekIndex, 0))); + #endif + */ + HasVideoThisFrame = false; + VideoSamplePool.Tick(); + if (!SentBlankFrame && impl->numVideoTracks() == 0) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "blank frame"); + SentBlankFrame = true; + auto textureSample = VideoSamplePool.AcquireShared(); + textureSample->InitNoVideo(); + SampleQueue->AddVideo(textureSample); + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "TickInput dt:{0} tc {1} num {2}", DeltaTime.GetTicks(), + Timecode.GetTicks(), SampleQueue->NumVideoSamples()); +} + +bool FAndroidVulkanMediaPlayer::GetPlayerFeatureFlag(EFeatureFlag flag) const +{ + + switch (flag) + { + case EFeatureFlag::PlayerUsesInternalFlushOnSeek: + return true; + case EFeatureFlag::AlwaysPullNewestVideoFrame: + return true; + case EFeatureFlag::UsePlaybackTimingV2: + return true; + case EFeatureFlag::IsTrackSwitchSeamless: + return true; + case EFeatureFlag::UseRealtimeWithVideoOnly: + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Feature flag query"); + return true; + default: + return false; + } +} + +// IMediaControl +// -------------------------------- + +bool FAndroidVulkanMediaPlayer::CanControl(EMediaControl Control) const +{ + switch (Control) + { + case EMediaControl::Pause: + return PlayState == EMediaState::Playing; + case EMediaControl::Resume: + return PlayState == EMediaState::Stopped; + case EMediaControl::Seek: + return PlayState != EMediaState::Closed; + } + return false; +} + +FTimespan FAndroidVulkanMediaPlayer::GetDuration() const +{ + int64_t timeNS = impl->getDurationNS(); + if (timeNS >= 0 && PlayState != EMediaState::Closed) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Get Duration {0}", int64(timeNS)); + return FTimespan(timeNS / 100LL); + } + else + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Get Duration empty"); + return FTimespan::MaxValue(); + } +} + +float FAndroidVulkanMediaPlayer::GetRate() const +{ + if (PlayState == EMediaState::Playing) + { + return impl->getRate(); + } + else + { + return 0.0; + } +} + +EMediaState FAndroidVulkanMediaPlayer::GetState() const +{ + return PlayState; +} + +EMediaStatus FAndroidVulkanMediaPlayer::GetStatus() const +{ + // not supported yet + return EMediaStatus::None; +} + +TRangeSet FAndroidVulkanMediaPlayer::GetSupportedRates(EMediaRateThinning Thinning) const +{ + TRangeSet Retval; + if (impl->numAudioTracks() > 0) + { + Retval.Add(TRange(0.0f)); + Retval.Add(TRange(1.0f)); + } + else + { + Retval.Add(TRange(TRange::BoundsType::Inclusive(0.0f), + TRange::BoundsType::Inclusive(10.0f))); + } + return Retval; +} + +FTimespan FAndroidVulkanMediaPlayer::GetTime() const +{ + int64_t timeNS = impl->getTimeNS(); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Get Time {0}", int64(timeNS)); + if (timeNS >= 0) + { + return FTimespan(timeNS / 100LL); + } + return FTimespan::Zero(); +} + +bool FAndroidVulkanMediaPlayer::IsLooping() const +{ + return Looping; +} + +bool FAndroidVulkanMediaPlayer::Seek(const FTimespan &Time) +{ + UE_LOGFMT(LogDirectVideo, Verbose, "Seek index:{0}", SeekIndex); + Seeking = true; + int64_t ticks = Time.GetTicks(); + int64_t nanoseconds = ticks * 100LL; + impl->seek(nanoseconds); + return true; +} + +bool FAndroidVulkanMediaPlayer::SetLooping(bool Loop) +{ + Looping = Loop; + impl->setLooping(Looping); + return true; +} +bool FAndroidVulkanMediaPlayer::SetRate(float Rate) +{ + bool retval = false; + int iInitialState = (int)PlayState; + switch (PlayState) + { + case EMediaState::Playing: + if (Rate == 0.0) + { + impl->setPlaying(false); + PlayState = EMediaState::Stopped; + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackSuspended); + retval = true; + } + else + { + return impl->setRate(Rate); + retval = true; + } + break; + case EMediaState::Stopped: + if (Rate == 0.0) + { + retval = true; + } + else if (Rate > 0.0) + { + impl->setPlaying(true); + PlayState = EMediaState::Playing; + retval = impl->setRate(Rate); + if (retval) + { + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackResumed); + } + } + break; + }; + int iFinalState = (int)PlayState; + UE_LOGFMT(LogDirectVideo, Verbose, "Set rate {0} {1} state:{2}->{3}", Rate, retval, + iInitialState, iFinalState); + // return false; + return retval; +} + +bool FAndroidVulkanMediaPlayer::SetNativeVolume(float Volume) +{ + return AudioOut->setVolume(Volume); +} + +// IMediaTracks +// -------------------------------- +bool FAndroidVulkanMediaPlayer::GetAudioTrackFormat(int32 TrackIndex, int32 FormatIndex, + FMediaAudioTrackFormat &OutFormat) const +{ + if (FormatIndex != 0 || PlayState == EMediaState::Closed) + { + return false; + } + int32 bitsPerSample; + int32 channels; + int32 rate; + if (!impl->getAudioTrackFormat(TrackIndex, &bitsPerSample, &channels, &rate)) + { + return false; + } + OutFormat.BitsPerSample = bitsPerSample; + OutFormat.NumChannels = channels; + OutFormat.SampleRate = rate; + OutFormat.TypeName = TEXT("Native"); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Get audio trackformat {0} {1} {2} {3}", TrackIndex, + bitsPerSample, channels, rate); + return true; +} +int32 FAndroidVulkanMediaPlayer::GetNumTracks(EMediaTrackType TrackType) const +{ + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Get num tracks type: {0}", int(TrackType)); + // TODO: support audio / video only + switch (TrackType) + { + case EMediaTrackType::Audio: + return impl->numAudioTracks(); + case EMediaTrackType::Video: + return impl->numVideoTracks(); + default: + return 0; + } +} + +int32 FAndroidVulkanMediaPlayer::GetNumTrackFormats(EMediaTrackType TrackType, + int32 TrackIndex) const +{ + if (TrackIndex >= GetNumTracks(TrackType)) + { + return 0; + } + switch (TrackType) + { + case EMediaTrackType::Audio: + return 1; + case EMediaTrackType::Video: + return 1; + default: + return 0; + } +} + +int32 FAndroidVulkanMediaPlayer::GetSelectedTrack(EMediaTrackType TrackType) const +{ + if (TrackType == EMediaTrackType::Audio) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Returning no selected audio track"); + return INDEX_NONE; + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Returning selected track type {0}", int(TrackType)); + return 0; +} + +FText FAndroidVulkanMediaPlayer::GetTrackDisplayName(EMediaTrackType TrackType, + int32 TrackIndex) const +{ + // TODO: pass through display names + + return FText::Format(LOCTEXT("TrackName", "Track {0} type {1}"), (int)TrackType, TrackIndex); +} + +int32 FAndroidVulkanMediaPlayer::GetTrackFormat(EMediaTrackType TrackType, int32 TrackIndex) const +{ + return 0; +} + +FString FAndroidVulkanMediaPlayer::GetTrackLanguage(EMediaTrackType TrackType, + int32 TrackIndex) const +{ + // TODO - pass language through + return TEXT(""); +} + +FString FAndroidVulkanMediaPlayer::GetTrackName(EMediaTrackType TrackType, int32 TrackIndex) const +{ + if (TrackIndex == 0 && PlayState != EMediaState::Closed) + { + return TEXT("TRACK"); + } + else + { + return TEXT(""); + } +} + +bool FAndroidVulkanMediaPlayer::GetVideoTrackFormat(int32 TrackIndex, int32 FormatIndex, + FMediaVideoTrackFormat &OutFormat) const +{ + if (FormatIndex != 0 || PlayState == EMediaState::Closed) + { + return false; + } + int w = 0, h = 0; + float frameRate = 0; + if (!impl->getVideoTrackFormat(TrackIndex, &w, &h, &frameRate)) + { + return false; + } + OutFormat.Dim.X = w; + OutFormat.Dim.Y = h; + OutFormat.FrameRate = frameRate; + OutFormat.FrameRates = TRange(frameRate); + OutFormat.TypeName = TEXT("Vulkan Video Frame"); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Got out video format"); + return true; +} + +bool FAndroidVulkanMediaPlayer::SelectTrack(EMediaTrackType TrackType, int32 TrackIndex) +{ + if (TrackType == EMediaTrackType::Audio) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Not selecting audio track"); + return false; + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Selecting track type {0} = {0}", int(TrackType), + TrackIndex); + return true; + // return TrackIndex == 0 && PlayState != EMediaState::Closed; +} + +bool FAndroidVulkanMediaPlayer::SetTrackFormat(EMediaTrackType TrackType, int32 TrackIndex, + int32 FormatIndex) +{ + // todo: support multiple formats / track + return TrackIndex == 0 && FormatIndex == 0 && PlayState != EMediaState::Closed; +} + +IMediaSamples &FAndroidVulkanMediaPlayer::GetSamples() +{ + return *SampleQueue.Get(); +} + +void FAndroidVulkanMediaPlayer::onVideoFrame(void *frameHwBuffer, int w, int h, int64_t presTimeNs) +{ + if (PlayState == EMediaState::Closed) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Releasing frame as we are closed"); + impl->releaseFrame(frameHwBuffer); + return; + } + if (HasVideoThisFrame) + { + impl->releaseFrame(frameHwBuffer); + return; + } + HasVideoThisFrame = true; + auto textureSample = VideoSamplePool.AcquireShared(); + textureSample->Init(impl, frameHwBuffer, w, h, + FMediaTimeStamp(FTimespan(presTimeNs / 100LL), + + FMediaTimeStamp::MakeSequenceIndex(SeekIndex, 0))); + + SampleQueue->AddVideo(textureSample); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Add video sample"); + // UE_LOGFMT(LogDirectVideo, VeryVerbose, "Video samples {0}", + // SampleQueue->NumVideoSamples()); + // NB: this needs to happen after the sample is in the queue, so that + // the queue has something in when media player facade samples it for playback + // time + if (Seeking) + { + SeekIndex += 1; + UE_LOGFMT(LogDirectVideo, Verbose, "Seek completed {0}", SeekIndex); + Seeking = false; + EventSink.ReceiveMediaEvent(EMediaEvent::SeekCompleted); + } +} + +void FAndroidVulkanMediaPlayer::OnEnterBackground() +{ + // going into backgroud - if playing, pause implementation player + if (PlayState == EMediaState::Playing) + { + impl->setPlaying(false); + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackSuspended); + UE_LOGFMT(LogDirectVideo, Verbose, "Enter suspend"); + } +} +void FAndroidVulkanMediaPlayer::OnEnterForeground() +{ + // back into foreground - if playing, start + if (PlayState == EMediaState::Playing) + { + impl->setPlaying(true); + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackResumed); + UE_LOGFMT(LogDirectVideo, Verbose, "Enter foreground"); + } +} + +void FAndroidVulkanMediaPlayer::ProcessVideoSamples() +{ + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Process video samples"); +} + +void *FAndroidVulkanMediaPlayer::getVkDeviceProcAddr(const char *name) +{ + void *result = static_cast( + (static_cast(GDynamicRHI))->RHIGetVkDeviceProcAddr(name)); + + return result; +} + +VkDevice FAndroidVulkanMediaPlayer::getVkDevice() +{ + IVulkanDynamicRHI *rhi = static_cast(GDynamicRHI); + if (rhi == NULL) + { + return VK_NULL_HANDLE; + } + return rhi->RHIGetVkDevice(); +} + +const VkAllocationCallbacks *FAndroidVulkanMediaPlayer::getVkAllocationCallbacks() +{ + IVulkanDynamicRHI *rhi = static_cast(GDynamicRHI); + if (rhi == NULL) + { + return NULL; + } + return rhi->RHIGetVkAllocationCallbacks(); +} + +VkPhysicalDevice FAndroidVulkanMediaPlayer::getNativePhysicalDevice() +{ + return static_cast(GDynamicRHI->RHIGetNativePhysicalDevice()); +} + +void FAndroidVulkanMediaPlayer::onPlaybackEnd(bool looping) +{ + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackEndReached); + if (!looping) + { + PlayState = EMediaState::Stopped; + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackSuspended); + } +} + +#undef LOCTEXT_NAMESPACE diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanTextureSample.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanTextureSample.cpp new file mode 100644 index 0000000..0c26060 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanTextureSample.cpp @@ -0,0 +1,399 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Vulkan texture sample implementation. +// +// Actual texture handling is handled in +// FRenderOnRHIThreadCommand::Execute via calls to +// IVulkanImpl +// ------------------------------------------------ + +#include "AndroidVulkanTextureSample.h" + +#include "UnrealLogging.h" + +#include "Android/AndroidApplication.h" +#include "IVulkanDynamicRHI.h" + +#include "IVulkanImpl.h" +#include "SceneUtils.h" + +#include "RenderingThread.h" + +void AndroidVulkanTextureSample::FRenderOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture) +{ + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + return; + IVulkanDynamicRHI *RHI = static_cast(GDynamicRHI); + FVulkanRHIImageViewInfo TexInfo = RHI->RHIGetImageViewInfo(DstTexture.GetReference()); + VkCommandBuffer cmdBuffer = RHI->RHIGetActiveVkCommandBuffer(); + // 2) impl class + // 3) VkImageView etc. from InDstTexture + int w = TexInfo.Width; + int h = TexInfo.Height; + int Samples = DstTexture->GetDesc().NumSamples; + Impl->renderFrameToImageView(cmdBuffer, FrameHWImage, TexInfo.ImageView, TexInfo.Image, + TexInfo.Format, w, h, Samples); +} + +void AndroidVulkanTextureSample::FRenderMeshOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture, + void *MeshID, int Samples) +{ + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + return; + IVulkanDynamicRHI *RHI = static_cast(GDynamicRHI); + FVulkanRHIImageViewInfo TexInfo = RHI->RHIGetImageViewInfo(DstTexture.GetReference()); + VkCommandBuffer cmdBuffer = RHI->RHIGetActiveVkCommandBuffer(); + int w = TexInfo.Width; + int h = TexInfo.Height; + int DrawViews = DstTexture->GetDesc().ArraySize; + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Render in existing pass: Samples: {0} views: {1}", + Samples, DrawViews); + // render to upside down viewport for consistency with unreal rendering + Impl->renderFrameToMeshInExistingPass(cmdBuffer, FrameHWImage, TexInfo.Image, 0, h, w, -h, + Samples, DrawViews, MeshID); +} + +void AndroidVulkanTextureSample::FUpdateMeshOnRHIThreadCommand( + const FTexture2DRHIRef &DstTexture, const TArray &PositionAndUV, + const TArray &Indices, const ShaderModelMatrix &Matrix, void *MeshID) +{ + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + return; + IVulkanDynamicRHI *RHI = static_cast(GDynamicRHI); + VkCommandBuffer cmdBuffer = RHI->RHIGetActiveVkCommandBuffer(); + Impl->loadMesh(cmdBuffer, PositionAndUV.GetData(), PositionAndUV.Num(), Indices.GetData(), + Indices.Num(), MeshID); + Impl->updateModelMatrix(cmdBuffer, Matrix, MeshID); +} + +void AndroidVulkanTextureSample::FUpdateMatricesOnRHIThreadCommand( + const FTexture2DRHIRef &DstTexture, const ShaderViewMatrices &Matrices, void *MeshID) +{ + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + return; + IVulkanDynamicRHI *RHI = static_cast(GDynamicRHI); + FVulkanRHIImageViewInfo TexInfo = RHI->RHIGetImageViewInfo(DstTexture.GetReference()); + VkCommandBuffer cmdBuffer = RHI->RHIGetActiveVkCommandBuffer(); + + Impl->updateViewMatrices(cmdBuffer, Matrices, TexInfo.Image); +} + +void AndroidVulkanTextureSample::FInitMeshRenderingCommand(const FTexture2DRHIRef &DstTexture, + void *MeshID, int Samples) +{ + FScopeLock Lock(&AccessLock); + IVulkanDynamicRHI *RHI = static_cast(GDynamicRHI); + FVulkanRHIImageViewInfo TexInfo = RHI->RHIGetImageViewInfo(DstTexture.GetReference()); + VkCommandBuffer cmdBuffer = RHI->RHIGetActiveVkCommandBuffer(); + int w = TexInfo.Width; + int h = TexInfo.Height; + int DrawViews = DstTexture->GetDesc().ArraySize; + Impl->initializeFrameObjectsOutsidePass(cmdBuffer, FrameHWImage, TexInfo.Image, w, h, MeshID, + Samples, DrawViews); +} + +AndroidVulkanTextureSample::AndroidVulkanTextureSample() +{ + Impl = NULL; + FrameHWImage = NULL; + NumSamples = 1; + + static const auto NumSamplesVar = + IConsoleManager::Get().FindConsoleVariable(TEXT("r.MSAACount")); + static const auto AAType = + IConsoleManager::Get().FindConsoleVariable(TEXT("r.Mobile.AntiAliasing")); + + if (AAType != NULL && NumSamplesVar != NULL) + { + EAntiAliasingMethod MobileAntiAliasing = EAntiAliasingMethod(AAType->GetInt()); + if (MobileAntiAliasing == EAntiAliasingMethod::AAM_MSAA) + { + NumSamples = NumSamplesVar->GetInt(); + } + } +} + +void AndroidVulkanTextureSample::InitNoVideo() +{ + FScopeLock Lock(&AccessLock); + Clear(); + this->Dimension = FIntPoint(2, 2); + this->FrameHWImage = NULL; + this->SampleTime = FMediaTimeStamp(FTimespan::Zero()); + IsEmptyTexture = true; +} + +void AndroidVulkanTextureSample::Init(IVulkanImpl *impl, void *hwImage, int w, int h, + FMediaTimeStamp sampleTime) +{ + FScopeLock Lock(&AccessLock); + Clear(); + this->Impl = impl; + this->Dimension = FIntPoint(w, h); + this->FrameHWImage = hwImage; + this->SampleTime = sampleTime; + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Create texture sample {0} {1}x{2} {3} ", this, + Dimension.X, Dimension.Y, sampleTime.Time); + IsEmptyTexture = false; +} + +AndroidVulkanTextureSample::~AndroidVulkanTextureSample() +{ +} + +FIntPoint AndroidVulkanTextureSample::GetDim() const +{ + return Dimension; +} + +FIntPoint AndroidVulkanTextureSample::GetOutputDim() const +{ + return Dimension; +} +uint32 AndroidVulkanTextureSample::GetStride() const +{ + return Dimension.X; +} +FRHITexture *AndroidVulkanTextureSample::GetTexture() const +{ + return NULL; +} + +IMediaTextureSampleConverter *AndroidVulkanTextureSample::GetMediaTextureSampleConverter() +{ + return this; +} + +bool AndroidVulkanTextureSample::Convert(FTexture2DRHIRef &InDstTexture, + const FConversionHints &Hints) +{ + FRHICommandListImmediate &RHICmdList = FRHICommandListExecutor::GetImmediateCommandList(); + return ConvertInternal(RHICmdList, InDstTexture, Hints); +} + +bool AndroidVulkanTextureSample::ConvertInternal(FRHICommandListImmediate &RHICmdList, + FTexture2DRHIRef &InDstTexture, + const FConversionHints &Hints) +{ + UE_LOGFMT(LogDirectVideo, VeryVerbose, "ConvertInternal"); + FScopeLock Lock(&AccessLock); + if (IsEmptyTexture) + { + // just let texture clear itself to clear colour + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Getting clear texture"); + Shown = true; + return true; + } + else + { + if (Impl == NULL) + { + return false; + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "doing texture conversion"); + + FTexture2DRHIRef CopyInDstTexture = InDstTexture; + RHICmdList.EnqueueLambda(TEXT("ConvertTexture"), + ([this, CopyInDstTexture](FRHICommandList &RHICommandList) { + this->FRenderOnRHIThreadCommand(CopyInDstTexture); + })); + + if (!Fence.IsValid()) + { + Fence = RHICreateGPUFence(TEXT("VVRFrameFence")); + } + Fence->Clear(); + RHICmdList.WriteGPUFence(Fence); + Shown = true; + return true; + } +} +bool AndroidVulkanTextureSample::InitFrameForMeshRendering(FTexture2DRHIRef InDstTexture, + FRHICommandList &RHICmdList, + void *MeshID) +{ + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + { + return false; + } + if (IsEmptyTexture) + { + // TODO: no frame, do nothing? + return true; + } + else + { + + UE_LOGFMT(LogDirectVideo, VeryVerbose, "init frame for rendering"); + RHICmdList.EnqueueLambda( + TEXT("InitFrame"), ([this, InDstTexture, MeshID](FRHICommandList &RHICommandList) { + this->FInitMeshRenderingCommand(InDstTexture, MeshID, NumSamples); + })); + + return true; + } +} + +bool AndroidVulkanTextureSample::UpdateMesh(FTexture2DRHIRef InDstTexture, + FRHICommandList &RHICmdList, + TArray PositionAndUV, + TArray Indices, ShaderModelMatrix Matrix, + void *MeshID) +{ + if (Impl != NULL && !Impl->hasMesh(MeshID)) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "setting texture mesh"); + + RHICmdList.EnqueueLambda(TEXT("SetMesh"), ([this, InDstTexture, PositionAndUV, Indices, + Matrix, MeshID](FRHICommandList &RHICmdList) { + this->FUpdateMeshOnRHIThreadCommand( + InDstTexture, PositionAndUV, Indices, Matrix, MeshID); + })); + + return true; + } + else + { + return false; + } +} + +bool AndroidVulkanTextureSample::UpdateViewMatrices(FTexture2DRHIRef InDstTexture, + FRHICommandList &RHICmdList, + ShaderViewMatrices Matrices, void *MeshID) +{ + // in impl, we need to + // a) load data to mesh uniform buffers if not already loaded + // then b) render to that mesh + FScopeLock Lock(&AccessLock); + if (Impl == NULL) + { + return false; + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "updating matrices"); + RHICmdList.EnqueueLambda(TEXT("UpdateMatrices"), + ([this, InDstTexture, Matrices, MeshID](FRHICommandList &RHICmdList) { + this->FUpdateMatricesOnRHIThreadCommand(InDstTexture, Matrices, + MeshID); + })); + + return true; +} + +bool AndroidVulkanTextureSample::RenderToMesh(FTexture2DRHIRef InDstTexture, + FRHICommandList &RHICmdList, void *MeshID) +{ + // in impl, we need to + // a) load data to mesh uniform buffers if not already loaded + // then b) render to that mesh + FScopeLock Lock(&AccessLock); + if (IsEmptyTexture) + { + // need to render to a clear colour... + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Getting clear texture"); + Shown = true; + return true; + } + else + { + if (Impl == NULL) + { + return false; + } + UE_LOGFMT(LogDirectVideo, VeryVerbose, "writing texture mesh Immediate:{0},{1},{2}", + RHICmdList.IsImmediate(), RHICmdList.Bypass(), RHICmdList.IsExecuting()); + + RHICmdList.EnqueueLambda( + TEXT("RenderMesh"), ([this, InDstTexture, MeshID](FRHICommandList &RHICmdList) { + this->FRenderMeshOnRHIThreadCommand(InDstTexture, MeshID, NumSamples); + })); + + if (!Fence.IsValid()) + { + Fence = RHICreateGPUFence(TEXT("VVRFrameFence")); + } + Fence->Clear(); + RHICmdList.WriteGPUFence(Fence); + Shown = true; + return true; + } +} + +FMediaTimeStamp AndroidVulkanTextureSample::GetTime() const +{ + return SampleTime; +} + +void AndroidVulkanTextureSample::InitializePoolable() +{ + Clear(); +} + +void AndroidVulkanTextureSample::ClearIfShown() +{ + if (Shown && IsReadyForReuse()) + { + Clear(); + } +} + +bool AndroidVulkanTextureSample::IsReadyForReuse() +{ + FScopeLock Lock(&AccessLock); + if (this->FrameHWImage != NULL && Fence.IsValid() && !Fence->Poll()) + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Fence not set yet"); + return false; + } + return true; +} + +void AndroidVulkanTextureSample::Clear() +{ + FScopeLock Lock(&AccessLock); + if (this->Impl != NULL && this->FrameHWImage != NULL) + { + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("Release texture sample %x"), this->FrameHWImage); + this->Impl->releaseFrame(this->FrameHWImage); + } + this->FrameHWImage = NULL; + this->Impl = NULL; + this->Shown = false; +} + +void AndroidVulkanTextureSample::ShutdownPoolable() +{ + bool needsWait = false; + { + FScopeLock Lock(&AccessLock); + if (this->FrameHWImage != NULL && Fence.IsValid() && !Fence->Poll()) + { + needsWait = true; + } + } + if (needsWait) + { + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("Shutdown poolable %x"), this->FrameHWImage); + if (IsInGameThread()) + { + FlushRenderingCommands(); + } + } + Clear(); +} + +void AndroidVulkanTextureSample::ImplDeleted() +{ + FScopeLock Lock(&AccessLock); + this->Impl = NULL; +} + +EMediaTextureSampleFormat AndroidVulkanTextureSample::VideoTextureFormat = + EMediaTextureSampleFormat::CharBGR10A2; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanVideo.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanVideo.cpp new file mode 100644 index 0000000..935de89 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/AndroidVulkanVideo.cpp @@ -0,0 +1,71 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Vulkan video player module. Handles starting up +// the correct vulkan extensions, and enabling +// the override layer which we use to enable +// SamplerYCbCrConversion feature properly. +// ------------------------------------------------ + +#include "AndroidVulkanVideo.h" +// #include "Core.h" +#include "Modules/ModuleManager.h" +// #include "Interfaces/IPluginManager.h" +#if PLATFORM_ANDROID +#include "AndroidVulkanMediaPlayer.h" +#include "IVulkanDynamicRHI.h" +#endif + +#define LOCTEXT_NAMESPACE "FAndroidVulkanVideoModule" + +class FAndroidVulkanVideoModule : public IAndroidVulkanVideoModule +{ + + void StartupModule() + { + // This code will execute after your module is loaded into memory; the exact timing is + // specified in the .uplugin file per-module + + // Get the base directory of this plugin +// FString BaseDir = IPluginManager::Get().FindPlugin("AndroidVulkanVideo")->GetBaseDir(); +// +#if PLATFORM_ANDROID + // setup vulkan extensions that we need + const TArray DeviceExtensions = { + "VK_KHR_external_memory", + "VK_ANDROID_external_memory_android_hardware_buffer", + "VK_KHR_sampler_ycbcr_conversion", + "VK_KHR_bind_memory2", + "VK_EXT_queue_family_foreign", + "VK_KHR_dedicated_allocation", + "VK_KHR_get_physical_device_properties2"}; + const TArray DeviceLayers = {}; + + const TArray InstanceExtensions = { + VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME}; + const TArray InstanceLayers = {"VkLayer_OverrideLib"}; + + IVulkanDynamicRHI::AddEnabledDeviceExtensionsAndLayers(DeviceExtensions, DeviceLayers); + IVulkanDynamicRHI::AddEnabledInstanceExtensionsAndLayers(InstanceExtensions, + InstanceLayers); +#endif + } + + void ShutdownModule() + { + // This function may be called during shutdown to clean up your module. For modules that + // support dynamic reloading, we call this function before unloading the module. + + // Free the dll handle + } + + TSharedPtr CreatePlayer(IMediaEventSink &EventSink) + { + return TSharedPtr( + new FAndroidVulkanMediaPlayer(EventSink)); + } +}; +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FAndroidVulkanVideoModule, AndroidVulkanVideo) diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IAudioOut.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IAudioOut.h new file mode 100644 index 0000000..d751c1a --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IAudioOut.h @@ -0,0 +1,38 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// interface for audio output classes. This is used +// so that AndroidVulkanVideoImpl doesn't need to +// know about Unreal, so I can keep Unreal and +// Android code separate. +// ------------------------------------------------ +#pragma once + +#include + +class IAudioOut +{ + public: + virtual ~IAudioOut() {}; + virtual void init(int sampleRate, int channels) = 0; + virtual void initSilent() = 0; + virtual void close() = 0; + virtual void sendBuffer(uint8_t *buf, int bufSize, int64_t presentationTimeNS, + bool reset = false) = 0; + virtual int64_t getPresentationTimeNS() = 0; // current presentation time + virtual bool setVolume(float level) = 0; + virtual void setPlaying(bool playing) = 0; + virtual bool setRate(float rate) = 0; + + virtual int64_t getQueuedTimeNS() = 0; + + virtual void onSeek(int64_t newPresentationTimeNS, bool resetAudio) = 0; + virtual void onHasVideoTime(int64_t newPresentationTimeNS) = 0; + + typedef std::chrono::nanoseconds NsDuration; + typedef std::chrono::time_point NsTime; + + virtual NsTime getWaitTimeForPresentationTime(int64_t presentationTimeNS, + int64_t maxDuration) = 0; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ICustomMediaFileSource.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ICustomMediaFileSource.h new file mode 100644 index 0000000..fca6b6a --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ICustomMediaFileSource.h @@ -0,0 +1,19 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// A custom file source - used for reading encrypted +// or compressed video files. +// ------------------------------------------------ +#pragma once + +#include + +class ICustomMediaFileSource +{ + public: + virtual ~ICustomMediaFileSource() {}; + virtual int64_t getAvailableSize(uint64_t offset) = 0; + virtual int64_t getSize() = 0; + virtual int64_t readAt(uint64_t offset, void *buffer, uint64_t size) = 0; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ILogger.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ILogger.h new file mode 100644 index 0000000..0aabd5e --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/ILogger.h @@ -0,0 +1,21 @@ +#pragma once +#include + +class ILogger +{ + public: + virtual void LogWithType(int64_t type, const char *fmt, ...) = 0; + + enum LogTypes + { + ERROR = 1 << 0, + TEXTURE_IMPL = 1 << 1, + TEXTURE_IMPL_VV = 1 << 2, + DECODER = 1 << 3, + DECODER_VV = 1 << 4, + VULKAN_DYNAMIC = 1 << 5, + VULKAN_DYNAMIC_VV = 1 << 6, + LOGTYPE_MAX = 1 << 7, + ALL_LOGS_BITMASK = 0xff + }; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IVulkanImpl.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IVulkanImpl.h new file mode 100644 index 0000000..fd023b5 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/IVulkanImpl.h @@ -0,0 +1,82 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Interface used by Android specific implementation class +// This does all handling of Android hardware +// buffers, Vulkan texture images etc. +// +// It lives in libVkLayer_OverrideLib.so +// along with a vulkan override layer to handle +// initialisation of the Vulkan device. +// +// ------------------------------------------------ +#pragma once + +#include "IAndroidVulkanVideoAVCallback.h" +#include "IAudioOut.h" +#include "ICustomMediaFileSource.h" + +#include + +class ILogger; +#include "IVulkanVertexData.h" + +class IVulkanImpl +{ + public: + virtual bool initializeFrameObjectsOutsidePass(VkCommandBuffer cmdBuffer, void *frameImage, + VkImage outImage, int w, int h, void *meshID, + int samples, int drawViews) = 0; + virtual bool renderFrameToMeshInExistingPass(VkCommandBuffer cmdBuffer, void *frameImage, + VkImage outImage, int x, int y, int w, int h, + int samples, int drawViews, void *meshID) = 0; + virtual bool updateViewMatrices(VkCommandBuffer cmdBuffer, const ShaderViewMatrices &matrices, + VkImage targetImage) = 0; + virtual bool updateModelMatrix(VkCommandBuffer cmdBuffer, const ShaderModelMatrix &matrix, + void *meshID) = 0; + virtual bool loadMesh(VkCommandBuffer cmdBuffer, const VertexData *positionAndUV, + int vertexCount, const uint32_t *indices, int indexCount, + void *meshID) = 0; + virtual bool hasMesh(void *meshID) const = 0; + virtual bool unloadMesh(void *meshID) = 0; + + virtual bool renderFrameToImageView(VkCommandBuffer cmdBuffer, void *frameImage, + VkImageView view, VkImage image, VkFormat format, int w, + int h, int samples) = 0; + virtual void releaseFrame(void *frameHwBuffer) = 0; + + virtual void setDataCallback(IAndroidVulkanVideoAVCallback *cb) = 0; + virtual void setLogger(ILogger *logger) = 0; + + virtual bool startVideoCustomSource(ICustomMediaFileSource *source, bool autoplay) = 0; + virtual bool startVideoURL(char *videoURL, bool autoplay) = 0; + virtual bool startVideoFile(char *fname, int64_t offset, int64_t length, bool autoplay) = 0; + virtual bool hasVideo(int *width, int *height) = 0; + + virtual bool getVideoTrackFormat(int idx, int *width, int *height, float *fps) = 0; + virtual bool getAudioTrackFormat(int idx, int *bitsPerSample, int *channels, int *rate) = 0; + + // set audio out handler - typically has to be done once per + // run, as it is re-initialized per video + virtual void setAudioOut(IAudioOut *audioOut) = 0; + + // set the output texture + virtual void setOutputImageView(VkImageView view, VkImage image, VkFormat format, int w, int h, + int samples) = 0; + + virtual void close() = 0; + + virtual void setPlaying(bool playing) = 0; + virtual bool getPlaying() const = 0; + virtual void seek(int64_t nsTimestamp) = 0; + virtual bool setRate(float rate) = 0; + virtual float getRate() const = 0; + virtual int64_t getTimeNS() const = 0; + virtual int64_t getDurationNS() const = 0; + virtual int numAudioTracks() const = 0; + virtual int numVideoTracks() const = 0; + + virtual void setLooping(bool looping) = 0; + virtual bool getLooping() const = 0; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.cpp new file mode 100644 index 0000000..6015988 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.cpp @@ -0,0 +1,46 @@ +#include "UnrealArchiveFileSource.h" + +UnrealArchiveFileSource::UnrealArchiveFileSource( + const TSharedRef inArchive) + : archive(inArchive) +{ +} + +int64_t UnrealArchiveFileSource::getAvailableSize(uint64_t offset) +{ + FScopeLock lockCS(&threadLock); + return getSize() - offset; +} + +int64_t UnrealArchiveFileSource::getSize() +{ + FScopeLock lockCS(&threadLock); + return archive->TotalSize(); +} + +int64_t UnrealArchiveFileSource::readAt(uint64_t position, void *buffer, uint64_t readSize) +{ + FScopeLock lockCS(&threadLock); + int64_t fileSize = archive->TotalSize(); + if (fileSize < position) + { + return -1; // EOF + } + + int64_t curPos = archive->Tell(); + if (curPos != position) + { + archive->Seek(position); + } + + if (position + readSize > fileSize) + { + readSize = fileSize - position; + } + + if (readSize > 0) + { + archive->Serialize(buffer, readSize); + } + return readSize; +} diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.h new file mode 100644 index 0000000..96f9269 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.h @@ -0,0 +1,25 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Read files from Unreal archive +// ------------------------------------------------ +#pragma once + +#include "ICustomMediaFileSource.h" + +#include "CoreMinimal.h" + +class UnrealArchiveFileSource : public ICustomMediaFileSource +{ + public: + explicit UnrealArchiveFileSource(const TSharedRef inArchive); + virtual ~UnrealArchiveFileSource() override {}; + virtual int64_t getAvailableSize(uint64_t offset) override; + virtual int64_t getSize() override; + virtual int64_t readAt(uint64_t offset, void *buffer, uint64_t size) override; + + private: + TSharedRef archive; + FCriticalSection threadLock; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.cpp new file mode 100644 index 0000000..4ef4b82 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.cpp @@ -0,0 +1,423 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Unreal audio output implementation. +// ------------------------------------------------ + +#include "UnrealAudioOut.h" + +#include "AudioDevice.h" +#include "Components/ActorComponent.h" +#include "Components/AudioComponent.h" +#include "Runtime/Engine/Classes/Sound/AudioSettings.h" +#include + +#include "Engine/engine.h" + +#include "UnrealLogging.h" + +static int64_t _getNSTime() +{ +#if PLATFORM_ANDROID + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return static_cast(ts.tv_nsec) + (1000000000LL * static_cast(ts.tv_sec)); +#else + return -1; +#endif +} + +static int64_t _scaleTime(int64_t val, float scalar) +{ + double dt = double(val) * double(scalar); + return int64_t(dt); +} + +void USoundWaveProceduralWithTiming::ResetAudio() +{ + USoundWaveProcedural::ResetAudio(); + QueueSilence(4096); +} + +void USoundWaveProceduralWithTiming::QueueSilence(int64_t bytes) +{ + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("Queue Silence %d"), bytes); + uint8_t silence[4096]; + memset(silence, 0, 4096); + int64_t count = 4096; + while (bytes > 0) + { + if (bytes < 4096) + count = bytes; + bytes -= count; + QueueAudio(silence, count); + } +} + +int32 USoundWaveProceduralWithTiming::GeneratePCMData(uint8 *PCMData, const int32 SamplesNeeded) +{ + lastBufSendTime = _getNSTime(); + + if (!paused) + { + return USoundWaveProcedural::GeneratePCMData(PCMData, SamplesNeeded); + } + else + { + memset(PCMData, 0, SampleByteSize * SamplesNeeded); + return SamplesNeeded; + } +} + +UnrealAudioOut::UnrealAudioOut(UActorComponent *pOwner) + : audioSender(NULL), audioComponent(NULL), hasTimeOffset(false), presentationTimeOffset(0), + pausedPresentationTime(-1), numChannels(0), sampleRate(0), playbackRate(1.0f), + afterSeek(false), isPlaying(false), owner(pOwner) +{ +} + +void UnrealAudioOut::close() +{ + afterSeek = false; + if (audioComponent.IsValid()) + { + audioComponent->Stop(); + audioComponent->SetSound(NULL); + } + audioSender = NULL; +} + +void UnrealAudioOut::init(int rate, int channels) +{ + close(); + // this object gets garbage collected at the right time because it is + // assigned to a component below + playbackRate = 1.0f; + audioSender = NewObject(); + audioSender->SetSampleRate(rate); + audioSender->NumChannels = channels; + audioSender->Duration = INDEFINITELY_LOOPING_DURATION; + audioSender->bLooping = false; + audioSender->bCanProcessAsync = true; + audioSender->paused = false; + + if (!audioComponent.IsValid()) + { + if (owner) + { + AActor *actor = owner->GetOwner(); + if (actor) + { + audioComponent = actor->FindComponentByClass(); + } + } + } + + if (audioComponent.IsValid()) + { + audioComponent->SetSound(audioSender.Get()); + } + else + { + FAudioDeviceHandle audioDevice = GEngine->GetMainAudioDevice(); + audioComponent = audioDevice->CreateComponent(audioSender.Get()); + if (audioComponent.IsValid()) + { + audioComponent->bIsUISound = true; + audioComponent->bAllowSpatialization = false; + audioComponent->SetVolumeMultiplier(1.0f); + audioComponent->AddToRoot(); + audioComponent->Play(); + // hold onto strong pointer to audiocomponent so it doesn't get destroyed until + // we do + + audioComponentWeCreated = *audioComponent; + } + else + { + UE_LOGFMT(LogDirectVideo, Error, "Unable to create audio component!"); + } + } + if (audioComponent.IsValid()) + { + audioComponent->Play(); + } + + numChannels = channels; + sampleRate = rate; + hasTimeOffset = false; + presentationTimeOffset = 0; + isPlaying = true; + UE_LOG(LogDirectVideo, Verbose, TEXT("Audio component: channels %d sampleRate %d"), channels, + sampleRate); +} + +void UnrealAudioOut::initSilent() +{ + close(); + UE_LOGFMT(LogDirectVideo, Verbose, "Audio init silent"); + playbackRate = 1.0f; + hasTimeOffset = false; +} + +UnrealAudioOut::~UnrealAudioOut() +{ + if (audioComponentWeCreated) + { + audioComponent->RemoveFromRoot(); + } + UE_LOGFMT(LogDirectVideo, Verbose, "Audio out destroyed"); +} + +void UnrealAudioOut::sendBuffer(uint8_t *buf, int bufSize, int64_t presentationTimeNS, bool reset) +{ + if (buf == NULL || bufSize == 0) + { + return; + } + auto pinnedSender = audioSender.Get(); + if (!pinnedSender) + { + UE_LOGFMT(LogDirectVideo, Error, "No audio sender"); + return; + } + if (reset) + { + // reset audio time clock + // and clear audio buffers + pinnedSender->ResetAudio(); + } + + int64_t lastSendTime = pinnedSender->lastBufSendTime; + if (lastSendTime != 0) + { + int64_t samplesInSender = pinnedSender->GetAvailableAudioByteCount() / (numChannels * 2); + if (samplesInSender <= 0) + { + pinnedSender->QueueSilence(4096); + samplesInSender = 4096 / (numChannels * 2L); + } + int64_t timeForBuffer = (1000000000LL * samplesInSender) / static_cast(sampleRate); + + int64_t thisOutputTimeNS = lastSendTime + timeForBuffer; + + if (afterSeek) + { + // we've seeked and we've seen a video frame already + // so add silence if required so that we can sync on the + // already displayed video frame(s) + afterSeek = false; + int64_t newOffset = presentationTimeNS - thisOutputTimeNS; + if (newOffset > (presentationTimeOffset + 10000000L)) + { + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("After seek silence")); + // queue silence to make things line up + int64_t difference = newOffset - presentationTimeOffset; + int64_t silenceSamples = + (difference * static_cast(sampleRate)) / 1000000000LL; + pinnedSender->QueueSilence(silenceSamples * 2L * numChannels); + } + } + else + { + presentationTimeOffset = presentationTimeNS - thisOutputTimeNS; + } + hasTimeOffset = true; + UE_LOG(LogDirectVideo, VeryVerbose, + TEXT("Adjusting offset (%d) - now %ld timeForBuffer %ld lastSendTime %ld " + "thisSendTime %ld presentationTimeNS %ld offset %ld"), + bufSize, _getNSTime(), timeForBuffer, lastSendTime, thisOutputTimeNS, + presentationTimeNS, presentationTimeOffset); + } + pinnedSender->QueueAudio(buf, bufSize); +} + +int64_t UnrealAudioOut::getPresentationTimeNS() +{ + if (!hasTimeOffset) + { + if (!audioSender) + { + // silent - initialize time to zero on first query + // or else we miss a frame on startup + presentationTimeOffset = -_scaleTime(_getNSTime(), playbackRate); + hasTimeOffset = true; + } + else + { + // with audio - initialize + return -1; + } + } + int64_t retVal = _scaleTime(_getNSTime(), playbackRate) + presentationTimeOffset; + return retVal; +} + +IAudioOut::NsTime UnrealAudioOut::getWaitTimeForPresentationTime(int64_t presentationTimeNS, + int64_t maxDurationNS) +{ + int64_t thisTime = getPresentationTimeNS(); + int64_t duration = presentationTimeNS - thisTime; + // give a little slack for processing time + duration = (duration * 100L) / 98L; + if (maxDurationNS > 0 && duration > maxDurationNS) + { + duration = maxDurationNS; + } + NsTime curTime = std::chrono::steady_clock::now(); + if (duration < 0) + { + return curTime; + } + + NsTime waitUntilTime = curTime + NsDuration(_scaleTime(duration, playbackRate)); + return waitUntilTime; +} + +bool UnrealAudioOut::setVolume(float volume) +{ + if (!audioComponent.IsValid()) + { + return false; + } + if (volume > 1.0) + volume = 1.0; + if (volume < 0.0) + volume = 0.0; + + audioComponent->SetVolumeMultiplier(volume); + return true; +} + +void UnrealAudioOut::setPlaying(bool playing) +{ + if (playing == isPlaying) + { + return; + } + isPlaying = playing; + if (playing) + { + // starting after a pause + // reset presentation time offset + if (pausedPresentationTime != -1 && hasTimeOffset) + { + presentationTimeOffset = + pausedPresentationTime - _scaleTime(_getNSTime(), playbackRate); + } + } + else + { + // pausing, save current prestime for restore + pausedPresentationTime = getPresentationTimeNS(); + } + if (audioSender) + { + audioSender->paused = !playing; + } +} + +void UnrealAudioOut::onSeek(int64_t newPresentationTimeNs, bool resetAudio) +{ + if (!audioSender) + { + presentationTimeOffset = newPresentationTimeNs - _scaleTime(_getNSTime(), playbackRate); + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("Seeking: pt %ld update offset %ld (rate=%f)"), + newPresentationTimeNs, presentationTimeOffset, playbackRate); + } + else + { + // clear audio buffers + if (resetAudio) + { + // after a seek, we may receive either audio or video frames + // first. Here we clear the audio buffers, and reset the time + // offset so that first of either audio or video frame received + // will reset the clock + audioSender->ResetAudio(); + hasTimeOffset = false; + } + else + { + // we are looping - don't clear the audio buffer + // and make a rough guess at the clock so that video + // frames will still send out correctly and then resync clock when first audio frames + // received + int64_t lastSendTime = audioSender->lastBufSendTime; + if (lastSendTime == 0) + { + // not actually sent anything yet - assume it will send pretty much now + lastSendTime = _getNSTime(); + } + int64_t samplesInSender = audioSender->GetAvailableAudioByteCount() / (numChannels * 2); + int64_t timeForBuffer = + (1000000000LL * samplesInSender) / static_cast(sampleRate); + // when the next buffer (i.e. the one at newPresentationTimeNs) + // will get sent at (in clock time ) + int64_t thisOutputTimeNS = lastSendTime + timeForBuffer; + presentationTimeOffset = + newPresentationTimeNs - _scaleTime(thisOutputTimeNS, playbackRate); + } + } +} + +bool UnrealAudioOut::setRate(float newRate) +{ + if (audioSender) + { + if (newRate != 1.0 && newRate != 0.0) + { + UE_LOGFMT(LogDirectVideo, Error, + "Trying to set playback rate on video with audio, not supported yet"); + return false; + } + else + { + return true; + } + } + else + { + if (newRate > 0) + { + if (hasTimeOffset) + { + int64_t presTime = getPresentationTimeNS(); + playbackRate = newRate; + onSeek(presTime, false); + } + else + { + playbackRate = newRate; + } + } + } + return false; +} + +int64_t UnrealAudioOut::getQueuedTimeNS() +{ + if (audioSender) + { + int64_t samplesInSender = audioSender->GetAvailableAudioByteCount() / (numChannels * 2); + int64_t timeTotal = (1000000000L * samplesInSender) / sampleRate; + return timeTotal; + } + else + { + return -1; + } +} + +void UnrealAudioOut::onHasVideoTime(int64_t newPresentationTimeNS) +{ + if (audioSender && !hasTimeOffset) + { + // if we haven't sent any audio yet, then set current time to this frame time, + // and let first updating of offset add silence + presentationTimeOffset = newPresentationTimeNS - _scaleTime(_getNSTime(), playbackRate); + hasTimeOffset = true; + afterSeek = true; + } +} diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.h new file mode 100644 index 0000000..666a92f --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealAudioOut.h @@ -0,0 +1,77 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Unreal IAudioOut implementation. This uses a +// USoundWaveProcedural to do the output, and also +// a UAudioComponent object. If given a parent +// actor object which has an existing +// UAudioComponent, it uses that. Otherwise it +// makes a new UAudioComponent and holds a strong +// object pointer to it until this class is +// destroyed. +// ------------------------------------------------ +#pragma once + +#include "Sound/SoundWaveProcedural.h" +#include +#include + +#include "IAudioOut.h" + +#include "UnrealAudioOut.generated.h" + +class USoundWaveProceduralWithTiming; +class UAudioComponent; +class UActorComponent; + +UCLASS(MinimalAPI) +class USoundWaveProceduralWithTiming : public USoundWaveProcedural +{ + GENERATED_BODY() + public: + virtual int32 GeneratePCMData(uint8 *PCMData, const int32 SamplesNeeded) override; + virtual void ResetAudio(); + virtual void QueueSilence(int64_t bytes); + bool paused; + bool hasTiming; + int64_t lastBufSendTime; +}; + +class UnrealAudioOut : public IAudioOut +{ + public: + explicit UnrealAudioOut(UActorComponent *owner); + virtual ~UnrealAudioOut() override; + virtual void init(int sampleRate, int channels) override; + virtual void initSilent() override; + virtual void close() override; + virtual void sendBuffer(uint8_t *buf, int bufSize, int64_t presentationTimeNS, + bool reset = false) override; + virtual int64_t getPresentationTimeNS() override; // current presentation time + virtual IAudioOut::NsTime getWaitTimeForPresentationTime(int64_t presentationTimeNS, + int64_t maxDuration) override; + virtual bool setVolume(float volume) override; + virtual void setPlaying(bool playing) override; + virtual bool setRate(float rate) override; + virtual void onSeek(int64_t newPresentationTimeNS, bool resetAudio) override; + virtual int64_t getQueuedTimeNS() override; + virtual void onHasVideoTime(int64_t newPresentationTimeNS) override; + + private: + TObjectPtr audioSender; + UActorComponent *owner; + TWeakObjectPtr audioComponent; + TObjectPtr audioComponentWeCreated; + bool hasTimeOffset; + int64_t presentationTimeOffset; + int numChannels; + int sampleRate; + bool isPlaying; + + bool afterSeek; + + float playbackRate; + + int64_t pausedPresentationTime; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.cpp new file mode 100644 index 0000000..94a9e90 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.cpp @@ -0,0 +1,10 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Unreal specific log category definition. +// ------------------------------------------------ + +#include "UnrealLogging.h" + +DEFINE_LOG_CATEGORY(LogDirectVideo); diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.h new file mode 100644 index 0000000..f7b3c98 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealLogging.h @@ -0,0 +1,93 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Unreal specific log category definition. +// ------------------------------------------------ + +#pragma once + +#include "ILogger.h" + +#include "Logging/StructuredLog.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogDirectVideo, Log, All); + +class UnrealLogger : public ILogger +{ + public: + UnrealLogger() : very_verbose_bitmask(0), verbose_bitmask(0), bitmask(0), error_bitmask(0) + { + } + + void LogWithType(int64_t type, const char *fmt, ...) override + { + if ((type & bitmask) == 0) + { + // don't format the string unless we're going to output it + return; + } + else + { + va_list arg_ptr; + char buffer[1024] = ""; + va_start(arg_ptr, fmt); + vsnprintf(buffer, 1023, fmt, arg_ptr); + va_end(arg_ptr); + if ((type & error_bitmask) != 0) + { + // error + UE_LOG(LogDirectVideo, Error, TEXT("%s"), ANSI_TO_TCHAR(buffer)); + } + else if ((type & very_verbose_bitmask) != 0) + { + UE_LOG(LogDirectVideo, VeryVerbose, TEXT("%s"), ANSI_TO_TCHAR(buffer)); + } + else + { + UE_LOG(LogDirectVideo, Verbose, TEXT("%s"), ANSI_TO_TCHAR(buffer)); + } + } + } + + void SetLogVisibilityBitmask(int64_t newBitmask) + { + very_verbose_bitmask = 0; + error_bitmask = 1; + verbose_bitmask = 0; + bitmask = newBitmask; + bool veryVerbose = true; + for (int64_t bit = 1; bit < ILogger::LogTypes::LOGTYPE_MAX; bit *= 2) + { + if (veryVerbose) + { + very_verbose_bitmask |= bit; + } + else + { + verbose_bitmask |= bit; + } + veryVerbose = !veryVerbose; + } + if (!UE_LOG_ACTIVE(LogDirectVideo, Verbose)) + { + bitmask &= (~verbose_bitmask); + verbose_bitmask = 0; + } + if (!UE_LOG_ACTIVE(LogDirectVideo, VeryVerbose)) + { + bitmask &= (~very_verbose_bitmask); + very_verbose_bitmask = 0; + } + if (!UE_LOG_ACTIVE(LogDirectVideo, Error)) + { + bitmask = 0; + } + } + + private: + int64_t very_verbose_bitmask; + int64_t verbose_bitmask; + int64_t bitmask; + int64_t error_bitmask; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/VideoMediaSampleHolder.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/VideoMediaSampleHolder.h new file mode 100644 index 0000000..81ad924 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/VideoMediaSampleHolder.h @@ -0,0 +1,155 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// An implementation of IMediaSamples for the new +// v2 video timing in Unreal media player. +// +// With new timing, whilst in theory IMediaSamples +// is a queue, in use only the most recent sample +// is ever read. +// +// Given we know that, this class dumps any +// previous samples immediately, which allows +// the underlying hardware image to be released as +// soon as possible, which makes video decoding +// work more efficiently. +// ------------------------------------------------ + +#pragma once + +#include "AndroidVulkanTextureSample.h" +#include "IMediaSamples.h" + +#include "UnrealLogging.h" +// for v2 video timing, the sample queue just +// holds a single image +class FVideoMediaSampleHolder : public IMediaSamples +{ + + public: + void AddVideo(TSharedRef &InSample) + { + if (VideoSample.IsValid()) + { + // force sample texture clear because + // we're not going to display it + VideoSample->Clear(); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Clearing videoframe {0}", + VideoSample.GetSharedReferenceCount()); + } + VideoSample = InSample; + UE_LOGFMT(LogDirectVideo, VeryVerbose, "CSet video frame {0}", VideoSample.IsValid()); + } + + virtual bool FetchVideo( + TRange TimeRange, + TSharedPtr &OutSample) override + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "BFetch video frame {0}", VideoSample.IsValid()); + if (VideoSample.IsValid()) + { + OutSample = VideoSample; + VideoSample.Reset(); + return true; + } + return false; // override in child classes, if supported + } + virtual bool FetchVideo( + TRange TimeRange, + TSharedPtr &OutSample) override + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "AFetch video frame {0}", VideoSample.IsValid()); + if (VideoSample.IsValid()) + { + OutSample = VideoSample; + VideoSample.Reset(); + return true; + } + return false; // override in child classes, if supported + } + + virtual EFetchBestSampleResult FetchBestVideoSampleForTimeRange( + const TRange &TimeRange, + TSharedPtr &OutSample, bool bReverse) + + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Best sample {0}", VideoSample.IsValid()); + if (VideoSample.IsValid()) + { + OutSample = VideoSample; + VideoSample.Reset(); + return EFetchBestSampleResult::Ok; + } + else + { + return EFetchBestSampleResult::NoSample; + } + } + + virtual void FlushSamples() override + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Flush samples {0}", VideoSample.IsValid()); + // override in child classes, if supported + VideoSample.Reset(); + FlushCount += 1; + } + + virtual uint32 GetFlushCount() + { + return FlushCount; + } + + virtual bool PeekVideoSampleTime(FMediaTimeStamp &TimeStamp) override + { + if (VideoSample.IsValid()) + { + TimeStamp = VideoSample->GetTime(); + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Peek timestamp {0}", + TimeStamp.Time.GetTotalSeconds()); + return true; + } + else + { + // UE_LOGFMT(LogDirectVideo, VeryVerbose, "Peek timestamp returning zero"); + // TimeStamp = + // FMediaTimeStamp(FTimespan(0LL),FMediaTimeStamp::MakeSequenceIndex(0, 0)); + // return true; + + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Peek timestamp returning false"); + return false; + } + } + + virtual int32 NumVideoSamples() const override + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Query num samples {0}", VideoSample.IsValid()); + if (VideoSample.IsValid()) + { + return 1; + } + else + { + return 0; + } + } + + bool DiscardVideoSamples(const TRange &TimeRange, bool bReverse) override + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "Discard video samples {0}", VideoSample.IsValid()); + return false; + } + + virtual uint32 PurgeOutdatedVideoSamples(const FMediaTimeStamp &ReferenceTime, bool bReversed, + FTimespan MaxAge) override + + { + UE_LOGFMT(LogDirectVideo, VeryVerbose, "PurgeOutdatedVideoSamples {0} {1}", + VideoSample.IsValid(), ReferenceTime.Time.GetTicks() * 100); + return 0; + }; + + TSharedPtr VideoSample; + + uint32 FlushCount = 0; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/shader_generated.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/shader_generated.h new file mode 100644 index 0000000..de59004 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/shader_generated.h @@ -0,0 +1,835 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Autogenerated shader spv header file. +// ------------------------------------------------ + +#include +// Shader generated from shader.2.2.frag.spv +const uint8_t shader_shader_2_2_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 41, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, + 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, 0, 4, 0, 9, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, + 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, + 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, + 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, + 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, + 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, 10, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 3, 0, 11, 0, 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 23, 0, + 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 16, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 0, 0, 59, 0, 4, 0, 16, 0, 0, 0, 17, 0, 0, 0, 1, 0, + 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 22, 0, 0, 0, 205, 204, 12, 64, 23, 0, 4, 0, + 23, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 21, 0, 4, 0, 29, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 4, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 29, 0, + 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 37, 0, 0, 0, + 2, 0, 0, 0, 44, 0, 6, 0, 23, 0, 0, 0, 40, 0, 0, 0, 22, 0, 0, 0, 22, 0, + 0, 0, 22, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, 4, 0, 11, 0, 0, 0, 14, 0, + 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, + 87, 0, 5, 0, 7, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, 0, + 3, 0, 9, 0, 0, 0, 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 24, 0, 0, 0, + 9, 0, 0, 0, 79, 0, 8, 0, 23, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, 7, 0, 23, 0, 0, 0, + 28, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 40, 0, 0, 0, 65, 0, + 5, 0, 31, 0, 0, 0, 32, 0, 0, 0, 9, 0, 0, 0, 30, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 33, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 32, 0, + 0, 0, 33, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, + 34, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 36, 0, 0, 0, 28, 0, 0, 0, 1, 0, + 0, 0, 62, 0, 3, 0, 35, 0, 0, 0, 36, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, + 38, 0, 0, 0, 9, 0, 0, 0, 37, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 39, 0, + 0, 0, 28, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 38, 0, 0, 0, 39, 0, 0, 0, + 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.2.4.frag.spv +const uint8_t shader_shader_2_4_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 55, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, + 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, 0, 4, 0, 9, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, + 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, + 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, + 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, + 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, + 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, 10, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 3, 0, 11, 0, 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 23, 0, + 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 16, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 0, 0, 59, 0, 4, 0, 16, 0, 0, 0, 17, 0, 0, 0, 1, 0, + 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 22, 0, 0, 0, 154, 153, 25, 64, 23, 0, 4, 0, + 23, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 21, 0, 4, 0, 29, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 4, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 29, 0, + 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 37, 0, 0, 0, + 2, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 42, 0, 0, 0, 129, 128, 128, 61, 43, 0, + 4, 0, 6, 0, 0, 0, 45, 0, 0, 0, 133, 10, 149, 63, 44, 0, 6, 0, 23, 0, 0, 0, + 53, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 44, 0, 6, 0, 23, 0, + 0, 0, 54, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 54, 0, 5, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, + 0, 0, 61, 0, 4, 0, 11, 0, 0, 0, 14, 0, 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, + 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 87, 0, 5, 0, 7, 0, 0, 0, 19, 0, + 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, 0, 3, 0, 9, 0, 0, 0, 19, 0, 0, 0, + 61, 0, 4, 0, 7, 0, 0, 0, 24, 0, 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 23, 0, + 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 12, 0, 7, 0, 23, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 26, 0, + 0, 0, 25, 0, 0, 0, 53, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, 32, 0, 0, 0, + 9, 0, 0, 0, 30, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 33, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 33, 0, 0, 0, 65, 0, 5, 0, + 31, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 34, 0, 0, 0, 81, 0, 5, 0, 6, 0, + 0, 0, 36, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 35, 0, 0, 0, + 36, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, 38, 0, 0, 0, 9, 0, 0, 0, 37, 0, + 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 39, 0, 0, 0, 28, 0, 0, 0, 2, 0, 0, 0, + 62, 0, 3, 0, 38, 0, 0, 0, 39, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 40, 0, + 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 23, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 131, 0, 5, 0, 23, 0, + 0, 0, 44, 0, 0, 0, 41, 0, 0, 0, 54, 0, 0, 0, 142, 0, 5, 0, 23, 0, 0, 0, + 46, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 48, 0, + 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 48, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 50, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 62, 0, + 3, 0, 35, 0, 0, 0, 50, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 52, 0, 0, 0, + 46, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 38, 0, 0, 0, 52, 0, 0, 0, 253, 0, + 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.2.8.frag.spv +const uint8_t shader_shader_2_8_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 41, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, + 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, 0, 4, 0, 9, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, + 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, + 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, + 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, + 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, + 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, 10, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 3, 0, 11, 0, 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 23, 0, + 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 16, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 0, 0, 59, 0, 4, 0, 16, 0, 0, 0, 17, 0, 0, 0, 1, 0, + 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 22, 0, 0, 0, 51, 51, 51, 64, 23, 0, 4, 0, + 23, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 21, 0, 4, 0, 29, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 4, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 29, 0, + 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 37, 0, 0, 0, + 2, 0, 0, 0, 44, 0, 6, 0, 23, 0, 0, 0, 40, 0, 0, 0, 22, 0, 0, 0, 22, 0, + 0, 0, 22, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, 4, 0, 11, 0, 0, 0, 14, 0, + 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, + 87, 0, 5, 0, 7, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, 0, + 3, 0, 9, 0, 0, 0, 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 24, 0, 0, 0, + 9, 0, 0, 0, 79, 0, 8, 0, 23, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, 7, 0, 23, 0, 0, 0, + 28, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 40, 0, 0, 0, 65, 0, + 5, 0, 31, 0, 0, 0, 32, 0, 0, 0, 9, 0, 0, 0, 30, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 33, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 32, 0, + 0, 0, 33, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, + 34, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 36, 0, 0, 0, 28, 0, 0, 0, 1, 0, + 0, 0, 62, 0, 3, 0, 35, 0, 0, 0, 36, 0, 0, 0, 65, 0, 5, 0, 31, 0, 0, 0, + 38, 0, 0, 0, 9, 0, 0, 0, 37, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 39, 0, + 0, 0, 28, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 38, 0, 0, 0, 39, 0, 0, 0, + 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.frag.spv +const uint8_t shader_shader_frag[] = { + 3, 2, 35, 7, 0, 0, 1, 0, 11, 0, 8, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 17, 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, + 83, 76, 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 15, 0, 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, + 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 16, 0, 3, + 0, 4, 0, 0, 0, 7, 0, 0, 0, 3, 0, 3, 0, 2, 0, 0, 0, 194, 1, + 0, 0, 5, 0, 4, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 5, + 0, 4, 0, 9, 0, 0, 0, 99, 111, 108, 111, 114, 0, 0, 0, 5, 0, 3, 0, + 13, 0, 0, 0, 116, 101, 120, 0, 5, 0, 5, 0, 17, 0, 0, 0, 116, 101, 120, + 95, 99, 111, 111, 114, 100, 0, 0, 0, 5, 0, 5, 0, 23, 0, 0, 0, 83, 104, + 97, 100, 101, 114, 73, 110, 102, 111, 0, 0, 6, 0, 5, 0, 23, 0, 0, 0, 0, + 0, 0, 0, 103, 97, 109, 109, 97, 0, 0, 0, 5, 0, 6, 0, 25, 0, 0, 0, + 116, 101, 120, 116, 117, 114, 101, 95, 105, 110, 102, 111, 0, 0, 0, 0, 71, 0, 4, + 0, 9, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, + 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, + 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 72, 0, 5, 0, 23, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 3, 0, 23, 0, 0, 0, 2, 0, 0, 0, 71, 0, + 4, 0, 25, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 25, + 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, + 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, + 0, 32, 0, 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, + 0, 0, 32, 0, 4, 0, 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, + 0, 4, 0, 8, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, + 10, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, 3, 0, 11, 0, + 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 0, 0, 0, 0, 11, + 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, + 23, 0, 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, + 0, 16, 0, 0, 0, 1, 0, 0, 0, 15, 0, 0, 0, 59, 0, 4, 0, 16, 0, + 0, 0, 17, 0, 0, 0, 1, 0, 0, 0, 23, 0, 4, 0, 20, 0, 0, 0, 6, + 0, 0, 0, 3, 0, 0, 0, 30, 0, 3, 0, 23, 0, 0, 0, 6, 0, 0, 0, + 32, 0, 4, 0, 24, 0, 0, 0, 2, 0, 0, 0, 23, 0, 0, 0, 59, 0, 4, + 0, 24, 0, 0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 21, 0, 4, 0, 26, 0, + 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 26, 0, 0, 0, 27, + 0, 0, 0, 0, 0, 0, 0, 32, 0, 4, 0, 28, 0, 0, 0, 2, 0, 0, 0, + 6, 0, 0, 0, 21, 0, 4, 0, 33, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, + 0, 43, 0, 4, 0, 33, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 32, 0, + 4, 0, 35, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 33, + 0, 0, 0, 38, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 33, 0, 0, 0, + 41, 0, 0, 0, 2, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, + 4, 0, 11, 0, 0, 0, 14, 0, 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, 15, + 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 87, 0, 5, 0, 7, 0, 0, 0, + 19, 0, 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, 0, 3, 0, 9, 0, 0, + 0, 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 21, 0, 0, 0, 9, 0, + 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 65, 0, 5, 0, + 28, 0, 0, 0, 29, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 61, 0, 4, + 0, 6, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, 80, 0, 6, 0, 20, 0, + 0, 0, 31, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 30, 0, 0, 0, 12, + 0, 7, 0, 20, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, + 22, 0, 0, 0, 31, 0, 0, 0, 65, 0, 5, 0, 35, 0, 0, 0, 36, 0, 0, + 0, 9, 0, 0, 0, 34, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 37, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 36, 0, 0, 0, 37, + 0, 0, 0, 65, 0, 5, 0, 35, 0, 0, 0, 39, 0, 0, 0, 9, 0, 0, 0, + 38, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 40, 0, 0, 0, 32, 0, 0, + 0, 1, 0, 0, 0, 62, 0, 3, 0, 39, 0, 0, 0, 40, 0, 0, 0, 65, 0, + 5, 0, 35, 0, 0, 0, 42, 0, 0, 0, 9, 0, 0, 0, 41, 0, 0, 0, 81, + 0, 5, 0, 6, 0, 0, 0, 43, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, + 62, 0, 3, 0, 42, 0, 0, 0, 43, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, + 0}; +// Shader generated from shader.hlg.frag.spv +const uint8_t shader_shader_hlg_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 164, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, + 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, + 0, 0, 0, 0, 40, 0, 0, 0, 48, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 71, 0, 4, 0, 40, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 44, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, + 44, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 48, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, + 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, + 43, 0, 4, 0, 6, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 63, 20, 0, 2, 0, + 14, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 25, 0, 0, 0, 32, 192, 145, 62, + 43, 0, 4, 0, 6, 0, 0, 0, 27, 0, 0, 0, 79, 86, 15, 63, 23, 0, 4, 0, + 38, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, 39, 0, 0, 0, + 3, 0, 0, 0, 38, 0, 0, 0, 59, 0, 4, 0, 39, 0, 0, 0, 40, 0, 0, 0, + 3, 0, 0, 0, 25, 0, 9, 0, 41, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 27, 0, 3, 0, 42, 0, 0, 0, 41, 0, 0, 0, 32, 0, 4, 0, 43, 0, 0, 0, + 0, 0, 0, 0, 42, 0, 0, 0, 59, 0, 4, 0, 43, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 4, 0, 46, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, + 32, 0, 4, 0, 47, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 59, 0, 4, 0, + 47, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 21, 0, 4, 0, 52, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 52, 0, 0, 0, 53, 0, 0, 0, + 0, 0, 0, 0, 32, 0, 4, 0, 54, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, + 43, 0, 4, 0, 52, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, + 52, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 23, 0, 4, 0, 68, 0, 0, 0, + 6, 0, 0, 0, 3, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 78, 0, 0, 0, + 205, 204, 76, 63, 44, 0, 6, 0, 68, 0, 0, 0, 79, 0, 0, 0, 78, 0, 0, 0, + 78, 0, 0, 0, 78, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 89, 0, 0, 0, + 129, 128, 128, 61, 43, 0, 4, 0, 6, 0, 0, 0, 92, 0, 0, 0, 133, 10, 149, 63, + 44, 0, 6, 0, 68, 0, 0, 0, 160, 0, 0, 0, 89, 0, 0, 0, 89, 0, 0, 0, + 89, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 161, 0, 0, 0, 41, 240, 178, 64, + 43, 0, 4, 0, 6, 0, 0, 0, 162, 0, 0, 0, 171, 170, 170, 61, 43, 0, 4, 0, + 6, 0, 0, 0, 163, 0, 0, 0, 171, 170, 170, 62, 54, 0, 5, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, + 61, 0, 4, 0, 42, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 61, 0, 4, 0, + 46, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 87, 0, 5, 0, 38, 0, 0, 0, + 50, 0, 0, 0, 45, 0, 0, 0, 49, 0, 0, 0, 62, 0, 3, 0, 40, 0, 0, 0, + 50, 0, 0, 0, 65, 0, 5, 0, 54, 0, 0, 0, 55, 0, 0, 0, 40, 0, 0, 0, + 53, 0, 0, 0, 61, 0, 4, 0, 6, 0, 0, 0, 56, 0, 0, 0, 55, 0, 0, 0, + 188, 0, 5, 0, 14, 0, 0, 0, 104, 0, 0, 0, 56, 0, 0, 0, 13, 0, 0, 0, + 247, 0, 3, 0, 117, 0, 0, 0, 0, 0, 0, 0, 250, 0, 4, 0, 104, 0, 0, 0, + 105, 0, 0, 0, 110, 0, 0, 0, 248, 0, 2, 0, 105, 0, 0, 0, 133, 0, 5, 0, + 6, 0, 0, 0, 108, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, 0, 133, 0, 5, 0, + 6, 0, 0, 0, 109, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 249, 0, 2, 0, + 117, 0, 0, 0, 248, 0, 2, 0, 110, 0, 0, 0, 131, 0, 5, 0, 6, 0, 0, 0, + 112, 0, 0, 0, 56, 0, 0, 0, 27, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, + 113, 0, 0, 0, 112, 0, 0, 0, 161, 0, 0, 0, 12, 0, 6, 0, 6, 0, 0, 0, + 114, 0, 0, 0, 1, 0, 0, 0, 27, 0, 0, 0, 113, 0, 0, 0, 129, 0, 5, 0, + 6, 0, 0, 0, 115, 0, 0, 0, 25, 0, 0, 0, 114, 0, 0, 0, 133, 0, 5, 0, + 6, 0, 0, 0, 116, 0, 0, 0, 115, 0, 0, 0, 162, 0, 0, 0, 249, 0, 2, 0, + 117, 0, 0, 0, 248, 0, 2, 0, 117, 0, 0, 0, 245, 0, 7, 0, 6, 0, 0, 0, + 157, 0, 0, 0, 109, 0, 0, 0, 105, 0, 0, 0, 116, 0, 0, 0, 110, 0, 0, 0, + 65, 0, 5, 0, 54, 0, 0, 0, 60, 0, 0, 0, 40, 0, 0, 0, 59, 0, 0, 0, + 61, 0, 4, 0, 6, 0, 0, 0, 61, 0, 0, 0, 60, 0, 0, 0, 188, 0, 5, 0, + 14, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 13, 0, 0, 0, 247, 0, 3, 0, + 136, 0, 0, 0, 0, 0, 0, 0, 250, 0, 4, 0, 123, 0, 0, 0, 124, 0, 0, 0, + 129, 0, 0, 0, 248, 0, 2, 0, 124, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, + 127, 0, 0, 0, 61, 0, 0, 0, 61, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, + 128, 0, 0, 0, 127, 0, 0, 0, 163, 0, 0, 0, 249, 0, 2, 0, 136, 0, 0, 0, + 248, 0, 2, 0, 129, 0, 0, 0, 131, 0, 5, 0, 6, 0, 0, 0, 131, 0, 0, 0, + 61, 0, 0, 0, 27, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 132, 0, 0, 0, + 131, 0, 0, 0, 161, 0, 0, 0, 12, 0, 6, 0, 6, 0, 0, 0, 133, 0, 0, 0, + 1, 0, 0, 0, 27, 0, 0, 0, 132, 0, 0, 0, 129, 0, 5, 0, 6, 0, 0, 0, + 134, 0, 0, 0, 25, 0, 0, 0, 133, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, + 135, 0, 0, 0, 134, 0, 0, 0, 162, 0, 0, 0, 249, 0, 2, 0, 136, 0, 0, 0, + 248, 0, 2, 0, 136, 0, 0, 0, 245, 0, 7, 0, 6, 0, 0, 0, 158, 0, 0, 0, + 128, 0, 0, 0, 124, 0, 0, 0, 135, 0, 0, 0, 129, 0, 0, 0, 65, 0, 5, 0, + 54, 0, 0, 0, 65, 0, 0, 0, 40, 0, 0, 0, 64, 0, 0, 0, 61, 0, 4, 0, + 6, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 188, 0, 5, 0, 14, 0, 0, 0, + 142, 0, 0, 0, 66, 0, 0, 0, 13, 0, 0, 0, 247, 0, 3, 0, 155, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 4, 0, 142, 0, 0, 0, 143, 0, 0, 0, 148, 0, 0, 0, + 248, 0, 2, 0, 143, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 146, 0, 0, 0, + 66, 0, 0, 0, 66, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 147, 0, 0, 0, + 146, 0, 0, 0, 163, 0, 0, 0, 249, 0, 2, 0, 155, 0, 0, 0, 248, 0, 2, 0, + 148, 0, 0, 0, 131, 0, 5, 0, 6, 0, 0, 0, 150, 0, 0, 0, 66, 0, 0, 0, + 27, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 151, 0, 0, 0, 150, 0, 0, 0, + 161, 0, 0, 0, 12, 0, 6, 0, 6, 0, 0, 0, 152, 0, 0, 0, 1, 0, 0, 0, + 27, 0, 0, 0, 151, 0, 0, 0, 129, 0, 5, 0, 6, 0, 0, 0, 153, 0, 0, 0, + 25, 0, 0, 0, 152, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 154, 0, 0, 0, + 153, 0, 0, 0, 162, 0, 0, 0, 249, 0, 2, 0, 155, 0, 0, 0, 248, 0, 2, 0, + 155, 0, 0, 0, 245, 0, 7, 0, 6, 0, 0, 0, 159, 0, 0, 0, 147, 0, 0, 0, + 143, 0, 0, 0, 154, 0, 0, 0, 148, 0, 0, 0, 62, 0, 3, 0, 55, 0, 0, 0, + 157, 0, 0, 0, 62, 0, 3, 0, 60, 0, 0, 0, 158, 0, 0, 0, 62, 0, 3, 0, + 65, 0, 0, 0, 159, 0, 0, 0, 61, 0, 4, 0, 38, 0, 0, 0, 76, 0, 0, 0, + 40, 0, 0, 0, 79, 0, 8, 0, 68, 0, 0, 0, 77, 0, 0, 0, 76, 0, 0, 0, + 76, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, 7, 0, + 68, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 77, 0, 0, 0, + 79, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 82, 0, 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 62, 0, 3, 0, 55, 0, 0, 0, 82, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 84, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, + 60, 0, 0, 0, 84, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 86, 0, 0, 0, + 80, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 65, 0, 0, 0, 86, 0, 0, 0, + 61, 0, 4, 0, 38, 0, 0, 0, 87, 0, 0, 0, 40, 0, 0, 0, 79, 0, 8, 0, + 68, 0, 0, 0, 88, 0, 0, 0, 87, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, 0, 0, 131, 0, 5, 0, 68, 0, 0, 0, 91, 0, 0, 0, + 88, 0, 0, 0, 160, 0, 0, 0, 142, 0, 5, 0, 68, 0, 0, 0, 93, 0, 0, 0, + 91, 0, 0, 0, 92, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 95, 0, 0, 0, + 93, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 55, 0, 0, 0, 95, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 97, 0, 0, 0, 93, 0, 0, 0, 1, 0, 0, 0, + 62, 0, 3, 0, 60, 0, 0, 0, 97, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 99, 0, 0, 0, 93, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 65, 0, 0, 0, + 99, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.linear.frag.spv +const uint8_t shader_shader_linear_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 40, 0, 0, 0, 0, 0, 0, 0, 17, + 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, + 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 15, 0, 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, + 9, 0, 0, 0, 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, + 0, 4, 0, 9, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, + 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, + 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, + 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, + 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, + 10, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, 3, 0, 11, 0, 0, 0, 10, 0, + 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 59, 0, 4, + 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 23, 0, 4, 0, 15, 0, 0, 0, + 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 16, 0, 0, 0, 1, 0, 0, 0, 15, + 0, 0, 0, 59, 0, 4, 0, 16, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 0, 23, 0, + 4, 0, 20, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, + 0, 23, 0, 0, 0, 129, 128, 128, 61, 43, 0, 4, 0, 6, 0, 0, 0, 26, 0, 0, 0, + 133, 10, 149, 63, 21, 0, 4, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 43, + 0, 4, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 32, 0, 4, 0, 30, 0, + 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 28, 0, 0, 0, 33, 0, 0, + 0, 1, 0, 0, 0, 43, 0, 4, 0, 28, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, + 44, 0, 6, 0, 20, 0, 0, 0, 39, 0, 0, 0, 23, 0, 0, 0, 23, 0, 0, 0, 23, + 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, 4, 0, 11, 0, 0, 0, 14, 0, 0, + 0, 13, 0, 0, 0, 61, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, + 87, 0, 5, 0, 7, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, + 0, 3, 0, 9, 0, 0, 0, 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 21, 0, + 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, + 0, 21, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 131, 0, 5, 0, + 20, 0, 0, 0, 25, 0, 0, 0, 22, 0, 0, 0, 39, 0, 0, 0, 142, 0, 5, 0, 20, + 0, 0, 0, 27, 0, 0, 0, 25, 0, 0, 0, 26, 0, 0, 0, 65, 0, 5, 0, 30, 0, + 0, 0, 31, 0, 0, 0, 9, 0, 0, 0, 29, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, + 0, 32, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 31, 0, 0, 0, + 32, 0, 0, 0, 65, 0, 5, 0, 30, 0, 0, 0, 34, 0, 0, 0, 9, 0, 0, 0, 33, + 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 35, 0, 0, 0, 27, 0, 0, 0, 1, 0, + 0, 0, 62, 0, 3, 0, 34, 0, 0, 0, 35, 0, 0, 0, 65, 0, 5, 0, 30, 0, 0, + 0, 37, 0, 0, 0, 9, 0, 0, 0, 36, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 38, 0, 0, 0, 27, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 37, 0, 0, 0, 38, + 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.rec.709.frag.spv +const uint8_t shader_shader_rec_709_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 37, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, + 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, 0, 3, 0, 9, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 9, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 13, 0, + 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 17, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, 18, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, 21, 0, 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, 25, 0, 0, 0, 0, 0, 0, 0, 19, 0, + 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, + 6, 0, 0, 0, 32, 0, 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, + 0, 0, 32, 0, 4, 0, 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, + 8, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, 10, 0, 0, 0, 6, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 27, 0, 3, 0, 11, 0, 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, 12, 0, + 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, + 4, 0, 16, 0, 0, 0, 1, 0, 0, 0, 15, 0, 0, 0, 59, 0, 4, 0, 16, 0, 0, 0, + 17, 0, 0, 0, 1, 0, 0, 0, 23, 0, 4, 0, 20, 0, 0, 0, 6, 0, 0, 0, 3, 0, + 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 23, 0, 0, 0, 145, 237, 4, 64, 44, 0, 6, 0, + 20, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 23, 0, 0, 0, 23, 0, 0, 0, 21, 0, + 4, 0, 26, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 26, 0, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 32, 0, 4, 0, 28, 0, 0, 0, 3, 0, 0, 0, 6, 0, + 0, 0, 43, 0, 4, 0, 26, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, + 26, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, 4, 0, + 11, 0, 0, 0, 14, 0, 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, 15, 0, 0, 0, 18, 0, + 0, 0, 17, 0, 0, 0, 87, 0, 5, 0, 7, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, + 18, 0, 0, 0, 62, 0, 3, 0, 9, 0, 0, 0, 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, + 0, 0, 21, 0, 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 22, 0, 0, 0, + 21, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, + 7, 0, 20, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, + 24, 0, 0, 0, 65, 0, 5, 0, 28, 0, 0, 0, 29, 0, 0, 0, 9, 0, 0, 0, 27, 0, + 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 30, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 62, 0, 3, 0, 29, 0, 0, 0, 30, 0, 0, 0, 65, 0, 5, 0, 28, 0, 0, 0, 32, 0, + 0, 0, 9, 0, 0, 0, 31, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 33, 0, 0, 0, + 25, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 33, 0, 0, 0, 65, 0, + 5, 0, 28, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 34, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 36, 0, 0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 35, 0, + 0, 0, 36, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.srgb.frag.spv +const uint8_t shader_shader_srgb_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, + 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, + 0, 0, 0, 0, 35, 0, 0, 0, 43, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 71, 0, 4, 0, 35, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 39, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, + 39, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 43, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, + 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, + 43, 0, 4, 0, 6, 0, 0, 0, 13, 0, 0, 0, 230, 174, 37, 61, 20, 0, 2, 0, + 14, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 24, 0, 0, 0, 174, 71, 97, 61, + 43, 0, 4, 0, 6, 0, 0, 0, 28, 0, 0, 0, 154, 153, 25, 64, 23, 0, 4, 0, + 33, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, 34, 0, 0, 0, + 3, 0, 0, 0, 33, 0, 0, 0, 59, 0, 4, 0, 34, 0, 0, 0, 35, 0, 0, 0, + 3, 0, 0, 0, 25, 0, 9, 0, 36, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 27, 0, 3, 0, 37, 0, 0, 0, 36, 0, 0, 0, 32, 0, 4, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 37, 0, 0, 0, 59, 0, 4, 0, 38, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 4, 0, 41, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, + 32, 0, 4, 0, 42, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 59, 0, 4, 0, + 42, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 23, 0, 4, 0, 46, 0, 0, 0, + 6, 0, 0, 0, 3, 0, 0, 0, 21, 0, 4, 0, 53, 0, 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 4, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 43, 0, 4, 0, 53, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, + 53, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 74, 0, 0, 0, + 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 83, 0, 0, 0, + 129, 128, 128, 61, 43, 0, 4, 0, 6, 0, 0, 0, 86, 0, 0, 0, 133, 10, 149, 63, + 44, 0, 6, 0, 46, 0, 0, 0, 147, 0, 0, 0, 83, 0, 0, 0, 83, 0, 0, 0, + 83, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 148, 0, 0, 0, 111, 167, 114, 63, + 43, 0, 4, 0, 6, 0, 0, 0, 149, 0, 0, 0, 145, 131, 158, 61, 54, 0, 5, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, + 5, 0, 0, 0, 61, 0, 4, 0, 37, 0, 0, 0, 40, 0, 0, 0, 39, 0, 0, 0, + 61, 0, 4, 0, 41, 0, 0, 0, 44, 0, 0, 0, 43, 0, 0, 0, 87, 0, 5, 0, + 33, 0, 0, 0, 45, 0, 0, 0, 40, 0, 0, 0, 44, 0, 0, 0, 62, 0, 3, 0, + 35, 0, 0, 0, 45, 0, 0, 0, 61, 0, 4, 0, 33, 0, 0, 0, 49, 0, 0, 0, + 35, 0, 0, 0, 79, 0, 8, 0, 46, 0, 0, 0, 50, 0, 0, 0, 49, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, 6, 0, + 46, 0, 0, 0, 51, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 50, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 56, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, + 188, 0, 5, 0, 14, 0, 0, 0, 98, 0, 0, 0, 56, 0, 0, 0, 13, 0, 0, 0, + 247, 0, 3, 0, 107, 0, 0, 0, 0, 0, 0, 0, 250, 0, 4, 0, 98, 0, 0, 0, + 99, 0, 0, 0, 102, 0, 0, 0, 248, 0, 2, 0, 99, 0, 0, 0, 133, 0, 5, 0, + 6, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 149, 0, 0, 0, 249, 0, 2, 0, + 107, 0, 0, 0, 248, 0, 2, 0, 102, 0, 0, 0, 129, 0, 5, 0, 6, 0, 0, 0, + 104, 0, 0, 0, 56, 0, 0, 0, 24, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, + 105, 0, 0, 0, 104, 0, 0, 0, 148, 0, 0, 0, 12, 0, 7, 0, 6, 0, 0, 0, + 106, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 105, 0, 0, 0, 28, 0, 0, 0, + 249, 0, 2, 0, 107, 0, 0, 0, 248, 0, 2, 0, 107, 0, 0, 0, 245, 0, 7, 0, + 6, 0, 0, 0, 142, 0, 0, 0, 101, 0, 0, 0, 99, 0, 0, 0, 106, 0, 0, 0, + 102, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 61, 0, 0, 0, 51, 0, 0, 0, + 1, 0, 0, 0, 188, 0, 5, 0, 14, 0, 0, 0, 113, 0, 0, 0, 61, 0, 0, 0, + 13, 0, 0, 0, 247, 0, 3, 0, 122, 0, 0, 0, 0, 0, 0, 0, 250, 0, 4, 0, + 113, 0, 0, 0, 114, 0, 0, 0, 117, 0, 0, 0, 248, 0, 2, 0, 114, 0, 0, 0, + 133, 0, 5, 0, 6, 0, 0, 0, 116, 0, 0, 0, 61, 0, 0, 0, 149, 0, 0, 0, + 249, 0, 2, 0, 122, 0, 0, 0, 248, 0, 2, 0, 117, 0, 0, 0, 129, 0, 5, 0, + 6, 0, 0, 0, 119, 0, 0, 0, 61, 0, 0, 0, 24, 0, 0, 0, 133, 0, 5, 0, + 6, 0, 0, 0, 120, 0, 0, 0, 119, 0, 0, 0, 148, 0, 0, 0, 12, 0, 7, 0, + 6, 0, 0, 0, 121, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 120, 0, 0, 0, + 28, 0, 0, 0, 249, 0, 2, 0, 122, 0, 0, 0, 248, 0, 2, 0, 122, 0, 0, 0, + 245, 0, 7, 0, 6, 0, 0, 0, 144, 0, 0, 0, 116, 0, 0, 0, 114, 0, 0, 0, + 121, 0, 0, 0, 117, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 66, 0, 0, 0, + 51, 0, 0, 0, 2, 0, 0, 0, 188, 0, 5, 0, 14, 0, 0, 0, 128, 0, 0, 0, + 66, 0, 0, 0, 13, 0, 0, 0, 247, 0, 3, 0, 137, 0, 0, 0, 0, 0, 0, 0, + 250, 0, 4, 0, 128, 0, 0, 0, 129, 0, 0, 0, 132, 0, 0, 0, 248, 0, 2, 0, + 129, 0, 0, 0, 133, 0, 5, 0, 6, 0, 0, 0, 131, 0, 0, 0, 66, 0, 0, 0, + 149, 0, 0, 0, 249, 0, 2, 0, 137, 0, 0, 0, 248, 0, 2, 0, 132, 0, 0, 0, + 129, 0, 5, 0, 6, 0, 0, 0, 134, 0, 0, 0, 66, 0, 0, 0, 24, 0, 0, 0, + 133, 0, 5, 0, 6, 0, 0, 0, 135, 0, 0, 0, 134, 0, 0, 0, 148, 0, 0, 0, + 12, 0, 7, 0, 6, 0, 0, 0, 136, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, + 135, 0, 0, 0, 28, 0, 0, 0, 249, 0, 2, 0, 137, 0, 0, 0, 248, 0, 2, 0, + 137, 0, 0, 0, 245, 0, 7, 0, 6, 0, 0, 0, 146, 0, 0, 0, 131, 0, 0, 0, + 129, 0, 0, 0, 136, 0, 0, 0, 132, 0, 0, 0, 80, 0, 6, 0, 46, 0, 0, 0, + 68, 0, 0, 0, 142, 0, 0, 0, 144, 0, 0, 0, 146, 0, 0, 0, 61, 0, 4, 0, + 33, 0, 0, 0, 69, 0, 0, 0, 35, 0, 0, 0, 79, 0, 8, 0, 46, 0, 0, 0, + 70, 0, 0, 0, 69, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 12, 0, 6, 0, 46, 0, 0, 0, 71, 0, 0, 0, 1, 0, 0, 0, + 6, 0, 0, 0, 70, 0, 0, 0, 133, 0, 5, 0, 46, 0, 0, 0, 73, 0, 0, 0, + 71, 0, 0, 0, 68, 0, 0, 0, 65, 0, 5, 0, 74, 0, 0, 0, 75, 0, 0, 0, + 35, 0, 0, 0, 54, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 76, 0, 0, 0, + 73, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 75, 0, 0, 0, 76, 0, 0, 0, + 65, 0, 5, 0, 74, 0, 0, 0, 77, 0, 0, 0, 35, 0, 0, 0, 59, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 78, 0, 0, 0, 73, 0, 0, 0, 1, 0, 0, 0, + 62, 0, 3, 0, 77, 0, 0, 0, 78, 0, 0, 0, 65, 0, 5, 0, 74, 0, 0, 0, + 79, 0, 0, 0, 35, 0, 0, 0, 64, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 80, 0, 0, 0, 73, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, 79, 0, 0, 0, + 80, 0, 0, 0, 61, 0, 4, 0, 33, 0, 0, 0, 81, 0, 0, 0, 35, 0, 0, 0, + 79, 0, 8, 0, 46, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 81, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 131, 0, 5, 0, 46, 0, 0, 0, + 85, 0, 0, 0, 82, 0, 0, 0, 147, 0, 0, 0, 142, 0, 5, 0, 46, 0, 0, 0, + 87, 0, 0, 0, 85, 0, 0, 0, 86, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 89, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 75, 0, 0, 0, + 89, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 91, 0, 0, 0, 87, 0, 0, 0, + 1, 0, 0, 0, 62, 0, 3, 0, 77, 0, 0, 0, 91, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 93, 0, 0, 0, 87, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, + 79, 0, 0, 0, 93, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.st2084.frag.spv +const uint8_t shader_shader_st2084_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 118, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, + 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, + 0, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 71, 0, 4, 0, 9, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, + 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 17, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, + 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, + 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, + 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, + 9, 0, 0, 0, 3, 0, 0, 0, 25, 0, 9, 0, 10, 0, 0, 0, 6, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 27, 0, 3, 0, 11, 0, 0, 0, 10, 0, 0, 0, 32, 0, 4, 0, + 12, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 23, 0, 4, 0, 15, 0, 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 32, 0, 4, 0, 16, 0, 0, 0, 1, 0, 0, 0, 15, 0, 0, 0, + 59, 0, 4, 0, 16, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 0, 23, 0, 4, 0, + 20, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 23, 0, 0, 0, 172, 205, 79, 60, 44, 0, 6, 0, 20, 0, 0, 0, 24, 0, 0, 0, + 23, 0, 0, 0, 23, 0, 0, 0, 23, 0, 0, 0, 21, 0, 4, 0, 26, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 26, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 32, 0, 4, 0, 28, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, + 43, 0, 4, 0, 26, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, + 26, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 86, 63, 44, 0, 6, 0, 20, 0, 0, 0, 40, 0, 0, 0, + 39, 0, 0, 0, 39, 0, 0, 0, 39, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 42, 0, 0, 0, 0, 0, 0, 0, 44, 0, 6, 0, 20, 0, 0, 0, 43, 0, 0, 0, + 42, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 45, 0, 0, 0, 0, 208, 150, 65, 44, 0, 6, 0, 20, 0, 0, 0, 46, 0, 0, 0, + 45, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 47, 0, 0, 0, 0, 128, 149, 65, 44, 0, 6, 0, 20, 0, 0, 0, 48, 0, 0, 0, + 47, 0, 0, 0, 47, 0, 0, 0, 47, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, + 62, 0, 0, 0, 107, 224, 200, 64, 44, 0, 6, 0, 20, 0, 0, 0, 63, 0, 0, 0, + 62, 0, 0, 0, 62, 0, 0, 0, 62, 0, 0, 0, 20, 0, 2, 0, 82, 0, 0, 0, + 43, 0, 4, 0, 6, 0, 0, 0, 89, 0, 0, 0, 166, 155, 68, 59, 43, 0, 4, 0, + 6, 0, 0, 0, 106, 0, 0, 0, 129, 128, 128, 61, 43, 0, 4, 0, 6, 0, 0, 0, + 109, 0, 0, 0, 133, 10, 149, 63, 44, 0, 6, 0, 20, 0, 0, 0, 117, 0, 0, 0, + 106, 0, 0, 0, 106, 0, 0, 0, 106, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, + 61, 0, 4, 0, 11, 0, 0, 0, 14, 0, 0, 0, 13, 0, 0, 0, 61, 0, 4, 0, + 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 87, 0, 5, 0, 7, 0, 0, 0, + 19, 0, 0, 0, 14, 0, 0, 0, 18, 0, 0, 0, 62, 0, 3, 0, 9, 0, 0, 0, + 19, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 21, 0, 0, 0, 9, 0, 0, 0, + 79, 0, 8, 0, 20, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 12, 0, 7, 0, 20, 0, 0, 0, + 25, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 24, 0, 0, 0, + 65, 0, 5, 0, 28, 0, 0, 0, 29, 0, 0, 0, 9, 0, 0, 0, 27, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 30, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 62, 0, 3, 0, 29, 0, 0, 0, 30, 0, 0, 0, 65, 0, 5, 0, 28, 0, 0, 0, + 32, 0, 0, 0, 9, 0, 0, 0, 31, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 33, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, + 33, 0, 0, 0, 65, 0, 5, 0, 28, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, + 34, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 36, 0, 0, 0, 25, 0, 0, 0, + 2, 0, 0, 0, 62, 0, 3, 0, 35, 0, 0, 0, 36, 0, 0, 0, 61, 0, 4, 0, + 7, 0, 0, 0, 37, 0, 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, + 38, 0, 0, 0, 37, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 131, 0, 5, 0, 20, 0, 0, 0, 41, 0, 0, 0, 38, 0, 0, 0, + 40, 0, 0, 0, 12, 0, 7, 0, 20, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, + 40, 0, 0, 0, 41, 0, 0, 0, 43, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, + 49, 0, 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 50, 0, 0, 0, + 49, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, + 133, 0, 5, 0, 20, 0, 0, 0, 51, 0, 0, 0, 48, 0, 0, 0, 50, 0, 0, 0, + 131, 0, 5, 0, 20, 0, 0, 0, 52, 0, 0, 0, 46, 0, 0, 0, 51, 0, 0, 0, + 136, 0, 5, 0, 20, 0, 0, 0, 53, 0, 0, 0, 44, 0, 0, 0, 52, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 55, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, + 62, 0, 3, 0, 29, 0, 0, 0, 55, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 57, 0, 0, 0, 53, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, + 57, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 59, 0, 0, 0, 53, 0, 0, 0, + 2, 0, 0, 0, 62, 0, 3, 0, 35, 0, 0, 0, 59, 0, 0, 0, 61, 0, 4, 0, + 7, 0, 0, 0, 60, 0, 0, 0, 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, + 61, 0, 0, 0, 60, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 12, 0, 7, 0, 20, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, + 26, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, + 66, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, 29, 0, 0, 0, + 66, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 68, 0, 0, 0, 64, 0, 0, 0, + 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 68, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 70, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 62, 0, 3, 0, + 35, 0, 0, 0, 70, 0, 0, 0, 61, 0, 4, 0, 6, 0, 0, 0, 74, 0, 0, 0, + 29, 0, 0, 0, 61, 0, 4, 0, 6, 0, 0, 0, 76, 0, 0, 0, 32, 0, 0, 0, + 61, 0, 4, 0, 6, 0, 0, 0, 78, 0, 0, 0, 35, 0, 0, 0, 12, 0, 7, 0, + 6, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, 40, 0, 0, 0, 76, 0, 0, 0, + 78, 0, 0, 0, 12, 0, 7, 0, 6, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, + 40, 0, 0, 0, 74, 0, 0, 0, 79, 0, 0, 0, 186, 0, 5, 0, 82, 0, 0, 0, + 83, 0, 0, 0, 80, 0, 0, 0, 42, 0, 0, 0, 247, 0, 3, 0, 85, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 4, 0, 83, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, + 248, 0, 2, 0, 84, 0, 0, 0, 129, 0, 5, 0, 6, 0, 0, 0, 90, 0, 0, 0, + 80, 0, 0, 0, 89, 0, 0, 0, 136, 0, 5, 0, 6, 0, 0, 0, 91, 0, 0, 0, + 80, 0, 0, 0, 90, 0, 0, 0, 136, 0, 5, 0, 6, 0, 0, 0, 94, 0, 0, 0, + 91, 0, 0, 0, 80, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 95, 0, 0, 0, + 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 96, 0, 0, 0, 95, 0, 0, 0, + 95, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 142, 0, 5, 0, + 20, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 94, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, + 29, 0, 0, 0, 99, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 101, 0, 0, 0, + 97, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 101, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 103, 0, 0, 0, 97, 0, 0, 0, 2, 0, 0, 0, + 62, 0, 3, 0, 35, 0, 0, 0, 103, 0, 0, 0, 249, 0, 2, 0, 85, 0, 0, 0, + 248, 0, 2, 0, 85, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 104, 0, 0, 0, + 9, 0, 0, 0, 79, 0, 8, 0, 20, 0, 0, 0, 105, 0, 0, 0, 104, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 131, 0, 5, 0, + 20, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 142, 0, 5, 0, + 20, 0, 0, 0, 110, 0, 0, 0, 108, 0, 0, 0, 109, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 112, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 62, 0, 3, 0, + 29, 0, 0, 0, 112, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 114, 0, 0, 0, + 110, 0, 0, 0, 1, 0, 0, 0, 62, 0, 3, 0, 32, 0, 0, 0, 114, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 116, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, + 62, 0, 3, 0, 35, 0, 0, 0, 116, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.test.frag.spv +const uint8_t shader_shader_test_frag[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 31, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 7, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 9, 0, 0, 0, + 12, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 71, 0, 4, 0, 9, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 12, 0, 0, 0, 30, 0, 0, 0, + 0, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, + 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, + 6, 0, 0, 0, 4, 0, 0, 0, 32, 0, 4, 0, 8, 0, 0, 0, 3, 0, 0, 0, 7, 0, + 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 23, 0, 4, 0, + 10, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 11, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 0, 0, 59, 0, 4, 0, 11, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, + 21, 0, 4, 0, 13, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 13, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 32, 0, 4, 0, 15, 0, 0, 0, 1, 0, 0, 0, + 6, 0, 0, 0, 43, 0, 4, 0, 13, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 43, 0, + 4, 0, 6, 0, 0, 0, 21, 0, 0, 0, 0, 0, 128, 63, 32, 0, 4, 0, 24, 0, 0, 0, + 3, 0, 0, 0, 6, 0, 0, 0, 43, 0, 4, 0, 13, 0, 0, 0, 29, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 248, 0, 2, 0, 5, 0, 0, 0, 65, 0, 5, 0, 15, 0, 0, 0, 16, 0, 0, 0, 12, 0, + 0, 0, 14, 0, 0, 0, 61, 0, 4, 0, 6, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, + 65, 0, 5, 0, 15, 0, 0, 0, 19, 0, 0, 0, 12, 0, 0, 0, 18, 0, 0, 0, 61, 0, + 4, 0, 6, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 65, 0, 5, 0, 24, 0, 0, 0, + 25, 0, 0, 0, 9, 0, 0, 0, 14, 0, 0, 0, 62, 0, 3, 0, 25, 0, 0, 0, 17, 0, + 0, 0, 65, 0, 5, 0, 24, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0, 18, 0, 0, 0, + 62, 0, 3, 0, 27, 0, 0, 0, 20, 0, 0, 0, 65, 0, 5, 0, 24, 0, 0, 0, 30, 0, + 0, 0, 9, 0, 0, 0, 29, 0, 0, 0, 62, 0, 3, 0, 30, 0, 0, 0, 21, 0, 0, 0, + 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader.vert.spv +const uint8_t shader_shader_vert[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 73, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, + 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 15, 0, 8, 0, 0, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, + 0, 0, 0, 0, 10, 0, 0, 0, 54, 0, 0, 0, 65, 0, 0, 0, 71, 0, 4, 0, + 10, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 72, 0, 5, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 0, 52, 0, 0, 0, + 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 72, 0, 5, 0, 52, 0, 0, 0, + 2, 0, 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 72, 0, 5, 0, 52, 0, 0, 0, + 3, 0, 0, 0, 11, 0, 0, 0, 4, 0, 0, 0, 71, 0, 3, 0, 52, 0, 0, 0, + 2, 0, 0, 0, 71, 0, 4, 0, 65, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, + 21, 0, 4, 0, 6, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 32, 0, 4, 0, + 9, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 59, 0, 4, 0, 9, 0, 0, 0, + 10, 0, 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 12, 0, 0, 0, + 1, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, + 43, 0, 4, 0, 6, 0, 0, 0, 21, 0, 0, 0, 5, 0, 0, 0, 43, 0, 4, 0, + 6, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 29, 0, 0, 0, + 32, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 32, 0, 0, 0, 0, 0, 128, 191, + 43, 0, 4, 0, 29, 0, 0, 0, 33, 0, 0, 0, 134, 136, 8, 62, 23, 0, 4, 0, + 48, 0, 0, 0, 29, 0, 0, 0, 4, 0, 0, 0, 21, 0, 4, 0, 49, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 49, 0, 0, 0, 50, 0, 0, 0, + 1, 0, 0, 0, 28, 0, 4, 0, 51, 0, 0, 0, 29, 0, 0, 0, 50, 0, 0, 0, + 30, 0, 6, 0, 52, 0, 0, 0, 48, 0, 0, 0, 29, 0, 0, 0, 51, 0, 0, 0, + 51, 0, 0, 0, 32, 0, 4, 0, 53, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, + 59, 0, 4, 0, 53, 0, 0, 0, 54, 0, 0, 0, 3, 0, 0, 0, 43, 0, 4, 0, + 6, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, + 58, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 59, 0, 0, 0, + 0, 0, 128, 63, 32, 0, 4, 0, 61, 0, 0, 0, 3, 0, 0, 0, 48, 0, 0, 0, + 23, 0, 4, 0, 63, 0, 0, 0, 29, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, + 64, 0, 0, 0, 3, 0, 0, 0, 63, 0, 0, 0, 59, 0, 4, 0, 64, 0, 0, 0, + 65, 0, 0, 0, 3, 0, 0, 0, 43, 0, 4, 0, 29, 0, 0, 0, 66, 0, 0, 0, + 0, 0, 0, 63, 44, 0, 5, 0, 63, 0, 0, 0, 70, 0, 0, 0, 59, 0, 0, 0, + 59, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 61, 0, 4, 0, 6, 0, 0, 0, + 11, 0, 0, 0, 10, 0, 0, 0, 199, 0, 5, 0, 6, 0, 0, 0, 13, 0, 0, 0, + 11, 0, 0, 0, 12, 0, 0, 0, 195, 0, 5, 0, 6, 0, 0, 0, 16, 0, 0, 0, + 11, 0, 0, 0, 12, 0, 0, 0, 199, 0, 5, 0, 6, 0, 0, 0, 18, 0, 0, 0, + 16, 0, 0, 0, 17, 0, 0, 0, 195, 0, 5, 0, 6, 0, 0, 0, 22, 0, 0, 0, + 11, 0, 0, 0, 21, 0, 0, 0, 199, 0, 5, 0, 6, 0, 0, 0, 26, 0, 0, 0, + 22, 0, 0, 0, 12, 0, 0, 0, 132, 0, 5, 0, 6, 0, 0, 0, 27, 0, 0, 0, + 24, 0, 0, 0, 26, 0, 0, 0, 130, 0, 5, 0, 6, 0, 0, 0, 28, 0, 0, 0, + 12, 0, 0, 0, 27, 0, 0, 0, 111, 0, 4, 0, 29, 0, 0, 0, 35, 0, 0, 0, + 18, 0, 0, 0, 133, 0, 5, 0, 29, 0, 0, 0, 36, 0, 0, 0, 33, 0, 0, 0, + 35, 0, 0, 0, 129, 0, 5, 0, 29, 0, 0, 0, 37, 0, 0, 0, 32, 0, 0, 0, + 36, 0, 0, 0, 111, 0, 4, 0, 29, 0, 0, 0, 39, 0, 0, 0, 28, 0, 0, 0, + 133, 0, 5, 0, 29, 0, 0, 0, 40, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, + 128, 0, 5, 0, 6, 0, 0, 0, 44, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0, + 111, 0, 4, 0, 29, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 133, 0, 5, 0, + 29, 0, 0, 0, 46, 0, 0, 0, 33, 0, 0, 0, 45, 0, 0, 0, 129, 0, 5, 0, + 29, 0, 0, 0, 47, 0, 0, 0, 32, 0, 0, 0, 46, 0, 0, 0, 80, 0, 7, 0, + 48, 0, 0, 0, 60, 0, 0, 0, 40, 0, 0, 0, 47, 0, 0, 0, 58, 0, 0, 0, + 59, 0, 0, 0, 65, 0, 5, 0, 61, 0, 0, 0, 62, 0, 0, 0, 54, 0, 0, 0, + 55, 0, 0, 0, 62, 0, 3, 0, 62, 0, 0, 0, 60, 0, 0, 0, 61, 0, 4, 0, + 48, 0, 0, 0, 68, 0, 0, 0, 62, 0, 0, 0, 79, 0, 7, 0, 63, 0, 0, 0, + 69, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 129, 0, 5, 0, 63, 0, 0, 0, 71, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, + 142, 0, 5, 0, 63, 0, 0, 0, 72, 0, 0, 0, 71, 0, 0, 0, 66, 0, 0, 0, + 62, 0, 3, 0, 65, 0, 0, 0, 72, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader_mesh.vert.spv +const uint8_t shader_shader_mesh_vert[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 69, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, 71, 76, 83, 76, 46, 115, 116, 100, + 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 0, + 9, 0, 0, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, 0, 0, 0, 0, 38, 0, 0, 0, + 57, 0, 0, 0, 65, 0, 0, 0, 67, 0, 0, 0, 72, 0, 4, 0, 11, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 72, 0, 5, 0, 11, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 72, 0, 5, 0, 11, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 16, 0, + 0, 0, 71, 0, 3, 0, 11, 0, 0, 0, 2, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, + 34, 0, 0, 0, 2, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, + 0, 0, 71, 0, 4, 0, 22, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 71, 0, 4, 0, + 23, 0, 0, 0, 6, 0, 0, 0, 16, 0, 0, 0, 72, 0, 4, 0, 24, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 72, 0, 5, 0, 24, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 72, 0, 5, 0, 24, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 16, 0, + 0, 0, 72, 0, 5, 0, 24, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 128, 0, 0, 0, + 71, 0, 3, 0, 24, 0, 0, 0, 2, 0, 0, 0, 71, 0, 4, 0, 26, 0, 0, 0, 34, 0, + 0, 0, 1, 0, 0, 0, 71, 0, 4, 0, 26, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 4, 0, 38, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 0, 55, 0, 0, 0, + 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 72, 0, 5, 0, 55, 0, 0, 0, 2, 0, + 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 72, 0, 5, 0, 55, 0, 0, 0, 3, 0, 0, 0, + 11, 0, 0, 0, 4, 0, 0, 0, 71, 0, 3, 0, 55, 0, 0, 0, 2, 0, 0, 0, 71, 0, + 4, 0, 65, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 67, 0, 0, 0, + 30, 0, 0, 0, 1, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, 33, 0, 3, 0, 3, 0, + 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, 23, 0, 4, 0, + 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 24, 0, 4, 0, 8, 0, 0, 0, 7, 0, + 0, 0, 4, 0, 0, 0, 30, 0, 3, 0, 11, 0, 0, 0, 8, 0, 0, 0, 32, 0, 4, 0, + 12, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 59, 0, 4, 0, 12, 0, 0, 0, 13, 0, + 0, 0, 2, 0, 0, 0, 21, 0, 4, 0, 14, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, + 43, 0, 4, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 32, 0, 4, 0, 16, 0, + 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 21, 0, 4, 0, 20, 0, 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 4, 0, 20, 0, 0, 0, 21, 0, 0, 0, 2, 0, 0, 0, 28, 0, + 4, 0, 22, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 28, 0, 4, 0, 23, 0, 0, 0, + 7, 0, 0, 0, 21, 0, 0, 0, 30, 0, 4, 0, 24, 0, 0, 0, 22, 0, 0, 0, 23, 0, + 0, 0, 32, 0, 4, 0, 25, 0, 0, 0, 2, 0, 0, 0, 24, 0, 0, 0, 59, 0, 4, 0, + 25, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 43, 0, 4, 0, 14, 0, 0, 0, 31, 0, + 0, 0, 1, 0, 0, 0, 32, 0, 4, 0, 32, 0, 0, 0, 2, 0, 0, 0, 7, 0, 0, 0, + 23, 0, 4, 0, 36, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 32, 0, 4, 0, 37, 0, + 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 59, 0, 4, 0, 37, 0, 0, 0, 38, 0, 0, 0, + 1, 0, 0, 0, 43, 0, 4, 0, 6, 0, 0, 0, 40, 0, 0, 0, 0, 0, 128, 63, 43, 0, + 4, 0, 20, 0, 0, 0, 53, 0, 0, 0, 1, 0, 0, 0, 28, 0, 4, 0, 54, 0, 0, 0, + 6, 0, 0, 0, 53, 0, 0, 0, 30, 0, 6, 0, 55, 0, 0, 0, 7, 0, 0, 0, 6, 0, + 0, 0, 54, 0, 0, 0, 54, 0, 0, 0, 32, 0, 4, 0, 56, 0, 0, 0, 3, 0, 0, 0, + 55, 0, 0, 0, 59, 0, 4, 0, 56, 0, 0, 0, 57, 0, 0, 0, 3, 0, 0, 0, 32, 0, + 4, 0, 61, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 23, 0, 4, 0, 63, 0, 0, 0, + 6, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, 64, 0, 0, 0, 3, 0, 0, 0, 63, 0, + 0, 0, 59, 0, 4, 0, 64, 0, 0, 0, 65, 0, 0, 0, 3, 0, 0, 0, 32, 0, 4, 0, + 66, 0, 0, 0, 1, 0, 0, 0, 63, 0, 0, 0, 59, 0, 4, 0, 66, 0, 0, 0, 67, 0, + 0, 0, 1, 0, 0, 0, 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 248, 0, 2, 0, 5, 0, 0, 0, 65, 0, 5, 0, 16, 0, 0, 0, 17, 0, + 0, 0, 13, 0, 0, 0, 15, 0, 0, 0, 61, 0, 4, 0, 8, 0, 0, 0, 18, 0, 0, 0, + 17, 0, 0, 0, 65, 0, 6, 0, 16, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 15, 0, + 0, 0, 15, 0, 0, 0, 61, 0, 4, 0, 8, 0, 0, 0, 28, 0, 0, 0, 27, 0, 0, 0, + 65, 0, 6, 0, 32, 0, 0, 0, 33, 0, 0, 0, 26, 0, 0, 0, 31, 0, 0, 0, 15, 0, + 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 61, 0, 4, 0, + 36, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 41, 0, + 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 42, 0, 0, 0, + 39, 0, 0, 0, 1, 0, 0, 0, 81, 0, 5, 0, 6, 0, 0, 0, 43, 0, 0, 0, 39, 0, + 0, 0, 2, 0, 0, 0, 80, 0, 7, 0, 7, 0, 0, 0, 44, 0, 0, 0, 41, 0, 0, 0, + 42, 0, 0, 0, 43, 0, 0, 0, 40, 0, 0, 0, 145, 0, 5, 0, 7, 0, 0, 0, 48, 0, + 0, 0, 18, 0, 0, 0, 44, 0, 0, 0, 129, 0, 5, 0, 7, 0, 0, 0, 52, 0, 0, 0, + 48, 0, 0, 0, 34, 0, 0, 0, 145, 0, 5, 0, 7, 0, 0, 0, 60, 0, 0, 0, 28, 0, + 0, 0, 52, 0, 0, 0, 65, 0, 5, 0, 61, 0, 0, 0, 62, 0, 0, 0, 57, 0, 0, 0, + 15, 0, 0, 0, 62, 0, 3, 0, 62, 0, 0, 0, 60, 0, 0, 0, 61, 0, 4, 0, 63, 0, + 0, 0, 68, 0, 0, 0, 67, 0, 0, 0, 62, 0, 3, 0, 65, 0, 0, 0, 68, 0, 0, 0, + 253, 0, 1, 0, 56, 0, 1, 0}; +// Shader generated from shader_mesh_multiview.vert.spv +const uint8_t shader_shader_mesh_multiview_vert[] = { + 3, 2, 35, 7, 0, 3, 1, 0, 10, 0, 13, 0, 73, 0, 0, 0, 0, 0, 0, 0, 17, 0, + 2, 0, 1, 0, 0, 0, 17, 0, 2, 0, 87, 17, 0, 0, 11, 0, 6, 0, 1, 0, 0, 0, + 71, 76, 83, 76, 46, 115, 116, 100, 46, 52, 53, 48, 0, 0, 0, 0, 14, 0, 3, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 15, 0, 10, 0, 0, 0, 0, 0, 4, 0, 0, 0, 109, 97, 105, 110, + 0, 0, 0, 0, 28, 0, 0, 0, 42, 0, 0, 0, 61, 0, 0, 0, 69, 0, 0, 0, 71, 0, + 0, 0, 72, 0, 4, 0, 11, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 72, 0, 5, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 0, 11, 0, + 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 16, 0, 0, 0, 71, 0, 3, 0, 11, 0, 0, 0, + 2, 0, 0, 0, 71, 0, 4, 0, 13, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 71, 0, + 4, 0, 13, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 22, 0, 0, 0, + 6, 0, 0, 0, 64, 0, 0, 0, 71, 0, 4, 0, 23, 0, 0, 0, 6, 0, 0, 0, 16, 0, + 0, 0, 72, 0, 4, 0, 24, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 72, 0, 5, 0, + 24, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 0, 24, 0, + 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 16, 0, 0, 0, 72, 0, 5, 0, 24, 0, 0, 0, + 1, 0, 0, 0, 35, 0, 0, 0, 128, 0, 0, 0, 71, 0, 3, 0, 24, 0, 0, 0, 2, 0, + 0, 0, 71, 0, 4, 0, 26, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, 71, 0, 4, 0, + 26, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 28, 0, 0, 0, 11, 0, + 0, 0, 88, 17, 0, 0, 71, 0, 4, 0, 42, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 72, 0, 5, 0, 59, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 72, 0, + 5, 0, 59, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 72, 0, 5, 0, + 59, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 72, 0, 5, 0, 59, 0, + 0, 0, 3, 0, 0, 0, 11, 0, 0, 0, 4, 0, 0, 0, 71, 0, 3, 0, 59, 0, 0, 0, + 2, 0, 0, 0, 71, 0, 4, 0, 69, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 71, 0, + 4, 0, 71, 0, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 19, 0, 2, 0, 2, 0, 0, 0, + 33, 0, 3, 0, 3, 0, 0, 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, + 0, 0, 23, 0, 4, 0, 7, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 24, 0, 4, 0, + 8, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 30, 0, 3, 0, 11, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 4, 0, 12, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 59, 0, 4, 0, + 12, 0, 0, 0, 13, 0, 0, 0, 2, 0, 0, 0, 21, 0, 4, 0, 14, 0, 0, 0, 32, 0, + 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 4, 0, 16, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 21, 0, 4, 0, 20, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 43, 0, 4, 0, 20, 0, 0, 0, 21, 0, 0, 0, + 2, 0, 0, 0, 28, 0, 4, 0, 22, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 28, 0, + 4, 0, 23, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 30, 0, 4, 0, 24, 0, 0, 0, + 22, 0, 0, 0, 23, 0, 0, 0, 32, 0, 4, 0, 25, 0, 0, 0, 2, 0, 0, 0, 24, 0, + 0, 0, 59, 0, 4, 0, 25, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 32, 0, 4, 0, + 27, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 59, 0, 4, 0, 27, 0, 0, 0, 28, 0, + 0, 0, 1, 0, 0, 0, 43, 0, 4, 0, 14, 0, 0, 0, 34, 0, 0, 0, 1, 0, 0, 0, + 32, 0, 4, 0, 36, 0, 0, 0, 2, 0, 0, 0, 7, 0, 0, 0, 23, 0, 4, 0, 40, 0, + 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 32, 0, 4, 0, 41, 0, 0, 0, 1, 0, 0, 0, + 40, 0, 0, 0, 59, 0, 4, 0, 41, 0, 0, 0, 42, 0, 0, 0, 1, 0, 0, 0, 43, 0, + 4, 0, 6, 0, 0, 0, 44, 0, 0, 0, 0, 0, 128, 63, 43, 0, 4, 0, 20, 0, 0, 0, + 57, 0, 0, 0, 1, 0, 0, 0, 28, 0, 4, 0, 58, 0, 0, 0, 6, 0, 0, 0, 57, 0, + 0, 0, 30, 0, 6, 0, 59, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, + 58, 0, 0, 0, 32, 0, 4, 0, 60, 0, 0, 0, 3, 0, 0, 0, 59, 0, 0, 0, 59, 0, + 4, 0, 60, 0, 0, 0, 61, 0, 0, 0, 3, 0, 0, 0, 32, 0, 4, 0, 65, 0, 0, 0, + 3, 0, 0, 0, 7, 0, 0, 0, 23, 0, 4, 0, 67, 0, 0, 0, 6, 0, 0, 0, 2, 0, + 0, 0, 32, 0, 4, 0, 68, 0, 0, 0, 3, 0, 0, 0, 67, 0, 0, 0, 59, 0, 4, 0, + 68, 0, 0, 0, 69, 0, 0, 0, 3, 0, 0, 0, 32, 0, 4, 0, 70, 0, 0, 0, 1, 0, + 0, 0, 67, 0, 0, 0, 59, 0, 4, 0, 70, 0, 0, 0, 71, 0, 0, 0, 1, 0, 0, 0, + 54, 0, 5, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0, + 2, 0, 5, 0, 0, 0, 65, 0, 5, 0, 16, 0, 0, 0, 17, 0, 0, 0, 13, 0, 0, 0, + 15, 0, 0, 0, 61, 0, 4, 0, 8, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 61, 0, + 4, 0, 14, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 65, 0, 6, 0, 16, 0, 0, 0, + 30, 0, 0, 0, 26, 0, 0, 0, 15, 0, 0, 0, 29, 0, 0, 0, 61, 0, 4, 0, 8, 0, + 0, 0, 31, 0, 0, 0, 30, 0, 0, 0, 65, 0, 6, 0, 36, 0, 0, 0, 37, 0, 0, 0, + 26, 0, 0, 0, 34, 0, 0, 0, 29, 0, 0, 0, 61, 0, 4, 0, 7, 0, 0, 0, 38, 0, + 0, 0, 37, 0, 0, 0, 61, 0, 4, 0, 40, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, + 81, 0, 5, 0, 6, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 5, 0, 6, 0, 0, 0, 46, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 81, 0, 5, 0, + 6, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 80, 0, 7, 0, 7, 0, + 0, 0, 48, 0, 0, 0, 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 44, 0, 0, 0, + 145, 0, 5, 0, 7, 0, 0, 0, 52, 0, 0, 0, 18, 0, 0, 0, 48, 0, 0, 0, 129, 0, + 5, 0, 7, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 38, 0, 0, 0, 145, 0, 5, 0, + 7, 0, 0, 0, 64, 0, 0, 0, 31, 0, 0, 0, 56, 0, 0, 0, 65, 0, 5, 0, 65, 0, + 0, 0, 66, 0, 0, 0, 61, 0, 0, 0, 15, 0, 0, 0, 62, 0, 3, 0, 66, 0, 0, 0, + 64, 0, 0, 0, 61, 0, 4, 0, 67, 0, 0, 0, 72, 0, 0, 0, 71, 0, 0, 0, 62, 0, + 3, 0, 69, 0, 0, 0, 72, 0, 0, 0, 253, 0, 1, 0, 56, 0, 1, 0}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanMediaPlayer.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanMediaPlayer.h new file mode 100644 index 0000000..f6624d5 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanMediaPlayer.h @@ -0,0 +1,151 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// The main IMediaPlayer implementation. This is a +// shim which provides Unreal interfaces, and then +// defers everything vulkan related to the main +// AndroidVulkanVideoImpl class. +// ------------------------------------------------ +#pragma once + +#include "IMediaCache.h" +#include "IMediaControls.h" +#include "IMediaEventSink.h" +#include "IMediaPlayer.h" +#include "IMediaTracks.h" +#include "IMediaView.h" +#include "MediaSamples.h" + +// for vulkan types in the callback fn +#include "IVulkanDynamicRHI.h" + +#include "IAndroidVulkanVideoAVCallback.h" + +#include "AndroidVulkanTextureSample.h" +#include "VideoMediaSampleHolder.h" + +class IAudioOut; +class IVulkanImpl; + +class FAndroidVulkanMediaPlayer : public IMediaPlayer, + protected IMediaCache, + protected IMediaControls, + protected IMediaTracks, + protected IMediaView, + protected IAndroidVulkanVideoAVCallback +{ + public: + FAndroidVulkanMediaPlayer(IMediaEventSink &InEventSink); + virtual ~FAndroidVulkanMediaPlayer(); + + // IMediaPlayer + virtual void Close() override; + virtual IMediaCache &GetCache() override + { + return *this; + } + virtual IMediaControls &GetControls() override + { + return *this; + } + + virtual bool FlushOnSeekCompleted() const + { + return false; + } + virtual FString GetInfo() const override; + virtual FGuid GetPlayerPluginGUID() const override; + virtual IMediaSamples &GetSamples() override; + virtual FString GetStats() const override; + virtual IMediaTracks &GetTracks() override + { + return *this; + } + virtual FString GetUrl() const override; + virtual IMediaView &GetView() override + { + return *this; + } + virtual bool Open(const FString &Url, const IMediaOptions *Options) override; + virtual bool Open(const TSharedRef &Archive, + const FString &OriginalUrl, const IMediaOptions *Options) override; + virtual void SetGuid(const FGuid &Guid) override; + virtual void TickFetch(FTimespan DeltaTime, FTimespan Timecode) override; + virtual void TickInput(FTimespan DeltaTime, FTimespan Timecode) override; + virtual bool GetPlayerFeatureFlag(EFeatureFlag flag) const override; + + // IMediaCache + // don't override these - we don't provide caching (yet?) + // virtual bool QueryCacheState(EMediaCacheState State, TRangeSet& OutTimeRanges) + // const virtual int32 GetSampleCount(EMediaCacheState State) const + + // IMediaControl + virtual bool CanControl(EMediaControl Control) const override; + virtual FTimespan GetDuration() const override; + virtual float GetRate() const override; + virtual EMediaState GetState() const override; + virtual EMediaStatus GetStatus() const override; + virtual TRangeSet GetSupportedRates(EMediaRateThinning Thinning) const override; + virtual FTimespan GetTime() const override; + virtual bool IsLooping() const override; + virtual bool Seek(const FTimespan &Time) override; + virtual bool SetLooping(bool Looping) override; + virtual bool SetRate(float Rate) override; + virtual bool SetNativeVolume(float Volume) override; + + // IMediaTracks + virtual bool GetAudioTrackFormat(int32 TrackIndex, int32 FormatIndex, + FMediaAudioTrackFormat &OutFormat) const override; + virtual int32 GetNumTracks(EMediaTrackType TrackType) const override; + virtual int32 GetNumTrackFormats(EMediaTrackType TrackType, int32 TrackIndex) const override; + virtual int32 GetSelectedTrack(EMediaTrackType TrackType) const override; + virtual FText GetTrackDisplayName(EMediaTrackType TrackType, int32 TrackIndex) const override; + virtual int32 GetTrackFormat(EMediaTrackType TrackType, int32 TrackIndex) const override; + virtual FString GetTrackLanguage(EMediaTrackType TrackType, int32 TrackIndex) const override; + virtual FString GetTrackName(EMediaTrackType TrackType, int32 TrackIndex) const override; + virtual bool GetVideoTrackFormat(int32 TrackIndex, int32 FormatIndex, + FMediaVideoTrackFormat &OutFormat) const override; + virtual bool SelectTrack(EMediaTrackType TrackType, int32 TrackIndex) override; + virtual bool SetTrackFormat(EMediaTrackType TrackType, int32 TrackIndex, + int32 FormatIndex) override; + + // IMediaView + // don't provide these features, so we don't override any of it + + // IAndroidVulkanVideoAVCallback (impl callback) + virtual void onVideoFrame(void *frameHwBuffer, int w, int h, int64_t presTimeNs) override; + virtual void *getVkDeviceProcAddr(const char *name) override; + virtual VkDevice getVkDevice() override; + virtual const VkAllocationCallbacks *getVkAllocationCallbacks() override; + virtual VkPhysicalDevice getNativePhysicalDevice() override; + virtual void onPlaybackEnd(bool looping) override; + + virtual void ProcessVideoSamples() override; + + private: + // delegates for foreground -> background transitions which should pause + // and resume playback + void OnEnterBackground(); + void OnEnterForeground(); + + FDelegateHandle DelegateEnterBackground; + FDelegateHandle DelegateEnterForeground; + + bool Seeking; + int32 SeekIndex; + + // our output samples + TSharedPtr SampleQueue; + IMediaEventSink &EventSink; + IVulkanImpl *impl; + IAudioOut *AudioOut; + FString CurInfo; + FString VideoURL; + FGuid PlayerGUID; + EMediaState PlayState; + bool Looping; + FAndroidVulkanTextureSamplePool VideoSamplePool; + bool HasVideoThisFrame; + bool SentBlankFrame; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanTextureSample.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanTextureSample.h new file mode 100644 index 0000000..5fa4f84 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanTextureSample.h @@ -0,0 +1,190 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Vulkan texture sample - holds an opaque pointer +// to an Android AHardwareBuffer, and provides the +// IMediaTextureSample and +// IMediaTextureSampleConverter interfaces to allow +// Unreal's media player to show the frame. +// ------------------------------------------------ + +#pragma once + +#include "IMediaTextureSample.h" +#include "IMediaTextureSampleConverter.h" +#include "MediaObjectPool.h" + +#include "IVulkanVertexData.h" + +#define TMP_REPLACE 5 + +class IVulkanImpl; + +class AndroidVulkanTextureSample : public IMediaTextureSample, + public IMediaTextureSampleConverter, + public IMediaPoolable +{ + friend class FAndroidVulkanTextureSamplePool; + + public: + AndroidVulkanTextureSample(); + + void Init(IVulkanImpl *impl, void *hwImage, int w, int h, FMediaTimeStamp sampleTime); + void InitNoVideo(); + + ~AndroidVulkanTextureSample(); + + virtual const void *GetBuffer() override + { + return NULL; + } + + virtual FIntPoint GetDim() const override; + virtual FTimespan GetDuration() const override + { + return FTimespan::Zero(); + } + virtual EMediaTextureSampleFormat GetFormat() const override + { + return VideoTextureFormat; + } + + virtual FIntPoint GetOutputDim() const override; + virtual uint32 GetStride() const override; + virtual FRHITexture *GetTexture() const override; + virtual IMediaTextureSampleConverter *GetMediaTextureSampleConverter() override; + + virtual FMediaTimeStamp GetTime() const; + + virtual bool IsCacheable() const + { + return true; + } + virtual bool IsOutputSrgb() const + { + return false; + } + + // IMediaTextureSampleConverter interface (changed in 5.5 to add command list) + + virtual bool Convert(FTexture2DRHIRef &InDstTexture, const FConversionHints &Hints); + + bool ConvertInternal(FRHICommandListImmediate &RHICmdList, FTexture2DRHIRef &InDstTexture, + const FConversionHints &Hints); + + // called inside render pass + bool RenderToMesh(FTexture2DRHIRef InDstTexture, FRHICommandList &RHICmdList, void *MeshID); + + // called outside a render pass + // n.b. don't make matrices etc. const references + // because then we get dangling references and + // BAD THINGS happen + bool UpdateViewMatrices(FTexture2DRHIRef InDstTexture, FRHICommandList &RHICmdList, + ShaderViewMatrices Matrices, void *MeshID); + bool InitFrameForMeshRendering(FTexture2DRHIRef InDstTexture, FRHICommandList &RHICmdList, + void *MeshID); + bool UpdateMesh(FTexture2DRHIRef InDstTexture, FRHICommandList &RHICmdList, + TArray PositionAndUV, TArray Indices, + ShaderModelMatrix Matrix, void *MeshID); + + void InitializePoolable() override; + virtual bool IsReadyForReuse() override; + virtual void ShutdownPoolable() override; + + void Clear(); + void ClearIfShown(); + + static void SetVideoFormat(EMediaTextureSampleFormat Format) + { + VideoTextureFormat = Format; + } + + void ImplDeleted(); + + private: + void FRenderOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture); + void FRenderMeshOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture, void *MeshID, + int Samples); + void FUpdateMeshOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture, + const TArray &PositionAndUV, + const TArray &Indices, + const ShaderModelMatrix &Matrix, void *MeshID); + void FUpdateMatricesOnRHIThreadCommand(const FTexture2DRHIRef &DstTexture, + const ShaderViewMatrices &Matrices, void *MeshID); + void FInitMeshRenderingCommand(const FTexture2DRHIRef &DstTexture, void *MeshID, int Samples); + bool IsEmptyTexture; + FGPUFenceRHIRef Fence; + + FIntPoint Dimension; + void *FrameHWImage; + + /** Duration for which the sample is valid. */ + // FTimespan TimeDuration; + + /** Sample time. */ + FMediaTimeStamp SampleTime; + + int NumSamples; // number of samples used for MSAA on rendering meshes directly + + IVulkanImpl *Impl; + bool Shown; + + FCriticalSection AccessLock; + + static EMediaTextureSampleFormat VideoTextureFormat; +}; + +class FAndroidVulkanTextureSamplePool : public TMediaObjectPool +{ + public: + void Tick() + { + TMediaObjectPool::Tick(); + for (auto wp : liveObjects) + { + auto pin = wp.Pin(); + if (pin.IsValid()) + { + pin->ClearIfShown(); + } + } + } + + TSharedRef AcquireShared() + { + auto ret = TMediaObjectPool::AcquireShared(); + TWeakPtr wp = ret; + if (!liveObjects.Find(wp)) + { + liveObjects.Add(wp); + } + return ret; + } + + void ReleaseEverything() + { + for (auto wp : liveObjects) + { + auto pin = wp.Pin(); + if (pin.IsValid()) + { + pin->ImplDeleted(); + } + } + + for (auto wp : liveObjects) + { + auto pin = wp.Pin(); + if (pin.IsValid()) + { + pin->ShutdownPoolable(); + } + } + Reset(); + } + int bob[TMP_REPLACE]; + // for anything that has already been drawn, we want to release textures ASAP, + // rather than whenever Unreal gets round to it. + TArray> liveObjects; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanVideo.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanVideo.h new file mode 100644 index 0000000..23d3125 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/AndroidVulkanVideo.h @@ -0,0 +1,22 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// AndroidVulkanVideo module implementation +// ------------------------------------------------ + +#pragma once + +#include "Modules/ModuleManager.h" + +#include "IMediaEventSink.h" +#include "IMediaPlayer.h" + +class IAndroidVulkanVideoModule : public IModuleInterface +{ + public: + virtual TSharedPtr CreatePlayer( + IMediaEventSink &EventSink) = 0; + + private: +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IAndroidVulkanVideoAVCallback.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IAndroidVulkanVideoAVCallback.h new file mode 100644 index 0000000..00052d3 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IAndroidVulkanVideoAVCallback.h @@ -0,0 +1,21 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Callback used by implementation class to send +// buffers to media player. +// ------------------------------------------------ +#pragma once +class IAndroidVulkanVideoAVCallback +{ + public: + // called with video frame hardware buffers + virtual void onVideoFrame(void *frameHwBuffer, int w, int h, int64_t presTimeNs) = 0; + // we need to get vulkan functions and device etc. via Unreal Engine for consistency + virtual void *getVkDeviceProcAddr(const char *name) = 0; + virtual VkDevice getVkDevice() = 0; + virtual const VkAllocationCallbacks *getVkAllocationCallbacks() = 0; + virtual VkPhysicalDevice getNativePhysicalDevice() = 0; + + virtual void onPlaybackEnd(bool looping) = 0; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IVulkanVertexData.h b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IVulkanVertexData.h new file mode 100644 index 0000000..c9bd39a --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IVulkanVertexData.h @@ -0,0 +1,44 @@ +#pragma once + +struct VertexData +{ + float x; + float y; + float z; + float _ignored1; + float u; + float v; + float _ignored2; + float _ignored3; +}; + +struct ShaderModelMatrix +{ + ShaderModelMatrix() + { + memset(this, 0, sizeof(ShaderModelMatrix)); + for (int c = 0; c < 4; c++) + { + m44[c + c * 4] = 1.0; + } + } + + float m44[16]; +}; + +struct ShaderViewMatrices +{ + ShaderViewMatrices() + { + memset(this, 0, sizeof(ShaderViewMatrices)); + for (int c = 0; c < 4; c++) + { + vp44[c + c * 4] = 1; + vp44_2[c + c * 4] = 1; + } + } + float vp44[16]; + float vp44_2[16]; + float pre_view_translation[4]; + float pre_view_translation_2[4]; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/overridelib_built/InstallOverrideLib.xml b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/overridelib_built/InstallOverrideLib.xml new file mode 100644 index 0000000..c49871b --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/overridelib_built/InstallOverrideLib.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/AndroidVulkanVideoFactory.Build.cs b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/AndroidVulkanVideoFactory.Build.cs new file mode 100644 index 0000000..86c0472 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/AndroidVulkanVideoFactory.Build.cs @@ -0,0 +1,79 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Build AndroidVulkanVideo factory module (to make +// it possible to select this as a video source in +// editor.) +// ------------------------------------------------ + +using UnrealBuildTool; +using System.IO; +using System; + +public class AndroidVulkanVideoFactory : ModuleRules +{ + public AndroidVulkanVideoFactory(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + CppStandard = CppStandardVersion.Cpp17; + + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Projects" + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", "Engine","RHI","VulkanRHI","AudioExtensions" + // ... add private dependencies that you statically link with here ... + } + ); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "AndroidVulkanVideo", + "Media", + "MediaUtils" + }); + + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + "Media" + } + ); + + if (Target.Platform == UnrealTargetPlatform.Android) + { + DynamicallyLoadedModuleNames.Add("AndroidVulkanVideo"); + } + // don't precompile video + // factory so any editor can use it + bPrecompile = false; + bUsePrecompiled = false; + } +} diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/Private/AndroidVulkanVideoFactoryModule.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/Private/AndroidVulkanVideoFactoryModule.cpp new file mode 100644 index 0000000..e38d14e --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideoFactory/Private/AndroidVulkanVideoFactoryModule.cpp @@ -0,0 +1,168 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Factory class to tell Unreal that we can play +// different types of media. +// ------------------------------------------------ + +#include "AndroidVulkanVideo.h" +#include "IMediaModule.h" +#include "IMediaPlayerFactory.h" +#include "Misc/Guid.h" +#include "Misc/Paths.h" +#include "Modules/ModuleManager.h" + +#define LOCTEXT_NAMESPACE "FAndroidVulkanVideoFactoryModule" + +class FAndroidVulkanVideoFactoryModule : public IMediaPlayerFactory, public IModuleInterface +{ + public: + virtual bool CanPlayUrl(const FString &Url, const IMediaOptions * /*Options*/, + TArray * /*OutWarnings*/, + TArray *OutErrors) const override + { + FString Scheme; + FString Location; + + // check scheme + if (!Url.Split(TEXT("://"), &Scheme, &Location, ESearchCase::CaseSensitive)) + { + if (OutErrors != nullptr) + { + OutErrors->Add(LOCTEXT("NoSchemeFound", "No URI scheme found")); + } + + return false; + } + + if (!SupportedUriSchemes.Contains(Scheme)) + { + if (OutErrors != nullptr) + { + OutErrors->Add(FText::Format( + LOCTEXT("SchemeNotSupported", "The URI scheme '{0}' is not supported"), + FText::FromString(Scheme))); + } + + return false; + } + + // check file extension + if (Scheme == TEXT("file")) + { + const FString Extension = FPaths::GetExtension(Location, false); + + if (!SupportedFileExtensions.Contains(Extension)) + { + if (OutErrors != nullptr) + { + OutErrors->Add( + FText::Format(LOCTEXT("ExtensionNotSupported", + "The file extension '{0}' is not supported"), + FText::FromString(Extension))); + } + + return false; + } + } + + return true; + } + + virtual TSharedPtr CreatePlayer( + IMediaEventSink &EventSink) override + { + auto AndroidVulkanVideoModule = + FModuleManager::LoadModulePtr("AndroidVulkanVideo"); + return (AndroidVulkanVideoModule != nullptr) + ? AndroidVulkanVideoModule->CreatePlayer(EventSink) + : nullptr; + } + + virtual FText GetDisplayName() const override + { + return LOCTEXT("MediaPlayerDisplayName", "Android Vulkan Video"); + } + + virtual FName GetPlayerName() const override + { + static FName PlayerName(TEXT("DirectVideo Android")); + return PlayerName; + } + + virtual FGuid GetPlayerPluginGUID() const override + { + static FGuid OurGUID(0x9bf2d7c6, 0xb2b84d26, 0xb6ae5a3a, 0xc9883569); + return OurGUID; + } + + virtual const TArray &GetSupportedPlatforms() const override + { + return SupportedPlatforms; + } + + virtual bool SupportsFeature(EMediaFeature Feature) const override + { + return ((Feature == EMediaFeature::AudioTracks) || + (Feature == EMediaFeature::VideoSamples) || + (Feature == EMediaFeature::VideoTracks)); + } + + virtual void ShutdownModule() override + { + // unregister player factory + auto MediaModule = FModuleManager::GetModulePtr("Media"); + + if (MediaModule != nullptr) + { + MediaModule->UnregisterPlayerFactory(*this); + } + } + + virtual void StartupModule() override + { + + // supported file extensions + SupportedFileExtensions.Add(TEXT("3gpp")); + SupportedFileExtensions.Add(TEXT("aac")); + SupportedFileExtensions.Add(TEXT("mp4")); + SupportedFileExtensions.Add(TEXT("m3u8")); + SupportedFileExtensions.Add(TEXT("webm")); + + // supported platforms + SupportedPlatforms.Add(TEXT("Android")); + + // supported schemes + SupportedUriSchemes.Add(TEXT("file")); + /* SupportedUriSchemes.Add(TEXT("http")); + SupportedUriSchemes.Add(TEXT("httpd")); + SupportedUriSchemes.Add(TEXT("https")); + SupportedUriSchemes.Add(TEXT("mms")); + SupportedUriSchemes.Add(TEXT("rtsp")); + SupportedUriSchemes.Add(TEXT("rtspt")); + SupportedUriSchemes.Add(TEXT("rtspu"));*/ + + // register media player info + auto MediaModule = FModuleManager::LoadModulePtr("Media"); + + if (MediaModule != nullptr) + { + MediaModule->RegisterPlayerFactory(*this); + } + } + + private: + /** List of supported media file types. */ + TArray SupportedFileExtensions; + + /** List of platforms that the media player support. */ + TArray SupportedPlatforms; + + /** List of supported URI schemes. */ + TArray SupportedUriSchemes; +}; + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FAndroidVulkanVideoFactoryModule, AndroidVulkanVideoFactory); diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/DirectVideoMeshRenderer.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/DirectVideoMeshRenderer.cpp new file mode 100644 index 0000000..663dd31 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/DirectVideoMeshRenderer.cpp @@ -0,0 +1,518 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Renders mesh directly to framebuffer from video +// stream (without texture between) +// ------------------------------------------------ +#include "DirectVideoMeshRenderer.h" + +#include "AndroidVulkanTextureSample.h" + +#include "Components/StaticMeshComponent.h" +#include "Engine/StaticMesh.h" +#include "Engine/StaticMeshActor.h" +#include "EngineModule.h" +#include "IMediaPlayer.h" +#include "RHIResources.h" +#include "RawIndexBuffer.h" +#include "RenderGraphBuilder.h" +#include "Rendering/ColorVertexBuffer.h" +#include "Rendering/PositionVertexBuffer.h" +#include "Rendering/StaticMeshVertexBuffer.h" +#include "SceneView.h" +#include "SceneViewExtension.h" +#include "StaticMeshResources.h" +#include "StereoRendering.h" + +#include "Math/Matrix.h" + +#include "MeshDescription.h" + +DEFINE_LOG_CATEGORY(LogDirectVideoMeshRenderer); + +class FRendererSceneViewExt : public FSceneViewExtensionBase +{ + public: + FRendererSceneViewExt(const FAutoRegister &AutoRegister, + UDirectVideoMeshRendererComponent &InOwner) + : FSceneViewExtensionBase(AutoRegister), Owner(InOwner) + { + } + + virtual void PostRenderView_RenderThread(FRDGBuilder &GraphBuilder, FSceneView &InView) override + { + } + + virtual void PostRenderBasePassMobile_RenderThread(FRHICommandList &RHICmdList, + FSceneView &InView) override + + { + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "PostRenderBasePassMobile"); + +#if PLATFORM_ANDROID + Owner.DrawToCommandList(RHICmdList, InView); +#endif + } + + virtual void SetupViewFamily(FSceneViewFamily &InViewFamily) override + { + } + + virtual void SetupView(FSceneViewFamily &InViewFamily, FSceneView &InView) override + { + } + + virtual void PreRenderViewFamily_RenderThread(FRDGBuilder &GraphBuilder, + FSceneViewFamily &InViewFamily) + { +#if PLATFORM_ANDROID + + // we are outside of a command list, so we can update the mesh if needed + Owner.DoWorkOutsideRenderPass(GraphBuilder.RHICmdList, InViewFamily); + +#endif + } + + virtual void PreRenderView_RenderThread(FRDGBuilder &GraphBuilder, FSceneView &InView) + { + } + + virtual void BeginRenderViewFamily(FSceneViewFamily &InViewFamily) override + { + Owner.UpdateVisibility(); + } + + UDirectVideoMeshRendererComponent &Owner; +}; + +UDirectVideoMeshRendererComponent::UDirectVideoMeshRendererComponent() +{ + HideMeshWhileWeHaveVideo = true; + PrimaryComponentTick.bCanEverTick = true; + Initialized = false; +} + +UDirectVideoMeshRendererComponent::~UDirectVideoMeshRendererComponent() +{ + DeInit(); +} + +void UDirectVideoMeshRendererComponent::DeInit() +{ + Initialized = false; +#if PLATFORM_ANDROID + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Deinit"); + // Extensions clean up on destroy + ExtensionHolder.Reset(); + + if (PreparedSample != NULL) + { + AndroidVulkanTextureSample *VulkanSample = + static_cast(PreparedSample.Get()); + VulkanSample->ImplDeleted(); + } + if (CurrentSample != NULL) + { + AndroidVulkanTextureSample *VulkanSample = + static_cast(CurrentSample.Get()); + VulkanSample->ImplDeleted(); + } + CurrentSample = NULL; + PreparedSample = NULL; + if (Facade != NULL) + { + auto PFacade = Facade.Pin(); + } +#endif + + Facade.Reset(); + // the media facade sample sink keeps a weak pointer to + // the texture sink and then clears it if destroyed, + // so we don't need to remove the texture sink, we can just + // kill it here. + TextureSink.Reset(); +} + +void UDirectVideoMeshRendererComponent::BeginDestroy() +{ + DeInit(); + UActorComponent::BeginDestroy(); +} + +void UDirectVideoMeshRendererComponent::Initialize() +{ +#if PLATFORM_ANDROID + TextureSink = MakeShared<_TextureSink>(this); + + if (Facade == NULL) + { + if (LinkedPlayer != NULL) + { + Facade = LinkedPlayer->GetPlayerFacade(); + } + } + + if (Facade != NULL) + { + if (!HasAnyFlags(RF_ClassDefaultObject)) + { + auto PFacade = Facade.Pin(); + TSharedRef sinkPtr = TextureSink.ToSharedRef(); + PFacade.Get()->AddVideoSampleSink(sinkPtr); + + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Registered for frames"); + Initialized = true; + } + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "No media player"); + } + + GetMeshObject(); + + if (ExtensionHolder == NULL) + { + ExtensionHolder = FSceneViewExtensions::NewExtension(*this); + } + +#endif +} + +void UDirectVideoMeshRendererComponent::HandlePlayerMediaEvent(EMediaSampleSinkEvent Event) +{ + int IEvent = (int)Event; + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Handle event {0}", IEvent); + + switch (Event) + { + case EMediaSampleSinkEvent::Detached: + case EMediaSampleSinkEvent::MediaClosed: + CurrentSample = NULL; + PreparedSample = NULL; + break; + } +} + +void UDirectVideoMeshRendererComponent::TickComponent(float DeltaTime, ELevelTick TickType, + FActorComponentTickFunction *ThisTickFunction) +{ + if (!Initialized) + { + Initialize(); + } +} + +void UDirectVideoMeshRendererComponent::UpdateVisibility() +{ + if (HideMeshWhileWeHaveVideo) + { + MeshActor = GetOwner(); + if (MeshActor == NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, + "Mesh renderer has to be on StaticMeshActor"); + return; + } + // need to unhide or hide the underlying staticmesh here + // depending on whether we have video + UStaticMeshComponent *MeshComponent = MeshActor->GetStaticMeshComponent(); + if (MeshComponent == NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, + "Mesh renderer needs a static mesh component"); + return; + } + + MeshComponent->bRenderInDepthPass = 0; + MeshComponent->SetRenderInMainPass(CurrentSample == NULL); + } +} + +void UDirectVideoMeshRendererComponent::GetMeshObject() +{ + MeshActor = GetOwner(); + if (MeshActor == NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, + "Mesh renderer has to be on StaticMeshActor"); + return; + } + UStaticMeshComponent *MeshComponent = MeshActor->GetStaticMeshComponent(); + TObjectPtr Mesh = MeshComponent->GetStaticMesh(); +#if WITH_EDITOR + if (Mesh != NULL) + { + FStaticMeshRenderData *RenderData = Mesh->GetRenderData(); + if (RenderData != NULL) + { + const FStaticMeshLODResources &LODRenderData = RenderData->LODResources[0]; + const auto &VertexBuffers = LODRenderData.VertexBuffers; + const auto &IndexBuffer = LODRenderData.IndexBuffer; // index buffer for rendering this + + if (ConstructMeshFromRenderData(VertexBuffers, IndexBuffer)) + { + HasMesh = true; + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "Mesh making failed"); + } + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "No render data"); + } + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "Mesh is null"); + } +#endif +} + +void DumpMatrix(const char *Name, FMatrix44f Matrix) +{ + char MatrixDesc[256]; + int ofs = snprintf(MatrixDesc, 250, "%s:\n", Name); + for (int c = 0; c < 4; c++) + { + for (int d = 0; d < 4; d++) + { + int len = snprintf(&MatrixDesc[ofs], 250 - ofs, "%4.4f,", Matrix.M[c][d]); + ofs += len; + } + MatrixDesc[ofs] = '\n'; + ofs++; + } + MatrixDesc[ofs] = 0; + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "{0}", MatrixDesc); +} + +void UDirectVideoMeshRendererComponent::DrawToCommandList(FRHICommandList &RHICmdList, + FSceneView &InView) +{ + bool hasSample = (PreparedSample != NULL); +#if PLATFORM_ANDROID + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "DrawToCOmmandList_Init:{0} HasSample:{1}", + Initialized, hasSample); + + if (!Initialized) + { + return; + } + if (PreparedSample != NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "DrawToCOmmandList:{0}", + RHICmdList.IsOutsideRenderPass()); + AndroidVulkanTextureSample *VulkanSample = + static_cast(PreparedSample.Get()); + const FTextureRHIRef &ColourTex = InView.Family->RenderTarget->GetRenderTargetTexture(); + VulkanSample->RenderToMesh(ColourTex, RHICmdList, (void *)(MeshActor.Get())); + } +#endif +} + +void UDirectVideoMeshRendererComponent::GetShaderInfo(const FSceneView *InView, float *m44, + float *vp44, float *pre_view_translation) +{ + FTransform Transform = MeshActor->ActorToWorld(); + FMatrix44f LocalToRelativeWorld = FMatrix44f(Transform.ToMatrixWithScale()); + // DumpMatrix("Model", LocalToRelativeWorld); + + auto TranslatedWorldToClip = + FMatrix44f(InView->ViewMatrices.GetTranslatedViewProjectionMatrix()); + // DumpMatrix("VP", TranslatedWorldToClip); + auto MVPMatrix = LocalToRelativeWorld * TranslatedWorldToClip; + // DumpMatrix("MVP", MVPMatrix); + + auto Translation = InView->ViewMatrices.GetPreViewTranslation(); + FVector4f Translation4 = FVector4f(Translation.X, Translation.Y, Translation.Z, 0); + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Pre view translation 2:{0},{1},{2},{3}", + Translation4.X, Translation4.Y, Translation4.Z, Translation4.W); + memcpy(vp44, TranslatedWorldToClip.M, 16 * sizeof(float)); + // auto TransposedVP=TranslatedWorldToClip.GetTransposed(); + // memcpy(vp44,TransposedVP.M,16*sizeof(float)); + // auto TransposedM = LocalToRelativeWorld.GetTransposed(); + // memcpy(m44,TransposedM.M,16*sizeof(float)); + memcpy(m44, LocalToRelativeWorld.M, 16 * sizeof(float)); + pre_view_translation[0] = Translation4.X; + pre_view_translation[1] = Translation4.Y; + pre_view_translation[2] = Translation4.Z; + pre_view_translation[3] = Translation4.W; +} + +void UDirectVideoMeshRendererComponent::DoWorkOutsideRenderPass(FRHICommandList &RHICmdList, + FSceneViewFamily &InViewFamily) +{ + + // render both views if we are stereo multiview (with single pass rendering) +#if PLATFORM_ANDROID + if (!Initialized) + { + return; + } + if (CurrentSample != NULL) + { + ShaderViewMatrices ViewMatrices; + ShaderModelMatrix ModelMatrix; + PreparedSample = CurrentSample; + AndroidVulkanTextureSample *VulkanSample = + static_cast(PreparedSample.Get()); + + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Work outside render pass:{0}", + RHICmdList.IsOutsideRenderPass()); + for (auto &InView : InViewFamily.Views) + { + + if (IStereoRendering::IsASecondaryView(*InView)) + { + GetShaderInfo(InView, ModelMatrix.m44, ViewMatrices.vp44_2, + ViewMatrices.pre_view_translation_2); + } + else + { + GetShaderInfo(InView, ModelMatrix.m44, ViewMatrices.vp44, + ViewMatrices.pre_view_translation); + } + } + const FTextureRHIRef &ColourTex = InViewFamily.RenderTarget->GetRenderTargetTexture(); + VulkanSample->UpdateViewMatrices(ColourTex, RHICmdList, ViewMatrices, + (void *)(MeshActor.Get())); + VulkanSample->UpdateMesh(ColourTex, RHICmdList, Positions, Indices, ModelMatrix, + (void *)(MeshActor.Get())); + VulkanSample->InitFrameForMeshRendering(ColourTex, RHICmdList, (void *)(MeshActor.Get())); + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Emptying prepared sample"); + PreparedSample = NULL; + } +#endif +} + +bool UDirectVideoMeshRendererComponent::Enqueue( + const TSharedRef &Sample) +{ + if (!Initialized) + { + return false; + } + static FGuid OurGUID(0x9bf2d7c6, 0xb2b84d26, 0xb6ae5a3a, 0xc9883569); + auto PFacade = Facade.Pin(); + if (PFacade->GetPlayer()->GetPlayerPluginGUID() == OurGUID) + { + CurrentSample = Sample; + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Mesh component has sample"); + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "Mesh component has wrong player {0}", + PFacade.Get()->GetGuid()); + } + return true; +} + +void UDirectVideoMeshRendererComponent::Serialize(FArchive &Ar) +{ + /* if(!Ar.IsSaving()){ + char bob[119]; + Ar.Serialize(bob,119); + return; + }*/ +#if WITH_EDITOR + if (Ar.IsSaving()) + { + if (!HasMesh) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "Needs mesh object"); + + GetMeshObject(); + } + if (!HasMesh) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, + "Couldn't get mesh for DirectVideoMeshRenderComponent"); + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, "Saving mesh details"); + } + } +#endif + UActorComponent::Serialize(Ar); + + if (Ar.IsLoading()) + { + if (HasMesh) + { + int NumVertices = PositionsAsFloats.Num() / 5; + Positions.Init({}, NumVertices); + for (int c = 0; c < NumVertices; c++) + { + Positions[c].x = PositionsAsFloats[c * 5]; + Positions[c].y = PositionsAsFloats[c * 5 + 1]; + Positions[c].z = PositionsAsFloats[c * 5 + 2]; + Positions[c].u = PositionsAsFloats[c * 5 + 3]; + Positions[c].v = PositionsAsFloats[c * 5 + 4]; + } + UE_LOGFMT(LogDirectVideoMeshRenderer, VeryVerbose, + "DirectVideoMeshRenderComponent - Vertices {0} Indices {1}", Indices.Num(), + Positions.Num()); + } + else + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, + "No saved mesh for DirectVideoMeshRenderComponent"); + } + } +} + +bool UDirectVideoMeshRendererComponent::ConstructMeshFromRenderData( + const FStaticMeshVertexBuffers &VertexBuffers, const FRawStaticIndexBuffer &IndexBuffer) +{ + const FPositionVertexBuffer &Pos = + VertexBuffers.PositionVertexBuffer; // contains vertex positions + const FStaticMeshVertexBuffer &TangentsAndTextureCoords = + VertexBuffers + .StaticMeshVertexBuffer; // contains tangents, texture coords and lightmap coords + const FColorVertexBuffer &Color = VertexBuffers.ColorVertexBuffer; // vertex colours + if (IndexBuffer.GetIndexDataSize() == 0) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Warning, "No indices for mesh"); + return false; + } + + // make 1 buffer with: + // position (float * 3, packed as 4 byte) + // texture coordinates (float*2), packed as 4 byte + int NumVertices = Pos.GetNumVertices(); + Positions.Init({}, NumVertices); + int NumIndices = IndexBuffer.GetNumIndices(); + Indices.Init({}, NumIndices); + + for (int c = 0; c < NumVertices; c++) + { + const FVector3f &VPos = Pos.VertexPosition(c); + Positions[c].x = VPos.X; + Positions[c].y = VPos.Y; + Positions[c].z = VPos.Z; + FVector2f TexPos = TangentsAndTextureCoords.GetVertexUV(c, 0); + Positions[c].u = TexPos.X; + Positions[c].v = TexPos.Y; + } + + // and 1 index buffer (int32) + IndexBuffer.GetCopy(Indices); + PositionsAsFloats.Init({}, NumVertices * 5); + for (int c = 0; c < NumVertices; c++) + { + PositionsAsFloats[c * 5] = Positions[c].x; + PositionsAsFloats[c * 5 + 1] = Positions[c].y; + PositionsAsFloats[c * 5 + 2] = Positions[c].z; + PositionsAsFloats[c * 5 + 3] = Positions[c].u; + PositionsAsFloats[c * 5 + 4] = Positions[c].v; + } + return true; +} diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/VulkanVideoMeshComponentModule.cpp b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/VulkanVideoMeshComponentModule.cpp new file mode 100644 index 0000000..03f6d10 --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Private/VulkanVideoMeshComponentModule.cpp @@ -0,0 +1,26 @@ +#include "Modules/ModuleManager.h" + +#define LOCTEXT_NAMESPACE "FVulkanVideoMeshComponentModule" + +class FVulkanVideoMeshComponentModule : public IModuleInterface +{ + + void StartupModule() + { + // This code will execute after your module is loaded into memory; the exact timing is + // specified in the .uplugin file per-module + + // Get the base directory of this plugin + // FString BaseDir = IPluginManager::Get().FindPlugin("AndroidVulkanVideo")->GetBaseDir(); + // + } + + void ShutdownModule() + { + // This function may be called during shutdown to clean up your module. For modules that + // support dynamic reloading, we call this function before unloading the module. + } +}; +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FVulkanVideoMeshComponentModule, VulkanVideoMeshComponent) diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Public/DirectVideoMeshRenderer.h b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Public/DirectVideoMeshRenderer.h new file mode 100644 index 0000000..3f5f7cb --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/Public/DirectVideoMeshRenderer.h @@ -0,0 +1,188 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Attaches to a static mesh, and allows the vertex data +// to be passed into the vulkanimpl for rendering +// ------------------------------------------------ +#pragma once + +#include "Engine/StaticMesh.h" +#include "Engine/StaticMeshActor.h" +#include "IMediaEventSink.h" +#include "MediaObjectPool.h" +#include "MediaPlayer.h" +#include "MediaPlayerFacade.h" +#include "MediaSampleSink.h" + +#include "Logging/StructuredLog.h" + +#include "IVulkanVertexData.h" + +#include "RendererInterface.h" + +#include "DirectVideoMeshRenderer.generated.h" + +class AndroidVulkanTextureSample; + +class FRendererSceneViewExt; + +class FRawStaticIndexBuffer; +struct FStaticMeshVertexBuffers; + +DECLARE_LOG_CATEGORY_EXTERN(LogDirectVideoMeshRenderer, Log, All); + +UCLASS(Blueprintable, ClassGroup = (Rendering, Common), + hidecategories = (Object, Activation, "Components|Activation"), ShowCategories = (Mobility), + editinlinenew, meta = (BlueprintSpawnableComponent)) +class VULKANVIDEOMESHCOMPONENT_API UDirectVideoMeshRendererComponent : public UActorComponent +{ + friend class FRendererSceneViewExt; + GENERATED_BODY() + public: + UDirectVideoMeshRendererComponent(); + ~UDirectVideoMeshRendererComponent(); + + void HandlePlayerMediaEvent(EMediaSampleSinkEvent Event); + + void DeInit(); + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components|DirectVideo") + UMediaPlayer *LinkedPlayer; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components|DirectVideo") + bool HideMeshWhileWeHaveVideo; + + // FMediaTextureSampleSink (called indirectly from _TextureSink) + virtual bool Enqueue(const TSharedRef &Sample); + virtual int32 Num() const + { + if (CurrentSample.IsValid()) + return 1; + return 0; + } + virtual void RequestFlush() + { + CurrentSample.Reset(); + PreparedSample.Reset(); + } + + virtual void BeginDestroy() override; + + protected: + // draw to a command list (which is already in a render pass with outputs set up) + void DrawToCommandList(FRHICommandList &RHICmdList, FSceneView &InView); + // load mesh, update matrices, create vulkan images (must be outside render pass) + void DoWorkOutsideRenderPass(FRHICommandList &RHICmdList, FSceneViewFamily &InViewFamily); + + void UpdateVisibility(); + + class _TextureSink : public FMediaTextureSampleSink + { + public: + _TextureSink(UDirectVideoMeshRendererComponent *InOwner) + { + Owner = InOwner; + FlushCount = 0; + EventDelegate = + OnMediaSampleSinkEvent().AddRaw(this, &_TextureSink::ReceiveEventHandler); + } + + virtual ~_TextureSink() + { + OnMediaSampleSinkEvent().Remove(EventDelegate); + } + virtual bool Enqueue( + const TSharedRef &Sample) override + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Enqueue"); + auto POwner = Owner.Get(); + if (POwner != NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Enqueue2"); + return POwner->Enqueue(Sample); + } + return false; + } + virtual int32 Num() const override + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Num"); + auto POwner = Owner.Get(); + if (POwner != NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Num2"); + return POwner->Num(); + } + return 0; + } + virtual void RequestFlush() override + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Flush"); + + FlushCount += 1; + auto POwner = Owner.Get(); + if (POwner != NULL) + { + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "Flush2"); + POwner->RequestFlush(); + } + } + + void ReceiveEventHandler(EMediaSampleSinkEvent Event, const FMediaSampleSinkEventData &Data) + { + int iEvent = (int)Event; + UE_LOGFMT(LogDirectVideoMeshRenderer, Verbose, "On event:{1}", iEvent); + auto POwner = Owner.Get(); + if (POwner != NULL) + { + POwner->HandlePlayerMediaEvent(Event); + } + } + + TWeakObjectPtr Owner; + int FlushCount; + + FDelegateHandle EventDelegate; + }; + + void Initialize(); + + void GetMeshObject(); + bool ConstructMeshFromRenderData(const FStaticMeshVertexBuffers &VertexBuffers, + const FRawStaticIndexBuffer &IndexBuffer); + void GetShaderInfo(const FSceneView *InView, float *m44, float *vp44, + float *pre_view_translation); + virtual void TickComponent(float DeltaTime, ELevelTick TickType, + FActorComponentTickFunction *ThisTickFunction) override; + + virtual void Serialize(FArchive &Ar) override; + + UPROPERTY() + bool HasMesh; + // raw mesh data as passed to RenderToMesh + // we save this in UObject::Serialize so that + // we don't need to load it from the mesh at + // runtime + UPROPERTY() + TArray PositionsAsFloats; // x,y,z,u,v (floats) + + // vertexData is not a UStruct because we pass it through to + // native android code + TArray Positions; // x,y,z,u,v (floats) + + UPROPERTY() + TArray Indices; // index buffer for mesh (uint32) + + TSharedPtr<_TextureSink> TextureSink; + + TSharedPtr CurrentSample; + TSharedPtr PreparedSample; + + TWeakPtr Facade; + + TObjectPtr MeshActor; + + TSharedPtr ExtensionHolder; + + bool Initialized; +}; diff --git a/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/VulkanVideoMeshComponent.Build.cs b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/VulkanVideoMeshComponent.Build.cs new file mode 100644 index 0000000..a07151e --- /dev/null +++ b/Plugins/AndroidVulkanVideo_5.3/Source/VulkanVideoMeshComponent/VulkanVideoMeshComponent.Build.cs @@ -0,0 +1,73 @@ +// ------------------------------------------------ +// Copyright Joe Marshall 2024- All Rights Reserved +// ------------------------------------------------ +// +// Build AndroidVulkanVideo factory module (to make +// it possible to select this as a video source in +// editor.) +// ------------------------------------------------ + +using UnrealBuildTool; +using System.IO; +using System; + +public class VulkanVideoMeshComponent : ModuleRules +{ + public VulkanVideoMeshComponent(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + CppStandard = CppStandardVersion.Cpp17; + + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Projects", + "CoreUObject", "Engine","RHI","VulkanRHI","MediaUtils" + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "Core","CoreUObject", "Engine","RHI","RenderCore","VulkanRHI","MediaUtils","Media","MediaAssets" + // ... add private dependencies that you statically link with here ... + } + ); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "AndroidVulkanVideo", + }); + + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + } + ); + + if (Target.Platform == UnrealTargetPlatform.Android) + { + DynamicallyLoadedModuleNames.Add("AndroidVulkanVideo"); + } + } +} diff --git a/Plugins/MqttClient/DTMqtt.uplugin b/Plugins/MqttClient/DTMqtt.uplugin new file mode 100644 index 0000000..5b1acb4 --- /dev/null +++ b/Plugins/MqttClient/DTMqtt.uplugin @@ -0,0 +1,30 @@ +{ + "FileVersion": 3, + "Version": 0, + "VersionName": "1.2", + "FriendlyName": "DTMqtt", + "Description": "DT Mqtt Client / UE5.3", + "Category": "DT", + "CreatedBy": "Dexter Wan", + "CreatedByURL": "45141961@qq.com", + "DocsURL": "https://www.unrealengine.com/marketplace/slug/34cbcaef7a664451a886dba37b4769bc", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/34cbcaef7a664451a886dba37b4769bc", + "SupportURL": "https://dt.cq.cn/", + "EngineVersion": "5.3.0", + "CanContainContent": true, + "Installed": true, + "Modules": [ + { + "Name": "DTMqtt", + "Type": "Runtime", + "LoadingPhase": "PostConfigInit", + "PlatformAllowList": [ + "Win64", + "Linux", + "Android", + "Mac", + "IOS" + ] + } + ] +} \ No newline at end of file diff --git a/Plugins/MqttClient/Resources/Icon128.png b/Plugins/MqttClient/Resources/Icon128.png new file mode 100644 index 0000000..93e4e1e --- /dev/null +++ b/Plugins/MqttClient/Resources/Icon128.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40f5b6ca10442687f1fc5f7d5b0696523115877a090ef187b0ef201751783a32 +size 3680 diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt.Build.cs b/Plugins/MqttClient/Source/DTMqtt/DTMqtt.Build.cs new file mode 100644 index 0000000..61b1cb2 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt.Build.cs @@ -0,0 +1,47 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +using UnrealBuildTool; + +public class DTMqtt : ModuleRules +{ + public DTMqtt(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core" + } + ); + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore" + } + ); + + PrivateIncludePaths.AddRange( + new string[] + { + ModuleDirectory + "/MqttC/", + ModuleDirectory + "/MqttCPP/", + } + ); + bEnableUndefinedIdentifierWarnings = false; + bEnableExceptions = true; + PrivateDefinitions.Add("_CRT_SECURE_NO_WARNINGS=1"); + PrivateDefinitions.Add("WIN32_LEAN_AND_MEAN"); + PrivateDefinitions.Add("PAHO_MQTT_STATIC"); + PrivateDefinitions.Add("NOMINMAX"); + + if (Target.Platform == UnrealTargetPlatform.Mac + || Target.Platform == UnrealTargetPlatform.IOS) + { + PrivateDefinitions.Add("OSX"); + } + } +} diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.cpp b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.cpp new file mode 100644 index 0000000..09f2efc --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.cpp @@ -0,0 +1,18 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "DTMqtt.h" + +#define LOCTEXT_NAMESPACE "FDTMqttModule" + +void FDTMqttModule::StartupModule() +{ +} + +void FDTMqttModule::ShutdownModule() +{ +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FDTMqttModule, DTMqtt) \ No newline at end of file diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.h b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.h new file mode 100644 index 0000000..24eb070 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqtt.h @@ -0,0 +1,16 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class FDTMqttModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.cpp b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.cpp new file mode 100644 index 0000000..0c28950 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.cpp @@ -0,0 +1,206 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "DTMqttClient.h" +#include "Async/TaskGraphInterfaces.h" +#include "Async/Async.h" + +#define MQTT_TRY_BEGIN \ +if ( !MqttClient.IsValid() ) \ +{ \ + Success = false; \ + ErrorMsg = TEXT("No Connect"); \ + return; \ +} \ +try \ +{ + +#define MQTT_TRY_END \ + Success = true; \ + ErrorMsg = TEXT("Ok"); \ +} \ +catch (mqtt::exception e) \ +{ \ + Success = false; \ + ErrorMsg = UTF8_TO_TCHAR(e.what()); \ + return; \ +} \ +catch (...) \ +{ \ + Success = false; \ + ErrorMsg = TEXT("Unknown Error"); \ + return; \ +} + +void UDTMqttClient::connected(const mqtt::string& cause) +{ + const FString Cause = UTF8_TO_TCHAR(cause.c_str()); + AsyncTask(ENamedThreads::GameThread, [this, Cause]() + { + OnConnected.ExecuteIfBound(Cause); + }); +} + +void UDTMqttClient::connection_lost(const mqtt::string& cause) +{ + const FString Cause = UTF8_TO_TCHAR(cause.c_str()); + AsyncTask(ENamedThreads::GameThread, [this, Cause]() + { + OnConnectionLost.ExecuteIfBound(Cause); + }); +} + +void UDTMqttClient::message_arrived(mqtt::const_message_ptr msg) +{ + if ( msg ) + { + const FString Topic = UTF8_TO_TCHAR(msg->get_topic().c_str()); + const FString Message = UTF8_TO_TCHAR(msg->get_payload_str().c_str()); + AsyncTask(ENamedThreads::GameThread, [this, Topic, Message]() + { + OnMessageArrived.ExecuteIfBound(Topic, Message); + }); + } +} + +void UDTMqttClient::FinishDestroy() +{ + UObject::FinishDestroy(); + + try + { + // 有效数据,并且有链接, 关闭链接 + if ( MqttClient.IsValid()) + { + if (MqttClient->is_connected()) + { + MqttClient->stop_consuming(); + MqttClient->disconnect()->wait(); + } + MqttClient.Reset(); + } + } + catch (...) + { + } +} + +void UDTMqttClient::CreateMqttClient(UDTMqttClient *& MqttClient) +{ + MqttClient = NewObject(); +} + + +void UDTMqttClient::Connect( const FString& ServerUrl, const FString& ClientId, const FString& UserName, const FString& Password, int KeepAliveInterval, bool & Success, FString & ErrorMsg ) +{ + // 有效数据,并且有链接, 关闭链接 + if ( MqttClient.IsValid()) + { + MQTT_TRY_BEGIN + + if (MqttClient->is_connected()) + { + MqttClient->stop_consuming(); + MqttClient->disconnect()->wait(); + } + MqttClient.Reset(); + + MQTT_TRY_END + } + + // 格式化数据 + const std::string szServerUrl = TCHAR_TO_UTF8(*ServerUrl); + const std::string szClientId = TCHAR_TO_UTF8(*ClientId); + const std::string szUserName = TCHAR_TO_UTF8(*UserName); + const std::string szPassword = TCHAR_TO_UTF8(*Password); + + try + { + // 重新创建链接 + MqttClient = MakeShared(szServerUrl, szClientId); + } + catch (mqtt::exception e) + { + Success = false; + ErrorMsg = UTF8_TO_TCHAR(e.what()); + return; + } + catch (...) + { + Success = false; + ErrorMsg = TEXT("Unknown Error"); + return; + } + + MQTT_TRY_BEGIN + + // 设置链接属性 + ConnectOptions.set_keep_alive_interval(KeepAliveInterval); + ConnectOptions.set_clean_session(true); + ConnectOptions.set_user_name(szUserName); + ConnectOptions.set_password(szPassword); + MqttClient->set_callback(*this); + + // 链接服务器 + MqttClient->connect(ConnectOptions)->wait(); + MqttClient->start_consuming(); + + MQTT_TRY_END +} + +void UDTMqttClient::Subscribe(const FString& TopicFilter, EDT_QualityOfService QoS, bool & Success, FString & ErrorMsg) +{ + MQTT_TRY_BEGIN + + const std::string szTopicFilter = TCHAR_TO_UTF8(*TopicFilter); + MqttClient->subscribe(szTopicFilter, (int)QoS); + + MQTT_TRY_END +} + +void UDTMqttClient::UnSubscribe(const FString& TopicFilter, bool & Success, FString & ErrorMsg) +{ + MQTT_TRY_BEGIN + + const std::string szTopicFilter = TCHAR_TO_UTF8(*TopicFilter); + MqttClient->unsubscribe(szTopicFilter); + + MQTT_TRY_END +} + +void UDTMqttClient::Publish(const FString& Topic, const FString& Message, EDT_QualityOfService QoS, bool Retained, bool & Success, FString & ErrorMsg) +{ + MQTT_TRY_BEGIN + + const std::string szTopic = TCHAR_TO_UTF8(*Topic); + const std::string szMessage = TCHAR_TO_UTF8(*Message); + MqttClient->publish(szTopic, szMessage.c_str(), szMessage.length(), (int)QoS, Retained ); + + MQTT_TRY_END +} + +void UDTMqttClient::Disconnect(bool & Success, FString & ErrorMsg) +{ + MQTT_TRY_BEGIN + + MqttClient->stop_consuming(); + MqttClient->disconnect()->wait(); + MqttClient.Reset(); + + MQTT_TRY_END +} + +void UDTMqttClient::BindConnectedDelegate(const FConnected Connected) +{ + OnConnected = Connected; +} + +void UDTMqttClient::BindConnectionLostDelegate(const FConnectionLost ConnectionLost) +{ + OnConnectionLost = ConnectionLost; +} + +void UDTMqttClient::BindMessageDelegate(const FMessageArrived MessageArrived) +{ + OnMessageArrived = MessageArrived; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.h b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.h new file mode 100644 index 0000000..d8bba3a --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttClient.h @@ -0,0 +1,124 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#pragma once + +#include "CoreMinimal.h" +#include "DTMqttHead.h" +#include "UObject/Object.h" +#include "DTMqttClient.generated.h" + +UENUM() +enum class EDT_QualityOfService : uint8 +{ + QoS0 = 0 UMETA(DisplayName = "QoS0", ToolTip = "At most once"), + QoS1 = 1 UMETA(DisplayName = "QoS1", ToolTip = "At least once"), + QoS2 = 2 UMETA(DisplayName = "QoS2", ToolTip = "Exactly once"), +}; + + +/** + * Lightweight client for talking to an MQTT server using non-blocking + */ +UCLASS(BlueprintType, meta=(DisplayName="DT Mqtt Client")) +class DTMQTT_API UDTMqttClient : public UObject, public mqtt::callback +{ + GENERATED_BODY() + +public: + DECLARE_DYNAMIC_DELEGATE_OneParam(FConnected, const FString&, Cause); + DECLARE_DYNAMIC_DELEGATE_OneParam(FConnectionLost, const FString&, Cause); + DECLARE_DYNAMIC_DELEGATE_TwoParams(FMessageArrived, const FString&, Topic, const FString&, Message); + +public: + TSharedPtr MqttClient; + mqtt::connect_options ConnectOptions; + +public: + FConnected OnConnected; + FConnectionLost OnConnectionLost; + FMessageArrived OnMessageArrived; + + // mqtt 回调接口 +public: + virtual void connected(const mqtt::string& cause) override; + virtual void connection_lost(const mqtt::string& cause) override; + virtual void message_arrived(mqtt::const_message_ptr msg) override; + + // object 接口回调 +public: + virtual void FinishDestroy() override; + +public: + /** + * Create an MQTT client object + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + static void CreateMqttClient(UDTMqttClient *& MqttClient); + + /** + * Connects to an MQTT server using the provided connect options. + * Param Url : the address of the server to connect to, specified + * as a URI. + * Param ClientId : a client identifier that is unique on the server + * being connected to + * Param UserName : The user name for connecting to the MQTT broker. + * Param Password : The password for connecting to the MQTT broker. + */ + UFUNCTION(BlueprintCallable, meta=(KeepAliveInterval=60), Category="DT Mqtt") + void Connect( const FString & ServerUrl, const FString & ClientId, const FString & UserName, const FString & Password, int KeepAliveInterval, bool & Success, FString & ErrorMsg ); + + /** + * Subscribe to a topic, which may include wildcards. + * Param TopicFilter : the topic to subscribe to, which can include + * wildcards. + * Param QoS : The quality of service for the subscription + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void Subscribe( const FString & TopicFilter, EDT_QualityOfService QoS, bool & Success, FString & ErrorMsg ); + + /** + * Requests the server unsubscribe the client from a topic. + * Param TopicFilter : the topic to unsubscribe from. It must match a + * topicFilter specified on an earlier subscribe. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void UnSubscribe( const FString & TopicFilter, bool & Success, FString & ErrorMsg ); + + /** + * Publishes a message to a topic on the server + * Param Topic : The topic to deliver the message to + * Param Message : sent message + * Param QoS : the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * Param Retained : whether or not this message should be retained by the + * server. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void Publish( const FString & Topic, const FString & Message, EDT_QualityOfService QoS, bool Retained, bool & Success, FString & ErrorMsg ); + + /** + * Disconnects from the server. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void Disconnect(bool & Success, FString & ErrorMsg); + + /** + * This method is called when the client is connected. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void BindConnectedDelegate(const FConnected Connected); + + /** + * This method is called when the connection to the server is lost. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void BindConnectionLostDelegate(const FConnectionLost ConnectionLost); + + /** + * This method is called when a message arrives from the server. + */ + UFUNCTION(BlueprintCallable, Category="DT Mqtt") + void BindMessageDelegate(const FMessageArrived MessageArrived); +}; + diff --git a/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttHead.h b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttHead.h new file mode 100644 index 0000000..c217895 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/DTMqtt/DTMqttHead.h @@ -0,0 +1,16 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#pragma once + +#if PLATFORM_WINDOWS +#include "Windows/AllowWindowsPlatformAtomics.h" +#include "Windows/AllowWindowsPlatformTypes.h" +#include "Windows/PreWindowsApi.h" +#include "async_client.h" +#include "Windows/PostWindowsApi.h" +#include "Windows/HideWindowsPlatformTypes.h" +#include "Windows/HideWindowsPlatformAtomics.h" +#else +#include "async_client.h" +#endif \ No newline at end of file diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.c new file mode 100644 index 0000000..6d3911b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.c @@ -0,0 +1,339 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Base64.h" + +#if defined(_WIN32) || defined(_WIN64) +#pragma comment(lib, "crypt32.lib") +#include +#include +b64_size_t Base64_decode( b64_data_t *out, b64_size_t out_len, const char *in, b64_size_t in_len ) +{ + b64_size_t ret = 0u; + DWORD dw_out_len = (DWORD)out_len; + if ( CryptStringToBinaryA( in, in_len, CRYPT_STRING_BASE64, out, &dw_out_len, NULL, NULL ) ) + ret = (b64_size_t)dw_out_len; + return ret; +} + +b64_size_t Base64_encode( char *out, b64_size_t out_len, const b64_data_t *in, b64_size_t in_len ) +{ + b64_size_t ret = 0u; + DWORD dw_out_len = (DWORD)out_len; + if ( CryptBinaryToStringA( in, in_len, CRYPT_STRING_BASE64 | CRYPT_STRING_NOCRLF, out, &dw_out_len ) ) + ret = (b64_size_t)dw_out_len; + return ret; +} +#else /* if defined(_WIN32) || defined(_WIN64) */ + +#if defined(OPENSSL) +#include +#include +static b64_size_t Base64_encodeDecode( + char *out, b64_size_t out_len, const char *in, b64_size_t in_len, int encode ) +{ + b64_size_t ret = 0u; + if ( in_len > 0u ) + { + int rv; + BIO *bio, *b64, *b_in, *b_out; + + b64 = BIO_new(BIO_f_base64()); + bio = BIO_new(BIO_s_mem()); + b64 = BIO_push(b64, bio); + BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL); /* ignore new-lines */ + + if ( encode ) + { + b_in = bio; + b_out = b64; + } + else + { + b_in = b64; + b_out = bio; + } + + rv = BIO_write(b_out, in, (int)in_len); + BIO_flush(b_out); /* indicate end of encoding */ + + if ( rv > 0 ) + { + rv = BIO_read(b_in, out, (int)out_len); + if ( rv > 0 ) + { + ret = (b64_size_t)rv; + if ( out_len > ret ) + out[ret] = '\0'; + } + } + + BIO_free_all(b64); /* free all used memory */ + } + return ret; +} + +b64_size_t Base64_decode( b64_data_t *out, b64_size_t out_len, const char *in, b64_size_t in_len ) +{ + return Base64_encodeDecode( (char*)out, out_len, in, in_len, 0 ); +} + +b64_size_t Base64_encode( char *out, b64_size_t out_len, const b64_data_t *in, b64_size_t in_len ) +{ + return Base64_encodeDecode( out, out_len, (const char*)in, in_len, 1 ); +} + +#else /* if defined(OPENSSL) */ +b64_size_t Base64_decode( b64_data_t *out, b64_size_t out_len, const char *in, b64_size_t in_len ) +{ +#define NV 64 + static const unsigned char BASE64_DECODE_TABLE[] = + { + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 0-15 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 16-31 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, 62, NV, NV, NV, 63, /* 32-47 */ + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, NV, NV, NV, NV, NV, NV, /* 48-63 */ + NV, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, /* 64-79 */ + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, NV, NV, NV, NV, NV, /* 80-95 */ + NV, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 96-111 */ + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NV, NV, NV, NV, NV, /* 112-127 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 128-143 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 144-159 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 160-175 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 176-191 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 192-207 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 208-223 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, /* 224-239 */ + NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV, NV /* 240-255 */ + }; + + b64_size_t ret = 0u; + b64_size_t out_count = 0u; + + /* in valid base64, length must be multiple of 4's: 0, 4, 8, 12, etc */ + while ( in_len > 3u && out_count < out_len ) + { + int i; + unsigned char c[4]; + for ( i = 0; i < 4; ++i, ++in ) + c[i] = BASE64_DECODE_TABLE[(int)(*in)]; + in_len -= 4u; + + /* first byte */ + *out = c[0] << 2; + *out |= (c[1] & ~0xF) >> 4; + ++out; + ++out_count; + + if ( out_count < out_len ) + { + /* second byte */ + *out = (c[1] & 0xF) << 4; + if ( c[2] < NV ) + { + *out |= (c[2] & ~0x3) >> 2; + ++out; + ++out_count; + + if ( out_count < out_len ) + { + /* third byte */ + *out = (c[2] & 0x3) << 6; + if ( c[3] < NV ) + { + *out |= c[3]; + ++out; + ++out_count; + } + else + in_len = 0u; + } + } + else + in_len = 0u; + } + } + + if ( out_count <= out_len ) + { + ret = out_count; + if ( out_count < out_len ) + *out = '\0'; + } + return ret; +} + +b64_size_t Base64_encode( char *out, b64_size_t out_len, const b64_data_t *in, b64_size_t in_len ) +{ + static const char BASE64_ENCODE_TABLE[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/="; + b64_size_t ret = 0u; + b64_size_t out_count = 0u; + + while ( in_len > 0u && out_count < out_len ) + { + int i; + unsigned char c[] = { 0, 0, 64, 64 }; /* index of '=' char */ + + /* first character */ + i = *in; + c[0] = (i & ~0x3) >> 2; + + /* second character */ + c[1] = (i & 0x3) << 4; + --in_len; + if ( in_len > 0u ) + { + ++in; + i = *in; + c[1] |= (i & ~0xF) >> 4; + + /* third character */ + c[2] = (i & 0xF) << 2; + --in_len; + if ( in_len > 0u ) + { + ++in; + i = *in; + c[2] |= (i & ~0x3F) >> 6; + + /* fourth character */ + c[3] = (i & 0x3F); + --in_len; + ++in; + } + } + + /* encode the characters */ + out_count += 4u; + for ( i = 0; i < 4 && out_count <= out_len; ++i, ++out ) + *out = BASE64_ENCODE_TABLE[c[i]]; + } + + if ( out_count <= out_len ) + { + if ( out_count < out_len ) + *out = '\0'; + ret = out_count; + } + return ret; +} +#endif /* else if defined(OPENSSL) */ +#endif /* if else defined(_WIN32) || defined(_WIN64) */ + +b64_size_t Base64_decodeLength( const char *in, b64_size_t in_len ) +{ + b64_size_t pad = 0u; + + if ( in && in_len > 1u ) + pad += ( in[in_len - 2u] == '=' ? 1u : 0u ); + if ( in && in_len > 0u ) + pad += ( in[in_len - 1u] == '=' ? 1u : 0u ); + return (in_len / 4u * 3u) - pad; +} + +b64_size_t Base64_encodeLength( const b64_data_t *in, b64_size_t in_len ) +{ + return ((4u * in_len / 3u) + 3u) & ~0x3; +} + +#if defined(BASE64_TEST) +#include +#include + +#define TEST_EXPECT(i,x) if (!(x)) {fprintf( stderr, "failed test: %s (for i == %d)\n", #x, i ); ++fails;} + +int main(int argc, char *argv[]) +{ + struct _td + { + const char *in; + const char *out; + }; + + int i; + unsigned int fails = 0u; + struct _td test_data[] = { + { "", "" }, + { "p", "cA==" }, + { "pa", "cGE=" }, + { "pah", "cGFo" }, + { "paho", "cGFobw==" }, + { "paho ", "cGFobyA=" }, + { "paho w", "cGFobyB3" }, + { "paho wi", "cGFobyB3aQ==" }, + { "paho wit", "cGFobyB3aXQ=" }, + { "paho with", "cGFobyB3aXRo" }, + { "paho with ", "cGFobyB3aXRoIA==" }, + { "paho with w", "cGFobyB3aXRoIHc=" }, + { "paho with we", "cGFobyB3aXRoIHdl" }, + { "paho with web", "cGFobyB3aXRoIHdlYg==" }, + { "paho with webs", "cGFobyB3aXRoIHdlYnM=" }, + { "paho with webso", "cGFobyB3aXRoIHdlYnNv" }, + { "paho with websoc", "cGFobyB3aXRoIHdlYnNvYw==" }, + { "paho with websock", "cGFobyB3aXRoIHdlYnNvY2s=" }, + { "paho with websocke", "cGFobyB3aXRoIHdlYnNvY2tl" }, + { "paho with websocket", "cGFobyB3aXRoIHdlYnNvY2tldA==" }, + { "paho with websockets", "cGFobyB3aXRoIHdlYnNvY2tldHM=" }, + { "paho with websockets.", "cGFobyB3aXRoIHdlYnNvY2tldHMu" }, + { "The quick brown fox jumps over the lazy dog", + "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==" }, + { "Man is distinguished, not only by his reason, but by this singular passion from\n" + "other animals, which is a lust of the mind, that by a perseverance of delight\n" + "in the continued and indefatigable generation of knowledge, exceeds the short\n" + "vehemence of any carnal pleasure.", + "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz" + "IHNpbmd1bGFyIHBhc3Npb24gZnJvbQpvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg" + "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodAppbiB0aGUgY29udGlu" + "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo" + "ZSBzaG9ydAp2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=" }, + { NULL, NULL } + }; + + /* decode tests */ + i = 0; + while ( test_data[i].in != NULL ) + { + int r; + char out[512u]; + r = Base64_decode( out, sizeof(out), test_data[i].out, strlen(test_data[i].out) ); + TEST_EXPECT( i, r == strlen(test_data[i].in) && strncmp(out, test_data[i].in, strlen(test_data[i].in)) == 0 ); + ++i; + } + + /* decode length tests */ + i = 0; + while ( test_data[i].in != NULL ) + { + TEST_EXPECT( i, Base64_decodeLength(test_data[i].out, strlen(test_data[i].out)) == strlen(test_data[i].in)); + ++i; + } + + /* encode tests */ + i = 0; + while ( test_data[i].in != NULL ) + { + int r; + char out[512u]; + r = Base64_encode( out, sizeof(out), test_data[i].in, strlen(test_data[i].in) ); + TEST_EXPECT( i, r == strlen(test_data[i].out) && strncmp(out, test_data[i].out, strlen(test_data[i].out)) == 0 ); + ++i; + } + + /* encode length tests */ + i = 0; + while ( test_data[i].in != NULL ) + { + TEST_EXPECT( i, Base64_encodeLength(test_data[i].in, strlen(test_data[i].in)) == strlen(test_data[i].out) ); + ++i; + } + + if ( fails ) + printf( "%u test failed!\n", fails ); + else + printf( "all tests passed\n" ); + return fails; +} +#endif /* if defined(BASE64_TEST) */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.h new file mode 100644 index 0000000..5c199c4 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Base64.h @@ -0,0 +1,70 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(BASE64_H) +#define BASE64_H + +/** type for size of a buffer, it saves passing around @p size_t (unsigned long long or unsigned long int) */ +typedef unsigned int b64_size_t; +/** type for raw base64 data */ +typedef unsigned char b64_data_t; + +/** + * Decodes base64 data + * + * @param[out] out decoded data + * @param[in] out_len length of output buffer + * @param[in] in base64 string to decode + * @param[in] in_len length of input buffer + * + * @return the amount of data decoded + * + * @see Base64_decodeLength + * @see Base64_encode + */ +b64_size_t Base64_decode( b64_data_t *out, b64_size_t out_len, + const char *in, b64_size_t in_len ); + +/** + * Size of buffer required to decode base64 data + * + * @param[in] in base64 string to decode + * @param[in] in_len length of input buffer + * + * @return the size of buffer the decoded string would require + * + * @see Base64_decode + * @see Base64_encodeLength + */ +b64_size_t Base64_decodeLength( const char *in, b64_size_t in_len ); + +/** + * Encodes base64 data + * + * @param[out] out encode base64 string + * @param[in] out_len length of output buffer + * @param[in] in raw data to encode + * @param[in] in_len length of input buffer + * + * @return the amount of data encoded + * + * @see Base64_decode + * @see Base64_encodeLength + */ +b64_size_t Base64_encode( char *out, b64_size_t out_len, + const b64_data_t *in, b64_size_t in_len ); + +/** + * Size of buffer required to encode base64 data + * + * @param[in] in raw data to encode + * @param[in] in_len length of input buffer + * + * @return the size of buffer the encoded string would require + * + * @see Base64_decodeLength + * @see Base64_encode + */ +b64_size_t Base64_encodeLength( const b64_data_t *in, b64_size_t in_len ); + +#endif /* BASE64_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.c new file mode 100644 index 0000000..f52ad11 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.c @@ -0,0 +1,34 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Clients.h" + +#include +#include + +/** + * List callback function for comparing clients by clientid + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int clientIDCompare(void* a, void* b) +{ + Clients* client = (Clients*)a; + /*printf("comparing clientdIDs %s with %s\n", client->clientID, (char*)b);*/ + return strcmp(client->clientID, (char*)b) == 0; +} + + +/** + * List callback function for comparing clients by socket + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int clientSocketCompare(void* a, void* b) +{ + Clients* client = (Clients*)a; + /*printf("comparing %d with %d\n", (char*)a, (char*)b); */ + return client->net.socket == *(SOCKET*)b; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.h new file mode 100644 index 0000000..223725c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Clients.h @@ -0,0 +1,156 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(CLIENTS_H) +#define CLIENTS_H + +#include +#include "MQTTTime.h" +#if defined(_WIN32) || defined(_WIN64) +#include +#endif +#if defined(OPENSSL) +#include +#endif +#include "MQTTClient.h" +#include "LinkedList.h" +#include "MQTTClientPersistence.h" +#include "Socket.h" + +/** + * Stored publication data to minimize copying + */ +typedef struct +{ + char *topic; + int topiclen; + char* payload; + int payloadlen; + int refcount; + uint8_t mask[4]; +} Publications; + +/** + * Client publication message data + */ +typedef struct +{ + int qos; + int retain; + int msgid; + int MQTTVersion; + MQTTProperties properties; + Publications *publish; + START_TIME_TYPE lastTouch; /**> used for retry and expiry */ + char nextMessageType; /**> PUBREC, PUBREL, PUBCOMP */ + int len; /**> length of the whole structure+data */ +} Messages; + +/** + * Client will message data + */ +typedef struct +{ + char *topic; + int payloadlen; + void *payload; + int retained; + int qos; +} willMessages; + +typedef struct +{ + SOCKET socket; + START_TIME_TYPE lastSent; + START_TIME_TYPE lastReceived; + START_TIME_TYPE lastPing; +#if defined(OPENSSL) + SSL* ssl; + SSL_CTX* ctx; + char *https_proxy; + char *https_proxy_auth; +#endif + char *http_proxy; + char *http_proxy_auth; + int websocket; /**< socket has been upgraded to use web sockets */ + char *websocket_key; + const MQTTClient_nameValue* httpHeaders; +} networkHandles; + + +/* connection states */ +/** no connection in progress, see connected value */ +#define NOT_IN_PROGRESS 0x0 +/** TCP connection in progress */ +#define TCP_IN_PROGRESS 0x1 +/** SSL connection in progress */ +#define SSL_IN_PROGRESS 0x2 +/** Websocket connection in progress */ +#define WEBSOCKET_IN_PROGRESS 0x3 +/** TCP completed, waiting for MQTT ACK */ +#define WAIT_FOR_CONNACK 0x4 +/** Proxy connection in progress */ +#define PROXY_CONNECT_IN_PROGRESS 0x5 +/** Disconnecting */ +#define DISCONNECTING -2 + +/** + * Data related to one client + */ +typedef struct +{ + char* clientID; /**< the string id of the client */ + const char* username; /**< MQTT v3.1 user name */ + int passwordlen; /**< MQTT password length */ + const void* password; /**< MQTT v3.1 binary password */ + unsigned int cleansession : 1; /**< MQTT V3 clean session flag */ + unsigned int cleanstart : 1; /**< MQTT V5 clean start flag */ + unsigned int connected : 1; /**< whether it is currently connected */ + unsigned int good : 1; /**< if we have an error on the socket we turn this off */ + unsigned int ping_outstanding : 1; + unsigned int ping_due : 1; /**< we couldn't send a ping so we should send one when we can */ + signed int connect_state : 4; + START_TIME_TYPE ping_due_time; /**< the time at which the ping should have been sent (ping_due) */ + networkHandles net; /**< network info for this client */ + int msgID; /**< the MQTT message id */ + int keepAliveInterval; /**< the MQTT keep alive interval */ + int retryInterval; /**< the MQTT retry interval for QoS > 0 */ + int maxInflightMessages; /**< the max number of inflight outbound messages we allow */ + willMessages* will; /**< the MQTT will message, if any */ + List* inboundMsgs; /**< inbound in flight messages */ + List* outboundMsgs; /**< outbound in flight messages */ + int connect_count; /**< the number of outbound messages on reconnect - to ensure we send them all */ + int connect_sent; /**< the current number of outbound messages on reconnect that we've sent */ + List* messageQueue; /**< inbound complete but undelivered messages */ + List* outboundQueue; /**< outbound queued messages */ + unsigned int qentry_seqno; + void* phandle; /**< the persistence handle */ + MQTTClient_persistence* persistence; /**< a persistence implementation */ + MQTTPersistence_beforeWrite* beforeWrite; /**< persistence write callback */ + MQTTPersistence_afterRead* afterRead; /**< persistence read callback */ + void* beforeWrite_context; /**< context to be used with the persistence beforeWrite callbacks */ + void* afterRead_context; /**< context to be used with the persistence afterRead callback */ + void* context; /**< calling context - used when calling disconnect_internal */ + int MQTTVersion; /**< the version of MQTT being used, 3, 4 or 5 */ + int sessionExpiry; /**< MQTT 5 session expiry */ + char* httpProxy; /**< HTTP proxy */ + char* httpsProxy; /**< HTTPS proxy */ +#if defined(OPENSSL) + MQTTClient_SSLOptions *sslopts; /**< the SSL/TLS connect options */ + SSL_SESSION* session; /**< SSL session pointer for fast handhake */ +#endif +} Clients; + +int clientIDCompare(void* a, void* b); +int clientSocketCompare(void* a, void* b); + +/** + * Configuration data related to all clients + */ +typedef struct +{ + const char* version; + List* clients; +} ClientStates; + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.c new file mode 100644 index 0000000..ef68b4e --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.c @@ -0,0 +1,505 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTTree.h" +#include "Log.h" +#include "StackTrace.h" +#include "Thread.h" + +#if defined(HEAP_UNIT_TESTS) +char* Broker_recordFFDC(char* symptoms); +#endif /* HEAP_UNIT_TESTS */ + +#include +#include +#include +#include +#include + +#include "Heap.h" + +#if !defined(NO_HEAP_TRACKING) + +#undef malloc +#undef realloc +#undef free + +#if defined(_WIN32) || defined(_WIN64) +mutex_type heap_mutex; +#else +static pthread_mutex_t heap_mutex_store = PTHREAD_MUTEX_INITIALIZER; +static mutex_type heap_mutex = &heap_mutex_store; +#endif + +static heap_info state = {0, 0}; /**< global heap state information */ + +typedef uint64_t eyecatcherType; +static eyecatcherType eyecatcher = (eyecatcherType)0x8888888888888888; +#define PRIeyecatcher PRIx64 /**< print eyecatcher in HEX notation */ + +/*#define HEAP_STACK 1 */ + +/** + * Each item on the heap is recorded with this structure. + */ +typedef struct +{ + char* file; /**< the name of the source file where the storage was allocated */ + int line; /**< the line no in the source file where it was allocated */ + void* ptr; /**< pointer to the allocated storage */ + size_t size; /**< size of the allocated storage */ +#if defined(HEAP_STACK) + char* stack; +#endif +} storageElement; + +static MQTT_Tree heap; /**< MQTT_Tree that holds the allocation records */ +static const char *errmsg = "Memory allocation error"; + + +static size_t Heap_roundup(size_t size); +static int ptrCompare(void* a, void* b, int value); +/*static void Heap_check(char* string, void* ptr);*/ +static void checkEyecatchers(char* file, int line, void* p, size_t size); +static int Internal_heap_unlink(char* file, int line, void* p); +static void HeapScan(enum LOG_LEVELS log_level); + + +/** + * Round allocation size up to a multiple of the size of an int. Apart from possibly reducing fragmentation, + * on the old v3 gcc compilers I was hitting some weird behaviour, which might have been errors in + * sizeof() used on structures and related to packing. In any case, this fixes that too. + * @param size the size actually needed + * @return the rounded up size + */ +static size_t Heap_roundup(size_t size) +{ + static int multsize = 4*sizeof(int); + + if (size % multsize != 0) + size += multsize - (size % multsize); + return size; +} + + +/** + * List callback function for comparing storage elements + * @param a pointer to the current content in the tree (storageElement*) + * @param b pointer to the memory to free + * @return boolean indicating whether a and b are equal + */ +static int ptrCompare(void* a, void* b, int value) +{ + a = ((storageElement*)a)->ptr; + if (value) + b = ((storageElement*)b)->ptr; + + return (a > b) ? -1 : (a == b) ? 0 : 1; +} + +/* +static void Heap_check(char* string, void* ptr) +{ + Node* curnode = NULL; + storageElement* prev, *s = NULL; + + printf("Heap_check start %p\n", ptr); + while ((curnode = MQTTTreeNextElement(&heap, curnode)) != NULL) + { + prev = s; + s = (storageElement*)(curnode->content); + + if (prev) + { + if (ptrCompare(s, prev, 1) != -1) + { + printf("%s: heap order error %d %p %p\n", string, ptrCompare(s, prev, 1), prev->ptr, s->ptr); + exit(99); + } + else + printf("%s: heap order good %d %p %p\n", string, ptrCompare(s, prev, 1), prev->ptr, s->ptr); + } + } +}*/ + + +/** + * Allocates a block of memory. A direct replacement for malloc, but keeps track of items + * allocated in a list, so that free can check that a item is being freed correctly and that + * we can check that all memory is freed at shutdown. + * @param file use the __FILE__ macro to indicate which file this item was allocated in + * @param line use the __LINE__ macro to indicate which line this item was allocated at + * @param size the size of the item to be allocated + * @return pointer to the allocated item, or NULL if there was an error + */ +void* mymalloc(char* file, int line, size_t size) +{ + storageElement* s = NULL; + size_t space = sizeof(storageElement); + size_t filenamelen = strlen(file)+1; + void* rc = NULL; + + Thread_lock_mutex(heap_mutex); + size = Heap_roundup(size); + if ((s = malloc(sizeof(storageElement))) == NULL) + { + Log(LOG_ERROR, 13, errmsg); + goto exit; + } + memset(s, 0, sizeof(storageElement)); + + s->size = size; /* size without eyecatchers */ + if ((s->file = malloc(filenamelen)) == NULL) + { + Log(LOG_ERROR, 13, errmsg); + free(s); + goto exit; + } + memset(s->file, 0, sizeof(filenamelen)); + + space += filenamelen; + strcpy(s->file, file); +#if defined(HEAP_STACK) +#define STACK_LEN 300 + if ((s->stack = malloc(STACK_LEN)) == NULL) + { + Log(LOG_ERROR, 13, errmsg); + free(s->file); + free(s); + goto exit; + } + memset(s->stack, 0, sizeof(filenamelen)); + StackTrace_get(Thread_getid(), s->stack, STACK_LEN); +#endif + s->line = line; + /* Add space for eyecatcher at each end */ + if ((s->ptr = malloc(size + 2*sizeof(eyecatcherType))) == NULL) + { + Log(LOG_ERROR, 13, errmsg); + free(s->file); + free(s); + goto exit; + } + memset(s->ptr, 0, size + 2*sizeof(eyecatcherType)); + space += size + 2*sizeof(eyecatcherType); + *(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */ + *(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */ + Log(TRACE_MAX, -1, "Allocating %d bytes in heap at file %s line %d ptr %p\n", (int)size, file, line, s->ptr); + MQTTTreeAdd(&heap, s, space); + state.current_size += size; + if (state.current_size > state.max_size) + state.max_size = state.current_size; + rc = ((eyecatcherType*)(s->ptr)) + 1; /* skip start eyecatcher */ +exit: + Thread_unlock_mutex(heap_mutex); + return rc; +} + + +static void checkEyecatchers(char* file, int line, void* p, size_t size) +{ + eyecatcherType *sp = (eyecatcherType*)p; + char *cp = (char*)p; + eyecatcherType us; + static const char *msg = "Invalid %s eyecatcher %" PRIeyecatcher " in heap item at file %s line %d"; + + if ((us = *--sp) != eyecatcher) + Log(LOG_ERROR, 13, msg, "start", us, file, line); + + cp += size; + if ((us = *(eyecatcherType*)cp) != eyecatcher) + Log(LOG_ERROR, 13, msg, "end", us, file, line); +} + + +/** + * Remove an item from the recorded heap without actually freeing it. + * Use sparingly! + * @param file use the __FILE__ macro to indicate which file this item was allocated in + * @param line use the __LINE__ macro to indicate which line this item was allocated at + * @param p pointer to the item to be removed + */ +static int Internal_heap_unlink(char* file, int line, void* p) +{ + Node* e = NULL; + int rc = 0; + + e = MQTTTreeFind(&heap, ((eyecatcherType*)p)-1); + if (e == NULL) + Log(LOG_ERROR, 13, "Failed to remove heap item at file %s line %d", file, line); + else + { + storageElement* s = (storageElement*)(e->content); + Log(TRACE_MAX, -1, "Freeing %d bytes in heap at file %s line %d, heap use now %d bytes\n", + (int)s->size, file, line, (int)state.current_size); + checkEyecatchers(file, line, p, s->size); + /* free(s->ptr); */ + free(s->file); + state.current_size -= s->size; + MQTTTreeRemoveNodeIndex(&heap, e, 0); + free(s); + rc = 1; + } + return rc; +} + + +/** + * Frees a block of memory. A direct replacement for free, but checks that a item is in + * the allocates list first. + * @param file use the __FILE__ macro to indicate which file this item was allocated in + * @param line use the __LINE__ macro to indicate which line this item was allocated at + * @param p pointer to the item to be freed + */ +void myfree(char* file, int line, void* p) +{ + if (p) /* it is legal und usual to call free(NULL) */ + { + Thread_lock_mutex(heap_mutex); + if (Internal_heap_unlink(file, line, p)) + free(((eyecatcherType*)p)-1); + Thread_unlock_mutex(heap_mutex); + } + else + { + Log(LOG_ERROR, -1, "Call of free(NULL) in %s,%d",file,line); + } +} + + +/** + * Remove an item from the recorded heap without actually freeing it. + * Use sparingly! + * @param file use the __FILE__ macro to indicate which file this item was allocated in + * @param line use the __LINE__ macro to indicate which line this item was allocated at + * @param p pointer to the item to be removed + */ +void Heap_unlink(char* file, int line, void* p) +{ + Thread_lock_mutex(heap_mutex); + Internal_heap_unlink(file, line, p); + Thread_unlock_mutex(heap_mutex); +} + + +/** + * Reallocates a block of memory. A direct replacement for realloc, but keeps track of items + * allocated in a list, so that free can check that a item is being freed correctly and that + * we can check that all memory is freed at shutdown. + * We have to remove the item from the tree, as the memory is in order and so it needs to + * be reinserted in the correct place. + * @param file use the __FILE__ macro to indicate which file this item was reallocated in + * @param line use the __LINE__ macro to indicate which line this item was reallocated at + * @param p pointer to the item to be reallocated + * @param size the new size of the item + * @return pointer to the allocated item, or NULL if there was an error + */ +void *myrealloc(char* file, int line, void* p, size_t size) +{ + void* rc = NULL; + storageElement* s = NULL; + + Thread_lock_mutex(heap_mutex); + s = MQTTTreeRemoveKey(&heap, ((eyecatcherType*)p)-1); + if (s == NULL) + Log(LOG_ERROR, 13, "Failed to reallocate heap item at file %s line %d", file, line); + else + { + size_t space = sizeof(storageElement); + size_t filenamelen = strlen(file)+1; + + checkEyecatchers(file, line, p, s->size); + size = Heap_roundup(size); + state.current_size += size - s->size; + if (state.current_size > state.max_size) + state.max_size = state.current_size; + if ((s->ptr = realloc(s->ptr, size + 2*sizeof(eyecatcherType))) == NULL) + { + Log(LOG_ERROR, 13, errmsg); + goto exit; + } + space += size + 2*sizeof(eyecatcherType) - s->size; + *(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */ + *(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */ + s->size = size; + space -= strlen(s->file); + s->file = realloc(s->file, filenamelen); + space += filenamelen; + strcpy(s->file, file); + s->line = line; + rc = s->ptr; + MQTTTreeAdd(&heap, s, space); + } +exit: + Thread_unlock_mutex(heap_mutex); + return (rc == NULL) ? NULL : ((eyecatcherType*)(rc)) + 1; /* skip start eyecatcher */ +} + + +/** + * Utility to find an item in the heap. Lets you know if the heap already contains + * the memory location in question. + * @param p pointer to a memory location + * @return pointer to the storage element if found, or NULL + */ +void* Heap_findItem(void* p) +{ + Node* e = NULL; + + Thread_lock_mutex(heap_mutex); + e = MQTTTreeFind(&heap, ((eyecatcherType*)p)-1); + Thread_unlock_mutex(heap_mutex); + return (e == NULL) ? NULL : e->content; +} + + +/** + * Scans the heap and reports any items currently allocated. + * To be used at shutdown if any heap items have not been freed. + */ +static void HeapScan(enum LOG_LEVELS log_level) +{ + Node* current = NULL; + + Thread_lock_mutex(heap_mutex); + Log(log_level, -1, "Heap scan start, total %d bytes", (int)state.current_size); + while ((current = MQTTTreeNextElement(&heap, current)) != NULL) + { + storageElement* s = (storageElement*)(current->content); + Log(log_level, -1, "Heap element size %d, line %d, file %s, ptr %p", (int)s->size, s->line, s->file, s->ptr); + Log(log_level, -1, " Content %.*s", (10 > current->size) ? (int)s->size : 10, (char*)(((eyecatcherType*)s->ptr) + 1)); +#if defined(HEAP_STACK) + Log(log_level, -1, " Stack:\n%s", s->stack); +#endif + } + Log(log_level, -1, "Heap scan end"); + Thread_unlock_mutex(heap_mutex); +} + + +/** + * Heap initialization. + */ +int Heap_initialize(void) +{ + MQTTTreeInitializeNoMalloc(&heap, ptrCompare); + heap.heap_tracking = 0; /* no recursive heap tracking! */ + return 0; +} + + +/** + * Heap termination. + */ +void Heap_terminate(void) +{ + Log(TRACE_MIN, -1, "Maximum heap use was %d bytes", (int)state.max_size); + if (state.current_size > 20) /* One log list is freed after this function is called */ + { + Log(LOG_ERROR, -1, "Some memory not freed at shutdown, possible memory leak"); + HeapScan(LOG_ERROR); + } +} + + +/** + * Access to heap state + * @return pointer to the heap state structure + */ +heap_info* Heap_get_info(void) +{ + return &state; +} + + +/** + * Dump a string from the heap so that it can be displayed conveniently + * @param file file handle to dump the heap contents to + * @param str the string to dump, could be NULL + */ +int HeapDumpString(FILE* file, char* str) +{ + int rc = 0; + size_t len = str ? strlen(str) + 1 : 0; /* include the trailing null */ + + if (fwrite(&(str), sizeof(char*), 1, file) != 1) + rc = -1; + else if (fwrite(&(len), sizeof(int), 1 ,file) != 1) + rc = -1; + else if (len > 0 && fwrite(str, len, 1, file) != 1) + rc = -1; + return rc; +} + + +/** + * Dump the state of the heap + * @param file file handle to dump the heap contents to + */ +int HeapDump(FILE* file) +{ + int rc = 0; + Node* current = NULL; + + while (rc == 0 && (current = MQTTTreeNextElement(&heap, current))) + { + storageElement* s = (storageElement*)(current->content); + + if (fwrite(&(s->ptr), sizeof(s->ptr), 1, file) != 1) + rc = -1; + else if (fwrite(&(current->size), sizeof(current->size), 1, file) != 1) + rc = -1; + else if (fwrite(s->ptr, current->size, 1, file) != 1) + rc = -1; + } + return rc; +} + +#endif + + +#if defined(HEAP_UNIT_TESTS) + +void Log(enum LOG_LEVELS log_level, int msgno, char* format, ...) +{ + printf("Log %s", format); +} + +char* Broker_recordFFDC(char* symptoms) +{ + printf("recordFFDC"); + return ""; +} + +#define malloc(x) mymalloc(__FILE__, __LINE__, x) +#define realloc(a, b) myrealloc(__FILE__, __LINE__, a, b) +#define free(x) myfree(__FILE__, __LINE__, x) + +int main(int argc, char *argv[]) +{ + char* h = NULL; + Heap_initialize(); + + h = malloc(12); + free(h); + printf("freed h\n"); + + h = malloc(12); + h = realloc(h, 14); + h = realloc(h, 25); + h = realloc(h, 255); + h = realloc(h, 2225); + h = realloc(h, 22225); + printf("freeing h\n"); + free(h); + Heap_terminate(); + printf("Finishing\n"); + return 0; +} + +#endif /* HEAP_UNIT_TESTS */ + +/* Local Variables: */ +/* indent-tabs-mode: t */ +/* c-basic-offset: 8 */ +/* End: */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.h new file mode 100644 index 0000000..8ea44db --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Heap.h @@ -0,0 +1,75 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(HEAP_H) +#define HEAP_H + +#if defined(HIGH_PERFORMANCE) +#define NO_HEAP_TRACKING 1 +#endif + +#define PAHO_MEMORY_ERROR -99 + +#include "MQTTExportDeclarations.h" + +#include +#include + +#if !defined(NO_HEAP_TRACKING) + +#if !defined(TREE_C) +/** + * redefines malloc to use "mymalloc" so that heap allocation can be tracked + * @param x the size of the item to be allocated + * @return the pointer to the item allocated, or NULL + */ +#define malloc(x) mymalloc(__FILE__, __LINE__, x) + +/** + * redefines realloc to use "myrealloc" so that heap allocation can be tracked + * @param a the heap item to be reallocated + * @param b the new size of the item + * @return the new pointer to the heap item + */ +#define realloc(a, b) myrealloc(__FILE__, __LINE__, a, b) + +/** + * redefines free to use "myfree" so that heap allocation can be tracked + * @param x the pointer to the item to be freed + */ +#define free(x) myfree(__FILE__, __LINE__, x) + +#endif + +/** + * Information about the state of the heap. + */ +typedef struct +{ + size_t current_size; /**< current size of the heap in bytes */ + size_t max_size; /**< max size the heap has reached in bytes */ +} heap_info; + +#if defined(__cplusplus) + extern "C" { +#endif + +void* mymalloc(char*, int, size_t size); +void* myrealloc(char*, int, void* p, size_t size); +void myfree(char*, int, void* p); + +void Heap_scan(FILE* file); +int Heap_initialize(void); +void Heap_terminate(void); +LIBMQTT_API heap_info* Heap_get_info(void); +int HeapDump(FILE* file); +int HeapDumpString(FILE* file, char* str); +void* Heap_findItem(void* p); +void Heap_unlink(char* file, int line, void* p); +#ifdef __cplusplus + } +#endif + +#endif + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.c new file mode 100644 index 0000000..9ffa7cb --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.c @@ -0,0 +1,485 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "LinkedList.h" + +#include +#include + +#include "Heap.h" + + +static int ListUnlink(List* aList, void* content, int(*callback)(void*, void*), int freeContent); + + +/** + * Sets a list structure to empty - all null values. Does not remove any items from the list. + * @param newl a pointer to the list structure to be initialized + */ +void ListZero(List* newl) +{ + memset(newl, '\0', sizeof(List)); +} + + +/** + * Allocates and initializes a new list structure. + * @return a pointer to the new list structure + */ +List* ListInitialize(void) +{ + List* newl = malloc(sizeof(List)); + if (newl) + ListZero(newl); + return newl; +} + + +/** + * Append an already allocated ListElement and content to a list. Can be used to move + * an item from one list to another. + * @param aList the list to which the item is to be added + * @param content the list item content itself + * @param newel the ListElement to be used in adding the new item + * @param size the size of the element + */ +void ListAppendNoMalloc(List* aList, void* content, ListElement* newel, size_t size) +{ /* for heap use */ + newel->content = content; + newel->next = NULL; + newel->prev = aList->last; + if (aList->first == NULL) + aList->first = newel; + else + aList->last->next = newel; + aList->last = newel; + ++(aList->count); + aList->size += size; +} + + +/** + * Append an item to a list. + * @param aList the list to which the item is to be added + * @param content the list item content itself + * @param size the size of the element + */ +ListElement* ListAppend(List* aList, void* content, size_t size) +{ + ListElement* newel = malloc(sizeof(ListElement)); + if (newel) + ListAppendNoMalloc(aList, content, newel, size); + return newel; +} + + +/** + * Insert an item to a list at a specific position. + * @param aList the list to which the item is to be added + * @param content the list item content itself + * @param size the size of the element + * @param index the position in the list. If NULL, this function is equivalent + * to ListAppend. + */ +ListElement* ListInsert(List* aList, void* content, size_t size, ListElement* index) +{ + ListElement* newel = malloc(sizeof(ListElement)); + + if (newel == NULL) + return newel; + if ( index == NULL ) + ListAppendNoMalloc(aList, content, newel, size); + else + { + newel->content = content; + newel->next = index; + newel->prev = index->prev; + + index->prev = newel; + if ( newel->prev != NULL ) + newel->prev->next = newel; + else + aList->first = newel; + + ++(aList->count); + aList->size += size; + } + return newel; +} + + +/** + * Finds an element in a list by comparing the content pointers, rather than the contents + * @param aList the list in which the search is to be conducted + * @param content pointer to the list item content itself + * @return the list item found, or NULL + */ +ListElement* ListFind(List* aList, void* content) +{ + return ListFindItem(aList, content, NULL); +} + + +/** + * Finds an element in a list by comparing the content or pointer to the content. A callback + * function is used to define the method of comparison for each element. + * @param aList the list in which the search is to be conducted + * @param content pointer to the content to look for + * @param callback pointer to a function which compares each element (NULL means compare by content pointer) + * @return the list element found, or NULL + */ +ListElement* ListFindItem(List* aList, void* content, int(*callback)(void*, void*)) +{ + ListElement* rc = NULL; + + if (aList->current != NULL && ((callback == NULL && aList->current->content == content) || + (callback != NULL && callback(aList->current->content, content)))) + rc = aList->current; + else + { + ListElement* current = NULL; + + /* find the content */ + while (ListNextElement(aList, ¤t) != NULL) + { + if (callback == NULL) + { + if (current->content == content) + { + rc = current; + break; + } + } + else + { + if (callback(current->content, content)) + { + rc = current; + break; + } + } + } + if (rc != NULL) + aList->current = rc; + } + return rc; +} + + +/** + * Removes and optionally frees an element in a list by comparing the content. + * A callback function is used to define the method of comparison for each element. + * @param aList the list in which the search is to be conducted + * @param content pointer to the content to look for + * @param callback pointer to a function which compares each element + * @param freeContent boolean value to indicate whether the item found is to be freed + * @return 1=item removed, 0=item not removed + */ +static int ListUnlink(List* aList, void* content, int(*callback)(void*, void*), int freeContent) +{ + ListElement* next = NULL; + ListElement* saved = aList->current; + int saveddeleted = 0; + + if (!ListFindItem(aList, content, callback)) + return 0; /* false, did not remove item */ + + if (aList->current->prev == NULL) + /* so this is the first element, and we have to update the "first" pointer */ + aList->first = aList->current->next; + else + aList->current->prev->next = aList->current->next; + + if (aList->current->next == NULL) + aList->last = aList->current->prev; + else + aList->current->next->prev = aList->current->prev; + + next = aList->current->next; + if (freeContent) + { + free(aList->current->content); + aList->current->content = NULL; + } + if (saved == aList->current) + saveddeleted = 1; + free(aList->current); + if (saveddeleted) + aList->current = next; + else + aList->current = saved; + --(aList->count); + return 1; /* successfully removed item */ +} + + +/** + * Removes but does not free an item in a list by comparing the pointer to the content. + * @param aList the list in which the search is to be conducted + * @param content pointer to the content to look for + * @return 1=item removed, 0=item not removed + */ +int ListDetach(List* aList, void* content) +{ + return ListUnlink(aList, content, NULL, 0); +} + + +/** + * Removes and frees an item in a list by comparing the pointer to the content. + * @param aList the list from which the item is to be removed + * @param content pointer to the content to look for + * @return 1=item removed, 0=item not removed + */ +int ListRemove(List* aList, void* content) +{ + return ListUnlink(aList, content, NULL, 1); +} + + +/** + * Removes and frees an the first item in a list. + * @param aList the list from which the item is to be removed + * @return 1=item removed, 0=item not removed + */ +void* ListDetachHead(List* aList) +{ + void *content = NULL; + if (aList->count > 0) + { + ListElement* first = aList->first; + if (aList->current == first) + aList->current = first->next; + if (aList->last == first) /* i.e. no of items in list == 1 */ + aList->last = NULL; + content = first->content; + aList->first = aList->first->next; + if (aList->first) + aList->first->prev = NULL; + free(first); + --(aList->count); + } + return content; +} + + +/** + * Removes and frees an the first item in a list. + * @param aList the list from which the item is to be removed + * @return 1=item removed, 0=item not removed + */ +int ListRemoveHead(List* aList) +{ + free(ListDetachHead(aList)); + return 0; +} + + +/** + * Removes but does not free the last item in a list. + * @param aList the list from which the item is to be removed + * @return the last item removed (or NULL if none was) + */ +void* ListPopTail(List* aList) +{ + void* content = NULL; + if (aList->count > 0) + { + ListElement* last = aList->last; + if (aList->current == last) + aList->current = last->prev; + if (aList->first == last) /* i.e. no of items in list == 1 */ + aList->first = NULL; + content = last->content; + aList->last = aList->last->prev; + if (aList->last) + aList->last->next = NULL; + free(last); + --(aList->count); + } + return content; +} + + +/** + * Removes but does not free an element in a list by comparing the content. + * A callback function is used to define the method of comparison for each element. + * @param aList the list in which the search is to be conducted + * @param content pointer to the content to look for + * @param callback pointer to a function which compares each element + * @return 1=item removed, 0=item not removed + */ +int ListDetachItem(List* aList, void* content, int(*callback)(void*, void*)) +{ /* do not free the content */ + return ListUnlink(aList, content, callback, 0); +} + + +/** + * Removes and frees an element in a list by comparing the content. + * A callback function is used to define the method of comparison for each element + * @param aList the list in which the search is to be conducted + * @param content pointer to the content to look for + * @param callback pointer to a function which compares each element + * @return 1=item removed, 0=item not removed + */ +int ListRemoveItem(List* aList, void* content, int(*callback)(void*, void*)) +{ /* remove from list and free the content */ + return ListUnlink(aList, content, callback, 1); +} + + +/** + * Removes and frees all items in a list, leaving the list ready for new items. + * @param aList the list to which the operation is to be applied + */ +void ListEmpty(List* aList) +{ + while (aList->first != NULL) + { + ListElement* first = aList->first; + if (first->content != NULL) + { + free(first->content); + first->content = NULL; + } + aList->first = first->next; + free(first); + } + aList->count = 0; + aList->size = 0; + aList->current = aList->first = aList->last = NULL; +} + +/** + * Removes and frees all items in a list, and frees the list itself + * @param aList the list to which the operation is to be applied + */ +void ListFree(List* aList) +{ + ListEmpty(aList); + free(aList); +} + + +/** + * Removes and but does not free all items in a list, and frees the list itself + * @param aList the list to which the operation is to be applied + */ +void ListFreeNoContent(List* aList) +{ + while (aList->first != NULL) + { + ListElement* first = aList->first; + aList->first = first->next; + free(first); + } + free(aList); +} + + +/** + * Forward iteration through a list + * @param aList the list to which the operation is to be applied + * @param pos pointer to the current position in the list. NULL means start from the beginning of the list + * This is updated on return to the same value as that returned from this function + * @return pointer to the current list element + */ +ListElement* ListNextElement(List* aList, ListElement** pos) +{ + return *pos = (*pos == NULL) ? aList->first : (*pos)->next; +} + + +/** + * Backward iteration through a list + * @param aList the list to which the operation is to be applied + * @param pos pointer to the current position in the list. NULL means start from the end of the list + * This is updated on return to the same value as that returned from this function + * @return pointer to the current list element + */ +ListElement* ListPrevElement(List* aList, ListElement** pos) +{ + return *pos = (*pos == NULL) ? aList->last : (*pos)->prev; +} + + +/** + * List callback function for comparing integers + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int intcompare(void* a, void* b) +{ + return *((int*)a) == *((int*)b); +} + + +/** + * List callback function for comparing C strings + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int stringcompare(void* a, void* b) +{ + return strcmp((char*)a, (char*)b) == 0; +} + + +#if defined(UNIT_TESTS) + + +int main(int argc, char *argv[]) +{ + int i, *ip, *todelete; + ListElement* current = NULL; + List* l = ListInitialize(); + printf("List initialized\n"); + + for (i = 0; i < 10; i++) + { + ip = malloc(sizeof(int)); + *ip = i; + ListAppend(l, (void*)ip, sizeof(int)); + if (i==5) + todelete = ip; + printf("List element appended %d\n", *((int*)(l->last->content))); + } + + printf("List contents:\n"); + current = NULL; + while (ListNextElement(l, ¤t) != NULL) + printf("List element: %d\n", *((int*)(current->content))); + + printf("List contents in reverse order:\n"); + current = NULL; + while (ListPrevElement(l, ¤t) != NULL) + printf("List element: %d\n", *((int*)(current->content))); + + /* if ListFindItem(l, *ip, intcompare)->content */ + + printf("List contents having deleted element %d:\n", *todelete); + ListRemove(l, todelete); + current = NULL; + while (ListNextElement(l, ¤t) != NULL) + printf("List element: %d\n", *((int*)(current->content))); + + i = 9; + ListRemoveItem(l, &i, intcompare); + printf("List contents having deleted another element, %d, size now %d:\n", i, l->size); + current = NULL; + while (ListNextElement(l, ¤t) != NULL) + printf("List element: %d\n", *((int*)(current->content))); + + ListFree(l); + printf("List freed\n"); +} + +#endif + + + + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.h new file mode 100644 index 0000000..ddaa2d8 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/LinkedList.h @@ -0,0 +1,90 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(LINKEDLIST_H) +#define LINKEDLIST_H + +#include /* for size_t definition */ + +/*BE +defm defList(T) + +def T concat Item +{ + at 4 + n32 ptr T concat Item suppress "next" + at 0 + n32 ptr T concat Item suppress "prev" + at 8 + n32 ptr T id2str(T) +} + +def T concat List +{ + n32 ptr T concat Item suppress "first" + n32 ptr T concat Item suppress "last" + n32 ptr T concat Item suppress "current" + n32 dec "count" + n32 suppress "size" +} +endm + +defList(INT) +defList(STRING) +defList(TMP) + +BE*/ + +/** + * Structure to hold all data for one list element + */ +typedef struct ListElementStruct +{ + struct ListElementStruct *prev, /**< pointer to previous list element */ + *next; /**< pointer to next list element */ + void* content; /**< pointer to element content */ +} ListElement; + + +/** + * Structure to hold all data for one list + */ +typedef struct +{ + ListElement *first, /**< first element in the list */ + *last, /**< last element in the list */ + *current; /**< current element in the list, for iteration */ + int count; /**< no of items */ + size_t size; /**< heap storage used */ +} List; + +void ListZero(List*); +List* ListInitialize(void); + +ListElement* ListAppend(List* aList, void* content, size_t size); +void ListAppendNoMalloc(List* aList, void* content, ListElement* newel, size_t size); +ListElement* ListInsert(List* aList, void* content, size_t size, ListElement* index); + +int ListRemove(List* aList, void* content); +int ListRemoveItem(List* aList, void* content, int(*callback)(void*, void*)); +void* ListDetachHead(List* aList); +int ListRemoveHead(List* aList); +void* ListPopTail(List* aList); + +int ListDetach(List* aList, void* content); +int ListDetachItem(List* aList, void* content, int(*callback)(void*, void*)); + +void ListFree(List* aList); +void ListEmpty(List* aList); +void ListFreeNoContent(List* aList); + +ListElement* ListNextElement(List* aList, ListElement** pos); +ListElement* ListPrevElement(List* aList, ListElement** pos); + +ListElement* ListFind(List* aList, void* content); +ListElement* ListFindItem(List* aList, void* content, int(*callback)(void*, void*)); + +int intcompare(void* a, void* b); +int stringcompare(void* a, void* b); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.c new file mode 100644 index 0000000..1fe6849 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.c @@ -0,0 +1,563 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Log.h" +#include "MQTTPacket.h" +#include "MQTTProtocol.h" +#include "MQTTProtocolClient.h" +#include "Messages.h" +#include "LinkedList.h" +#include "StackTrace.h" +#include "Thread.h" + +#include +#include +#include +#include +#include + +#if !defined(_WIN32) && !defined(_WIN64) +#include +#include +#define GETTIMEOFDAY 1 +#else +#define snprintf _snprintf +#endif + +#if defined(GETTIMEOFDAY) + #include +#else + #include +#endif + +#if !defined(_WIN32) && !defined(_WIN64) +/** + * _unlink mapping for linux + */ +#define _unlink unlink +#endif + + +#if !defined(min) +#define min(A,B) ( (A) < (B) ? (A):(B)) +#endif + +trace_settings_type trace_settings = +{ +#if defined(HIGH_PERFORMANCE) + LOG_ERROR, +#else + TRACE_MINIMUM, +#endif + 400, + INVALID_LEVEL +}; + +#define MAX_FUNCTION_NAME_LENGTH 256 + +typedef struct +{ +#if defined(GETTIMEOFDAY) + struct timeval ts; +#else + struct timeb ts; +#endif + int sametime_count; + int number; + thread_id_type thread_id; + int depth; + char name[MAX_FUNCTION_NAME_LENGTH + 1]; + int line; + int has_rc; + int rc; + enum LOG_LEVELS level; +} traceEntry; + +static int start_index = -1, + next_index = 0; +static traceEntry* trace_queue = NULL; +static int trace_queue_size = 0; + +static FILE* trace_destination = NULL; /**< flag to indicate if trace is to be sent to a stream */ +static char* trace_destination_name = NULL; /**< the name of the trace file */ +static char* trace_destination_backup_name = NULL; /**< the name of the backup trace file */ +static int lines_written = 0; /**< number of lines written to the current output file */ +static int max_lines_per_file = 1000; /**< maximum number of lines to write to one trace file */ +static enum LOG_LEVELS trace_output_level = INVALID_LEVEL; +static Log_traceCallback* trace_callback = NULL; +static traceEntry* Log_pretrace(void); +static char* Log_formatTraceEntry(traceEntry* cur_entry); +static void Log_output(enum LOG_LEVELS log_level, const char *msg); +static void Log_posttrace(enum LOG_LEVELS log_level, traceEntry* cur_entry); +static void Log_trace(enum LOG_LEVELS log_level, const char *buf); +#if 0 +static FILE* Log_destToFile(const char *dest); +static int Log_compareEntries(const char *entry1, const char *entry2); +#endif + +static int sametime_count = 0; +#if defined(GETTIMEOFDAY) +struct timeval now_ts, last_ts; +#else +struct timeb now_ts, last_ts; +#endif +static char msg_buf[512]; + +#if defined(_WIN32) || defined(_WIN64) +mutex_type log_mutex; +#else +static pthread_mutex_t log_mutex_store = PTHREAD_MUTEX_INITIALIZER; +static mutex_type log_mutex = &log_mutex_store; +#endif + + +int Log_initialize(Log_nameValue* info) +{ + int rc = SOCKET_ERROR; + char* envval = NULL; +#if !defined(_WIN32) && !defined(_WIN64) + struct stat buf; +#endif + + if ((trace_queue = malloc(sizeof(traceEntry) * trace_settings.max_trace_entries)) == NULL) + goto exit; + trace_queue_size = trace_settings.max_trace_entries; + + if ((envval = getenv("MQTT_C_CLIENT_TRACE")) != NULL && strlen(envval) > 0) + { + if (strcmp(envval, "ON") == 0 || (trace_destination = fopen(envval, "w")) == NULL) + trace_destination = stdout; + else + { + size_t namelen = 0; + + if ((trace_destination_name = malloc(strlen(envval) + 1)) == NULL) + { + free(trace_queue); + goto exit; + } + strcpy(trace_destination_name, envval); + namelen = strlen(envval) + 3; + if ((trace_destination_backup_name = malloc(namelen)) == NULL) + { + free(trace_queue); + free(trace_destination_name); + goto exit; + } + if (snprintf(trace_destination_backup_name, namelen, "%s.0", trace_destination_name) >= namelen) + trace_destination_backup_name[namelen-1] = '\0'; + } + } + if ((envval = getenv("MQTT_C_CLIENT_TRACE_MAX_LINES")) != NULL && strlen(envval) > 0) + { + max_lines_per_file = atoi(envval); + if (max_lines_per_file <= 0) + max_lines_per_file = 1000; + } + if ((envval = getenv("MQTT_C_CLIENT_TRACE_LEVEL")) != NULL && strlen(envval) > 0) + { + if (strcmp(envval, "MAXIMUM") == 0 || strcmp(envval, "TRACE_MAXIMUM") == 0) + trace_settings.trace_level = TRACE_MAXIMUM; + else if (strcmp(envval, "MEDIUM") == 0 || strcmp(envval, "TRACE_MEDIUM") == 0) + trace_settings.trace_level = TRACE_MEDIUM; + else if (strcmp(envval, "MINIMUM") == 0 || strcmp(envval, "TRACE_MINIMUM") == 0) + trace_settings.trace_level = TRACE_MINIMUM; + else if (strcmp(envval, "PROTOCOL") == 0 || strcmp(envval, "TRACE_PROTOCOL") == 0) + trace_output_level = TRACE_PROTOCOL; + else if (strcmp(envval, "ERROR") == 0 || strcmp(envval, "TRACE_ERROR") == 0) + trace_output_level = LOG_ERROR; + } + Log_output(TRACE_MINIMUM, "========================================================="); + Log_output(TRACE_MINIMUM, " Trace Output"); + if (info) + { + while (info->name) + { + snprintf(msg_buf, sizeof(msg_buf), "%s: %s", info->name, info->value); + Log_output(TRACE_MINIMUM, msg_buf); + info++; + } + } +#if !defined(_WIN32) && !defined(_WIN64) + if (stat("/proc/version", &buf) != -1) + { + FILE* vfile; + + if ((vfile = fopen("/proc/version", "r")) != NULL) + { + int len; + + strcpy(msg_buf, "/proc/version: "); + len = strlen(msg_buf); + if (fgets(&msg_buf[len], sizeof(msg_buf) - len, vfile)) + Log_output(TRACE_MINIMUM, msg_buf); + fclose(vfile); + } + } +#endif + Log_output(TRACE_MINIMUM, "========================================================="); +exit: + return rc; +} + + +void Log_setTraceCallback(Log_traceCallback* callback) +{ + trace_callback = callback; +} + + +void Log_setTraceLevel(enum LOG_LEVELS level) +{ + if (level <= LOG_ERROR) /* the lowest we can go is LOG_ERROR */ + trace_settings.trace_level = level; + trace_output_level = level; +} + + +void Log_terminate(void) +{ + free(trace_queue); + trace_queue = NULL; + trace_queue_size = 0; + if (trace_destination) + { + if (trace_destination != stdout) + fclose(trace_destination); + trace_destination = NULL; + } + if (trace_destination_name) { + free(trace_destination_name); + trace_destination_name = NULL; + } + if (trace_destination_backup_name) { + free(trace_destination_backup_name); + trace_destination_backup_name = NULL; + } + start_index = -1; + next_index = 0; + trace_output_level = INVALID_LEVEL; + sametime_count = 0; +} + + +static traceEntry* Log_pretrace(void) +{ + traceEntry *cur_entry = NULL; + + /* calling ftime/gettimeofday seems to be comparatively expensive, so we need to limit its use */ + if (++sametime_count % 20 == 0) + { +#if defined(GETTIMEOFDAY) + gettimeofday(&now_ts, NULL); + if (now_ts.tv_sec != last_ts.tv_sec || now_ts.tv_usec != last_ts.tv_usec) +#else + ftime(&now_ts); + if (now_ts.time != last_ts.time || now_ts.millitm != last_ts.millitm) +#endif + { + sametime_count = 0; + last_ts = now_ts; + } + } + + if (trace_queue_size != trace_settings.max_trace_entries) + { + traceEntry* new_trace_queue = malloc(sizeof(traceEntry) * trace_settings.max_trace_entries); + + if (new_trace_queue == NULL) + goto exit; + memcpy(new_trace_queue, trace_queue, min(trace_queue_size, trace_settings.max_trace_entries) * sizeof(traceEntry)); + free(trace_queue); + trace_queue = new_trace_queue; + trace_queue_size = trace_settings.max_trace_entries; + + if (start_index > trace_settings.max_trace_entries + 1 || + next_index > trace_settings.max_trace_entries + 1) + { + start_index = -1; + next_index = 0; + } + } + + /* add to trace buffer */ + cur_entry = &trace_queue[next_index]; + if (next_index == start_index) /* means the buffer is full */ + { + if (++start_index == trace_settings.max_trace_entries) + start_index = 0; + } else if (start_index == -1) + start_index = 0; + if (++next_index == trace_settings.max_trace_entries) + next_index = 0; +exit: + return cur_entry; +} + +static char* Log_formatTraceEntry(traceEntry* cur_entry) +{ + struct tm *timeinfo; + int buf_pos = 31; + +#if defined(GETTIMEOFDAY) + timeinfo = localtime((time_t *)&cur_entry->ts.tv_sec); +#else + timeinfo = localtime(&cur_entry->ts.time); +#endif + strftime(&msg_buf[7], 80, "%Y%m%d %H%M%S ", timeinfo); +#if defined(GETTIMEOFDAY) + snprintf(&msg_buf[22], sizeof(msg_buf)-22, ".%.3lu ", cur_entry->ts.tv_usec / 1000L); +#else + snprintf(&msg_buf[22], sizeof(msg_buf)-22, ".%.3hu ", cur_entry->ts.millitm); +#endif + buf_pos = 27; + + snprintf(msg_buf, sizeof(msg_buf), "(%.4d)", cur_entry->sametime_count); + msg_buf[6] = ' '; + + if (cur_entry->has_rc == 2) + strncpy(&msg_buf[buf_pos], cur_entry->name, sizeof(msg_buf)-buf_pos); + else + { + const char *format = Messages_get(cur_entry->number, cur_entry->level); + if (cur_entry->has_rc == 1) + snprintf(&msg_buf[buf_pos], sizeof(msg_buf)-buf_pos, format, cur_entry->thread_id, + cur_entry->depth, "", cur_entry->depth, cur_entry->name, cur_entry->line, cur_entry->rc); + else + snprintf(&msg_buf[buf_pos], sizeof(msg_buf)-buf_pos, format, cur_entry->thread_id, + cur_entry->depth, "", cur_entry->depth, cur_entry->name, cur_entry->line); + } + return msg_buf; +} + + +static void Log_output(enum LOG_LEVELS log_level, const char *msg) +{ + if (trace_destination) + { + fprintf(trace_destination, "%s\n", msg); + + if (trace_destination != stdout && ++lines_written >= max_lines_per_file) + { + + fclose(trace_destination); + _unlink(trace_destination_backup_name); /* remove any old backup trace file */ + rename(trace_destination_name, trace_destination_backup_name); /* rename recently closed to backup */ + trace_destination = fopen(trace_destination_name, "w"); /* open new trace file */ + if (trace_destination == NULL) + trace_destination = stdout; + lines_written = 0; + } + else + fflush(trace_destination); + } + + if (trace_callback) + (*trace_callback)(log_level, msg); +} + + +static void Log_posttrace(enum LOG_LEVELS log_level, traceEntry* cur_entry) +{ + if (((trace_output_level == -1) ? log_level >= trace_settings.trace_level : log_level >= trace_output_level)) + { + char* msg = NULL; + + if (trace_destination || trace_callback) + msg = &Log_formatTraceEntry(cur_entry)[7]; + + Log_output(log_level, msg); + } +} + + +static void Log_trace(enum LOG_LEVELS log_level, const char *buf) +{ + traceEntry *cur_entry = NULL; + + if (trace_queue == NULL) + return; + + cur_entry = Log_pretrace(); + + memcpy(&(cur_entry->ts), &now_ts, sizeof(now_ts)); + cur_entry->sametime_count = sametime_count; + + cur_entry->has_rc = 2; + strncpy(cur_entry->name, buf, sizeof(cur_entry->name)); + cur_entry->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; + + Log_posttrace(log_level, cur_entry); +} + + +/** + * Log a message. If possible, all messages should be indexed by message number, and + * the use of the format string should be minimized or negated altogether. If format is + * provided, the message number is only used as a message label. + * @param log_level the log level of the message + * @param msgno the id of the message to use if the format string is NULL + * @param aFormat the printf format string to be used if the message id does not exist + * @param ... the printf inserts + */ +void Log(enum LOG_LEVELS log_level, int msgno, const char *format, ...) +{ + if (log_level >= trace_settings.trace_level) + { + const char *temp = NULL; + va_list args; + + /* we're using a static character buffer, so we need to make sure only one thread uses it at a time */ + Thread_lock_mutex(log_mutex); + if (format == NULL && (temp = Messages_get(msgno, log_level)) != NULL) + format = temp; + + va_start(args, format); + vsnprintf(msg_buf, sizeof(msg_buf), format, args); + + Log_trace(log_level, msg_buf); + va_end(args); + Thread_unlock_mutex(log_mutex); + } +} + + +/** + * The reason for this function is to make trace logging as fast as possible so that the + * function exit/entry history can be captured by default without unduly impacting + * performance. Therefore it must do as little as possible. + * @param log_level the log level of the message + * @param msgno the id of the message to use if the format string is NULL + * @param aFormat the printf format string to be used if the message id does not exist + * @param ... the printf inserts + */ +void Log_stackTrace(enum LOG_LEVELS log_level, int msgno, thread_id_type thread_id, int current_depth, const char* name, int line, int* rc) +{ + traceEntry *cur_entry = NULL; + + if (trace_queue == NULL) + return; + + if (log_level < trace_settings.trace_level) + return; + + Thread_lock_mutex(log_mutex); + cur_entry = Log_pretrace(); + + memcpy(&(cur_entry->ts), &now_ts, sizeof(now_ts)); + cur_entry->sametime_count = sametime_count; + cur_entry->number = msgno; + cur_entry->thread_id = thread_id; + cur_entry->depth = current_depth; + strcpy(cur_entry->name, name); + cur_entry->level = log_level; + cur_entry->line = line; + if (rc == NULL) + cur_entry->has_rc = 0; + else + { + cur_entry->has_rc = 1; + cur_entry->rc = *rc; + } + + Log_posttrace(log_level, cur_entry); + Thread_unlock_mutex(log_mutex); +} + + +#if 0 +static FILE* Log_destToFile(const char *dest) +{ + FILE* file = NULL; + + if (strcmp(dest, "stdout") == 0) + file = stdout; + else if (strcmp(dest, "stderr") == 0) + file = stderr; + else + { + if (strstr(dest, "FFDC")) + file = fopen(dest, "ab"); + else + file = fopen(dest, "wb"); + } + return file; +} + + +static int Log_compareEntries(const char *entry1, const char *entry2) +{ + int comp = strncmp(&entry1[7], &entry2[7], 19); + + /* if timestamps are equal, use the sequence numbers */ + if (comp == 0) + comp = strncmp(&entry1[1], &entry2[1], 4); + + return comp; +} + + +/** + * Write the contents of the stored trace to a stream + * @param dest string which contains a file name or the special strings stdout or stderr + */ +int Log_dumpTrace(char* dest) +{ + FILE* file = NULL; + ListElement* cur_trace_entry = NULL; + const int msgstart = 7; + int rc = -1; + int trace_queue_index = 0; + + if ((file = Log_destToFile(dest)) == NULL) + { + Log(LOG_ERROR, 9, NULL, "trace", dest, "trace entries"); + goto exit; + } + + fprintf(file, "=========== Start of trace dump ==========\n"); + /* Interleave the log and trace entries together appropriately */ + ListNextElement(trace_buffer, &cur_trace_entry); + trace_queue_index = start_index; + if (trace_queue_index == -1) + trace_queue_index = next_index; + else + { + Log_formatTraceEntry(&trace_queue[trace_queue_index++]); + if (trace_queue_index == trace_settings.max_trace_entries) + trace_queue_index = 0; + } + while (cur_trace_entry || trace_queue_index != next_index) + { + if (cur_trace_entry && trace_queue_index != -1) + { /* compare these timestamps */ + if (Log_compareEntries((char*)cur_trace_entry->content, msg_buf) > 0) + cur_trace_entry = NULL; + } + + if (cur_trace_entry) + { + fprintf(file, "%s\n", &((char*)(cur_trace_entry->content))[msgstart]); + ListNextElement(trace_buffer, &cur_trace_entry); + } + else + { + fprintf(file, "%s\n", &msg_buf[7]); + if (trace_queue_index != next_index) + { + Log_formatTraceEntry(&trace_queue[trace_queue_index++]); + if (trace_queue_index == trace_settings.max_trace_entries) + trace_queue_index = 0; + } + } + } + fprintf(file, "========== End of trace dump ==========\n\n"); + if (file != stdout && file != stderr && file != NULL) + fclose(file); + rc = 0; +exit: + return rc; +} +#endif + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.h new file mode 100644 index 0000000..dc9be86 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Log.h @@ -0,0 +1,79 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(LOG_H) +#define LOG_H + +#if defined(_WIN32) || defined(_WIN64) + #include + #define thread_id_type DWORD +#else + #include + #define thread_id_type pthread_t +#endif + +/*BE +map LOG_LEVELS +{ + "TRACE_MAXIMUM" 1 + "TRACE_MEDIUM" 2 + "TRACE_MINIMUM" 3 + "TRACE_PROTOCOL" 4 + + "ERROR" 5 + "SEVERE" 6 + "FATAL" 7 +} +BE*/ + +enum LOG_LEVELS { + INVALID_LEVEL = -1, + TRACE_MAXIMUM = 1, + TRACE_MEDIUM, + TRACE_MINIMUM, + TRACE_PROTOCOL, + LOG_ERROR, + LOG_SEVERE, + LOG_FATAL, +}; + + +/*BE +def trace_settings_type +{ + n32 map LOG_LEVELS "trace_level" + n32 dec "max_trace_entries" + n32 dec "trace_output_level" +} +BE*/ +typedef struct +{ + enum LOG_LEVELS trace_level; /**< trace level */ + int max_trace_entries; /**< max no of entries in the trace buffer */ + enum LOG_LEVELS trace_output_level; /**< trace level to output to destination */ +} trace_settings_type; + +extern trace_settings_type trace_settings; + +#define LOG_PROTOCOL TRACE_PROTOCOL +#define TRACE_MAX TRACE_MAXIMUM +#define TRACE_MIN TRACE_MINIMUM +#define TRACE_MED TRACE_MEDIUM + +typedef struct +{ + const char* name; + const char* value; +} Log_nameValue; + +int Log_initialize(Log_nameValue*); +void Log_terminate(void); + +void Log(enum LOG_LEVELS, int, const char *, ...); +void Log_stackTrace(enum LOG_LEVELS, int, thread_id_type, int, const char*, int, int*); + +typedef void Log_traceCallback(enum LOG_LEVELS level, const char *message); +void Log_setTraceCallback(Log_traceCallback* callback); +void Log_setTraceLevel(enum LOG_LEVELS level); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.c new file mode 100644 index 0000000..6249657 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.c @@ -0,0 +1,1823 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +#if !defined(_WIN32) && !defined(_WIN64) + #include +#else + #if defined(_MSC_VER) && _MSC_VER < 1900 + #define snprintf _snprintf + #endif +#endif + +#if !defined(NO_PERSISTENCE) +#include "MQTTPersistence.h" +#endif +#include "MQTTAsync.h" +#include "MQTTAsyncUtils.h" +#include "utf-8.h" +#include "MQTTProtocol.h" +#include "MQTTProtocolOut.h" +#include "Thread.h" +#include "SocketBuffer.h" +#include "StackTrace.h" +#include "Heap.h" +#include "OsWrapper.h" +#include "WebSocket.h" + +static void MQTTAsync_freeServerURIs(MQTTAsyncs* m); + +#include "VersionInfo.h" + +const char *client_timestamp_eye = "MQTTAsyncV3_Timestamp " BUILD_TIMESTAMP; +const char *client_version_eye = "MQTTAsyncV3_Version " CLIENT_VERSION; + +volatile int global_initialized = 0; +List* MQTTAsync_handles = NULL; +List* MQTTAsync_commands = NULL; +int MQTTAsync_tostop = 0; + +static ClientStates ClientState = +{ + CLIENT_VERSION, /* version */ + NULL /* client list */ +}; + +MQTTProtocol state; +ClientStates* bstate = &ClientState; + +enum MQTTAsync_threadStates sendThread_state = STOPPED; +enum MQTTAsync_threadStates receiveThread_state = STOPPED; +thread_id_type sendThread_id = 0, + receiveThread_id = 0; + +// global objects init declaration +int MQTTAsync_init(void); + +void MQTTAsync_global_init(MQTTAsync_init_options* inits) +{ + MQTTAsync_init(); +#if defined(OPENSSL) + SSLSocket_handleOpensslInit(inits->do_openssl_init); +#endif +} + +#if !defined(min) +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +#if defined(WIN32) || defined(WIN64) +void MQTTAsync_init_rand(void) +{ + START_TIME_TYPE now = MQTTTime_start_clock(); + srand((unsigned int)now); +} +#elif defined(AIX) +void MQTTAsync_init_rand(void) +{ + START_TIME_TYPE now = MQTTTime_start_clock(); + srand(now.tv_nsec); +} +#else +void MQTTAsync_init_rand(void) +{ + START_TIME_TYPE now = MQTTTime_start_clock(); + srand(now.tv_usec); +} +#endif + +#if defined(_WIN32) || defined(_WIN64) +mutex_type mqttasync_mutex = NULL; +mutex_type socket_mutex = NULL; +mutex_type mqttcommand_mutex = NULL; +sem_type send_sem = NULL; +#if !defined(NO_HEAP_TRACKING) +extern mutex_type stack_mutex; +extern mutex_type heap_mutex; +#endif +extern mutex_type log_mutex; + +int MQTTAsync_init(void) +{ + DWORD rc = 0; + + if (mqttasync_mutex == NULL) + { + if ((mqttasync_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("mqttasync_mutex error %d\n", rc); + goto exit; + } + if ((mqttcommand_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("mqttcommand_mutex error %d\n", rc); + goto exit; + } + if ((send_sem = CreateEvent( + NULL, /* default security attributes */ + FALSE, /* manual-reset event? */ + FALSE, /* initial state is nonsignaled */ + NULL /* object name */ + )) == NULL) + { + rc = GetLastError(); + printf("send_sem error %d\n", rc); + goto exit; + } +#if !defined(NO_HEAP_TRACKING) + if ((stack_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("stack_mutex error %d\n", rc); + goto exit; + } + if ((heap_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("heap_mutex error %d\n", rc); + goto exit; + } +#endif + if ((log_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("log_mutex error %d\n", rc); + goto exit; + } + if ((socket_mutex = CreateMutex(NULL, 0, NULL)) == NULL) + { + rc = GetLastError(); + printf("socket_mutex error %d\n", rc); + goto exit; + } + } + else + { + Log(TRACE_MAX, -1, "Library already initialized"); + } +exit: + return rc; +} + +void MQTTAsync_cleanup(void) +{ + if (send_sem) + CloseHandle(send_sem); +#if !defined(NO_HEAP_TRACKING) + if (stack_mutex) + CloseHandle(stack_mutex); + if (heap_mutex) + CloseHandle(heap_mutex); +#endif + if (log_mutex) + CloseHandle(log_mutex); + if (socket_mutex) + CloseHandle(socket_mutex); + if (mqttasync_mutex) + CloseHandle(mqttasync_mutex); +} + +#if defined(PAHO_MQTT_STATIC) +static INIT_ONCE g_InitOnce = INIT_ONCE_STATIC_INIT; /* Global for one time initialization */ + +/* This runs at most once */ +BOOL CALLBACK InitMutexesOnce ( + PINIT_ONCE InitOnce, /* Pointer to one-time initialization structure */ + PVOID Parameter, /* Optional parameter */ + PVOID *lpContext) /* Return data, if any */ +{ + int rc = MQTTAsync_init(); + return rc == 0; +} +#else +BOOL APIENTRY DllMain(HANDLE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + MQTTAsync_init(); + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + case DLL_PROCESS_DETACH: + if (lpReserved) + MQTTAsync_cleanup(); + break; + } + return TRUE; +} +#endif + + +#else +static pthread_mutex_t mqttasync_mutex_store = PTHREAD_MUTEX_INITIALIZER; +mutex_type mqttasync_mutex = &mqttasync_mutex_store; + +static pthread_mutex_t socket_mutex_store = PTHREAD_MUTEX_INITIALIZER; +mutex_type socket_mutex = &socket_mutex_store; + +static pthread_mutex_t mqttcommand_mutex_store = PTHREAD_MUTEX_INITIALIZER; +mutex_type mqttcommand_mutex = &mqttcommand_mutex_store; + +static cond_type_struct send_cond_store = { PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER }; +cond_type send_cond = &send_cond_store; + +int MQTTAsync_init(void) +{ + pthread_mutexattr_t attr; + int rc; + + pthread_mutexattr_init(&attr); +#if !defined(_WRS_KERNEL) + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); +#else + /* #warning "no pthread_mutexattr_settype" */ +#endif + if ((rc = pthread_mutex_init(mqttasync_mutex, &attr)) != 0) + printf("MQTTAsync: error %d initializing async_mutex\n", rc); + else if ((rc = pthread_mutex_init(mqttcommand_mutex, &attr)) != 0) + printf("MQTTAsync: error %d initializing command_mutex\n", rc); + else if ((rc = pthread_mutex_init(socket_mutex, &attr)) != 0) + printf("MQTTClient: error %d initializing socket_mutex\n", rc); + else if ((rc = pthread_cond_init(&send_cond->cond, NULL)) != 0) + printf("MQTTAsync: error %d initializing send_cond cond\n", rc); + else if ((rc = pthread_mutex_init(&send_cond->mutex, &attr)) != 0) + printf("MQTTAsync: error %d initializing send_cond mutex\n", rc); + + return rc; +} +#endif + + +int MQTTAsync_createWithOptions(MQTTAsync* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context, MQTTAsync_createOptions* options) +{ + int rc = 0; + MQTTAsyncs *m = NULL; + +#if (defined(_WIN32) || defined(_WIN64)) && defined(PAHO_MQTT_STATIC) + /* intializes mutexes once. Must come before FUNC_ENTRY */ + BOOL bStatus = InitOnceExecuteOnce(&g_InitOnce, InitMutexesOnce, NULL, NULL); +#endif + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (serverURI == NULL || clientId == NULL) + { + rc = MQTTASYNC_NULL_PARAMETER; + goto exit; + } + + if (!MQTT_UTF8_validateString(clientId)) + { + rc = MQTTASYNC_BAD_UTF8_STRING; + goto exit; + } + + if (strlen(clientId) == 0 && persistence_type == MQTTCLIENT_PERSISTENCE_DEFAULT) + { + rc = MQTTASYNC_PERSISTENCE_ERROR; + goto exit; + } + + if (strstr(serverURI, "://") != NULL) + { + if (strncmp(URI_TCP, serverURI, strlen(URI_TCP)) != 0 + && strncmp(URI_MQTT, serverURI, strlen(URI_MQTT)) != 0 + && strncmp(URI_WS, serverURI, strlen(URI_WS)) != 0 +#if defined(OPENSSL) + && strncmp(URI_SSL, serverURI, strlen(URI_SSL)) != 0 + && strncmp(URI_MQTTS, serverURI, strlen(URI_MQTTS)) != 0 + && strncmp(URI_WSS, serverURI, strlen(URI_WSS)) != 0 +#endif + ) + { + rc = MQTTASYNC_BAD_PROTOCOL; + goto exit; + } + } + + if (options && options->maxBufferedMessages <= 0) + { + rc = MQTTASYNC_MAX_BUFFERED; + goto exit; + } + + if (options && (strncmp(options->struct_id, "MQCO", 4) != 0 || + options->struct_version < 0 || options->struct_version > 2)) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + + if (!global_initialized) + { + #if !defined(NO_HEAP_TRACKING) + Heap_initialize(); + #endif + Log_initialize((Log_nameValue*)MQTTAsync_getVersionInfo()); + bstate->clients = ListInitialize(); + Socket_outInitialize(); + Socket_setWriteContinueCallback(MQTTAsync_writeContinue); + Socket_setWriteCompleteCallback(MQTTAsync_writeComplete); + Socket_setWriteAvailableCallback(MQTTProtocol_writeAvailable); + MQTTAsync_handles = ListInitialize(); + MQTTAsync_commands = ListInitialize(); +#if defined(OPENSSL) + SSLSocket_initialize(); +#endif + global_initialized = 1; + } + if ((m = malloc(sizeof(MQTTAsyncs))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + *handle = m; + memset(m, '\0', sizeof(MQTTAsyncs)); + if (strncmp(URI_TCP, serverURI, strlen(URI_TCP)) == 0) + serverURI += strlen(URI_TCP); + else if (strncmp(URI_MQTT, serverURI, strlen(URI_MQTT)) == 0) + serverURI += strlen(URI_MQTT); + else if (strncmp(URI_WS, serverURI, strlen(URI_WS)) == 0) + { + serverURI += strlen(URI_WS); + m->websocket = 1; + } +#if defined(OPENSSL) + else if (strncmp(URI_SSL, serverURI, strlen(URI_SSL)) == 0) + { + serverURI += strlen(URI_SSL); + m->ssl = 1; + } + else if (strncmp(URI_MQTTS, serverURI, strlen(URI_MQTTS)) == 0) + { + serverURI += strlen(URI_MQTTS); + m->ssl = 1; + } + else if (strncmp(URI_WSS, serverURI, strlen(URI_WSS)) == 0) + { + serverURI += strlen(URI_WSS); + m->ssl = 1; + m->websocket = 1; + } +#endif + if ((m->serverURI = MQTTStrdup(serverURI)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + m->responses = ListInitialize(); + ListAppend(MQTTAsync_handles, m, sizeof(MQTTAsyncs)); + + if ((m->c = malloc(sizeof(Clients))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(m->c, '\0', sizeof(Clients)); + m->c->context = m; + m->c->outboundMsgs = ListInitialize(); + m->c->inboundMsgs = ListInitialize(); + m->c->messageQueue = ListInitialize(); + m->c->outboundQueue = ListInitialize(); + m->c->clientID = MQTTStrdup(clientId); + if (m->c->context == NULL || m->c->outboundMsgs == NULL || m->c->inboundMsgs == NULL || + m->c->messageQueue == NULL || m->c->outboundQueue == NULL || m->c->clientID == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + m->c->MQTTVersion = MQTTVERSION_DEFAULT; + + m->shouldBeConnected = 0; + if (options) + { + if ((m->createOptions = malloc(sizeof(MQTTAsync_createOptions))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy(m->createOptions, options, sizeof(MQTTAsync_createOptions)); + if (options->struct_version > 0) + m->c->MQTTVersion = options->MQTTVersion; + } + +#if !defined(NO_PERSISTENCE) + rc = MQTTPersistence_create(&(m->c->persistence), persistence_type, persistence_context); + if (rc == 0) + { + rc = MQTTPersistence_initialize(m->c, m->serverURI); /* inflight messages restored here */ + if (rc == 0) + { + if (m->createOptions && m->createOptions->struct_version >= 2 && m->createOptions->restoreMessages == 0) + MQTTAsync_unpersistCommandsAndMessages(m->c); + else + { + MQTTAsync_restoreCommands(m); + MQTTPersistence_restoreMessageQueue(m->c); + } + } + } +#endif + ListAppend(bstate->clients, m->c, sizeof(Clients) + 3*sizeof(List)); + +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_create(MQTTAsync* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context) +{ + MQTTAsync_init_rand(); + + return MQTTAsync_createWithOptions(handle, serverURI, clientId, persistence_type, + persistence_context, NULL); +} + + +void MQTTAsync_destroy(MQTTAsync* handle) +{ + MQTTAsyncs* m = *handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL) + goto exit; + + MQTTAsync_closeSession(m->c, MQTTREASONCODE_SUCCESS, NULL); + + MQTTAsync_NULLPublishResponses(m); + MQTTAsync_freeResponses(m); + MQTTAsync_NULLPublishCommands(m); + MQTTAsync_freeCommands(m); + ListFree(m->responses); + + if (m->c) + { + SOCKET saved_socket = m->c->net.socket; + char* saved_clientid = MQTTStrdup(m->c->clientID); +#if !defined(NO_PERSISTENCE) + MQTTPersistence_close(m->c); +#endif + MQTTAsync_emptyMessageQueue(m->c); + MQTTProtocol_freeClient(m->c); + if (!ListRemove(bstate->clients, m->c)) + Log(LOG_ERROR, 0, NULL); + else + Log(TRACE_MIN, 1, NULL, saved_clientid, saved_socket); + free(saved_clientid); + } + + if (m->serverURI) + free(m->serverURI); + if (m->createOptions) + free(m->createOptions); + MQTTAsync_freeServerURIs(m); + if (m->connectProps) + { + MQTTProperties_free(m->connectProps); + free(m->connectProps); + m->connectProps = NULL; + } + if (m->willProps) + { + MQTTProperties_free(m->willProps); + free(m->willProps); + m->willProps = NULL; + } + if (!ListRemove(MQTTAsync_handles, m)) + Log(LOG_ERROR, -1, "free error"); + *handle = NULL; + if (bstate->clients->count == 0) + MQTTAsync_terminate(); + +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT; +} + + +int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions* options) +{ + MQTTAsyncs* m = handle; + int rc = MQTTASYNC_SUCCESS; + MQTTAsync_queuedCommand* conn; + thread_id_type thread_id = 0; + int locked = 0; + + FUNC_ENTRY; + if (options == NULL) + { + rc = MQTTASYNC_NULL_PARAMETER; + goto exit; + } + + if (strncmp(options->struct_id, "MQTC", 4) != 0 || options->struct_version < 0 || options->struct_version > 8) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + +#if defined(OPENSSL) + if (m->ssl && options->ssl == NULL) + { + rc = MQTTASYNC_NULL_PARAMETER; + goto exit; + } +#endif + + if (options->will) /* check validity of will options structure */ + { + if (strncmp(options->will->struct_id, "MQTW", 4) != 0 || (options->will->struct_version != 0 && options->will->struct_version != 1)) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + if (options->will->qos < 0 || options->will->qos > 2) + { + rc = MQTTASYNC_BAD_QOS; + goto exit; + } + if (options->will->topicName == NULL) + { + rc = MQTTASYNC_NULL_PARAMETER; + goto exit; + } else if (strlen(options->will->topicName) == 0) + { + rc = MQTTASYNC_0_LEN_WILL_TOPIC; + goto exit; + } + } + if (options->struct_version != 0 && options->ssl) /* check validity of SSL options structure */ + { + if (strncmp(options->ssl->struct_id, "MQTS", 4) != 0 || options->ssl->struct_version < 0 || options->ssl->struct_version > 5) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + } + if (options->MQTTVersion >= MQTTVERSION_5 && m->c->MQTTVersion < MQTTVERSION_5) + { + rc = MQTTASYNC_WRONG_MQTT_VERSION; + goto exit; + } + if ((options->username && !MQTT_UTF8_validateString(options->username)) || + (options->password && !MQTT_UTF8_validateString(options->password))) + { + rc = MQTTASYNC_BAD_UTF8_STRING; + goto exit; + } + if (options->MQTTVersion >= MQTTVERSION_5 && options->struct_version < 6) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + if (options->MQTTVersion >= MQTTVERSION_5 && options->cleansession != 0) + { + rc = MQTTASYNC_BAD_MQTT_OPTION; + goto exit; + } + if (options->MQTTVersion < MQTTVERSION_5 && options->struct_version >= 6) + { + if (options->cleanstart != 0 || options->onFailure5 || options->onSuccess5 || + options->connectProperties || options->willProperties) + { + rc = MQTTASYNC_BAD_MQTT_OPTION; + goto exit; + } + } + + m->connect.onSuccess = options->onSuccess; + m->connect.onFailure = options->onFailure; + if (options->struct_version >= 6) + { + m->connect.onSuccess5 = options->onSuccess5; + m->connect.onFailure5 = options->onFailure5; + } + m->connect.context = options->context; + m->connectTimeout = options->connectTimeout; + + /* don't lock async mutex if we are being called from a callback */ + thread_id = Thread_getid(); + if (thread_id != sendThread_id && thread_id != receiveThread_id) + { + MQTTAsync_lock_mutex(mqttasync_mutex); + locked = 1; + } + MQTTAsync_tostop = 0; + if (sendThread_state != STARTING && sendThread_state != RUNNING) + { + sendThread_state = STARTING; + Thread_start(MQTTAsync_sendThread, NULL); + } + if (receiveThread_state != STARTING && receiveThread_state != RUNNING) + { + receiveThread_state = STARTING; + Thread_start(MQTTAsync_receiveThread, handle); + } + if (locked) + MQTTAsync_unlock_mutex(mqttasync_mutex); + + m->c->keepAliveInterval = options->keepAliveInterval; + setRetryLoopInterval(options->keepAliveInterval); + m->c->cleansession = options->cleansession; + m->c->maxInflightMessages = options->maxInflight; + if (options->struct_version >= 3) + m->c->MQTTVersion = options->MQTTVersion; + else + m->c->MQTTVersion = MQTTVERSION_DEFAULT; + if (options->struct_version >= 4) + { + m->automaticReconnect = options->automaticReconnect; + m->minRetryInterval = options->minRetryInterval; + m->maxRetryInterval = options->maxRetryInterval; + } + if (options->struct_version >= 7) + { + m->c->net.httpHeaders = (const MQTTClient_nameValue *) options->httpHeaders; + } + if (options->struct_version >= 8) + { + if (options->httpProxy) + m->c->httpProxy = MQTTStrdup(options->httpProxy); + if (options->httpsProxy) + m->c->httpsProxy = MQTTStrdup(options->httpsProxy); + } + + if (m->c->will) + { + free(m->c->will->payload); + free(m->c->will->topic); + free(m->c->will); + m->c->will = NULL; + } + + if (options->will && (options->will->struct_version == 0 || options->will->struct_version == 1)) + { + const void* source = NULL; + + if ((m->c->will = malloc(sizeof(willMessages))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (options->will->message || (options->will->struct_version == 1 && options->will->payload.data)) + { + if (options->will->struct_version == 1 && options->will->payload.data) + { + m->c->will->payloadlen = options->will->payload.len; + source = options->will->payload.data; + } + else + { + m->c->will->payloadlen = (int)strlen(options->will->message); + source = (void*)options->will->message; + } + if ((m->c->will->payload = malloc(m->c->will->payloadlen)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy(m->c->will->payload, source, m->c->will->payloadlen); + } + else + { + m->c->will->payload = NULL; + m->c->will->payloadlen = 0; + } + m->c->will->qos = options->will->qos; + m->c->will->retained = options->will->retained; + m->c->will->topic = MQTTStrdup(options->will->topicName); + } + +#if defined(OPENSSL) + if (m->c->sslopts) + { + if (m->c->sslopts->trustStore) + free((void*)m->c->sslopts->trustStore); + if (m->c->sslopts->keyStore) + free((void*)m->c->sslopts->keyStore); + if (m->c->sslopts->privateKey) + free((void*)m->c->sslopts->privateKey); + if (m->c->sslopts->privateKeyPassword) + free((void*)m->c->sslopts->privateKeyPassword); + if (m->c->sslopts->enabledCipherSuites) + free((void*)m->c->sslopts->enabledCipherSuites); + if (m->c->sslopts->struct_version >= 2) + { + if (m->c->sslopts->CApath) + free((void*)m->c->sslopts->CApath); + } + free((void*)m->c->sslopts); + m->c->sslopts = NULL; + } + + if (options->struct_version != 0 && options->ssl) + { + if ((m->c->sslopts = malloc(sizeof(MQTTClient_SSLOptions))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(m->c->sslopts, '\0', sizeof(MQTTClient_SSLOptions)); + m->c->sslopts->struct_version = options->ssl->struct_version; + if (options->ssl->trustStore) + m->c->sslopts->trustStore = MQTTStrdup(options->ssl->trustStore); + if (options->ssl->keyStore) + m->c->sslopts->keyStore = MQTTStrdup(options->ssl->keyStore); + if (options->ssl->privateKey) + m->c->sslopts->privateKey = MQTTStrdup(options->ssl->privateKey); + if (options->ssl->privateKeyPassword) + m->c->sslopts->privateKeyPassword = MQTTStrdup(options->ssl->privateKeyPassword); + if (options->ssl->enabledCipherSuites) + m->c->sslopts->enabledCipherSuites = MQTTStrdup(options->ssl->enabledCipherSuites); + m->c->sslopts->enableServerCertAuth = options->ssl->enableServerCertAuth; + if (m->c->sslopts->struct_version >= 1) + m->c->sslopts->sslVersion = options->ssl->sslVersion; + if (m->c->sslopts->struct_version >= 2) + { + m->c->sslopts->verify = options->ssl->verify; + if (options->ssl->CApath) + m->c->sslopts->CApath = MQTTStrdup(options->ssl->CApath); + } + if (m->c->sslopts->struct_version >= 3) + { + m->c->sslopts->ssl_error_cb = options->ssl->ssl_error_cb; + m->c->sslopts->ssl_error_context = options->ssl->ssl_error_context; + } + if (m->c->sslopts->struct_version >= 4) + { + m->c->sslopts->ssl_psk_cb = options->ssl->ssl_psk_cb; + m->c->sslopts->ssl_psk_context = options->ssl->ssl_psk_context; + m->c->sslopts->disableDefaultTrustStore = options->ssl->disableDefaultTrustStore; + } + if (m->c->sslopts->struct_version >= 5) + { + if (options->ssl->protos) + m->c->sslopts->protos = (const unsigned char*)MQTTStrdup((const char*)options->ssl->protos); + m->c->sslopts->protos_len = options->ssl->protos_len; + } + } +#else + if (options->struct_version != 0 && options->ssl) + { + rc = MQTTASYNC_SSL_NOT_SUPPORTED; + goto exit; + } +#endif + + if (m->c->username) + { + free((void*)m->c->username); + m->c->username = NULL; + } + if (options->username) + m->c->username = MQTTStrdup(options->username); + if (m->c->password) + { + free((void*)m->c->password); + m->c->password = NULL; + } + if (options->password) + { + m->c->password = MQTTStrdup(options->password); + m->c->passwordlen = (int)strlen(options->password); + } + else if (options->struct_version >= 5 && options->binarypwd.data) + { + m->c->passwordlen = options->binarypwd.len; + if ((m->c->password = malloc(m->c->passwordlen)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy((void*)m->c->password, options->binarypwd.data, m->c->passwordlen); + } + + m->c->retryInterval = options->retryInterval; + m->shouldBeConnected = 1; + + m->connectTimeout = options->connectTimeout; + + MQTTAsync_freeServerURIs(m); + if (options->struct_version >= 2 && options->serverURIcount > 0) + { + int i; + + m->serverURIcount = options->serverURIcount; + if ((m->serverURIs = malloc(options->serverURIcount * sizeof(char*))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + for (i = 0; i < options->serverURIcount; ++i) + m->serverURIs[i] = MQTTStrdup(options->serverURIs[i]); + } + + if (m->connectProps) + { + MQTTProperties_free(m->connectProps); + free(m->connectProps); + m->connectProps = NULL; + } + if (m->willProps) + { + MQTTProperties_free(m->willProps); + free(m->willProps); + m->willProps = NULL; + } + if (options->struct_version >=6) + { + if (options->connectProperties) + { + MQTTProperties initialized = MQTTProperties_initializer; + + if ((m->connectProps = malloc(sizeof(MQTTProperties))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + *m->connectProps = initialized; + *m->connectProps = MQTTProperties_copy(options->connectProperties); + + if (MQTTProperties_hasProperty(options->connectProperties, MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL)) + m->c->sessionExpiry = MQTTProperties_getNumericValue(options->connectProperties, + MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL); + + } + if (options->willProperties) + { + MQTTProperties initialized = MQTTProperties_initializer; + + if ((m->willProps = malloc(sizeof(MQTTProperties))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + *m->willProps = initialized; + *m->willProps = MQTTProperties_copy(options->willProperties); + } + m->c->cleanstart = options->cleanstart; + } + + /* Add connect request to operation queue */ + if ((conn = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(conn, '\0', sizeof(MQTTAsync_queuedCommand)); + conn->client = m; + if (options) + { + conn->command.onSuccess = options->onSuccess; + conn->command.onFailure = options->onFailure; + conn->command.onSuccess5 = options->onSuccess5; + conn->command.onFailure5 = options->onFailure5; + conn->command.context = options->context; + } + conn->command.type = CONNECT; + conn->command.details.conn.currentURI = 0; + rc = MQTTAsync_addCommand(conn, sizeof(conn)); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_reconnect(MQTTAsync handle) +{ + int rc = MQTTASYNC_FAILURE; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m->automaticReconnect) + { + if (m->shouldBeConnected) + { + m->reconnectNow = 1; + m->currentIntervalBase = m->minRetryInterval; + m->currentInterval = m->minRetryInterval; + m->retrying = 1; + rc = MQTTASYNC_SUCCESS; + } + } + else + { + /* to reconnect, put the connect command to the head of the command queue */ + MQTTAsync_queuedCommand* conn = malloc(sizeof(MQTTAsync_queuedCommand)); + if (!conn) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(conn, '\0', sizeof(MQTTAsync_queuedCommand)); + conn->client = m; + conn->command = m->connect; + /* make sure that the version attempts are restarted */ + if (m->c->MQTTVersion == MQTTVERSION_DEFAULT) + conn->command.details.conn.MQTTVersion = 0; + rc = MQTTAsync_addCommand(conn, sizeof(m->connect)); + } + +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char* const* topic, const int* qos, MQTTAsync_responseOptions* response) +{ + MQTTAsyncs* m = handle; + int i = 0; + int rc = MQTTASYNC_SUCCESS; + MQTTAsync_queuedCommand* sub; + int msgid = 0; + + FUNC_ENTRY; + if (m == NULL || m->c == NULL) + rc = MQTTASYNC_FAILURE; + else if (m->c->connected == 0) + rc = MQTTASYNC_DISCONNECTED; + else for (i = 0; i < count; i++) + { + if (!MQTT_UTF8_validateString(topic[i])) + { + rc = MQTTASYNC_BAD_UTF8_STRING; + break; + } + if (qos[i] < 0 || qos[i] > 2) + { + rc = MQTTASYNC_BAD_QOS; + break; + } + } + if (rc != MQTTASYNC_SUCCESS) + ; /* don't overwrite a previous error code */ + else if ((msgid = MQTTAsync_assignMsgId(m)) == 0) + rc = MQTTASYNC_NO_MORE_MSGIDS; + else if (m->c->MQTTVersion >= MQTTVERSION_5 && count > 1 && (count != response->subscribeOptionsCount + && response->subscribeOptionsCount != 0)) + rc = MQTTASYNC_BAD_MQTT_OPTION; + else if (response) + { + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + if (response->struct_version == 0 || response->onFailure || response->onSuccess) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + else if (m->c->MQTTVersion < MQTTVERSION_5) + { + if (response->struct_version >= 1 && (response->onFailure5 || response->onSuccess5)) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + } + if (rc != MQTTASYNC_SUCCESS) + goto exit; + + /* Add subscribe request to operation queue */ + if ((sub = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(sub, '\0', sizeof(MQTTAsync_queuedCommand)); + sub->client = m; + sub->command.token = msgid; + if (response) + { + sub->command.onSuccess = response->onSuccess; + sub->command.onFailure = response->onFailure; + sub->command.onSuccess5 = response->onSuccess5; + sub->command.onFailure5 = response->onFailure5; + sub->command.context = response->context; + response->token = sub->command.token; + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + sub->command.properties = MQTTProperties_copy(&response->properties); + sub->command.details.sub.opts = response->subscribeOptions; + if (count > 1) + { + if ((sub->command.details.sub.optlist = malloc(sizeof(MQTTSubscribe_options) * count)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (response->subscribeOptionsCount == 0) + { + MQTTSubscribe_options initialized = MQTTSubscribe_options_initializer; + for (i = 0; i < count; ++i) + sub->command.details.sub.optlist[i] = initialized; + } + else + { + for (i = 0; i < count; ++i) + sub->command.details.sub.optlist[i] = response->subscribeOptionsList[i]; + } + } + } + } + sub->command.type = SUBSCRIBE; + sub->command.details.sub.count = count; + sub->command.details.sub.topics = malloc(sizeof(char*) * count); + sub->command.details.sub.qoss = malloc(sizeof(int) * count); + if (sub->command.details.sub.topics && sub->command.details.sub.qoss) + { + for (i = 0; i < count; ++i) + { + if ((sub->command.details.sub.topics[i] = MQTTStrdup(topic[i])) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + sub->command.details.sub.qoss[i] = qos[i]; + } + rc = MQTTAsync_addCommand(sub, sizeof(sub)); + } + else + rc = PAHO_MEMORY_ERROR; + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_subscribe(MQTTAsync handle, const char* topic, int qos, MQTTAsync_responseOptions* response) +{ + int rc = 0; + FUNC_ENTRY; + rc = MQTTAsync_subscribeMany(handle, 1, (char * const *)(&topic), &qos, response); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char* const* topic, MQTTAsync_responseOptions* response) +{ + MQTTAsyncs* m = handle; + int i = 0; + int rc = MQTTASYNC_SUCCESS; + MQTTAsync_queuedCommand* unsub; + int msgid = 0; + + FUNC_ENTRY; + if (m == NULL || m->c == NULL) + rc = MQTTASYNC_FAILURE; + else if (m->c->connected == 0) + rc = MQTTASYNC_DISCONNECTED; + else for (i = 0; i < count; i++) + { + if (!MQTT_UTF8_validateString(topic[i])) + { + rc = MQTTASYNC_BAD_UTF8_STRING; + break; + } + } + if (rc != MQTTASYNC_SUCCESS) + ; /* don't overwrite a previous error code */ + else if ((msgid = MQTTAsync_assignMsgId(m)) == 0) + rc = MQTTASYNC_NO_MORE_MSGIDS; + else if (response) + { + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + if (response->struct_version == 0 || response->onFailure || response->onSuccess) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + else if (m->c->MQTTVersion < MQTTVERSION_5) + { + if (response->struct_version >= 1 && (response->onFailure5 || response->onSuccess5)) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + } + if (rc != MQTTASYNC_SUCCESS) + goto exit; + + /* Add unsubscribe request to operation queue */ + if ((unsub = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(unsub, '\0', sizeof(MQTTAsync_queuedCommand)); + unsub->client = m; + unsub->command.type = UNSUBSCRIBE; + unsub->command.token = msgid; + if (response) + { + unsub->command.onSuccess = response->onSuccess; + unsub->command.onFailure = response->onFailure; + unsub->command.onSuccess5 = response->onSuccess5; + unsub->command.onFailure5 = response->onFailure5; + unsub->command.context = response->context; + response->token = unsub->command.token; + if (m->c->MQTTVersion >= MQTTVERSION_5) + unsub->command.properties = MQTTProperties_copy(&response->properties); + } + unsub->command.details.unsub.count = count; + if ((unsub->command.details.unsub.topics = malloc(sizeof(char*) * count)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + for (i = 0; i < count; ++i) + unsub->command.details.unsub.topics[i] = MQTTStrdup(topic[i]); + rc = MQTTAsync_addCommand(unsub, sizeof(unsub)); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_unsubscribe(MQTTAsync handle, const char* topic, MQTTAsync_responseOptions* response) +{ + int rc = 0; + FUNC_ENTRY; + rc = MQTTAsync_unsubscribeMany(handle, 1, (char * const *)(&topic), response); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_send(MQTTAsync handle, const char* destinationName, int payloadlen, const void* payload, + int qos, int retained, MQTTAsync_responseOptions* response) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + MQTTAsync_queuedCommand* pub; + int msgid = 0; + + FUNC_ENTRY; + if (m == NULL || m->c == NULL) + rc = MQTTASYNC_FAILURE; + else if (m->c->connected == 0) + { + if (m->createOptions == NULL) + rc = MQTTASYNC_DISCONNECTED; + else if (m->createOptions->sendWhileDisconnected == 0) + rc = MQTTASYNC_DISCONNECTED; + else if (m->shouldBeConnected == 0 && (m->createOptions->struct_version < 2 || m->createOptions->allowDisconnectedSendAtAnyTime == 0)) + rc = MQTTASYNC_DISCONNECTED; + } + + if (rc != MQTTASYNC_SUCCESS) + goto exit; + + if (!MQTT_UTF8_validateString(destinationName)) + rc = MQTTASYNC_BAD_UTF8_STRING; + else if (qos < 0 || qos > 2) + rc = MQTTASYNC_BAD_QOS; + else if (qos > 0 && (msgid = MQTTAsync_assignMsgId(m)) == 0) + rc = MQTTASYNC_NO_MORE_MSGIDS; + else if (m->createOptions && + (m->createOptions->struct_version < 2 || m->createOptions->deleteOldestMessages == 0) && + (MQTTAsync_getNoBufferedMessages(m) >= m->createOptions->maxBufferedMessages)) + rc = MQTTASYNC_MAX_BUFFERED_MESSAGES; + else if (response) + { + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + if (response->struct_version == 0 || response->onFailure || response->onSuccess) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + else if (m->c->MQTTVersion < MQTTVERSION_5) + { + if (response->struct_version >= 1 && (response->onFailure5 || response->onSuccess5)) + rc = MQTTASYNC_BAD_MQTT_OPTION; + } + } + + if (rc != MQTTASYNC_SUCCESS) + goto exit; + + /* Add publish request to operation queue */ + if ((pub = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(pub, '\0', sizeof(MQTTAsync_queuedCommand)); + pub->client = m; + pub->command.type = PUBLISH; + pub->command.token = msgid; + if (response) + { + pub->command.onSuccess = response->onSuccess; + pub->command.onFailure = response->onFailure; + pub->command.onSuccess5 = response->onSuccess5; + pub->command.onFailure5 = response->onFailure5; + pub->command.context = response->context; + response->token = pub->command.token; + if (m->c->MQTTVersion >= MQTTVERSION_5) + pub->command.properties = MQTTProperties_copy(&response->properties); + } + if ((pub->command.details.pub.destinationName = MQTTStrdup(destinationName)) == NULL) + { + free(pub); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + pub->command.details.pub.payloadlen = payloadlen; + if ((pub->command.details.pub.payload = malloc(payloadlen)) == NULL) + { + free(pub->command.details.pub.destinationName); + free(pub); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy(pub->command.details.pub.payload, payload, payloadlen); + pub->command.details.pub.qos = qos; + pub->command.details.pub.retained = retained; + rc = MQTTAsync_addCommand(pub, sizeof(pub)); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_sendMessage(MQTTAsync handle, const char* destinationName, const MQTTAsync_message* message, + MQTTAsync_responseOptions* response) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + if (message == NULL) + { + rc = MQTTASYNC_NULL_PARAMETER; + goto exit; + } + if (strncmp(message->struct_id, "MQTM", 4) != 0 || + (message->struct_version != 0 && message->struct_version != 1)) + { + rc = MQTTASYNC_BAD_STRUCTURE; + goto exit; + } + + if (m->c->MQTTVersion >= MQTTVERSION_5 && response) + response->properties = message->properties; + + rc = MQTTAsync_send(handle, destinationName, message->payloadlen, message->payload, + message->qos, message->retained, response); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions* options) +{ + if (options != NULL && (strncmp(options->struct_id, "MQTD", 4) != 0 || options->struct_version < 0 || options->struct_version > 1)) + return MQTTASYNC_BAD_STRUCTURE; + else + return MQTTAsync_disconnect1(handle, options, 0); +} + + +int MQTTAsync_isConnected(MQTTAsync handle) +{ + MQTTAsyncs* m = handle; + int rc = 0; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + if (m && m->c) + rc = m->c->connected; + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token dt) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + ListElement* current = NULL; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL) + { + rc = MQTTASYNC_FAILURE; + goto exit; + } + + /* First check unprocessed commands */ + current = NULL; + while (ListNextElement(MQTTAsync_commands, ¤t)) + { + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)(current->content); + + if (cmd->client == m && cmd->command.token == dt) + goto exit; + } + + /* Now check the inflight messages */ + if (m->c && m->c->outboundMsgs->count > 0) + { + current = NULL; + while (ListNextElement(m->c->outboundMsgs, ¤t)) + { + Messages* m_t = (Messages*)(current->content); + if (m_t->msgid == dt) + goto exit; + } + } + rc = MQTTASYNC_TRUE; /* Can't find it, so it must be complete */ + +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token dt, unsigned long timeout) +{ + int rc = MQTTASYNC_FAILURE; + START_TIME_TYPE start = MQTTTime_start_clock(); + ELAPSED_TIME_TYPE elapsed = 0L; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || m->c == NULL) + { + MQTTAsync_unlock_mutex(mqttasync_mutex); + rc = MQTTASYNC_FAILURE; + goto exit; + } + if (m->c->connected == 0) + { + MQTTAsync_unlock_mutex(mqttasync_mutex); + rc = MQTTASYNC_DISCONNECTED; + goto exit; + } + MQTTAsync_unlock_mutex(mqttasync_mutex); + + if (MQTTAsync_isComplete(handle, dt) == 1) + { + rc = MQTTASYNC_SUCCESS; /* well we couldn't find it */ + goto exit; + } + + elapsed = MQTTTime_elapsed(start); + while (elapsed < timeout && rc == MQTTASYNC_FAILURE) + { + MQTTTime_sleep(100); + if (MQTTAsync_isComplete(handle, dt) == 1) + rc = MQTTASYNC_SUCCESS; /* well we couldn't find it */ + MQTTAsync_lock_mutex(mqttasync_mutex); + if (m->c->connected == 0) + rc = MQTTASYNC_DISCONNECTED; + MQTTAsync_unlock_mutex(mqttasync_mutex); + elapsed = MQTTTime_elapsed(start); + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + ListElement* current = NULL; + int count = 0; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + MQTTAsync_lock_mutex(mqttcommand_mutex); + *tokens = NULL; + + if (m == NULL) + { + rc = MQTTASYNC_FAILURE; + goto exit; + } + + /* calculate the number of pending tokens - commands plus inflight */ + while (ListNextElement(MQTTAsync_commands, ¤t)) + { + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)(current->content); + + if (cmd->client == m && cmd->command.type == PUBLISH) + count++; + } + if (m->c) + count += m->c->outboundMsgs->count; + if (count == 0) + goto exit; /* no tokens to return */ + *tokens = malloc(sizeof(MQTTAsync_token) * (count + 1)); /* add space for sentinel at end of list */ + if (!*tokens) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + /* First add the unprocessed commands to the pending tokens */ + current = NULL; + count = 0; + while (ListNextElement(MQTTAsync_commands, ¤t)) + { + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)(current->content); + + if (cmd->client == m && cmd->command.type == PUBLISH) + (*tokens)[count++] = cmd->command.token; + } + + /* Now add the inflight messages */ + if (m->c && m->c->outboundMsgs->count > 0) + { + current = NULL; + while (ListNextElement(m->c->outboundMsgs, ¤t)) + { + Messages* m_t = (Messages*)(current->content); + (*tokens)[count++] = m_t->msgid; + } + } + (*tokens)[count] = -1; /* indicate end of list */ + +exit: + MQTTAsync_unlock_mutex(mqttcommand_mutex); + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setCallbacks(MQTTAsync handle, void* context, + MQTTAsync_connectionLost* cl, + MQTTAsync_messageArrived* ma, + MQTTAsync_deliveryComplete* dc) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || ma == NULL || m->c == NULL || m->c->connect_state != NOT_IN_PROGRESS) + rc = MQTTASYNC_FAILURE; + else + { + m->clContext = m->maContext = m->dcContext = context; + m->cl = cl; + m->ma = ma; + m->dc = dc; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + +int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void* context, + MQTTAsync_connectionLost* cl) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || m->c->connect_state != 0) + rc = MQTTASYNC_FAILURE; + else + { + m->clContext = context; + m->cl = cl; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void* context, + MQTTAsync_messageArrived* ma) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || ma == NULL || m->c->connect_state != 0) + rc = MQTTASYNC_FAILURE; + else + { + m->maContext = context; + m->ma = ma; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + +int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void* context, + MQTTAsync_deliveryComplete* dc) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || m->c->connect_state != 0) + rc = MQTTASYNC_FAILURE; + else + { + m->dcContext = context; + m->dc = dc; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setDisconnected(MQTTAsync handle, void* context, MQTTAsync_disconnected* disconnected) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || m->c->connect_state != NOT_IN_PROGRESS) + rc = MQTTASYNC_FAILURE; + else + { + m->disconnected_context = context; + m->disconnected = disconnected; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setConnected(MQTTAsync handle, void* context, MQTTAsync_connected* connected) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL || m->c->connect_state != NOT_IN_PROGRESS) + rc = MQTTASYNC_FAILURE; + else + { + m->connected_context = context; + m->connected = connected; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setUpdateConnectOptions(MQTTAsync handle, void* context, MQTTAsync_updateConnectOptions* updateOptions) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL) + rc = MQTTASYNC_FAILURE; + else + { + m->updateConnectOptions_context = context; + m->updateConnectOptions = updateOptions; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setBeforePersistenceWrite(MQTTAsync handle, void* context, MQTTPersistence_beforeWrite* co) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL) + rc = MQTTASYNC_FAILURE; + else + { + m->c->beforeWrite = co; + m->c->beforeWrite_context = context; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_setAfterPersistenceRead(MQTTAsync handle, void* context, MQTTPersistence_afterRead* co) +{ + int rc = MQTTASYNC_SUCCESS; + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + + if (m == NULL) + rc = MQTTASYNC_FAILURE; + else + { + m->c->afterRead = co; + m->c->afterRead_context = context; + } + + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(rc); + return rc; +} + + +void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level) +{ + Log_setTraceLevel((enum LOG_LEVELS)level); +} + + +void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback* callback) +{ + Log_setTraceCallback((Log_traceCallback*)callback); +} + + +MQTTAsync_nameValue* MQTTAsync_getVersionInfo(void) +{ + #define MAX_INFO_STRINGS 8 + static MQTTAsync_nameValue libinfo[MAX_INFO_STRINGS + 1]; + int i = 0; + + libinfo[i].name = "Product name"; + libinfo[i++].value = "Eclipse Paho Asynchronous MQTT C Client Library"; + + libinfo[i].name = "Version"; + libinfo[i++].value = CLIENT_VERSION; + + libinfo[i].name = "Build level"; + libinfo[i++].value = BUILD_TIMESTAMP; +#if defined(OPENSSL) + libinfo[i].name = "OpenSSL version"; + libinfo[i++].value = SSLeay_version(SSLEAY_VERSION); + + libinfo[i].name = "OpenSSL flags"; + libinfo[i++].value = SSLeay_version(SSLEAY_CFLAGS); + + libinfo[i].name = "OpenSSL build timestamp"; + libinfo[i++].value = SSLeay_version(SSLEAY_BUILT_ON); + + libinfo[i].name = "OpenSSL platform"; + libinfo[i++].value = SSLeay_version(SSLEAY_PLATFORM); + + libinfo[i].name = "OpenSSL directory"; + libinfo[i++].value = SSLeay_version(SSLEAY_DIR); +#endif + libinfo[i].name = NULL; + libinfo[i].value = NULL; + return libinfo; +} + +const char* MQTTAsync_strerror(int code) +{ + static char buf[30]; + int chars = 0; + + switch (code) { + case MQTTASYNC_SUCCESS: + return "Success"; + case MQTTASYNC_FAILURE: + return "Failure"; + case MQTTASYNC_PERSISTENCE_ERROR: + return "Persistence error"; + case MQTTASYNC_DISCONNECTED: + return "Disconnected"; + case MQTTASYNC_MAX_MESSAGES_INFLIGHT: + return "Maximum in-flight messages amount reached"; + case MQTTASYNC_BAD_UTF8_STRING: + return "Invalid UTF8 string"; + case MQTTASYNC_NULL_PARAMETER: + return "Invalid (NULL) parameter"; + case MQTTASYNC_TOPICNAME_TRUNCATED: + return "Topic containing NULL characters has been truncated"; + case MQTTASYNC_BAD_STRUCTURE: + return "Bad structure"; + case MQTTASYNC_BAD_QOS: + return "Invalid QoS value"; + case MQTTASYNC_NO_MORE_MSGIDS: + return "Too many pending commands"; + case MQTTASYNC_OPERATION_INCOMPLETE: + return "Operation discarded before completion"; + case MQTTASYNC_MAX_BUFFERED_MESSAGES: + return "No more messages can be buffered"; + case MQTTASYNC_SSL_NOT_SUPPORTED: + return "SSL is not supported"; + case MQTTASYNC_BAD_PROTOCOL: + return "Invalid protocol scheme"; + case MQTTASYNC_BAD_MQTT_OPTION: + return "Options for wrong MQTT version"; + case MQTTASYNC_WRONG_MQTT_VERSION: + return "Client created for another version of MQTT"; + case MQTTASYNC_0_LEN_WILL_TOPIC: + return "Zero length will topic on connect"; + case MQTTASYNC_COMMAND_IGNORED: + return "Connect or disconnect command ignored"; + case MQTTASYNC_MAX_BUFFERED: + return "maxBufferedMessages in the connect options must be >= 0"; + } + + chars = snprintf(buf, sizeof(buf), "Unknown error code %d", code); + if (chars >= sizeof(buf)) + { + buf[sizeof(buf)-1] = '\0'; + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + } + return buf; +} + + +void MQTTAsync_freeMessage(MQTTAsync_message** message) +{ + FUNC_ENTRY; + MQTTProperties_free(&(*message)->properties); + free((*message)->payload); + free(*message); + *message = NULL; + FUNC_EXIT; +} + + +void MQTTAsync_free(void* memory) +{ + FUNC_ENTRY; + free(memory); + FUNC_EXIT; +} + + +void* MQTTAsync_malloc(size_t size) +{ + void* val; + int rc = 0; + + FUNC_ENTRY; + val = malloc(size); + rc = (val != NULL); + FUNC_EXIT_RC(rc); + return val; +} + + +static void MQTTAsync_freeServerURIs(MQTTAsyncs* m) +{ + int i; + + for (i = 0; i < m->serverURIcount; ++i) + free(m->serverURIs[i]); + m->serverURIcount = 0; + if (m->serverURIs) + free(m->serverURIs); + m->serverURIs = NULL; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.h new file mode 100644 index 0000000..f5516bc --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsync.h @@ -0,0 +1,2302 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +/* +/// @cond EXCLUDE +*/ +#if !defined(MQTTASYNC_H) +#define MQTTASYNC_H + +#if defined(__cplusplus) + extern "C" { +#endif + +#include +/* +/// @endcond +*/ + +#include "MQTTExportDeclarations.h" + +#include "MQTTProperties.h" +#include "MQTTReasonCodes.h" +#include "MQTTSubscribeOpts.h" +#if !defined(NO_PERSISTENCE) +#include "MQTTClientPersistence.h" +#endif + +/** + * Return code: No error. Indicates successful completion of an MQTT client + * operation. + */ +#define MQTTASYNC_SUCCESS 0 +/** + * Return code: A generic error code indicating the failure of an MQTT client + * operation. + */ +#define MQTTASYNC_FAILURE -1 + +/* error code -2 is MQTTAsync_PERSISTENCE_ERROR */ + +#define MQTTASYNC_PERSISTENCE_ERROR -2 + +/** + * Return code: The client is disconnected. + */ +#define MQTTASYNC_DISCONNECTED -3 +/** + * Return code: The maximum number of messages allowed to be simultaneously + * in-flight has been reached. + */ +#define MQTTASYNC_MAX_MESSAGES_INFLIGHT -4 +/** + * Return code: An invalid UTF-8 string has been detected. + */ +#define MQTTASYNC_BAD_UTF8_STRING -5 +/** + * Return code: A NULL parameter has been supplied when this is invalid. + */ +#define MQTTASYNC_NULL_PARAMETER -6 +/** + * Return code: The topic has been truncated (the topic string includes + * embedded NULL characters). String functions will not access the full topic. + * Use the topic length value to access the full topic. + */ +#define MQTTASYNC_TOPICNAME_TRUNCATED -7 +/** + * Return code: A structure parameter does not have the correct eyecatcher + * and version number. + */ +#define MQTTASYNC_BAD_STRUCTURE -8 +/** + * Return code: A qos parameter is not 0, 1 or 2 + */ +#define MQTTASYNC_BAD_QOS -9 +/** + * Return code: All 65535 MQTT msgids are being used + */ +#define MQTTASYNC_NO_MORE_MSGIDS -10 +/** + * Return code: the request is being discarded when not complete + */ +#define MQTTASYNC_OPERATION_INCOMPLETE -11 +/** + * Return code: no more messages can be buffered + */ +#define MQTTASYNC_MAX_BUFFERED_MESSAGES -12 +/** + * Return code: Attempting SSL connection using non-SSL version of library + */ +#define MQTTASYNC_SSL_NOT_SUPPORTED -13 +/** + * Return code: protocol prefix in serverURI should be: + * @li @em tcp:// or @em mqtt:// - Insecure TCP + * @li @em ssl:// or @em mqtts:// - Encrypted SSL/TLS + * @li @em ws:// - Insecure websockets + * @li @em wss:// - Secure web sockets + * + * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if the TLS + * version of the library is linked with. + */ +#define MQTTASYNC_BAD_PROTOCOL -14 +/** + * Return code: don't use options for another version of MQTT + */ +#define MQTTASYNC_BAD_MQTT_OPTION -15 +/** + * Return code: call not applicable to the client's version of MQTT + */ +#define MQTTASYNC_WRONG_MQTT_VERSION -16 +/** + * Return code: 0 length will topic + */ +#define MQTTASYNC_0_LEN_WILL_TOPIC -17 +/* + * Return code: connect or disconnect command ignored because there is already a connect or disconnect + * command at the head of the list waiting to be processed. Use the onSuccess/onFailure callbacks to wait + * for the previous connect or disconnect command to be complete. + */ +#define MQTTASYNC_COMMAND_IGNORED -18 + /* + * Return code: maxBufferedMessages in the connect options must be >= 0 + */ + #define MQTTASYNC_MAX_BUFFERED -19 + +/** + * Default MQTT version to connect with. Use 3.1.1 then fall back to 3.1 + */ +#define MQTTVERSION_DEFAULT 0 +/** + * MQTT version to connect with: 3.1 + */ +#define MQTTVERSION_3_1 3 +/** + * MQTT version to connect with: 3.1.1 + */ +#define MQTTVERSION_3_1_1 4 +/** + * MQTT version to connect with: 5 + */ +#define MQTTVERSION_5 5 +/** + * Bad return code from subscribe, as defined in the 3.1.1 specification + */ +#define MQTT_BAD_SUBSCRIBE 0x80 + + +/** + * Initialization options + */ +typedef struct +{ + /** The eyecatcher for this structure. Must be MQTG. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 */ + int struct_version; + /** 1 = we do openssl init, 0 = leave it to the application */ + int do_openssl_init; +} MQTTAsync_init_options; + +#define MQTTAsync_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 } + +/** + * Global init of mqtt library. Call once on program start to set global behaviour. + * handle_openssl_init - if mqtt library should handle openssl init (1) or rely on the caller to init it before using mqtt (0) + */ +LIBMQTT_API void MQTTAsync_global_init(MQTTAsync_init_options* inits); + +/** + * A handle representing an MQTT client. A valid client handle is available + * following a successful call to MQTTAsync_create(). + */ +typedef void* MQTTAsync; +/** + * A value representing an MQTT message. A token is returned to the + * client application when a message is published. The token can then be used to + * check that the message was successfully delivered to its destination (see + * MQTTAsync_publish(), + * MQTTAsync_publishMessage(), + * MQTTAsync_deliveryComplete(), and + * MQTTAsync_getPendingTokens()). + */ +typedef int MQTTAsync_token; + +/** + * A structure representing the payload and attributes of an MQTT message. The + * message topic is not part of this structure (see MQTTAsync_publishMessage(), + * MQTTAsync_publish(), MQTTAsync_receive(), MQTTAsync_freeMessage() + * and MQTTAsync_messageArrived()). + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTM. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1. + * 0 indicates no message properties */ + int struct_version; + /** The length of the MQTT message payload in bytes. */ + int payloadlen; + /** A pointer to the payload of the MQTT message. */ + void* payload; + /** + * The quality of service (QoS) assigned to the message. + * There are three levels of QoS: + *
+ *
QoS0
+ *
Fire and forget - the message may not be delivered
+ *
QoS1
+ *
At least once - the message will be delivered, but may be + * delivered more than once in some circumstances.
+ *
QoS2
+ *
Once and one only - the message will be delivered exactly once.
+ *
+ */ + int qos; + /** + * The retained flag serves two purposes depending on whether the message + * it is associated with is being published or received. + * + * retained = true
+ * For messages being published, a true setting indicates that the MQTT + * server should retain a copy of the message. The message will then be + * transmitted to new subscribers to a topic that matches the message topic. + * For subscribers registering a new subscription, the flag being true + * indicates that the received message is not a new one, but one that has + * been retained by the MQTT server. + * + * retained = false
+ * For publishers, this indicates that this message should not be retained + * by the MQTT server. For subscribers, a false setting indicates this is + * a normal message, received as a result of it being published to the + * server. + */ + int retained; + /** + * The dup flag indicates whether or not this message is a duplicate. + * It is only meaningful when receiving QoS1 messages. When true, the + * client application should take appropriate action to deal with the + * duplicate message. This is an output parameter only. + */ + int dup; + /** The message identifier is reserved for internal use by the + * MQTT client and server. It is an output parameter only - writing + * to it will serve no purpose. It contains the MQTT message id of + * an incoming publish message. + */ + int msgid; + /** + * The MQTT V5 properties associated with the message. + */ + MQTTProperties properties; +} MQTTAsync_message; + +#define MQTTAsync_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer } + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * receipt of messages. The function is registered with the client library by + * passing it as an argument to MQTTAsync_setCallbacks(). It is + * called by the client library when a new message that matches a client + * subscription has been received from the server. This function is executed on + * a separate thread to the one on which the client application is running. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * MQTTAsync_setCallbacks(), which contains any application-specific context. + * @param topicName The topic associated with the received message. + * @param topicLen The length of the topic if there are one + * more NULL characters embedded in topicName, otherwise topicLen + * is 0. If topicLen is 0, the value returned by strlen(topicName) + * can be trusted. If topicLen is greater than 0, the full topic name + * can be retrieved by accessing topicName as a byte array of length + * topicLen. + * @param message The MQTTAsync_message structure for the received message. + * This structure contains the message payload and attributes. + * @return This function must return 0 or 1 indicating whether or not + * the message has been safely received by the client application.
+ * Returning 1 indicates that the message has been successfully handled. + * To free the message storage, ::MQTTAsync_freeMessage must be called. + * To free the topic name storage, ::MQTTAsync_free must be called.
+ * Returning 0 indicates that there was a problem. In this + * case, the client library will reinvoke MQTTAsync_messageArrived() to + * attempt to deliver the message to the application again. + * Do not free the message and topic storage when returning 0, otherwise + * the redelivery will fail. + */ +typedef int MQTTAsync_messageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* message); + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of delivery of messages to the server. The function is + * registered with the client library by passing it as an argument to MQTTAsync_setCallbacks(). + * It is called by the client library after the client application has + * published a message to the server. It indicates that the necessary + * handshaking and acknowledgements for the requested quality of service (see + * MQTTAsync_message.qos) have been completed. This function is executed on a + * separate thread to the one on which the client application is running. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * MQTTAsync_setCallbacks(), which contains any application-specific context. + * @param token The ::MQTTAsync_token associated with + * the published message. Applications can check that all messages have been + * correctly published by matching the tokens returned from calls to + * MQTTAsync_send() and MQTTAsync_sendMessage() with the tokens passed + * to this callback. + */ +typedef void MQTTAsync_deliveryComplete(void* context, MQTTAsync_token token); + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of the loss of connection to the server. The function is + * registered with the client library by passing it as an argument to + * MQTTAsync_setCallbacks(). It is called by the client library if the client + * loses its connection to the server. The client application must take + * appropriate action, such as trying to reconnect or reporting the problem. + * This function is executed on a separate thread to the one on which the + * client application is running. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * MQTTAsync_setCallbacks(), which contains any application-specific context. + * @param cause The reason for the disconnection. + * Currently, cause is always set to NULL. + */ +typedef void MQTTAsync_connectionLost(void* context, char* cause); + + +/** + * This is a callback function, which will be called when the client + * library successfully connects. This is superfluous when the connection + * is made in response to a MQTTAsync_connect call, because the onSuccess + * callback can be used. It is intended for use when automatic reconnect + * is enabled, so that when a reconnection attempt succeeds in the background, + * the application is notified and can take any required actions. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * MQTTAsync_setCallbacks(), which contains any application-specific context. + * @param cause The reason for the disconnection. + * Currently, cause is always set to NULL. + */ +typedef void MQTTAsync_connected(void* context, char* cause); + +/** + * This is a callback function, which will be called when the client + * library receives a disconnect packet from the server. This applies to MQTT V5 and above only. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * MQTTAsync_setCallbacks(), which contains any application-specific context. + * @param properties the properties in the disconnect packet. + * @param properties the reason code from the disconnect packet + * Currently, cause is always set to NULL. + */ +typedef void MQTTAsync_disconnected(void* context, MQTTProperties* properties, + enum MQTTReasonCodes reasonCode); + +/** + * Sets the MQTTAsync_disconnected() callback function for a client. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTAsync_connected() callback + * function. NULL removes the callback setting. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_setDisconnected(MQTTAsync handle, void* context, MQTTAsync_disconnected* co); + +/** The connect options that can be updated before an automatic reconnect. */ +typedef struct +{ + /** The eyecatcher for this structure. Will be MQCD. */ + char struct_id[4]; + /** The version number of this structure. Will be 0 */ + int struct_version; + /** + * MQTT servers that support the MQTT v3.1 protocol provide authentication + * and authorisation by user name and password. This is the user name parameter. + * Set data to NULL to remove. To change, allocate new + * storage with ::MQTTAsync_allocate - this will then be free later by the library. + */ + const char* username; + /** + * The password parameter of the MQTT authentication. + * Set data to NULL to remove. To change, allocate new + * storage with ::MQTTAsync_allocate - this will then be free later by the library. + */ + struct { + int len; /**< binary password length */ + const void* data; /**< binary password data */ + } binarypwd; +} MQTTAsync_connectData; + +#define MQTTAsync_connectData_initializer {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}} + +/** + * This is a callback function which will allow the client application to update the + * connection data. + * @param data The connection data which can be modified by the application. + * @return Return a non-zero value to update the connect data, zero to keep the same data. + */ +typedef int MQTTAsync_updateConnectOptions(void* context, MQTTAsync_connectData* data); + +/** + * Sets the MQTTAsync_updateConnectOptions() callback function for a client. + * @param handle A valid client handle from a successful call to MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTAsync_updateConnectOptions() callback + * function. NULL removes the callback setting. + */ +LIBMQTT_API int MQTTAsync_setUpdateConnectOptions(MQTTAsync handle, void* context, MQTTAsync_updateConnectOptions* co); + +/** + * Sets the MQTTPersistence_beforeWrite() callback function for a client. + * @param handle A valid client handle from a successful call to MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to the callback function to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTPersistence_beforeWrite() callback + * function. NULL removes the callback setting. + */ +LIBMQTT_API int MQTTAsync_setBeforePersistenceWrite(MQTTAsync handle, void* context, MQTTPersistence_beforeWrite* co); + + +/** + * Sets the MQTTPersistence_afterRead() callback function for a client. + * @param handle A valid client handle from a successful call to MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to the callback function to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTPersistence_beforeWrite() callback + * function. NULL removes the callback setting. + */ +LIBMQTT_API int MQTTAsync_setAfterPersistenceRead(MQTTAsync handle, void* context, MQTTPersistence_afterRead* co); + + +/** The data returned on completion of an unsuccessful API call in the response callback onFailure. */ +typedef struct +{ + /** A token identifying the failed request. */ + MQTTAsync_token token; + /** A numeric code identifying the error. */ + int code; + /** Optional text explaining the error. Can be NULL. */ + const char *message; +} MQTTAsync_failureData; + + +/** The data returned on completion of an unsuccessful API call in the response callback onFailure. */ +typedef struct +{ + /** The eyecatcher for this structure. Will be MQFD. */ + char struct_id[4]; + /** The version number of this structure. Will be 0 */ + int struct_version; + /** A token identifying the failed request. */ + MQTTAsync_token token; + /** The MQTT reason code returned. */ + enum MQTTReasonCodes reasonCode; + /** The MQTT properties on the ack, if any. */ + MQTTProperties properties; + /** A numeric code identifying the MQTT client library error. */ + int code; + /** Optional further text explaining the error. Can be NULL. */ + const char *message; + /** Packet type on which the failure occurred - used for publish QoS 1/2 exchanges*/ + int packet_type; +} MQTTAsync_failureData5; + +#define MQTTAsync_failureData5_initializer {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL, 0} + +/** The data returned on completion of a successful API call in the response callback onSuccess. */ +typedef struct +{ + /** A token identifying the successful request. Can be used to refer to the request later. */ + MQTTAsync_token token; + /** A union of the different values that can be returned for subscribe, unsubscribe and publish. */ + union + { + /** For subscribe, the granted QoS of the subscription returned by the server. + * Also for subscribeMany, if only 1 subscription was requested. */ + int qos; + /** For subscribeMany, if more than one subscription was requested, + * the list of granted QoSs of the subscriptions returned by the server. */ + int* qosList; + /** For publish, the message being sent to the server. */ + struct + { + MQTTAsync_message message; /**< the message being sent to the server */ + char* destinationName; /**< the topic destination for the message */ + } pub; + /* For connect, the server connected to, MQTT version used, and sessionPresent flag */ + struct + { + char* serverURI; /**< the connection string of the server */ + int MQTTVersion; /**< the version of MQTT being used */ + int sessionPresent; /**< the session present flag returned from the server */ + } connect; + } alt; +} MQTTAsync_successData; + + +/** The data returned on completion of a successful API call in the response callback onSuccess. */ +typedef struct +{ + char struct_id[4]; /**< The eyecatcher for this structure. Will be MQSD. */ + int struct_version; /**< The version number of this structure. Will be 0 */ + /** A token identifying the successful request. Can be used to refer to the request later. */ + MQTTAsync_token token; + enum MQTTReasonCodes reasonCode; /**< MQTT V5 reason code returned */ + MQTTProperties properties; /**< MQTT V5 properties returned, if any */ + /** A union of the different values that can be returned for subscribe, unsubscribe and publish. */ + union + { + /** For subscribeMany, the list of reasonCodes returned by the server. */ + struct + { + int reasonCodeCount; /**< the number of reason codes in the reasonCodes array */ + enum MQTTReasonCodes* reasonCodes; /**< an array of reasonCodes */ + } sub; + /** For publish, the message being sent to the server. */ + struct + { + MQTTAsync_message message; /**< the message being sent to the server */ + char* destinationName; /**< the topic destination for the message */ + } pub; + /* For connect, the server connected to, MQTT version used, and sessionPresent flag */ + struct + { + char* serverURI; /**< the connection string of the server */ + int MQTTVersion; /**< the version of MQTT being used */ + int sessionPresent; /**< the session present flag returned from the server */ + } connect; + /** For unsubscribeMany, the list of reasonCodes returned by the server. */ + struct + { + int reasonCodeCount; /**< the number of reason codes in the reasonCodes array */ + enum MQTTReasonCodes* reasonCodes; /**< an array of reasonCodes */ + } unsub; + } alt; +} MQTTAsync_successData5; + +#define MQTTAsync_successData5_initializer {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, {.sub={0,0}}} + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of the successful completion of an API call. The function is + * registered with the client library by passing it as an argument in + * ::MQTTAsync_responseOptions. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * ::MQTTAsync_responseOptions, which contains any application-specific context. + * @param response Any success data associated with the API completion. + */ +typedef void MQTTAsync_onSuccess(void* context, MQTTAsync_successData* response); + +/** + * This is a callback function, the MQTT V5 version of ::MQTTAsync_onSuccess. + * The client application + * must provide an implementation of this function to enable asynchronous + * notification of the successful completion of an API call. The function is + * registered with the client library by passing it as an argument in + * ::MQTTAsync_responseOptions. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * ::MQTTAsync_responseOptions, which contains any application-specific context. + * @param response Any success data associated with the API completion. + */ +typedef void MQTTAsync_onSuccess5(void* context, MQTTAsync_successData5* response); + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of the unsuccessful completion of an API call. The function is + * registered with the client library by passing it as an argument in + * ::MQTTAsync_responseOptions. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * ::MQTTAsync_responseOptions, which contains any application-specific context. + * @param response Failure data associated with the API completion. + */ +typedef void MQTTAsync_onFailure(void* context, MQTTAsync_failureData* response); + +/** + * This is a callback function, the MQTT V5 version of ::MQTTAsync_onFailure. + * The application must provide an implementation of this function to enable asynchronous + * notification of the unsuccessful completion of an API call. The function is + * registered with the client library by passing it as an argument in + * ::MQTTAsync_responseOptions. + * + * Note: Neither MQTTAsync_create() nor MQTTAsync_destroy() should be + * called within this callback. + * @param context A pointer to the context value originally passed to + * ::MQTTAsync_responseOptions, which contains any application-specific context. + * @param response Failure data associated with the API completion. + */ +typedef void MQTTAsync_onFailure5(void* context, MQTTAsync_failureData5* response); + +/** Structure to define call options. For MQTT 5.0 there is input data as well as that + * describing the response method. So there is now also a synonym ::MQTTAsync_callOptions + * to better reflect the use. This responseOptions name is kept for backward + * compatibility. + */ +typedef struct MQTTAsync_responseOptions +{ + /** The eyecatcher for this structure. Must be MQTR */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1 + * if 0, no MQTTV5 options */ + int struct_version; + /** + * A pointer to a callback function to be called if the API call successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess* onSuccess; + /** + * A pointer to a callback function to be called if the API call fails. + * Can be set to NULL, in which case no indication of unsuccessful + * completion will be received. + */ + MQTTAsync_onFailure* onFailure; + /** + * A pointer to any application-specific context. The + * the context pointer is passed to success or failure callback functions to + * provide access to the context information in the callback. + */ + void* context; + /** + * A token is returned from the call. It can be used to track + * the state of this request, both in the callbacks and in future calls + * such as ::MQTTAsync_waitForCompletion. This is output only - any + * change by the application will be ignored. + */ + MQTTAsync_token token; + /** + * A pointer to a callback function to be called if the API call successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess5* onSuccess5; + /** + * A pointer to a callback function to be called if the API call successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onFailure5* onFailure5; + /** + * MQTT V5 input properties + */ + MQTTProperties properties; + /* + * MQTT V5 subscribe options, when used with subscribe only. + */ + MQTTSubscribe_options subscribeOptions; + /* + * MQTT V5 subscribe option count, when used with subscribeMany only. + * The number of entries in the subscribe_options_list array. + */ + int subscribeOptionsCount; + /* + * MQTT V5 subscribe option array, when used with subscribeMany only. + */ + MQTTSubscribe_options* subscribeOptionsList; +} MQTTAsync_responseOptions; + +#define MQTTAsync_responseOptions_initializer { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL} + +/** A synonym for responseOptions to better reflect its usage since MQTT 5.0 */ +typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions; +#define MQTTAsync_callOptions_initializer MQTTAsync_responseOptions_initializer + +/** + * This function sets the global callback functions for a specific client. + * If your client application doesn't use a particular callback, set the + * relevant parameter to NULL. Any necessary message acknowledgements and + * status communications are handled in the background without any intervention + * from the client application. If you do not set a messageArrived callback + * function, you will not be notified of the receipt of any messages as a + * result of a subscription. + * + * Note: The MQTT client must be disconnected when this function is + * called. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param cl A pointer to an MQTTAsync_connectionLost() callback + * function. You can set this to NULL if your application doesn't handle + * disconnections. + * @param ma A pointer to an MQTTAsync_messageArrived() callback + * function. If this callback is not set, an error will be returned. + * You must set this callback because otherwise there would be + * no way to deliver any incoming messages. + * @param dc A pointer to an MQTTAsync_deliveryComplete() callback + * function. You can set this to NULL if you do not want to check + * for successful delivery. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_setCallbacks(MQTTAsync handle, void* context, MQTTAsync_connectionLost* cl, + MQTTAsync_messageArrived* ma, MQTTAsync_deliveryComplete* dc); + +/** + * This function sets the callback function for a connection lost event for + * a specific client. Any necessary message acknowledgements and status + * communications are handled in the background without any intervention + * from the client application. + * + * Note: The MQTT client must be disconnected when this function is + * called. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed the callback functions to provide + * access to the context information in the callback. + * @param cl A pointer to an MQTTAsync_connectionLost() callback + * function. You can set this to NULL if your application doesn't handle + * disconnections. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ + +LIBMQTT_API int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void* context, + MQTTAsync_connectionLost* cl); + +/** + * This function sets the callback function for a message arrived event for + * a specific client. Any necessary message acknowledgements and status + * communications are handled in the background without any intervention + * from the client application. If you do not set a messageArrived callback + * function, you will not be notified of the receipt of any messages as a + * result of a subscription. + * + * Note: The MQTT client must be disconnected when this function is + * called. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to the callback functions to provide + * access to the context information in the callback. + * @param ma A pointer to an MQTTAsync_messageArrived() callback + * function. You can set this to NULL if your application doesn't handle + * receipt of messages. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void* context, + MQTTAsync_messageArrived* ma); + +/** + * This function sets the callback function for a delivery complete event + * for a specific client. Any necessary message acknowledgements and status + * communications are handled in the background without any intervention + * from the client application. + * + * Note: The MQTT client must be disconnected when this function is + * called. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to the callback functions to provide + * access to the context information in the callback. + * @param dc A pointer to an MQTTAsync_deliveryComplete() callback + * function. You can set this to NULL if you do not want to check + * for successful delivery. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void* context, + MQTTAsync_deliveryComplete* dc); + +/** + * Sets the MQTTAsync_connected() callback function for a client. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTAsync_connected() callback + * function. NULL removes the callback setting. + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_setConnected(MQTTAsync handle, void* context, MQTTAsync_connected* co); + + +/** + * Reconnects a client with the previously used connect options. Connect + * must have previously been called for this to work. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @return ::MQTTASYNC_SUCCESS if the callbacks were correctly set, + * ::MQTTASYNC_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTAsync_reconnect(MQTTAsync handle); + + +/** + * This function creates an MQTT client ready for connection to the + * specified server and using the specified persistent storage (see + * MQTTAsync_persistence). See also MQTTAsync_destroy(). + * @param handle A pointer to an ::MQTTAsync handle. The handle is + * populated with a valid client reference following a successful return from + * this function. + * @param serverURI A null-terminated string specifying the server to + * which the client will connect. It takes the form + * protocol://host:port where protocol must be: + *
+ * @em tcp:// or @em mqtt:// - Insecure TCP + *
+ * @em ssl:// or @em mqtts:// - Encrypted SSL/TLS + *
+ * @em ws:// - Insecure websockets + *
+ * @em wss:// - Secure web sockets + *
+ * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS + * version of the library is linked with. + * For host, you can specify either an IP address or a host name. For + * instance, to connect to a server running on the local machines with the + * default MQTT port, specify tcp://localhost:1883. + * @param clientId The client identifier passed to the server when the + * client connects to it. It is a null-terminated UTF-8 encoded string. + * @param persistence_type The type of persistence to be used by the client: + *
+ * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or + * system on which the client is running fails or is switched off, the current + * state of any in-flight messages is lost and some messages may not be + * delivered even at QoS1 and QoS2. + *
+ * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) + * persistence mechanism. Status about in-flight messages is held in persistent + * storage and provides some protection against message loss in the case of + * unexpected failure. + *
+ * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence + * implementation. Using this type of persistence gives control of the + * persistence mechanism to the application. The application has to implement + * the MQTTClient_persistence interface. + * @param persistence_context If the application uses + * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should + * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it + * should be set to the location of the persistence directory (if set + * to NULL, the persistence directory used is the working directory). + * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this + * argument to point to a valid MQTTClient_persistence structure. + * @return ::MQTTASYNC_SUCCESS if the client is successfully created, otherwise + * an error code is returned. + */ +LIBMQTT_API int MQTTAsync_create(MQTTAsync* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context); + +/** Options for the ::MQTTAsync_createWithOptions call */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQCO. */ + char struct_id[4]; + /** The version number of this structure. Must be 0, 1, 2 or 3 + * 0 means no MQTTVersion + * 1 means no allowDisconnectedSendAtAnyTime, deleteOldestMessages, restoreMessages + * 2 means no persistQoS0 + */ + int struct_version; + /** Whether to allow messages to be sent when the client library is not connected. */ + int sendWhileDisconnected; + /** The maximum number of messages allowed to be buffered. This is intended to be used to + * limit the number of messages queued while the client is not connected. It also applies + * when the client is connected, however, so has to be greater than 0. */ + int maxBufferedMessages; + /** Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. + * MQTT V5 has to be chosen here, because during the create call the message persistence + * is initialized, and we want to know whether the format of any persisted messages + * is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or + * 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create. */ + int MQTTVersion; + /** + * Allow sending of messages while disconnected before a first successful connect. + */ + int allowDisconnectedSendAtAnyTime; + /* + * When the maximum number of buffered messages is reached, delete the oldest rather than the newest. + */ + int deleteOldestMessages; + /* + * Restore messages from persistence on create - or clear it. + */ + int restoreMessages; + /* + * Persist QoS0 publish commands - an option to not persist them. + */ + int persistQoS0; +} MQTTAsync_createOptions; + +#define MQTTAsync_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_DEFAULT, 0, 0, 1, 1} + +#define MQTTAsync_createOptions_initializer5 { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_5, 0, 0, 1, 1} + + +LIBMQTT_API int MQTTAsync_createWithOptions(MQTTAsync* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context, MQTTAsync_createOptions* options); + +/** + * MQTTAsync_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for + * the client. In the event that a client unexpectedly loses its connection to + * the server, the server publishes the LWT message to the LWT topic on + * behalf of the client. This allows other clients (subscribed to the LWT topic) + * to be made aware that the client has disconnected. To enable the LWT + * function for a specific client, a valid pointer to an MQTTAsync_willOptions + * structure is passed in the MQTTAsync_connectOptions structure used in the + * MQTTAsync_connect() call that connects the client to the server. The pointer + * to MQTTAsync_willOptions can be set to NULL if the LWT function is not + * required. + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTW. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1 + 0 indicates no binary will message support + */ + int struct_version; + /** The LWT topic to which the LWT message will be published. */ + const char* topicName; + /** The LWT payload. */ + const char* message; + /** + * The retained flag for the LWT message (see MQTTAsync_message.retained). + */ + int retained; + /** + * The quality of service setting for the LWT message (see + * MQTTAsync_message.qos and @ref qos). + */ + int qos; + /** The LWT payload in binary form. This is only checked and used if the message option is NULL */ + struct + { + int len; /**< binary payload length */ + const void* data; /**< binary payload data */ + } payload; +} MQTTAsync_willOptions; + +#define MQTTAsync_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } } + +#define MQTT_SSL_VERSION_DEFAULT 0 +#define MQTT_SSL_VERSION_TLS_1_0 1 +#define MQTT_SSL_VERSION_TLS_1_1 2 +#define MQTT_SSL_VERSION_TLS_1_2 3 + +/** +* MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the +* OpenSSL library. It covers the following scenarios: +* - Server authentication: The client needs the digital certificate of the server. It is included +* in a store containting trusted material (also known as "trust store"). +* - Mutual authentication: Both client and server are authenticated during the SSL handshake. In +* addition to the digital certificate of the server in a trust store, the client will need its own +* digital certificate and the private key used to sign its digital certificate stored in a "key store". +* - Anonymous connection: Both client and server do not get authenticated and no credentials are needed +* to establish an SSL connection. Note that this scenario is not fully secure since it is subject to +* man-in-the-middle attacks. +*/ +typedef struct +{ + /** The eyecatcher for this structure. Must be MQTS */ + char struct_id[4]; + + /** The version number of this structure. Must be 0, 1, 2, 3, 4 or 5. + * 0 means no sslVersion + * 1 means no verify, CApath + * 2 means no ssl_error_context, ssl_error_cb + * 3 means no ssl_psk_cb, ssl_psk_context, disableDefaultTrustStore + * 4 means no protos, protos_len + */ + int struct_version; + + /** The file in PEM format containing the public digital certificates trusted by the client. */ + const char* trustStore; + + /** The file in PEM format containing the public certificate chain of the client. It may also include + * the client's private key. + */ + const char* keyStore; + + /** If not included in the sslKeyStore, this setting points to the file in PEM format containing + * the client's private key. + */ + const char* privateKey; + + /** The password to load the client's privateKey if encrypted. */ + const char* privateKeyPassword; + + /** + * The list of cipher suites that the client will present to the server during the SSL handshake. For a + * full explanation of the cipher list format, please see the OpenSSL on-line documentation: + * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT + * If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding + * those offering no encryption- will be considered. + * This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance). + */ + const char* enabledCipherSuites; + + /** True/False option to enable verification of the server certificate **/ + int enableServerCertAuth; + + /** The SSL/TLS version to use. Specify one of MQTT_SSL_VERSION_DEFAULT (0), + * MQTT_SSL_VERSION_TLS_1_0 (1), MQTT_SSL_VERSION_TLS_1_1 (2) or MQTT_SSL_VERSION_TLS_1_2 (3). + * Only used if struct_version is >= 1. + */ + int sslVersion; + + /** + * Whether to carry out post-connect checks, including that a certificate + * matches the given host name. + * Exists only if struct_version >= 2 + */ + int verify; + + /** + * From the OpenSSL documentation: + * If CApath is not NULL, it points to a directory containing CA certificates in PEM format. + * Exists only if struct_version >= 2 + */ + const char* CApath; + + /** + * Callback function for OpenSSL error handler ERR_print_errors_cb + * Exists only if struct_version >= 3 + */ + int (*ssl_error_cb) (const char *str, size_t len, void *u); + + /** + * Application-specific contex for OpenSSL error handler ERR_print_errors_cb + * Exists only if struct_version >= 3 + */ + void* ssl_error_context; + + /** + * Callback function for setting TLS-PSK options. Parameters correspond to that of + * SSL_CTX_set_psk_client_callback, except for u which is the pointer ssl_psk_context. + * Exists only if struct_version >= 4 + */ + unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u); + + /** + * Application-specific contex for ssl_psk_cb + * Exists only if struct_version >= 4 + */ + void* ssl_psk_context; + + /** + * Don't load default SSL CA. Should be used together with PSK to make sure + * regular servers with certificate in place is not accepted. + * Exists only if struct_version >= 4 + */ + int disableDefaultTrustStore; + + /** + * The protocol-lists must be in wire-format, which is defined as a vector of non-empty, 8-bit length-prefixed, byte strings. + * The length-prefix byte is not included in the length. Each string is limited to 255 bytes. A byte-string length of 0 is invalid. + * A truncated byte-string is invalid. + * Check documentation for SSL_CTX_set_alpn_protos + * Exists only if struct_version >= 5 + */ + const unsigned char *protos; + + /** + * The length of the vector protos vector + * Exists only if struct_version >= 5 + */ + unsigned int protos_len; +} MQTTAsync_SSLOptions; + +#define MQTTAsync_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 } + +/** Utility structure where name/value pairs are needed */ +typedef struct +{ + const char* name; /**< name string */ + const char* value; /**< value string */ +} MQTTAsync_nameValue; + +/** + * MQTTAsync_connectOptions defines several settings that control the way the + * client connects to an MQTT server. + * + * Suitable default values are set in the following initializers: + * - MQTTAsync_connectOptions_initializer: for MQTT 3.1.1 non-WebSockets + * - MQTTAsync_connectOptions_initializer5: for MQTT 5.0 non-WebSockets + * - MQTTAsync_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets + * - MQTTAsync_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTC. */ + char struct_id[4]; + /** The version number of this structure. Must be 0, 1, 2, 3 4 5 6, 7 or 8. + * 0 signifies no SSL options and no serverURIs + * 1 signifies no serverURIs + * 2 signifies no MQTTVersion + * 3 signifies no automatic reconnect options + * 4 signifies no binary password option (just string) + * 5 signifies no MQTTV5 properties + * 6 signifies no HTTP headers option + * 7 signifies no HTTP proxy and HTTPS proxy options + */ + int struct_version; + /** The "keep alive" interval, measured in seconds, defines the maximum time + * that should pass without communication between the client and the server + * The client will ensure that at least one message travels across the + * network within each keep alive period. In the absence of a data-related + * message during the time period, the client sends a very small MQTT + * "ping" message, which the server will acknowledge. The keep alive + * interval enables the client to detect when the server is no longer + * available without having to wait for the long TCP/IP timeout. + * Set to 0 if you do not want any keep alive processing. + */ + int keepAliveInterval; + /** + * This is a boolean value. The cleansession setting controls the behaviour + * of both the client and the server at connection and disconnection time. + * The client and server both maintain session state information. This + * information is used to ensure "at least once" and "exactly once" + * delivery, and "exactly once" receipt of messages. Session state also + * includes subscriptions created by an MQTT client. You can choose to + * maintain or discard state information between sessions. + * + * When cleansession is true, the state information is discarded at + * connect and disconnect. Setting cleansession to false keeps the state + * information. When you connect an MQTT client application with + * MQTTAsync_connect(), the client identifies the connection using the + * client identifier and the address of the server. The server checks + * whether session information for this client + * has been saved from a previous connection to the server. If a previous + * session still exists, and cleansession=true, then the previous session + * information at the client and server is cleared. If cleansession=false, + * the previous session is resumed. If no previous session exists, a new + * session is started. + */ + int cleansession; + /** + * This controls how many messages can be in-flight simultaneously. + */ + int maxInflight; + /** + * This is a pointer to an MQTTAsync_willOptions structure. If your + * application does not make use of the Last Will and Testament feature, + * set this pointer to NULL. + */ + MQTTAsync_willOptions* will; + /** + * MQTT servers that support the MQTT v3.1 protocol provide authentication + * and authorisation by user name and password. This is the user name + * parameter. + */ + const char* username; + /** + * MQTT servers that support the MQTT v3.1 protocol provide authentication + * and authorisation by user name and password. This is the password + * parameter. + */ + const char* password; + /** + * The time interval in seconds to allow a connect to complete. + */ + int connectTimeout; + /** + * The time interval in seconds after which unacknowledged publish requests are + * retried during a TCP session. With MQTT 3.1.1 and later, retries are + * not required except on reconnect. 0 turns off in-session retries, and is the + * recommended setting. Adding retries to an already overloaded network only + * exacerbates the problem. + */ + int retryInterval; + /** + * This is a pointer to an MQTTAsync_SSLOptions structure. If your + * application does not make use of SSL, set this pointer to NULL. + */ + MQTTAsync_SSLOptions* ssl; + /** + * A pointer to a callback function to be called if the connect successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess* onSuccess; + /** + * A pointer to a callback function to be called if the connect fails. + * Can be set to NULL, in which case no indication of unsuccessful + * completion will be received. + */ + MQTTAsync_onFailure* onFailure; + /** + * A pointer to any application-specific context. The + * the context pointer is passed to success or failure callback functions to + * provide access to the context information in the callback. + */ + void* context; + /** + * The number of entries in the serverURIs array. + */ + int serverURIcount; + /** + * An array of null-terminated strings specifying the servers to + * which the client will connect. Each string takes the form protocol://host:port. + * protocol must be tcp, ssl, ws or wss. + * The TLS enabled prefixes (ssl, wss) are only valid if a TLS version of the library + * is linked with. + * For host, you can + * specify either an IP address or a domain name. For instance, to connect to + * a server running on the local machines with the default MQTT port, specify + * tcp://localhost:1883. + */ + char* const* serverURIs; + /** + * Sets the version of MQTT to be used on the connect. + * MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that fails, fall back to 3.1 + * MQTTVERSION_3_1 (3) = only try version 3.1 + * MQTTVERSION_3_1_1 (4) = only try version 3.1.1 + */ + int MQTTVersion; + /** + * Reconnect automatically in the case of a connection being lost. 0=false, 1=true + */ + int automaticReconnect; + /** + * The minimum automatic reconnect retry interval in seconds. Doubled on each failed retry. + */ + int minRetryInterval; + /** + * The maximum automatic reconnect retry interval in seconds. The doubling stops here on failed retries. + */ + int maxRetryInterval; + /** + * Optional binary password. Only checked and used if the password option is NULL + */ + struct { + int len; /**< binary password length */ + const void* data; /**< binary password data */ + } binarypwd; + /* + * MQTT V5 clean start flag. Only clears state at the beginning of the session. + */ + int cleanstart; + /** + * MQTT V5 properties for connect + */ + MQTTProperties *connectProperties; + /** + * MQTT V5 properties for the will message in the connect + */ + MQTTProperties *willProperties; + /** + * A pointer to a callback function to be called if the connect successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess5* onSuccess5; + /** + * A pointer to a callback function to be called if the connect fails. + * Can be set to NULL, in which case no indication of unsuccessful + * completion will be received. + */ + MQTTAsync_onFailure5* onFailure5; + /** + * HTTP headers for websockets + */ + const MQTTAsync_nameValue* httpHeaders; + /** + * HTTP proxy + */ + const char* httpProxy; + /** + * HTTPS proxy + */ + const char* httpsProxy; +} MQTTAsync_connectOptions; + +/** Initializer for connect options for MQTT 3.1.1 non-WebSocket connections */ +#define MQTTAsync_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 65535, NULL, NULL, NULL, 30, 0,\ +NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 5.0 non-WebSocket connections */ +#define MQTTAsync_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 65535, NULL, NULL, NULL, 30, 0,\ +NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 3.1.1 WebSockets connections. + * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. + */ +#define MQTTAsync_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 65535, NULL, NULL, NULL, 30, 0,\ +NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 5.0 WebSockets connections. + * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. + */ +#define MQTTAsync_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 65535, NULL, NULL, NULL, 30, 0,\ +NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL} + + +/** + * This function attempts to connect a previously-created client (see + * MQTTAsync_create()) to an MQTT server using the specified options. If you + * want to enable asynchronous message and status notifications, you must call + * MQTTAsync_setCallbacks() prior to MQTTAsync_connect(). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param options A pointer to a valid MQTTAsync_connectOptions + * structure. + * @return ::MQTTASYNC_SUCCESS if the client connect request was accepted. + * If the client was unable to connect to the server, an error code is + * returned via the onFailure callback, if set. + * Error codes greater than 0 are returned by the MQTT protocol:

+ * 1: Connection refused: Unacceptable protocol version
+ * 2: Connection refused: Identifier rejected
+ * 3: Connection refused: Server unavailable
+ * 4: Connection refused: Bad user name or password
+ * 5: Connection refused: Not authorized
+ * 6-255: Reserved for future use
+ */ +LIBMQTT_API int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions* options); + +/** Options for the ::MQTTAsync_disconnect call */ +typedef struct +{ + /** The eyecatcher for this structure. Must be MQTD. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1. 0 signifies no V5 properties */ + int struct_version; + /** + * The client delays disconnection for up to this time (in + * milliseconds) in order to allow in-flight message transfers to complete. + */ + int timeout; + /** + * A pointer to a callback function to be called if the disconnect successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess* onSuccess; + /** + * A pointer to a callback function to be called if the disconnect fails. + * Can be set to NULL, in which case no indication of unsuccessful + * completion will be received. + */ + MQTTAsync_onFailure* onFailure; + /** + * A pointer to any application-specific context. The + * the context pointer is passed to success or failure callback functions to + * provide access to the context information in the callback. + */ + void* context; + /** + * MQTT V5 input properties + */ + MQTTProperties properties; + /** + * Reason code for MQTTV5 disconnect + */ + enum MQTTReasonCodes reasonCode; + /** + * A pointer to a callback function to be called if the disconnect successfully + * completes. Can be set to NULL, in which case no indication of successful + * completion will be received. + */ + MQTTAsync_onSuccess5* onSuccess5; + /** + * A pointer to a callback function to be called if the disconnect fails. + * Can be set to NULL, in which case no indication of unsuccessful + * completion will be received. + */ + MQTTAsync_onFailure5* onFailure5; +} MQTTAsync_disconnectOptions; + +#define MQTTAsync_disconnectOptions_initializer { {'M', 'Q', 'T', 'D'}, 0, 0, NULL, NULL, NULL,\ + MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL } + +#define MQTTAsync_disconnectOptions_initializer5 { {'M', 'Q', 'T', 'D'}, 1, 0, NULL, NULL, NULL,\ + MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL } + +/** + * This function attempts to disconnect the client from the MQTT + * server. In order to allow the client time to complete handling of messages + * that are in-flight when this function is called, a timeout period is + * specified. When the timeout period has expired, the client disconnects even + * if there are still outstanding message acknowledgements. + * The next time the client connects to the same server, any QoS 1 or 2 + * messages which have not completed will be retried depending on the + * cleansession settings for both the previous and the new connection (see + * MQTTAsync_connectOptions.cleansession and MQTTAsync_connect()). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param options The client delays disconnection for up to this time (in + * milliseconds) in order to allow in-flight message transfers to complete. + * @return ::MQTTASYNC_SUCCESS if the client successfully disconnects from + * the server. An error code is returned if the client was unable to disconnect + * from the server + */ +LIBMQTT_API int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions* options); + + +/** + * This function allows the client application to test whether or not a + * client is currently connected to the MQTT server. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @return Boolean true if the client is connected, otherwise false. + */ +LIBMQTT_API int MQTTAsync_isConnected(MQTTAsync handle); + + +/** + * This function attempts to subscribe a client to a single topic, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for the subscription + * (see also MQTTAsync_subscribeMany()). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param topic The subscription topic, which may include wildcards. + * @param qos The requested quality of service for the subscription. + * @param response A pointer to a response options structure. Used to set callback functions. + * @return ::MQTTASYNC_SUCCESS if the subscription request is successful. + * An error code is returned if there was a problem registering the + * subscription. + */ +LIBMQTT_API int MQTTAsync_subscribe(MQTTAsync handle, const char* topic, int qos, MQTTAsync_responseOptions* response); + + +/** + * This function attempts to subscribe a client to a list of topics, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for each topic (see also MQTTAsync_subscribe()). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param count The number of topics for which the client is requesting + * subscriptions. + * @param topic An array (of length count) of pointers to + * topics, each of which may include wildcards. + * @param qos An array (of length count) of @ref qos + * values. qos[n] is the requested QoS for topic[n]. + * @param response A pointer to a response options structure. Used to set callback functions. + * @return ::MQTTASYNC_SUCCESS if the subscription request is successful. + * An error code is returned if there was a problem registering the + * subscriptions. + */ +LIBMQTT_API int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char* const* topic, const int* qos, MQTTAsync_responseOptions* response); + +/** + * This function attempts to remove an existing subscription made by the + * specified client. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param topic The topic for the subscription to be removed, which may + * include wildcards (see @ref wildcard). + * @param response A pointer to a response options structure. Used to set callback functions. + * @return ::MQTTASYNC_SUCCESS if the subscription is removed. + * An error code is returned if there was a problem removing the + * subscription. + */ +LIBMQTT_API int MQTTAsync_unsubscribe(MQTTAsync handle, const char* topic, MQTTAsync_responseOptions* response); + +/** + * This function attempts to remove existing subscriptions to a list of topics + * made by the specified client. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param count The number subscriptions to be removed. + * @param topic An array (of length count) of pointers to the topics of + * the subscriptions to be removed, each of which may include wildcards. + * @param response A pointer to a response options structure. Used to set callback functions. + * @return ::MQTTASYNC_SUCCESS if the subscriptions are removed. + * An error code is returned if there was a problem removing the subscriptions. + */ +LIBMQTT_API int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char* const* topic, MQTTAsync_responseOptions* response); + + +/** + * This function attempts to publish a message to a given topic (see also + * ::MQTTAsync_sendMessage()). An ::MQTTAsync_token is issued when + * this function returns successfully if the QoS is greater than 0. + * If the client application needs to + * test for successful delivery of messages, a callback should be set + * (see ::MQTTAsync_onSuccess() and ::MQTTAsync_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param destinationName The topic associated with this message. + * @param payloadlen The length of the payload in bytes. + * @param payload A pointer to the byte array payload of the message. + * @param qos The @ref qos of the message. + * @param retained The retained flag for the message. + * @param response A pointer to an ::MQTTAsync_responseOptions structure. Used to set callback functions. + * This is optional and can be set to NULL. + * @return ::MQTTASYNC_SUCCESS if the message is accepted for publication. + * An error code is returned if there was a problem accepting the message. + */ +LIBMQTT_API int MQTTAsync_send(MQTTAsync handle, const char* destinationName, int payloadlen, const void* payload, int qos, + int retained, MQTTAsync_responseOptions* response); + +/** + * This function attempts to publish a message to a given topic (see also + * MQTTAsync_publish()). An ::MQTTAsync_token is issued when + * this function returns successfully if the QoS is greater than 0. + * If the client application needs to + * test for successful delivery of messages, a callback should be set + * (see ::MQTTAsync_onSuccess() and ::MQTTAsync_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param destinationName The topic associated with this message. + * @param msg A pointer to a valid MQTTAsync_message structure containing + * the payload and attributes of the message to be published. + * @param response A pointer to an ::MQTTAsync_responseOptions structure. Used to set callback functions. + * @return ::MQTTASYNC_SUCCESS if the message is accepted for publication. + * An error code is returned if there was a problem accepting the message. + */ +LIBMQTT_API int MQTTAsync_sendMessage(MQTTAsync handle, const char* destinationName, const MQTTAsync_message* msg, MQTTAsync_responseOptions* response); + + +/** + * This function sets a pointer to an array of tokens for + * messages that are currently in-flight (pending completion). + * + * Important note: The memory used to hold the array of tokens is + * malloc()'d in this function. The client application is responsible for + * freeing this memory when it is no longer required. + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param tokens The address of a pointer to an ::MQTTAsync_token. + * When the function returns successfully, the pointer is set to point to an + * array of tokens representing messages pending completion. The last member of + * the array is set to -1 to indicate there are no more tokens. If no tokens + * are pending, the pointer is set to NULL. + * @return ::MQTTASYNC_SUCCESS if the function returns successfully. + * An error code is returned if there was a problem obtaining the list of + * pending tokens. + */ +LIBMQTT_API int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens); + +/** + * Tests whether a request corresponding to a token is complete. + * + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param token An ::MQTTAsync_token associated with a request. + * @return 1 if the request has been completed, 0 if not. + */ +#define MQTTASYNC_TRUE 1 +LIBMQTT_API int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token token); + + +/** + * Waits for a request corresponding to a token to complete. This only works for + * messages with QoS greater than 0. A QoS 0 message has no MQTT token. + * This function will always return ::MQTTASYNC_SUCCESS for a QoS 0 message. + * + * @param handle A valid client handle from a successful call to + * MQTTAsync_create(). + * @param token An ::MQTTAsync_token associated with a request. + * @param timeout the maximum time to wait for completion, in milliseconds + * @return ::MQTTASYNC_SUCCESS if the request has been completed in the time allocated, + * ::MQTTASYNC_FAILURE or ::MQTTASYNC_DISCONNECTED if not. + */ +LIBMQTT_API int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token token, unsigned long timeout); + + +/** + * This function frees memory allocated to an MQTT message, including the + * additional memory allocated to the message payload. The client application + * calls this function when the message has been fully processed. Important + * note: This function does not free the memory allocated to a message + * topic string. It is the responsibility of the client application to free + * this memory using the MQTTAsync_free() library function. + * @param msg The address of a pointer to the ::MQTTAsync_message structure + * to be freed. + */ +LIBMQTT_API void MQTTAsync_freeMessage(MQTTAsync_message** msg); + +/** + * This function frees memory allocated by the MQTT C client library, especially the + * topic name. This is needed on Windows when the client library and application + * program have been compiled with different versions of the C compiler. It is + * thus good policy to always use this function when freeing any MQTT C client- + * allocated memory. + * @param ptr The pointer to the client library storage to be freed. + */ +LIBMQTT_API void MQTTAsync_free(void* ptr); + +/** + * This function is used to allocate memory to be used or freed by the MQTT C client library, + * especially the data in the ::MQTTPersistence_afterRead and ::MQTTPersistence_beforeWrite + * callbacks. This is needed on Windows when the client library and application + * program have been compiled with different versions of the C compiler. + * @param size The size of the memory to be allocated. + */ +LIBMQTT_API void* MQTTAsync_malloc(size_t size); + +/** + * This function frees the memory allocated to an MQTT client (see + * MQTTAsync_create()). It should be called when the client is no longer + * required. + * @param handle A pointer to the handle referring to the ::MQTTAsync + * structure to be freed. + */ +LIBMQTT_API void MQTTAsync_destroy(MQTTAsync* handle); + + + +enum MQTTASYNC_TRACE_LEVELS +{ + MQTTASYNC_TRACE_MAXIMUM = 1, + MQTTASYNC_TRACE_MEDIUM, + MQTTASYNC_TRACE_MINIMUM, + MQTTASYNC_TRACE_PROTOCOL, + MQTTASYNC_TRACE_ERROR, + MQTTASYNC_TRACE_SEVERE, + MQTTASYNC_TRACE_FATAL, +}; + + +/** + * This function sets the level of trace information which will be + * returned in the trace callback. + * @param level the trace level required + */ +LIBMQTT_API void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level); + + +/** + * This is a callback function prototype which must be implemented if you want + * to receive trace information. Do not invoke any other Paho API calls in this + * callback function - unpredictable behavior may result. + * @param level the trace level of the message returned + * @param message the trace message. This is a pointer to a static buffer which + * will be overwritten on each call. You must copy the data if you want to keep + * it for later. + */ +typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char* message); + +/** + * This function sets the trace callback if needed. If set to NULL, + * no trace information will be returned. The default trace level is + * MQTTASYNC_TRACE_MINIMUM. + * @param callback a pointer to the function which will handle the trace information + */ +LIBMQTT_API void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback* callback); + +/** + * This function returns version information about the library. + * no trace information will be returned. The default trace level is + * MQTTASYNC_TRACE_MINIMUM + * @return an array of strings describing the library. The last entry is a NULL pointer. + */ +LIBMQTT_API MQTTAsync_nameValue* MQTTAsync_getVersionInfo(void); + +/** + * Returns a pointer to a string representation of the error code, or NULL. + * Do not free after use. Returns NULL if the error code is unknown. + * @param code the MQTTASYNC_ return code. + * @return a static string representation of the error code. + */ +LIBMQTT_API const char* MQTTAsync_strerror(int code); + + +/*! + * @cond MQTTAsync_main + * @page async Threading + * The client application runs on several threads. + * Processing of handshaking and maintaining + * the network connection is performed in the background. + * This API is thread safe: functions may be called by multiple application + * threads. + * Notifications of status and message reception are provided to the client + * application using callbacks registered with the library by the call to + * MQTTAsync_setCallbacks() (see MQTTAsync_messageArrived(), + * MQTTAsync_connectionLost() and MQTTAsync_deliveryComplete()). + * In addition, some functions allow success and failure callbacks to be set + * for individual requests, in the ::MQTTAsync_responseOptions structure. Applications + * can be written as a chain of callback functions. + * + * @page callbacks Callbacks + * Any function from this API may be used within a callback. It is not advisable to + * use ::MQTTAsync_waitForCompletion within a callback, however, as it is the only + * API call that may take some time to complete, which may cause unpredictable + * behaviour. All the other API calls are intended to complete quickly, starting + * a request in the background, with success or failure notified by other callbacks. + * + * If no callbacks are assigned, this will include the message arrived callback. + * This could be done if the application is a pure publisher, and does + * not subscribe to any topics. If however messages are received, and no message + * arrived callback is set, then those messages will accumulate + * and take up memory, as there is no place for them to be delivered. + * A log message will be written to highlight the issue, but it is up + * to the application to protect against this situation. + * + * @page auto_reconnect Automatic Reconnect + * The ability for the client library to reconnect automatically in the event + * of a connection failure was added in 1.1. The connection lost callback + * allows a flexible response to the loss of a connection, so almost any + * behaviour can be implemented in that way. Automatic reconnect does have the + * advantage of being a little simpler to use. + * + * To switch on automatic reconnect, the connect options field + * automaticReconnect should be set to non-zero. The minimum and maximum times + * before the next connection attempt can also be set, the defaults being 1 and + * 60 seconds. At each failure to reconnect, the retry interval is doubled until + * the maximum value is reached, and there it stays until the connection is + * successfully re-established whereupon it is reset. + * + * When a reconnection attempt is successful, the ::MQTTAsync_connected callback + * function is invoked, if set by calling ::MQTTAsync_setConnected. This allows + * the application to take any actions needed, such as amending subscriptions. + * + * @page offline_publish Publish While Disconnected + * This feature was not originally available because with persistence enabled, + * messages could be stored locally without ever knowing if they could be sent. + * The client application could have created the client with an erroneous broker + * address or port for instance. + * + * To enable messages to be published when the application is disconnected + * ::MQTTAsync_createWithOptions must be used instead of ::MQTTAsync_create to + * create the client object. The ::MQTTAsync_createOptions field sendWhileDisconnected + * must be set to non-zero, and the maxBufferedMessages field set as required - + * the default being 100. + * + * ::MQTTAsync_getPendingTokens can be called to return the ids of the messages + * waiting to be sent, or for which the sending process has not completed. + * + * @page wildcard Subscription wildcards + * Every MQTT message includes a topic that classifies it. MQTT servers use + * topics to determine which subscribers should receive messages published to + * the server. + * + * Consider the server receiving messages from several environmental sensors. + * Each sensor publishes its measurement data as a message with an associated + * topic. Subscribing applications need to know which sensor originally + * published each received message. A unique topic is thus used to identify + * each sensor and measurement type. Topics such as SENSOR1TEMP, + * SENSOR1HUMIDITY, SENSOR2TEMP and so on achieve this but are not very + * flexible. If additional sensors are added to the system at a later date, + * subscribing applications must be modified to receive them. + * + * To provide more flexibility, MQTT supports a hierarchical topic namespace. + * This allows application designers to organize topics to simplify their + * management. Levels in the hierarchy are delimited by the '/' character, + * such as SENSOR/1/HUMIDITY. Publishers and subscribers use these + * hierarchical topics as already described. + * + * For subscriptions, two wildcard characters are supported: + *
    + *
  • A '#' character represents a complete sub-tree of the hierarchy and + * thus must be the last character in a subscription topic string, such as + * SENSOR/#. This will match any topic starting with SENSOR/, such as + * SENSOR/1/TEMP and SENSOR/2/HUMIDITY.
  • + *
  • A '+' character represents a single level of the hierarchy and is + * used between delimiters. For example, SENSOR/+/TEMP will match + * SENSOR/1/TEMP and SENSOR/2/TEMP.
  • + *
+ * Publishers are not allowed to use the wildcard characters in their topic + * names. + * + * Deciding on your topic hierarchy is an important step in your system design. + * + * @page qos Quality of service + * The MQTT protocol provides three qualities of service for delivering + * messages between clients and servers: "at most once", "at least once" and + * "exactly once". + * + * Quality of service (QoS) is an attribute of an individual message being + * published. An application sets the QoS for a specific message by setting the + * MQTTAsync_message.qos field to the required value. + * + * A subscribing client can set the maximum quality of service a server uses + * to send messages that match the client subscriptions. The + * MQTTAsync_subscribe() and MQTTAsync_subscribeMany() functions set this + * maximum. The QoS of a message forwarded to a subscriber thus might be + * different to the QoS given to the message by the original publisher. + * The lower of the two values is used to forward a message. + * + * The three levels are: + * + * QoS0, At most once: The message is delivered at most once, or it + * may not be delivered at all. Its delivery across the network is not + * acknowledged. The message is not stored. The message could be lost if the + * client is disconnected, or if the server fails. QoS0 is the fastest mode of + * transfer. It is sometimes called "fire and forget". + * + * The MQTT protocol does not require servers to forward publications at QoS0 + * to a client. If the client is disconnected at the time the server receives + * the publication, the publication might be discarded, depending on the + * server implementation. + * + * QoS1, At least once: The message is always delivered at least once. + * It might be delivered multiple times if there is a failure before an + * acknowledgment is received by the sender. The message must be stored + * locally at the sender, until the sender receives confirmation that the + * message has been published by the receiver. The message is stored in case + * the message must be sent again. + * + * QoS2, Exactly once: The message is always delivered exactly once. + * The message must be stored locally at the sender, until the sender receives + * confirmation that the message has been published by the receiver. The + * message is stored in case the message must be sent again. QoS2 is the + * safest, but slowest mode of transfer. A more sophisticated handshaking + * and acknowledgement sequence is used than for QoS1 to ensure no duplication + * of messages occurs. + * @page publish Publication example +@code +#include +#include +#include +#include "MQTTAsync.h" + +#if !defined(_WIN32) +#include +#else +#include +#endif + +#if defined(_WRS_KERNEL) +#include +#endif + +#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" +#define CLIENTID "ExampleClientPub" +#define TOPIC "MQTT Examples" +#define PAYLOAD "Hello World!" +#define QOS 1 +#define TIMEOUT 10000L + +int finished = 0; + +void connlost(void *context, char *cause) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + int rc; + + printf("\nConnection lost\n"); + printf(" cause: %s\n", cause); + + printf("Reconnecting\n"); + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + finished = 1; + } +} + +void onDisconnectFailure(void* context, MQTTAsync_failureData* response) +{ + printf("Disconnect failed\n"); + finished = 1; +} + +void onDisconnect(void* context, MQTTAsync_successData* response) +{ + printf("Successful disconnection\n"); + finished = 1; +} + +void onSendFailure(void* context, MQTTAsync_failureData* response) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; + int rc; + + printf("Message send failed token %d error code %d\n", response->token, response->code); + opts.onSuccess = onDisconnect; + opts.onFailure = onDisconnectFailure; + opts.context = client; + if ((rc = MQTTAsync_disconnect(client, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start disconnect, return code %d\n", rc); + exit(EXIT_FAILURE); + } +} + +void onSend(void* context, MQTTAsync_successData* response) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; + int rc; + + printf("Message with token value %d delivery confirmed\n", response->token); + opts.onSuccess = onDisconnect; + opts.onFailure = onDisconnectFailure; + opts.context = client; + if ((rc = MQTTAsync_disconnect(client, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start disconnect, return code %d\n", rc); + exit(EXIT_FAILURE); + } +} + + +void onConnectFailure(void* context, MQTTAsync_failureData* response) +{ + printf("Connect failed, rc %d\n", response ? response->code : 0); + finished = 1; +} + + +void onConnect(void* context, MQTTAsync_successData* response) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + MQTTAsync_message pubmsg = MQTTAsync_message_initializer; + int rc; + + printf("Successful connection\n"); + opts.onSuccess = onSend; + opts.onFailure = onSendFailure; + opts.context = client; + pubmsg.payload = PAYLOAD; + pubmsg.payloadlen = (int)strlen(PAYLOAD); + pubmsg.qos = QOS; + pubmsg.retained = 0; + if ((rc = MQTTAsync_sendMessage(client, TOPIC, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start sendMessage, return code %d\n", rc); + exit(EXIT_FAILURE); + } +} + +int messageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* m) +{ + // not expecting any messages + return 1; +} + +int main(int argc, char* argv[]) +{ + MQTTAsync client; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + int rc; + + if ((rc = MQTTAsync_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTASYNC_SUCCESS) + { + printf("Failed to create client object, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + if ((rc = MQTTAsync_setCallbacks(client, NULL, connlost, messageArrived, NULL)) != MQTTASYNC_SUCCESS) + { + printf("Failed to set callback, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + conn_opts.onSuccess = onConnect; + conn_opts.onFailure = onConnectFailure; + conn_opts.context = client; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + printf("Waiting for publication of %s\n" + "on topic %s for client with ClientID: %s\n", + PAYLOAD, TOPIC, CLIENTID); + while (!finished) + #if defined(_WIN32) + Sleep(100); + #else + usleep(10000L); + #endif + + MQTTAsync_destroy(&client); + return rc; +} + + * @endcode + * @page subscribe Subscription example +@code +#include +#include +#include +#include "MQTTAsync.h" + +#if !defined(_WIN32) +#include +#else +#include +#endif + +#if defined(_WRS_KERNEL) +#include +#endif + +#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" +#define CLIENTID "ExampleClientSub" +#define TOPIC "MQTT Examples" +#define PAYLOAD "Hello World!" +#define QOS 1 +#define TIMEOUT 10000L + +int disc_finished = 0; +int subscribed = 0; +int finished = 0; + +void connlost(void *context, char *cause) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + int rc; + + printf("\nConnection lost\n"); + if (cause) + printf(" cause: %s\n", cause); + + printf("Reconnecting\n"); + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + finished = 1; + } +} + + +int msgarrvd(void *context, char *topicName, int topicLen, MQTTAsync_message *message) +{ + printf("Message arrived\n"); + printf(" topic: %s\n", topicName); + printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); + MQTTAsync_freeMessage(&message); + MQTTAsync_free(topicName); + return 1; +} + +void onDisconnectFailure(void* context, MQTTAsync_failureData* response) +{ + printf("Disconnect failed, rc %d\n", response->code); + disc_finished = 1; +} + +void onDisconnect(void* context, MQTTAsync_successData* response) +{ + printf("Successful disconnection\n"); + disc_finished = 1; +} + +void onSubscribe(void* context, MQTTAsync_successData* response) +{ + printf("Subscribe succeeded\n"); + subscribed = 1; +} + +void onSubscribeFailure(void* context, MQTTAsync_failureData* response) +{ + printf("Subscribe failed, rc %d\n", response->code); + finished = 1; +} + + +void onConnectFailure(void* context, MQTTAsync_failureData* response) +{ + printf("Connect failed, rc %d\n", response->code); + finished = 1; +} + + +void onConnect(void* context, MQTTAsync_successData* response) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + int rc; + + printf("Successful connection\n"); + + printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" + "Press Q to quit\n\n", TOPIC, CLIENTID, QOS); + opts.onSuccess = onSubscribe; + opts.onFailure = onSubscribeFailure; + opts.context = client; + if ((rc = MQTTAsync_subscribe(client, TOPIC, QOS, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start subscribe, return code %d\n", rc); + finished = 1; + } +} + + +int main(int argc, char* argv[]) +{ + MQTTAsync client; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; + int rc; + int ch; + + if ((rc = MQTTAsync_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL)) + != MQTTASYNC_SUCCESS) + { + printf("Failed to create client, return code %d\n", rc); + rc = EXIT_FAILURE; + goto exit; + } + + if ((rc = MQTTAsync_setCallbacks(client, client, connlost, msgarrvd, NULL)) != MQTTASYNC_SUCCESS) + { + printf("Failed to set callbacks, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + conn_opts.onSuccess = onConnect; + conn_opts.onFailure = onConnectFailure; + conn_opts.context = client; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + while (!subscribed && !finished) + #if defined(_WIN32) + Sleep(100); + #else + usleep(10000L); + #endif + + if (finished) + goto exit; + + do + { + ch = getchar(); + } while (ch!='Q' && ch != 'q'); + + disc_opts.onSuccess = onDisconnect; + disc_opts.onFailure = onDisconnectFailure; + if ((rc = MQTTAsync_disconnect(client, &disc_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start disconnect, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + while (!disc_finished) + { + #if defined(_WIN32) + Sleep(100); + #else + usleep(10000L); + #endif + } + +destroy_exit: + MQTTAsync_destroy(&client); +exit: + return rc; +} + + * @endcode +* @page tracing Tracing + * + * Runtime tracing can be controlled by environment variables or API calls. + * + * #### Environment variables + * + * Tracing is switched on by setting the MQTT_C_CLIENT_TRACE environment variable. + * A value of ON, or stdout, prints to stdout, any other value is interpreted as a file name to use. + * + * The amount of trace detail is controlled with the MQTT_C_CLIENT_TRACE_LEVEL environment + * variable - valid values are ERROR, PROTOCOL, MINIMUM, MEDIUM and MAXIMUM + * (from least to most verbose). + * + * The variable MQTT_C_CLIENT_TRACE_MAX_LINES limits the number of lines of trace that are output + * to a file. Two files are used at most, when they are full, the last one is overwritten with the + * new trace entries. The default size is 1000 lines. + * + * #### Trace API calls + * + * MQTTAsync_traceCallback() is used to set a callback function which is called whenever trace + * information is available. This will be the same information as that printed if the + * environment variables were used to control the trace. + * + * The MQTTAsync_setTraceLevel() calls is used to set the maximum level of trace entries that will be + * passed to the callback function. The levels are: + * 1. ::MQTTASYNC_TRACE_MAXIMUM + * 2. ::MQTTASYNC_TRACE_MEDIUM + * 3. ::MQTTASYNC_TRACE_MINIMUM + * 4. ::MQTTASYNC_TRACE_PROTOCOL + * 5. ::MQTTASYNC_TRACE_ERROR + * 6. ::MQTTASYNC_TRACE_SEVERE + * 7. ::MQTTASYNC_TRACE_FATAL + * + * Selecting ::MQTTASYNC_TRACE_MAXIMUM will cause all trace entries at all levels to be returned. + * Choosing ::MQTTASYNC_TRACE_ERROR will cause ERROR, SEVERE and FATAL trace entries to be returned + * to the callback function. + * + * ### MQTT Packet Tracing + * + * A feature that can be very useful is printing the MQTT packets that are sent and received. To + * achieve this, use the following environment variable settings: + * @code + MQTT_C_CLIENT_TRACE=ON + MQTT_C_CLIENT_TRACE_LEVEL=PROTOCOL + * @endcode + * The output you should see looks like this: + * @code + 20130528 155936.813 3 stdout-subscriber -> CONNECT cleansession: 1 (0) + 20130528 155936.813 3 stdout-subscriber <- CONNACK rc: 0 + 20130528 155936.813 3 stdout-subscriber -> SUBSCRIBE msgid: 1 (0) + 20130528 155936.813 3 stdout-subscriber <- SUBACK msgid: 1 + 20130528 155941.818 3 stdout-subscriber -> DISCONNECT (0) + * @endcode + * where the fields are: + * 1. date + * 2. time + * 3. socket number + * 4. client id + * 5. direction (-> from client to server, <- from server to client) + * 6. packet details + * + * ### Default Level Tracing + * + * This is an extract of a default level trace of a call to connect: + * @code + 19700101 010000.000 (1152206656) (0)> MQTTClient_connect:893 + 19700101 010000.000 (1152206656) (1)> MQTTClient_connectURI:716 + 20130528 160447.479 Connecting to serverURI localhost:1883 + 20130528 160447.479 (1152206656) (2)> MQTTProtocol_connect:98 + 20130528 160447.479 (1152206656) (3)> MQTTProtocol_addressPort:48 + 20130528 160447.479 (1152206656) (3)< MQTTProtocol_addressPort:73 + 20130528 160447.479 (1152206656) (3)> Socket_new:599 + 20130528 160447.479 New socket 4 for localhost, port 1883 + 20130528 160447.479 (1152206656) (4)> Socket_addSocket:163 + 20130528 160447.479 (1152206656) (5)> Socket_setnonblocking:73 + 20130528 160447.479 (1152206656) (5)< Socket_setnonblocking:78 (0) + 20130528 160447.479 (1152206656) (4)< Socket_addSocket:176 (0) + 20130528 160447.479 (1152206656) (4)> Socket_error:95 + 20130528 160447.479 (1152206656) (4)< Socket_error:104 (115) + 20130528 160447.479 Connect pending + 20130528 160447.479 (1152206656) (3)< Socket_new:683 (115) + 20130528 160447.479 (1152206656) (2)< MQTTProtocol_connect:131 (115) + * @endcode + * where the fields are: + * 1. date + * 2. time + * 3. thread id + * 4. function nesting level + * 5. function entry (>) or exit (<) + * 6. function name : line of source code file + * 7. return value (if there is one) + * + * ### Memory Allocation Tracing + * + * Setting the trace level to maximum causes memory allocations and frees to be traced along with + * the default trace entries, with messages like the following: + * @code + 20130528 161819.657 Allocating 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 177 ptr 0x179f930 + + 20130528 161819.657 Freeing 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 201, heap use now 896 bytes + * @endcode + * When the last MQTT client object is destroyed, if the trace is being recorded + * and all memory allocated by the client library has not been freed, an error message will be + * written to the trace. This can help with fixing memory leaks. The message will look like this: + * @code + 20130528 163909.208 Some memory not freed at shutdown, possible memory leak + 20130528 163909.208 Heap scan start, total 880 bytes + 20130528 163909.208 Heap element size 32, line 354, file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c, ptr 0x260cb00 + 20130528 163909.208 Content + 20130528 163909.209 Heap scan end + * @endcode + * @endcond + */ + +#if defined(__cplusplus) + } +#endif + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.c new file mode 100644 index 0000000..677f9ff --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.c @@ -0,0 +1,3150 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +#if !defined(_WIN32) && !defined(_WIN64) + #include +#endif + +#if !defined(NO_PERSISTENCE) +#include "MQTTPersistence.h" +#endif +#include "MQTTAsync.h" +#include "MQTTAsyncUtils.h" +#include "utf-8.h" +#include "MQTTProtocol.h" +#include "MQTTProtocolOut.h" +#include "Thread.h" +#include "SocketBuffer.h" +#include "StackTrace.h" +#include "Heap.h" +#include "OsWrapper.h" +#include "WebSocket.h" +#include "Proxy.h" + +static int clientSockCompare(void* a, void* b); +static int MQTTAsync_checkConn(MQTTAsync_command* command, MQTTAsyncs* client); +#if !defined(NO_PERSISTENCE) +static int MQTTAsync_unpersistCommand(MQTTAsync_queuedCommand* qcmd); +static int MQTTAsync_persistCommand(MQTTAsync_queuedCommand* qcmd); +static MQTTAsync_queuedCommand* MQTTAsync_restoreCommand(char* buffer, int buflen, int MQTTVersion, MQTTAsync_queuedCommand*); +#endif +static void MQTTAsync_startConnectRetry(MQTTAsyncs* m); +static void MQTTAsync_checkDisconnect(MQTTAsync handle, MQTTAsync_command* command); +static void MQTTProtocol_checkPendingWrites(void); +static void MQTTAsync_freeCommand1(MQTTAsync_queuedCommand *command); +static void MQTTAsync_freeCommand(MQTTAsync_queuedCommand *command); +static int MQTTAsync_processCommand(void); +static void MQTTAsync_checkTimeouts(void); +static int MQTTAsync_completeConnection(MQTTAsyncs* m, Connack* connack); +static void MQTTAsync_stop(void); +static void MQTTAsync_closeOnly(Clients* client, enum MQTTReasonCodes reasonCode, MQTTProperties* props); +static int clientStructCompare(void* a, void* b); +static int MQTTAsync_cleanSession(Clients* client); +static int MQTTAsync_deliverMessage(MQTTAsyncs* m, char* topicName, size_t topicLen, MQTTAsync_message* mm); +static int MQTTAsync_disconnect_internal(MQTTAsync handle, int timeout); +static int cmdMessageIDCompare(void* a, void* b); +static void MQTTAsync_retry(void); +static MQTTPacket* MQTTAsync_cycle(SOCKET* sock, unsigned long timeout, int* rc); +static int MQTTAsync_connecting(MQTTAsyncs* m); + +extern MQTTProtocol state; /* defined in MQTTAsync.c */ +extern ClientStates* bstate; /* defined in MQTTAsync.c */ + +extern enum MQTTAsync_threadStates sendThread_state; +extern enum MQTTAsync_threadStates receiveThread_state; +extern thread_id_type sendThread_id, + receiveThread_id; + +extern volatile int global_initialized; +extern List* MQTTAsync_handles; +extern List* MQTTAsync_commands; +extern int MQTTAsync_tostop; + +#if defined(_WIN32) || defined(_WIN64) + #if defined(_MSC_VER) && _MSC_VER < 1900 + #define snprintf _snprintf + #endif +extern mutex_type mqttasync_mutex; +extern mutex_type socket_mutex; +extern mutex_type mqttcommand_mutex; +extern sem_type send_sem; +#if !defined(NO_HEAP_TRACKING) +extern mutex_type stack_mutex; +extern mutex_type heap_mutex; +#endif +extern mutex_type log_mutex; +#else +extern mutex_type mqttasync_mutex; +extern mutex_type socket_mutex; +extern mutex_type mqttcommand_mutex; +extern cond_type send_cond; +#endif + +#if !defined(min) +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +void MQTTAsync_sleep(long milliseconds) +{ + FUNC_ENTRY; +#if defined(_WIN32) || defined(_WIN64) + Sleep(milliseconds); +#else + usleep(milliseconds*1000); +#endif + FUNC_EXIT; +} + + +/* Add random amount of jitter for exponential backoff on retry + Jitter value will be +/- 20% of "base" interval, including max interval + https://www.awsarchitectureblog.com/2015/03/backoff.html + http://ee.lbl.gov/papers/sync_94.pdf */ +int MQTTAsync_randomJitter(int currentIntervalBase, int minInterval, int maxInterval) +{ + const int max_sleep = (int)(min(maxInterval, currentIntervalBase) * 1.2); // (e.g. 72 if base > 60) + const int min_sleep = (int)(max(minInterval, currentIntervalBase) / 1.2); // (e.g. 48 if base > 60) + + if (min_sleep >= max_sleep) // shouldn't happen, but just in case + { + return min_sleep; + } + + { + /* random_between(min_sleep, max_sleep) + http://stackoverflow.com/questions/2509679/how-to-generate-a-random-number-from-within-a-range */ + int r; + int range = max_sleep - min_sleep + 1; + const int buckets = RAND_MAX / range; + const int limit = buckets * range; + + /* Create equal size buckets all in a row, then fire randomly towards + * the buckets until you land in one of them. All buckets are equally + * likely. If you land off the end of the line of buckets, try again. */ + do + { + r = rand(); + } while (r >= limit); + + { + const int randResult = r / buckets; + return min_sleep + randResult; + } + } +} + + +/** + * List callback function for comparing clients by socket + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +static int clientSockCompare(void* a, void* b) +{ + MQTTAsyncs* m = (MQTTAsyncs*)a; + return m->c->net.socket == *(int*)b; +} + + +void MQTTAsync_lock_mutex(mutex_type amutex) +{ + int rc = Thread_lock_mutex(amutex); + if (rc != 0) + Log(LOG_ERROR, 0, "Error %s locking mutex", strerror(rc)); +} + + +void MQTTAsync_unlock_mutex(mutex_type amutex) +{ + int rc = Thread_unlock_mutex(amutex); + if (rc != 0) + Log(LOG_ERROR, 0, "Error %s unlocking mutex", strerror(rc)); +} + + +/* + Check whether there are any more connect options. If not then we are finished + with connect attempts. +*/ +static int MQTTAsync_checkConn(MQTTAsync_command* command, MQTTAsyncs* client) +{ + int rc; + + FUNC_ENTRY; + rc = command->details.conn.currentURI + 1 < client->serverURIcount || + (command->details.conn.MQTTVersion == 4 && client->c->MQTTVersion == MQTTVERSION_DEFAULT); + FUNC_EXIT_RC(rc); + return rc; +} + + +void MQTTAsync_terminate(void) +{ + FUNC_ENTRY; + MQTTAsync_stop(); + + /* don't destroy global data if a new client was created while waiting for background threads to terminate */ + if (global_initialized && bstate->clients->count == 0) + { + ListElement* elem = NULL; + ListFree(bstate->clients); + ListFree(MQTTAsync_handles); + while (ListNextElement(MQTTAsync_commands, &elem)) + MQTTAsync_freeCommand1((MQTTAsync_queuedCommand*)(elem->content)); + ListFree(MQTTAsync_commands); + MQTTAsync_handles = NULL; + WebSocket_terminate(); + #if !defined(NO_HEAP_TRACKING) + Heap_terminate(); + #endif + Log_terminate(); + global_initialized = 0; + } + FUNC_EXIT; +} + + +#if !defined(NO_PERSISTENCE) +static int MQTTAsync_unpersistCommand(MQTTAsync_queuedCommand* qcmd) +{ + int rc = 0; + char key[PERSISTENCE_MAX_KEY_LENGTH + 1]; + int chars = 0; + + FUNC_ENTRY; + if (qcmd->client->c->MQTTVersion >= MQTTVERSION_5) + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_V5_COMMAND_KEY, qcmd->seqno); + else + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_COMMAND_KEY, qcmd->seqno); + if (chars >= sizeof(key)) + { + rc = MQTTASYNC_PERSISTENCE_ERROR; + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + } + else if ((rc = qcmd->client->c->persistence->premove(qcmd->client->c->phandle, key)) != 0) + Log(LOG_ERROR, 0, "Error %d removing command from persistence", rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +static int MQTTAsync_persistCommand(MQTTAsync_queuedCommand* qcmd) +{ + int rc = 0; + MQTTAsyncs* aclient = qcmd->client; + MQTTAsync_command* command = &qcmd->command; + int* lens = NULL; + void** bufs = NULL; + int bufindex = 0, i, nbufs = 0; + char key[PERSISTENCE_MAX_KEY_LENGTH + 1]; + int chars = 0; /* number of chars from snprintf */ + int props_allocated = 0; + int process = 1; + int multiplier = 2; /* default value 2 for MQTTVERSION < 5 */ + + FUNC_ENTRY; + switch (command->type) + { + case SUBSCRIBE: + multiplier = (aclient->c->MQTTVersion >= MQTTVERSION_5) ? 3 : 2; + nbufs = ((aclient->c->MQTTVersion >= MQTTVERSION_5) ? 4 : 3) + + (command->details.sub.count * multiplier); + + if (((lens = (int*)malloc(nbufs * sizeof(int))) == NULL) || + ((bufs = malloc(nbufs * sizeof(char *))) == NULL)) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + bufs[bufindex] = &command->type; + lens[bufindex++] = sizeof(command->type); + + bufs[bufindex] = &command->token; + lens[bufindex++] = sizeof(command->token); + + bufs[bufindex] = &command->details.sub.count; + lens[bufindex++] = sizeof(command->details.sub.count); + + for (i = 0; i < command->details.sub.count; ++i) + { + bufs[bufindex] = command->details.sub.topics[i]; + lens[bufindex++] = (int)strlen(command->details.sub.topics[i]) + 1; + + bufs[bufindex] = &command->details.sub.qoss[i]; + lens[bufindex++] = sizeof(command->details.sub.qoss[i]); + if (aclient->c->MQTTVersion >= MQTTVERSION_5) + { + if (command->details.sub.count == 1) + { + bufs[bufindex] = &command->details.sub.opts; + lens[bufindex++] = sizeof(command->details.sub.opts); + } + else + { + bufs[bufindex] = &command->details.sub.optlist[i]; + lens[bufindex++] = sizeof(command->details.sub.optlist[i]); + } + } + } + break; + + case UNSUBSCRIBE: + nbufs = ((aclient->c->MQTTVersion >= MQTTVERSION_5) ? 4 : 3) + + command->details.unsub.count; + + if (((lens = (int*)malloc(nbufs * sizeof(int))) == NULL) || + ((bufs = malloc(nbufs * sizeof(char *))) == NULL)) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + bufs[bufindex] = &command->type; + lens[bufindex++] = sizeof(command->type); + + bufs[bufindex] = &command->token; + lens[bufindex++] = sizeof(command->token); + + bufs[bufindex] = &command->details.unsub.count; + lens[bufindex++] = sizeof(command->details.unsub.count); + + for (i = 0; i < command->details.unsub.count; ++i) + { + bufs[bufindex] = command->details.unsub.topics[i]; + lens[bufindex++] = (int)strlen(command->details.unsub.topics[i]) + 1; + } + break; + + case PUBLISH: + nbufs = (aclient->c->MQTTVersion >= MQTTVERSION_5) ? 8 : 7; + + if (((lens = (int*)malloc(nbufs * sizeof(int))) == NULL) || + ((bufs = malloc(nbufs * sizeof(char *))) == NULL)) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + bufs[bufindex] = &command->type; + lens[bufindex++] = sizeof(command->type); + + bufs[bufindex] = &command->token; + lens[bufindex++] = sizeof(command->token); + + bufs[bufindex] = command->details.pub.destinationName; + lens[bufindex++] = (int)strlen(command->details.pub.destinationName) + 1; + + bufs[bufindex] = &command->details.pub.payloadlen; + lens[bufindex++] = sizeof(command->details.pub.payloadlen); + + bufs[bufindex] = command->details.pub.payload; + lens[bufindex++] = command->details.pub.payloadlen; + + bufs[bufindex] = &command->details.pub.qos; + lens[bufindex++] = sizeof(command->details.pub.qos); + + bufs[bufindex] = &command->details.pub.retained; + lens[bufindex++] = sizeof(command->details.pub.retained); + break; + + default: + process = 0; + break; + } + + /* + * Increment the command sequence number. Don't exceed the maximum value allowed + * by the value PERSISTENCE_MAX_KEY_LENGTH minus the max prefix string length + */ + if (++aclient->command_seqno == PERSISTENCE_SEQNO_LIMIT) + aclient->command_seqno = 0; + + if (aclient->c->MQTTVersion >= MQTTVERSION_5 && process) /* persist properties */ + { + int temp_len = 0; + char* ptr = NULL; + + temp_len = MQTTProperties_len(&command->properties); + if ((ptr = bufs[bufindex] = malloc(temp_len)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + props_allocated = bufindex; + rc = MQTTProperties_write(&ptr, &command->properties); + lens[bufindex++] = temp_len; + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_V5_COMMAND_KEY, aclient->command_seqno); + } + else + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_COMMAND_KEY, aclient->command_seqno); + if (chars >= sizeof(key)) + { + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + goto exit; + } + + if (nbufs > 0) + { + if (aclient->c->beforeWrite) + rc = aclient->c->beforeWrite(aclient->c->beforeWrite_context, nbufs, (char**)bufs, lens); + + if ((rc = aclient->c->persistence->pput(aclient->c->phandle, key, nbufs, (char**)bufs, lens)) != 0) + Log(LOG_ERROR, 0, "Error persisting command, rc %d", rc); + qcmd->seqno = aclient->command_seqno; + } +exit: + if (props_allocated > 0) + free(bufs[props_allocated]); + if (lens) + free(lens); + if (bufs) + free(bufs); + FUNC_EXIT_RC(rc); + return rc; +} + + +static MQTTAsync_queuedCommand* MQTTAsync_restoreCommand(char* buffer, int buflen, int MQTTVersion, MQTTAsync_queuedCommand* qcommand) +{ + MQTTAsync_command* command = NULL; + char* ptr = buffer; + int i; + size_t data_size; + char* endpos = &buffer[buflen]; + + FUNC_ENTRY; + if (buflen == 0) + { + qcommand = NULL; + goto exit; + } + + if (qcommand == NULL) + { + if ((qcommand = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + goto exit; + memset(qcommand, '\0', sizeof(MQTTAsync_queuedCommand)); + qcommand->not_restored = 1; /* don't restore all the command on the first call */ + } + else + qcommand->not_restored = 0; + + command = &qcommand->command; + + if (&ptr[sizeof(int) + sizeof(MQTTAsync_token)] > endpos) + goto error_exit; + command->type = *(int*)ptr; + ptr += sizeof(int); + command->token = *(MQTTAsync_token*)ptr; + ptr += sizeof(MQTTAsync_token); + + switch (command->type) + { + case SUBSCRIBE: + if (qcommand->not_restored == 1) + break; + if (&ptr[sizeof(int)] > endpos) + goto error_exit; + command->details.sub.count = *(int*)ptr; + ptr += sizeof(int); + + if (command->details.sub.count > 0) + { + if ((command->details.sub.topics = (char **)malloc(sizeof(char *) * command->details.sub.count)) == NULL) + goto error_exit; + if ((command->details.sub.qoss = (int *)malloc(sizeof(int) * command->details.sub.count)) == NULL) + goto error_exit; + + if ((MQTTVersion >= MQTTVERSION_5)) + { + if (command->details.sub.count > 1) + { + command->details.sub.optlist = (MQTTSubscribe_options*)malloc(sizeof(MQTTSubscribe_options) * command->details.sub.count); + if (command->details.sub.optlist == NULL) + goto error_exit; + } + } + } + + for (i = 0; i < command->details.sub.count; ++i) + { + data_size = strnlen(ptr, endpos - ptr) + 1; + if (data_size == endpos - ptr) + goto error_exit; /* no null found */ + + if ((command->details.sub.topics[i] = malloc(data_size)) == NULL) + goto error_exit; + strcpy(command->details.sub.topics[i], ptr); + ptr += data_size; + + if (&ptr[sizeof(int)] > endpos) + goto error_exit; + command->details.sub.qoss[i] = *(int*)ptr; + ptr += sizeof(int); + + if (MQTTVersion >= MQTTVERSION_5) + { + if (&ptr[sizeof(MQTTSubscribe_options)] > endpos) + goto error_exit; + if (command->details.sub.count == 1) + { + command->details.sub.opts = *(MQTTSubscribe_options*)ptr; + ptr += sizeof(MQTTSubscribe_options); + } + else + { + command->details.sub.optlist[i] = *(MQTTSubscribe_options*)ptr; + ptr += sizeof(MQTTSubscribe_options); + } + } + } + break; + + case UNSUBSCRIBE: + if (qcommand->not_restored == 1) + break; + + if (&ptr[sizeof(int)] > endpos) + goto error_exit; + command->details.unsub.count = *(int*)ptr; + ptr += sizeof(int); + + if (command->details.unsub.count > 0) + { + command->details.unsub.topics = (char **)malloc(sizeof(char *) * command->details.unsub.count); + if (command->details.unsub.topics == NULL) + goto error_exit; + } + + for (i = 0; i < command->details.unsub.count; ++i) + { + data_size = strnlen(ptr, endpos - ptr) + 1; + if (data_size == endpos - ptr) + goto error_exit; /* no null found */ + + if ((command->details.unsub.topics[i] = malloc(data_size)) == NULL) + goto error_exit; + strcpy(command->details.unsub.topics[i], ptr); + ptr += data_size; + } + break; + + case PUBLISH: + data_size = strnlen(ptr, endpos - ptr) + 1; + if (data_size == endpos - ptr) + goto error_exit; /* no null found */ + + if (qcommand->not_restored == 0) + { + if ((command->details.pub.destinationName = malloc(data_size)) == NULL) + goto error_exit; + strcpy(command->details.pub.destinationName, ptr); + } + ptr += data_size; + + if (&ptr[sizeof(int)] > endpos) + goto error_exit; + command->details.pub.payloadlen = *(int*)ptr; + ptr += sizeof(int); + + data_size = command->details.pub.payloadlen; + if (&ptr[data_size] > endpos) + goto error_exit; + if (qcommand->not_restored == 0) + { + if ((command->details.pub.payload = malloc(data_size)) == NULL) + goto error_exit; + memcpy(command->details.pub.payload, ptr, data_size); + } + ptr += data_size; + + if (&ptr[sizeof(int)*2] > endpos) + goto error_exit; + command->details.pub.qos = *(int*)ptr; + ptr += sizeof(int); + + command->details.pub.retained = *(int*)ptr; + ptr += sizeof(int); + break; + + default: + goto error_exit; + + } + if (qcommand != NULL && qcommand->not_restored == 0 && MQTTVersion >= MQTTVERSION_5 && + MQTTProperties_read(&command->properties, &ptr, buffer + buflen) != 1) + { + Log(LOG_ERROR, -1, "Error restoring properties from persistence"); + free(qcommand); + qcommand = NULL; + } + goto exit; +error_exit: + free(qcommand); + qcommand = NULL; +exit: + FUNC_EXIT; + return qcommand; +} + + +static int cmpkeys(const void *p1, const void *p2) +{ + int key1 = atoi(strchr(*(char * const *)p1, '-') + 1); + int key2 = atoi(strchr(*(char * const *)p2, '-') + 1); + + return (key1 == key2) ? 0 : ((key1 < key2) ? -1 : 1); +} + + +int MQTTAsync_restoreCommands(MQTTAsyncs* client) +{ + int rc = 0; + char **msgkeys; + int nkeys; + int i = 0; + Clients* c = client->c; + int commands_restored = 0; + + FUNC_ENTRY; + if (c->persistence && (rc = c->persistence->pkeys(c->phandle, &msgkeys, &nkeys)) == 0 && nkeys > 0) + { + /* let's have the sequence number array sorted */ + qsort(msgkeys, (size_t)nkeys, sizeof(char*), cmpkeys); + + while (rc == 0 && i < nkeys) + { + char *buffer = NULL; + int buflen; + + if (strncmp(msgkeys[i], PERSISTENCE_COMMAND_KEY, strlen(PERSISTENCE_COMMAND_KEY)) != 0 && + strncmp(msgkeys[i], PERSISTENCE_V5_COMMAND_KEY, strlen(PERSISTENCE_V5_COMMAND_KEY)) != 0) + { + ; + } + else + { + MQTTAsync_queuedCommand* cmd = NULL; + if ((rc = c->persistence->pget(c->phandle, msgkeys[i], &buffer, &buflen)) == 0 && + (c->afterRead == NULL || (rc = c->afterRead(c->afterRead_context, &buffer, &buflen)) == 0)) + { + int MQTTVersion = (strncmp(msgkeys[i], PERSISTENCE_V5_COMMAND_KEY, strlen(PERSISTENCE_V5_COMMAND_KEY)) == 0) + ? MQTTVERSION_5 : MQTTVERSION_3_1_1; + cmd = MQTTAsync_restoreCommand(buffer, buflen, MQTTVersion, NULL); + } + + if (cmd) + { + /* As the entire command is not restored on the first read to save memory, we temporarily store + * the filename of the persisted command to be used when restoreCommand is called the second time. + */ + cmd->key = malloc(strlen(msgkeys[i])+1); + strcpy(cmd->key, msgkeys[i]); + + cmd->client = client; + cmd->seqno = atoi(strchr(msgkeys[i], '-')+1); /* key format is tag'-'seqno */ + /* we can just append the commands to the list as they've already been sorted */ + ListAppend(MQTTAsync_commands, cmd, sizeof(MQTTAsync_queuedCommand)); + client->command_seqno = max(client->command_seqno, cmd->seqno); + commands_restored++; + if (cmd->command.type == PUBLISH) + client->noBufferedMessages++; + } + } + if (buffer) + free(buffer); + if (msgkeys[i]) + free(msgkeys[i]); + i++; + } + if (msgkeys != NULL) + free(msgkeys); + } + Log(TRACE_MINIMUM, -1, "%d commands restored for client %s", commands_restored, c->clientID); + FUNC_EXIT_RC(rc); + return rc; +} + + +int MQTTAsync_unpersistCommandsAndMessages(Clients* c) +{ + int rc = 0; + char **msgkeys; + int nkeys; + int i = 0; + int messages_deleted = 0; + + FUNC_ENTRY; + if (c->persistence && (rc = c->persistence->pkeys(c->phandle, &msgkeys, &nkeys)) == 0) + { + while (rc == 0 && i < nkeys) + { + if (strncmp(msgkeys[i], PERSISTENCE_COMMAND_KEY, strlen(PERSISTENCE_COMMAND_KEY)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_COMMAND_KEY, strlen(PERSISTENCE_V5_COMMAND_KEY)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_QUEUE_KEY, strlen(PERSISTENCE_QUEUE_KEY)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_QUEUE_KEY, strlen(PERSISTENCE_V5_QUEUE_KEY)) == 0) + { + if ((rc = c->persistence->premove(c->phandle, msgkeys[i])) == 0) + messages_deleted++; + else + Log(LOG_ERROR, 0, "Error %d removing queued message from persistence", rc); + } + if (msgkeys[i]) + free(msgkeys[i]); + i++; + } + if (msgkeys != NULL) + free(msgkeys); + } + Log(TRACE_MINIMUM, -1, "%d queued messages deleted for client %s", messages_deleted, c->clientID); + FUNC_EXIT_RC(rc); + return rc; +} + + +static int MQTTAsync_unpersistInflightMessages(Clients* c) +{ + int rc = 0; + char **msgkeys; + int nkeys; + int i = 0; + int messages_deleted = 0; + + FUNC_ENTRY; + if (c->persistence && (rc = c->persistence->pkeys(c->phandle, &msgkeys, &nkeys)) == 0) + { + while (rc == 0 && i < nkeys) + { + if (strncmp(msgkeys[i], PERSISTENCE_PUBLISH_SENT, strlen(PERSISTENCE_PUBLISH_SENT)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_PUBLISH_SENT, strlen(PERSISTENCE_V5_PUBLISH_SENT)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_PUBREL, strlen(PERSISTENCE_PUBREL)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_PUBREL, strlen(PERSISTENCE_V5_PUBREL)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_PUBLISH_RECEIVED, strlen(PERSISTENCE_PUBLISH_RECEIVED)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_PUBLISH_RECEIVED, strlen(PERSISTENCE_V5_PUBLISH_RECEIVED)) == 0) + { + if ((rc = c->persistence->premove(c->phandle, msgkeys[i])) == 0) + messages_deleted++; + else + Log(LOG_ERROR, 0, "Error %d removing inflight message from persistence", rc); + } + if (msgkeys[i]) + free(msgkeys[i]); + i++; + } + if (msgkeys != NULL) + free(msgkeys); + } + Log(TRACE_MINIMUM, -1, "%d inflight messages deleted for client %s", messages_deleted, c->clientID); + FUNC_EXIT_RC(rc); + return rc; +} +#endif + +#if 0 +/** + * List callback function for comparing client handles and command types being CONNECT or DISCONNECT + * @param a first MQTTAsync_queuedCommand pointer + * @param b second MQTTAsync_queuedCommand pointer + * @return boolean indicating whether a and b are equal + */ +static int clientCompareConnectCommand(void* a, void* b) +{ + MQTTAsync_queuedCommand* cmd1 = (MQTTAsync_queuedCommand*)a; + MQTTAsync_queuedCommand* cmd2 = (MQTTAsync_queuedCommand*)b; + if (cmd1->client == cmd2->client) + { + if (cmd1->command.type == cmd2->command.type) + { + if (cmd1->command.type == CONNECT || cmd1->command.type == DISCONNECT) + { + return 1; //Item found in the list + } + } + } + return 0; //Item NOT found in the list +} +#endif + + +int MQTTAsync_addCommand(MQTTAsync_queuedCommand* command, int command_size) +{ + int rc = MQTTASYNC_SUCCESS; + int rc1 = 0; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttcommand_mutex); + /* Don't set start time if the connect command is already in process #218 */ + if ((command->command.type != CONNECT) || (command->client->c->connect_state == NOT_IN_PROGRESS)) + command->command.start_time = MQTTTime_start_clock(); + + if (command->command.type == CONNECT || + (command->command.type == DISCONNECT && command->command.details.dis.internal)) + { + MQTTAsync_queuedCommand* head = NULL; + ListElement* current = MQTTAsync_commands->first; + + /* Look for any connect or disconnect command belonging to this client. All the connects/disconnects + * are at the head of the list, so we don't search any further if we meet anything other than a + * connect or disconnect for any client. + */ + while (current) + { + MQTTAsync_queuedCommand* cur_cmd = (MQTTAsync_queuedCommand*)(current->content); + if (cur_cmd->command.type != CONNECT && cur_cmd->command.type != DISCONNECT) + break; /* end search if we meet anything other than connect or disconnect */ + if (cur_cmd->client == command->client) + { + head = cur_cmd; + break; + } + current = current->prev; + } + + if (head) + { + MQTTAsync_freeCommand(command); /* ignore duplicate connect or disconnect command */ + rc = MQTTASYNC_COMMAND_IGNORED; + } + else + ListInsert(MQTTAsync_commands, command, command_size, MQTTAsync_commands->first); /* add to the head of the list */ + } + else + { + ListAppend(MQTTAsync_commands, command, command_size); +#if !defined(NO_PERSISTENCE) + if (command->client->c->persistence) + { + if (command->command.type == PUBLISH && + command->client->createOptions && command->client->createOptions->struct_version >= 2 && + command->client->createOptions->persistQoS0 == 0 && command->command.details.pub.qos == 0) + ; /* don't persist QoS0 if that create option is set to 0 */ + else + { + int rc_t = MQTTAsync_persistCommand(command); + if (command->command.type == PUBLISH && rc_t == 0) + { + char key[PERSISTENCE_MAX_KEY_LENGTH + 1]; + int chars = 0; + + command->not_restored = 1; + if (command->client->c->MQTTVersion >= MQTTVERSION_5) + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_V5_COMMAND_KEY, command->seqno); + else + chars = snprintf(key, sizeof(key), "%s%u", PERSISTENCE_COMMAND_KEY, command->seqno); + if (chars >= sizeof(key)) + { + rc_t = MQTTASYNC_PERSISTENCE_ERROR; + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + goto exit; + } + command->key = malloc(strlen(key)+1); + strcpy(command->key, key); + + free(command->command.details.pub.payload); + command->command.details.pub.payload = NULL; + free(command->command.details.pub.destinationName); + command->command.details.pub.destinationName = NULL; + MQTTProperties_free(&command->command.properties); + } + } + } +#endif + if (command->command.type == PUBLISH) + { + /* delete oldest message if buffer is full. We wouldn't be here if delete newest was in operation */ + if (command->client->createOptions && (command->client->noBufferedMessages >= command->client->createOptions->maxBufferedMessages)) + { + MQTTAsync_queuedCommand* first_publish = NULL; + ListElement* current = NULL; + + /* Find first publish command for this client and detach it */ + while (ListNextElement(MQTTAsync_commands, ¤t)) + { + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)(current->content); + + if (cmd->client == command->client && cmd->command.type == PUBLISH) + { + first_publish = cmd; + break; + } + } + if (first_publish) + { + ListDetach(MQTTAsync_commands, first_publish); + + #if !defined(NO_PERSISTENCE) + if (command->client->c->persistence) + MQTTAsync_unpersistCommand(first_publish); + #endif + + MQTTAsync_freeCommand(first_publish); + } + } + else + command->client->noBufferedMessages++; + } + } +exit: + MQTTAsync_unlock_mutex(mqttcommand_mutex); +#if !defined(_WIN32) && !defined(_WIN64) + if ((rc1 = Thread_signal_cond(send_cond)) != 0) + Log(LOG_ERROR, 0, "Error %d from signal cond", rc1); +#else + if ((rc1 = Thread_post_sem(send_sem)) != 0) + Log(LOG_ERROR, 0, "Error %d from signal cond", rc1); +#endif + FUNC_EXIT_RC(rc); + return rc; +} + + +void MQTTAsync_startConnectRetry(MQTTAsyncs* m) +{ + if (m->automaticReconnect && m->shouldBeConnected) + { + m->lastConnectionFailedTime = MQTTTime_start_clock(); + if (m->retrying) + { + m->currentIntervalBase = min(m->currentIntervalBase * 2, m->maxRetryInterval); + } + else + { + m->currentIntervalBase = m->minRetryInterval; + m->retrying = 1; + } + m->currentInterval = MQTTAsync_randomJitter(m->currentIntervalBase, m->minRetryInterval, m->maxRetryInterval); + } +} + + +void MQTTAsync_checkDisconnect(MQTTAsync handle, MQTTAsync_command* command) +{ + MQTTAsyncs* m = handle; + + FUNC_ENTRY; + /* wait for all inflight message flows to finish, up to timeout */; + if (m->c->outboundMsgs->count == 0 || MQTTTime_elapsed(command->start_time) >= (ELAPSED_TIME_TYPE)command->details.dis.timeout) + { + int was_connected = m->c->connected; + MQTTAsync_closeSession(m->c, command->details.dis.reasonCode, &command->properties); + if (command->details.dis.internal) + { + if (m->cl && was_connected) + { + Log(TRACE_MIN, -1, "Calling connectionLost for client %s", m->c->clientID); + (*(m->cl))(m->clContext, NULL); + } + MQTTAsync_startConnectRetry(m); + } + else if (command->onSuccess) + { + MQTTAsync_successData data; + + memset(&data, '\0', sizeof(data)); + Log(TRACE_MIN, -1, "Calling disconnect complete for client %s", m->c->clientID); + (*(command->onSuccess))(command->context, &data); + } + else if (command->onSuccess5) + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + + data.reasonCode = MQTTASYNC_SUCCESS; + Log(TRACE_MIN, -1, "Calling disconnect complete for client %s", m->c->clientID); + (*(command->onSuccess5))(command->context, &data); + } + } + FUNC_EXIT; +} + + +/** + * Call Socket_noPendingWrites(int socket) with protection by socket_mutex, see https://github.com/eclipse/paho.mqtt.c/issues/385 + */ +static int MQTTAsync_Socket_noPendingWrites(SOCKET socket) +{ + int rc; + MQTTAsync_lock_mutex(socket_mutex); + rc = Socket_noPendingWrites(socket); + MQTTAsync_unlock_mutex(socket_mutex); + return rc; +} + +/** + * See if any pending writes have been completed, and cleanup if so. + * Cleaning up means removing any publication data that was stored because the write did + * not originally complete. + */ +static void MQTTProtocol_checkPendingWrites(void) +{ + FUNC_ENTRY; + if (state.pending_writes.count > 0) + { + ListElement* le = state.pending_writes.first; + while (le) + { + if (Socket_noPendingWrites(((pending_write*)(le->content))->socket)) + { + MQTTProtocol_removePublication(((pending_write*)(le->content))->p); + state.pending_writes.current = le; + ListRemove(&(state.pending_writes), le->content); /* does NextElement itself */ + le = state.pending_writes.current; + } + else + ListNextElement(&(state.pending_writes), &le); + } + } + FUNC_EXIT; +} + + +static void MQTTAsync_freeCommand1(MQTTAsync_queuedCommand *command) +{ + if (command->command.type == SUBSCRIBE) + { + int i; + + for (i = 0; i < command->command.details.sub.count; i++) + free(command->command.details.sub.topics[i]); + + free(command->command.details.sub.topics); + command->command.details.sub.topics = NULL; + free(command->command.details.sub.qoss); + command->command.details.sub.qoss = NULL; + } + else if (command->command.type == UNSUBSCRIBE) + { + int i; + + for (i = 0; i < command->command.details.unsub.count; i++) + free(command->command.details.unsub.topics[i]); + + free(command->command.details.unsub.topics); + command->command.details.unsub.topics = NULL; + } + else if (command->command.type == PUBLISH) + { + /* qos 1 and 2 topics are freed in the protocol code when the flows are completed */ + if (command->command.details.pub.destinationName) + free(command->command.details.pub.destinationName); + command->command.details.pub.destinationName = NULL; + if (command->command.details.pub.payload) + free(command->command.details.pub.payload); + command->command.details.pub.payload = NULL; + } + MQTTProperties_free(&command->command.properties); + if (command->not_restored && command->key) + free(command->key); +} + + +static void MQTTAsync_freeCommand(MQTTAsync_queuedCommand *command) +{ + MQTTAsync_freeCommand1(command); + free(command); +} + + +void MQTTAsync_writeContinue(SOCKET socket) +{ + ListElement* found = NULL; + + if ((found = ListFindItem(MQTTAsync_handles, &socket, clientSockCompare)) != NULL) + { + MQTTAsyncs* m = (MQTTAsyncs*)(found->content); + + m->c->net.lastSent = MQTTTime_now(); + } +} + + +void MQTTAsync_writeComplete(SOCKET socket, int rc) +{ + ListElement* found = NULL; + + FUNC_ENTRY; + + /* a partial write is now complete for a socket - this will be on a publish*/ + MQTTAsync_lock_mutex(mqttasync_mutex); + MQTTProtocol_checkPendingWrites(); + + /* find the client using this socket */ + if ((found = ListFindItem(MQTTAsync_handles, &socket, clientSockCompare)) != NULL) + { + MQTTAsyncs* m = (MQTTAsyncs*)(found->content); + + m->c->net.lastSent = MQTTTime_now(); + + /* see if there is a pending write flagged */ + if (m->pending_write) + { + ListElement* cur_response = NULL; + MQTTAsync_command* command = m->pending_write; + MQTTAsync_queuedCommand* com = NULL; + + cur_response = NULL; + while (ListNextElement(m->responses, &cur_response)) + { + com = (MQTTAsync_queuedCommand*)(cur_response->content); + if (&com->command == m->pending_write) + break; + } + + if (cur_response) /* we found a response */ + { + if (command->type == PUBLISH) + { + if (rc == 1 && command->details.pub.qos == 0) + { + if (command->onSuccess) + { + MQTTAsync_successData data; + + data.token = command->token; + data.alt.pub.destinationName = command->details.pub.destinationName; + data.alt.pub.message.payload = command->details.pub.payload; + data.alt.pub.message.payloadlen = command->details.pub.payloadlen; + data.alt.pub.message.qos = command->details.pub.qos; + data.alt.pub.message.retained = command->details.pub.retained; + Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID); + (*(command->onSuccess))(command->context, &data); + } + else if (command->onSuccess5) + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + + data.token = command->token; + data.alt.pub.destinationName = command->details.pub.destinationName; + data.alt.pub.message.payload = command->details.pub.payload; + data.alt.pub.message.payloadlen = command->details.pub.payloadlen; + data.alt.pub.message.qos = command->details.pub.qos; + data.alt.pub.message.retained = command->details.pub.retained; + data.properties = command->properties; + Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID); + (*(command->onSuccess5))(command->context, &data); + } + } + else if (rc == -1) + { + if (command->onFailure) + { + MQTTAsync_failureData data; + + data.token = command->token; + data.code = rc; + data.message = NULL; + Log(TRACE_MIN, -1, "Calling publish failure for client %s", m->c->clientID); + (*(command->onFailure))(command->context, &data); + } + else if (command->onFailure5) + { + MQTTAsync_failureData5 data; + + data.token = command->token; + data.code = rc; + data.message = NULL; + data.packet_type = PUBLISH; + Log(TRACE_MIN, -1, "Calling publish failure for client %s", m->c->clientID); + (*(command->onFailure5))(command->context, &data); + } + } + else + com = NULL; /* Don't delete response we haven't acknowledged */ + /* QoS 0 payloads are freed elsewhere after a write complete, + * so we should indicate that. + */ + if (command->details.pub.qos == 0) + command->details.pub.payload = NULL; + } + if (com) + { + Log(TRACE_PROTOCOL, -1, "writeComplete: Removing response for msgid %d", com->command.token); + ListDetach(m->responses, com); + MQTTAsync_freeCommand(com); + } + } /* if cur_response */ + m->pending_write = NULL; + } /* if pending_write */ + } + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT; +} + + +static int MQTTAsync_processCommand(void) +{ + int rc = 0; + MQTTAsync_queuedCommand* command = NULL; + ListElement* cur_command = NULL; + List* ignored_clients = NULL; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + MQTTAsync_lock_mutex(mqttcommand_mutex); + + /* only the first command in the list must be processed for any particular client, so if we skip + a command for a client, we must skip all following commands for that client. Use a list of + ignored clients to keep track + */ + ignored_clients = ListInitialize(); + + /* don't try a command until there isn't a pending write for that client, and we are not connecting */ + while (ListNextElement(MQTTAsync_commands, &cur_command)) + { + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)(cur_command->content); + + if (ListFind(ignored_clients, cmd->client)) + continue; + + if (cmd->command.type == CONNECT || cmd->command.type == DISCONNECT || (cmd->client->c->connected && + cmd->client->c->connect_state == NOT_IN_PROGRESS && MQTTAsync_Socket_noPendingWrites(cmd->client->c->net.socket))) + { + if ((cmd->command.type == PUBLISH || cmd->command.type == SUBSCRIBE || cmd->command.type == UNSUBSCRIBE) && + cmd->client->c->outboundMsgs->count >= MAX_MSG_ID - 1) + { + ; /* no more message ids available */ + } + else if (((cmd->command.type == PUBLISH && cmd->command.details.pub.qos > 0) || + cmd->command.type == SUBSCRIBE || cmd->command.type == UNSUBSCRIBE) && + (cmd->client->c->outboundMsgs->count >= cmd->client->c->maxInflightMessages)) + { + Log(TRACE_MIN, -1, "Blocking on server receive maximum for client %s", + cmd->client->c->clientID); /* flow control */ + } + else + { + command = cmd; + break; + } + } + ListAppend(ignored_clients, cmd->client, sizeof(cmd->client)); + } + ListFreeNoContent(ignored_clients); + if (command) + { + if (command->command.type == PUBLISH) + command->client->noBufferedMessages--; + ListDetach(MQTTAsync_commands, command); +#if !defined(NO_PERSISTENCE) + /*printf("outboundmsgs count %d max inflight %d qos %d %d %d\n", command->client->c->outboundMsgs->count, command->client->c->maxInflightMessages, + command->command.details.pub.qos, command->client->c->MQTTVersion, command->command.type);*/ + if (command->client->c->persistence) + { + if (command->not_restored) + { + char* buffer = NULL; + int buflen = 0; + + if ((rc = command->client->c->persistence->pget(command->client->c->phandle, command->key, &buffer, &buflen)) == 0 + && (command->client->c->afterRead == NULL || + (rc = command->client->c->afterRead(command->client->c->afterRead_context, &buffer, &buflen)) == 0)) + { + int MQTTVersion = (strncmp(command->key, PERSISTENCE_V5_COMMAND_KEY, strlen(PERSISTENCE_V5_COMMAND_KEY)) == 0) + ? MQTTVERSION_5 : MQTTVERSION_3_1_1; + free(command->key); + command->key = NULL; + command = MQTTAsync_restoreCommand(buffer, buflen, MQTTVersion, command); + } + else + Log(LOG_ERROR, -1, "Error restoring command: rc %d from pget\n", rc); + if (buffer) + free(buffer); + } + MQTTAsync_unpersistCommand(command); + } +#endif + } + MQTTAsync_unlock_mutex(mqttcommand_mutex); + + if (!command) + goto exit; /* nothing to do */ + + if (command->command.type == CONNECT) + { + if (command->client->c->connect_state != NOT_IN_PROGRESS || command->client->c->connected) + rc = 0; + else + { + char* serverURI = command->client->serverURI; + + if (command->client->serverURIcount > 0) + { + if (command->command.details.conn.currentURI < command->client->serverURIcount) + { + serverURI = command->client->serverURIs[command->command.details.conn.currentURI]; + + if (strncmp(URI_TCP, serverURI, strlen(URI_TCP)) == 0) + serverURI += strlen(URI_TCP); + else if (strncmp(URI_MQTT, serverURI, strlen(URI_MQTT)) == 0) + serverURI += strlen(URI_MQTT); + else if (strncmp(URI_WS, serverURI, strlen(URI_WS)) == 0) + { + serverURI += strlen(URI_WS); + command->client->websocket = 1; + } +#if defined(OPENSSL) + else if (strncmp(URI_SSL, serverURI, strlen(URI_SSL)) == 0) + { + serverURI += strlen(URI_SSL); + command->client->ssl = 1; + } + else if (strncmp(URI_MQTTS, serverURI, strlen(URI_MQTTS)) == 0) + { + serverURI += strlen(URI_MQTTS); + command->client->ssl = 1; + } + else if (strncmp(URI_WSS, serverURI, strlen(URI_WSS)) == 0) + { + serverURI += strlen(URI_WSS); + command->client->ssl = 1; + command->client->websocket = 1; + } +#endif + } + } + + if (command->client->c->MQTTVersion == MQTTVERSION_DEFAULT) + { + if (command->command.details.conn.MQTTVersion == MQTTVERSION_DEFAULT) + command->command.details.conn.MQTTVersion = MQTTVERSION_3_1_1; + else if (command->command.details.conn.MQTTVersion == MQTTVERSION_3_1_1) + command->command.details.conn.MQTTVersion = MQTTVERSION_3_1; + } + else + command->command.details.conn.MQTTVersion = command->client->c->MQTTVersion; + + Log(TRACE_PROTOCOL, -1, "Connecting to serverURI %s with MQTT version %d", serverURI, command->command.details.conn.MQTTVersion); +#if defined(OPENSSL) +#if defined(__GNUC__) && defined(__linux__) + rc = MQTTProtocol_connect(serverURI, command->client->c, command->client->ssl, command->client->websocket, + command->command.details.conn.MQTTVersion, command->client->connectProps, command->client->willProps, 100); +#else + rc = MQTTProtocol_connect(serverURI, command->client->c, command->client->ssl, command->client->websocket, + command->command.details.conn.MQTTVersion, command->client->connectProps, command->client->willProps); +#endif +#else +#if defined(__GNUC__) && defined(__linux__) + rc = MQTTProtocol_connect(serverURI, command->client->c, command->client->websocket, + command->command.details.conn.MQTTVersion, command->client->connectProps, command->client->willProps, 100); +#else + rc = MQTTProtocol_connect(serverURI, command->client->c, command->client->websocket, + command->command.details.conn.MQTTVersion, command->client->connectProps, command->client->willProps); +#endif +#endif + + if (command->client->c->connect_state == NOT_IN_PROGRESS) + rc = SOCKET_ERROR; + + /* if the TCP connect is pending, then we must call select to determine when the connect has completed, + which is indicated by the socket being ready *either* for reading *or* writing. The next couple of lines + make sure we check for writeability as well as readability, otherwise we wait around longer than we need to + in Socket_getReadySocket() */ + if (rc == EINPROGRESS) + Socket_addPendingWrite(command->client->c->net.socket); + } + } + else if (command->command.type == SUBSCRIBE) + { + List* topics = ListInitialize(); + List* qoss = ListInitialize(); + MQTTProperties* props = NULL; + MQTTSubscribe_options* subopts = NULL; + int i; + + for (i = 0; i < command->command.details.sub.count; i++) + { + ListAppend(topics, command->command.details.sub.topics[i], strlen(command->command.details.sub.topics[i])); + ListAppend(qoss, &command->command.details.sub.qoss[i], sizeof(int)); + } + if (command->client->c->MQTTVersion >= MQTTVERSION_5) + { + props = &command->command.properties; + if (command->command.details.sub.count > 1) + subopts = command->command.details.sub.optlist; + else + subopts = &command->command.details.sub.opts; + } + rc = MQTTProtocol_subscribe(command->client->c, topics, qoss, command->command.token, subopts, props); + ListFreeNoContent(topics); + ListFreeNoContent(qoss); + if (command->client->c->MQTTVersion >= MQTTVERSION_5 && command->command.details.sub.count > 1) + free(command->command.details.sub.optlist); + } + else if (command->command.type == UNSUBSCRIBE) + { + List* topics = ListInitialize(); + MQTTProperties* props = NULL; + int i; + + for (i = 0; i < command->command.details.unsub.count; i++) + ListAppend(topics, command->command.details.unsub.topics[i], strlen(command->command.details.unsub.topics[i])); + + if (command->client->c->MQTTVersion >= MQTTVERSION_5) + props = &command->command.properties; + + rc = MQTTProtocol_unsubscribe(command->client->c, topics, command->command.token, props); + ListFreeNoContent(topics); + } + else if (command->command.type == PUBLISH) + { + Messages* msg = NULL; + Publish* p = NULL; + MQTTProperties initialized = MQTTProperties_initializer; + + if ((p = malloc(sizeof(Publish))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + /* Initialize the mask */ + memset(p->mask, 0, sizeof(p->mask)); + + p->payload = command->command.details.pub.payload; + p->payloadlen = command->command.details.pub.payloadlen; + p->topic = command->command.details.pub.destinationName; + p->msgId = command->command.token; + p->MQTTVersion = command->client->c->MQTTVersion; + p->properties = initialized; + if (p->MQTTVersion >= MQTTVERSION_5) + p->properties = command->command.properties; + + rc = MQTTProtocol_startPublish(command->client->c, p, command->command.details.pub.qos, command->command.details.pub.retained, &msg); + + if (command->command.details.pub.qos == 0) + { + if (rc == TCPSOCKET_COMPLETE) + { + if (command->command.onSuccess) + { + MQTTAsync_successData data; + + data.token = command->command.token; + data.alt.pub.destinationName = command->command.details.pub.destinationName; + data.alt.pub.message.payload = command->command.details.pub.payload; + data.alt.pub.message.payloadlen = command->command.details.pub.payloadlen; + data.alt.pub.message.qos = command->command.details.pub.qos; + data.alt.pub.message.retained = command->command.details.pub.retained; + Log(TRACE_MIN, -1, "Calling publish success for client %s", command->client->c->clientID); + (*(command->command.onSuccess))(command->command.context, &data); + } + else if (command->command.onSuccess5) + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + + data.token = command->command.token; + data.alt.pub.destinationName = command->command.details.pub.destinationName; + data.alt.pub.message.payload = command->command.details.pub.payload; + data.alt.pub.message.payloadlen = command->command.details.pub.payloadlen; + data.alt.pub.message.qos = command->command.details.pub.qos; + data.alt.pub.message.retained = command->command.details.pub.retained; + data.properties = command->command.properties; + Log(TRACE_MIN, -1, "Calling publish success for client %s", command->client->c->clientID); + (*(command->command.onSuccess5))(command->command.context, &data); + } + } + else + { + if (rc != SOCKET_ERROR) + { + command->command.details.pub.payload = NULL; /* this will be freed by the protocol code */ + command->command.details.pub.destinationName = NULL; /* this will be freed by the protocol code */ + } + command->client->pending_write = &command->command; + } + } + free(p); /* should this be done if the write isn't complete? */ + } + else if (command->command.type == DISCONNECT) + { + if (command->client->c->connect_state != NOT_IN_PROGRESS || command->client->c->connected != 0) + { + if (command->client->c->connect_state != NOT_IN_PROGRESS) + { + if (command->client->connect.onFailure) + { + MQTTAsync_failureData data; + + data.token = 0; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; + data.message = NULL; + Log(TRACE_MIN, -1, "Calling connect failure for client %s", command->client->c->clientID); + (*(command->client->connect.onFailure))(command->client->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + command->client->connect.onFailure = NULL; + command->client->connect.onSuccess = NULL; + } + else if (command->client->connect.onFailure5) + { + MQTTAsync_failureData5 data; + + data.token = 0; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; + data.message = NULL; + Log(TRACE_MIN, -1, "Calling connect failure for client %s", command->client->c->clientID); + (*(command->client->connect.onFailure5))(command->client->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + command->client->connect.onFailure5 = NULL; + command->client->connect.onSuccess5 = NULL; + } + } + command->client->c->connect_state = DISCONNECTING; + MQTTAsync_checkDisconnect(command->client, &command->command); + } + } + + if (command->command.type == CONNECT && rc != SOCKET_ERROR && rc != MQTTASYNC_PERSISTENCE_ERROR) + { + command->client->connect = command->command; + MQTTAsync_freeCommand(command); + } + else if (command->command.type == DISCONNECT) + { + command->client->disconnect = command->command; + MQTTAsync_freeCommand(command); + } + else if (command->command.type == PUBLISH && command->command.details.pub.qos == 0 && + rc != SOCKET_ERROR && rc != MQTTASYNC_PERSISTENCE_ERROR) + { + if (rc == TCPSOCKET_INTERRUPTED) + ListAppend(command->client->responses, command, sizeof(command)); + else + MQTTAsync_freeCommand(command); + } + else if (rc == SOCKET_ERROR || rc == MQTTASYNC_PERSISTENCE_ERROR) + { + if (command->command.type == CONNECT) + { + MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; + MQTTAsync_disconnect(command->client, &opts); /* not "internal" because we don't want to call connection lost */ + command->client->shouldBeConnected = 1; /* as above call is not "internal" we need to reset this */ + } + else + MQTTAsync_disconnect_internal(command->client, 0); + + if (command->command.type == CONNECT + && MQTTAsync_checkConn(&command->command, command->client)) + { + Log(TRACE_MIN, -1, "Connect failed, more to try"); + + if (command->client->c->MQTTVersion == MQTTVERSION_DEFAULT) + { + if (command->command.details.conn.MQTTVersion == MQTTVERSION_3_1) + { + command->command.details.conn.currentURI++; + command->command.details.conn.MQTTVersion = MQTTVERSION_DEFAULT; + } + } else + command->command.details.conn.currentURI++; /* Here currentURI becomes larger than command->client->serverURIcount. This needs to be handled to avoid segmentation faults! */ + + /* put the connect command back to the head of the command queue, using the next serverURI */ + rc = MQTTAsync_addCommand(command, + sizeof(command->command.details.conn)); + } else + { + if (command->command.onFailure) + { + MQTTAsync_failureData data; + + data.token = 0; + data.code = rc; + data.message = NULL; + Log(TRACE_MIN, -1, "Calling command failure for client %s", command->client->c->clientID); + (*(command->command.onFailure))(command->command.context, &data); + } + else if (command->command.onFailure5) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.code = rc; + Log(TRACE_MIN, -1, "Calling command failure for client %s", command->client->c->clientID); + (*(command->command.onFailure5))(command->command.context, &data); + } + if (command->command.type == CONNECT) + { + command->client->connect = command->command; + MQTTAsync_startConnectRetry(command->client); + } + MQTTAsync_freeCommand(command); /* free up the command if necessary */ + } + } + else /* put the command into a waiting for response queue for each client, indexed by msgid */ + ListAppend(command->client->responses, command, sizeof(command)); + +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + rc = (command != NULL); + FUNC_EXIT_RC(rc); + return rc; +} + + +static void nextOrClose(MQTTAsyncs* m, int rc, char* message) +{ + int was_connected = m->c->connected; + int more_to_try = 0; + int connectionLost_called = 0; + FUNC_ENTRY; + + more_to_try = MQTTAsync_checkConn(&m->connect, m); + if (more_to_try) + { + MQTTAsync_queuedCommand* conn; + + MQTTAsync_closeOnly(m->c, MQTTREASONCODE_SUCCESS, NULL); + if (m->cl && was_connected) + { + Log(TRACE_MIN, -1, "Calling connectionLost for client %s", m->c->clientID); + (*(m->cl))(m->clContext, NULL); + connectionLost_called = 1; + } + /* put the connect command back to the head of the command queue, using the next serverURI */ + if ((conn = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + goto exit; + memset(conn, '\0', sizeof(MQTTAsync_queuedCommand)); + conn->client = m; + conn->command = m->connect; + Log(TRACE_MIN, -1, "Connect failed, more to try"); + + if (conn->client->c->MQTTVersion == MQTTVERSION_DEFAULT) + { + if (conn->command.details.conn.MQTTVersion == MQTTVERSION_3_1) + { + conn->command.details.conn.currentURI++; + conn->command.details.conn.MQTTVersion = MQTTVERSION_DEFAULT; + } + } + else + conn->command.details.conn.currentURI++; + + if (MQTTAsync_addCommand(conn, sizeof(m->connect)) != MQTTASYNC_SUCCESS) + more_to_try = 0; /* go into retry mode if CONNECT command add fails */ + } + + if (!more_to_try) + { + MQTTAsync_closeSession(m->c, MQTTREASONCODE_SUCCESS, NULL); + if (connectionLost_called == 0 && m->cl && was_connected) + { + Log(TRACE_MIN, -1, "Calling connectionLost for client %s", m->c->clientID); + (*(m->cl))(m->clContext, NULL); + } + if (m->connect.onFailure) + { + MQTTAsync_failureData data; + + data.token = 0; + data.code = rc; + data.message = message; + Log(TRACE_MIN, -1, "Calling connect failure for client %s", m->c->clientID); + (*(m->connect.onFailure))(m->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + m->connect.onFailure = NULL; + m->connect.onSuccess = NULL; + } + else if (m->connect.onFailure5) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.token = 0; + data.code = rc; + data.message = message; + Log(TRACE_MIN, -1, "Calling connect failure for client %s", m->c->clientID); + (*(m->connect.onFailure5))(m->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + m->connect.onFailure5 = NULL; + m->connect.onSuccess5 = NULL; + } + MQTTAsync_startConnectRetry(m); + } +exit: + FUNC_EXIT; +} + + +static void MQTTAsync_checkTimeouts(void) +{ + ListElement* current = NULL; + static START_TIME_TYPE last = START_TIME_ZERO; + START_TIME_TYPE now; + + FUNC_ENTRY; + MQTTAsync_lock_mutex(mqttasync_mutex); + now = MQTTTime_now(); + if (MQTTTime_difftime(now, last) < (DIFF_TIME_TYPE)3000) + goto exit; + last = now; + while (ListNextElement(MQTTAsync_handles, ¤t)) /* for each client */ + { + MQTTAsyncs* m = (MQTTAsyncs*)(current->content); + + /* check disconnect timeout */ + if (m->c->connect_state == DISCONNECTING) + MQTTAsync_checkDisconnect(m, &m->disconnect); + + /* check connect timeout */ + if (m->c->connect_state != NOT_IN_PROGRESS && MQTTTime_elapsed(m->connect.start_time) > (ELAPSED_TIME_TYPE)(m->connectTimeout * 1000)) + { + nextOrClose(m, MQTTASYNC_FAILURE, "TCP connect timeout"); + continue; + } + + /* There was a section here that removed timed-out responses. But if the command had completed and + * there was a response, then we may as well report it, no? + * + * In any case, that section was disabled when automatic reconnect was implemented. + */ + + if (m->automaticReconnect && m->retrying) + { + if (m->reconnectNow || MQTTTime_elapsed(m->lastConnectionFailedTime) > (ELAPSED_TIME_TYPE)(m->currentInterval * 1000)) + { + /* to reconnect put the connect command to the head of the command queue */ + MQTTAsync_queuedCommand* conn = malloc(sizeof(MQTTAsync_queuedCommand)); + if (!conn) + goto exit; + memset(conn, '\0', sizeof(MQTTAsync_queuedCommand)); + conn->client = m; + conn->command = m->connect; + /* make sure that the version attempts are restarted */ + if (m->c->MQTTVersion == MQTTVERSION_DEFAULT) + conn->command.details.conn.MQTTVersion = 0; + if (m->updateConnectOptions) + { + MQTTAsync_connectData connectData = MQTTAsync_connectData_initializer; + int callback_rc = MQTTASYNC_SUCCESS; + + connectData.username = m->c->username; + connectData.binarypwd.data = m->c->password; + connectData.binarypwd.len = m->c->passwordlen; + Log(TRACE_MIN, -1, "Calling updateConnectOptions for client %s", m->c->clientID); + callback_rc = (*(m->updateConnectOptions))(m->updateConnectOptions_context, &connectData); + + if (callback_rc) + { + if (connectData.username != m->c->username) + { + if (m->c->username) + free((void*)m->c->username); + if (connectData.username) + m->c->username = connectData.username; /* must be allocated by MQTTAsync_malloc in the callback */ + else + m->c->username = NULL; + } + if (connectData.binarypwd.data != m->c->password) + { + if (m->c->password) + free((void*)m->c->password); + if (connectData.binarypwd.data) + { + m->c->passwordlen = connectData.binarypwd.len; + m->c->password = connectData.binarypwd.data; /* must be allocated by MQTTAsync_malloc in the callback */ + } + else + { + m->c->password = NULL; + m->c->passwordlen = 0; + } + } + } + } + Log(TRACE_MIN, -1, "Automatically attempting to reconnect"); + MQTTAsync_addCommand(conn, sizeof(m->connect)); + m->reconnectNow = 0; + } + } + } +exit: + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT; +} + + +thread_return_type WINAPI MQTTAsync_sendThread(void* n) +{ + int timeout = 10; /* first time in we have a small timeout. Gets things started more quickly */ + + FUNC_ENTRY; + Thread_set_name("MQTTAsync_send"); + MQTTAsync_lock_mutex(mqttasync_mutex); + sendThread_state = RUNNING; + sendThread_id = Thread_getid(); + MQTTAsync_unlock_mutex(mqttasync_mutex); + while (!MQTTAsync_tostop) + { + int rc; + int command_count = 0; + + MQTTAsync_lock_mutex(mqttcommand_mutex); + command_count = MQTTAsync_commands->count; + MQTTAsync_unlock_mutex(mqttcommand_mutex); + while (command_count > 0) + { + if (MQTTAsync_processCommand() == 0) + break; /* no commands were processed, so go into a wait */ + MQTTAsync_lock_mutex(mqttcommand_mutex); + command_count = MQTTAsync_commands->count; + MQTTAsync_unlock_mutex(mqttcommand_mutex); + } +#if !defined(_WIN32) && !defined(_WIN64) + if ((rc = Thread_wait_cond(send_cond, timeout)) != 0 && rc != ETIMEDOUT) + Log(LOG_ERROR, -1, "Error %d waiting for condition variable", rc); +#else + if ((rc = Thread_wait_sem(send_sem, timeout)) != 0 && rc != ETIMEDOUT) + Log(LOG_ERROR, -1, "Error %d waiting for semaphore", rc); +#endif + timeout = 1000; /* 1 second for follow on waits */ + MQTTAsync_checkTimeouts(); + } + sendThread_state = STOPPING; + MQTTAsync_lock_mutex(mqttasync_mutex); + sendThread_state = STOPPED; + sendThread_id = 0; + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT; +#if defined(_WIN32) || defined(_WIN64) + ExitThread(0); +#endif + return 0; +} + + +void MQTTAsync_emptyMessageQueue(Clients* client) +{ + FUNC_ENTRY; + /* empty message queue */ + if (client->messageQueue->count > 0) + { + ListElement* current = NULL; + while (ListNextElement(client->messageQueue, ¤t)) + { + qEntry* qe = (qEntry*)(current->content); + free(qe->topicName); + free(qe->msg->payload); + free(qe->msg); + } + ListEmpty(client->messageQueue); + } + FUNC_EXIT; +} + + +void MQTTAsync_freeResponses(MQTTAsyncs* m) +{ + int count = 0; + + FUNC_ENTRY; + if (m->responses) + { + ListElement* cur_response = NULL; + + while (ListNextElement(m->responses, &cur_response)) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(cur_response->content); + + if (command->command.onFailure) + { + MQTTAsync_failureData data; + + data.token = command->command.token; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; /* interrupted return code */ + data.message = NULL; + + Log(TRACE_MIN, -1, "Calling %s failure for client %s", + MQTTPacket_name(command->command.type), m->c->clientID); + (*(command->command.onFailure))(command->command.context, &data); + } + else if (command->command.onFailure5) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.token = command->command.token; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; /* interrupted return code */ + data.message = NULL; + + Log(TRACE_MIN, -1, "Calling %s failure for client %s", + MQTTPacket_name(command->command.type), m->c->clientID); + (*(command->command.onFailure5))(command->command.context, &data); + } + + MQTTAsync_freeCommand1(command); + count++; + } + ListEmpty(m->responses); + } + Log(TRACE_MINIMUM, -1, "%d responses removed for client %s", count, m->c->clientID); + FUNC_EXIT; +} + + +void MQTTAsync_freeCommands(MQTTAsyncs* m) +{ + int count = 0; + ListElement* current = NULL; + ListElement *next = NULL; + + FUNC_ENTRY; + /* remove commands in the command queue relating to this client */ + current = ListNextElement(MQTTAsync_commands, &next); + ListNextElement(MQTTAsync_commands, &next); + while (current) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content); + + if (command->client == m) + { + ListDetach(MQTTAsync_commands, command); + + if (command->command.onFailure) + { + MQTTAsync_failureData data; + + data.token = command->command.token; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; /* interrupted return code */ + data.message = NULL; + + Log(TRACE_MIN, -1, "Calling %s failure for client %s", + MQTTPacket_name(command->command.type), m->c->clientID); + (*(command->command.onFailure))(command->command.context, &data); + } + else if (command->command.onFailure5) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.token = command->command.token; + data.code = MQTTASYNC_OPERATION_INCOMPLETE; /* interrupted return code */ + data.message = NULL; + + Log(TRACE_MIN, -1, "Calling %s failure for client %s", + MQTTPacket_name(command->command.type), m->c->clientID); + (*(command->command.onFailure5))(command->command.context, &data); + } + + MQTTAsync_freeCommand(command); + count++; + } + current = next; + ListNextElement(MQTTAsync_commands, &next); + } + Log(TRACE_MINIMUM, -1, "%d commands removed for client %s", count, m->c->clientID); + FUNC_EXIT; +} + + +static int MQTTAsync_completeConnection(MQTTAsyncs* m, Connack* connack) +{ + int rc = MQTTASYNC_FAILURE; + + FUNC_ENTRY; + if (m->c->connect_state == WAIT_FOR_CONNACK) /* MQTT connect sent - wait for CONNACK */ + { + Log(LOG_PROTOCOL, 1, NULL, m->c->net.socket, m->c->clientID, connack->rc); + if ((rc = connack->rc) == MQTTASYNC_SUCCESS) + { + m->retrying = 0; + m->c->connected = 1; + m->c->good = 1; + m->c->connect_state = NOT_IN_PROGRESS; + if (m->c->cleansession || m->c->cleanstart) + rc = MQTTAsync_cleanSession(m->c); + else if (m->c->MQTTVersion >= MQTTVERSION_3_1_1 && connack->flags.bits.sessionPresent == 0) + { + Log(LOG_PROTOCOL, -1, "Cleaning session state on connect because sessionPresent is 0"); + rc = MQTTAsync_cleanSession(m->c); + } + if (m->c->outboundMsgs->count > 0) + { + ListElement* outcurrent = NULL; + START_TIME_TYPE zero = START_TIME_ZERO; + + while (ListNextElement(m->c->outboundMsgs, &outcurrent)) + { + Messages* messages = (Messages*)(outcurrent->content); + memset(&messages->lastTouch, '\0', sizeof(messages->lastTouch)); + } + MQTTProtocol_retry(zero, 1, 1); + if (m->c->connected != 1) + rc = MQTTASYNC_DISCONNECTED; + } + } + m->pack = NULL; +#if !defined(_WIN32) && !defined(_WIN64) + Thread_signal_cond(send_cond); +#else + Thread_post_sem(send_sem); +#endif + } + FUNC_EXIT_RC(rc); + return rc; +} + + +/* This is the thread function that handles the calling of callback functions if set */ +thread_return_type WINAPI MQTTAsync_receiveThread(void* n) +{ + long timeout = 10L; /* first time in we have a small timeout. Gets things started more quickly */ + + FUNC_ENTRY; + Thread_set_name("MQTTAsync_rcv"); + MQTTAsync_lock_mutex(mqttasync_mutex); + receiveThread_state = RUNNING; + receiveThread_id = Thread_getid(); + while (!MQTTAsync_tostop) + { + int rc = SOCKET_ERROR; + SOCKET sock = -1; + MQTTAsyncs* m = NULL; + MQTTPacket* pack = NULL; + + MQTTAsync_unlock_mutex(mqttasync_mutex); + pack = MQTTAsync_cycle(&sock, timeout, &rc); + MQTTAsync_lock_mutex(mqttasync_mutex); + if (MQTTAsync_tostop) + break; + + if (sock == 0) + continue; + timeout = 1000L; + + /* find client corresponding to socket */ + if (ListFindItem(MQTTAsync_handles, &sock, clientSockCompare) == NULL) + { + Log(TRACE_MINIMUM, -1, "Could not find client corresponding to socket %d", sock); + /* Socket_close(sock); - removing socket in this case is not necessary (Bug 442400) */ + continue; + } + m = (MQTTAsyncs*)(MQTTAsync_handles->current->content); + if (m == NULL) + { + Log(LOG_ERROR, -1, "Client structure was NULL for socket %d - removing socket", sock); + Socket_close(sock); + continue; + } + if (rc == SOCKET_ERROR) + { + Log(TRACE_MINIMUM, -1, "Error from MQTTAsync_cycle() - removing socket %d", sock); + nextOrClose(m, rc, "socket error"); + } + else + { + if (m->c->messageQueue->count > 0 && m->ma) + { + qEntry* qe = (qEntry*)(m->c->messageQueue->first->content); + int topicLen = qe->topicLen; + + if (strlen(qe->topicName) == topicLen) + topicLen = 0; + + if (MQTTAsync_deliverMessage(m, qe->topicName, topicLen, qe->msg)) + { +#if !defined(NO_PERSISTENCE) + if (m->c->persistence) + MQTTPersistence_unpersistQueueEntry(m->c, (MQTTPersistence_qEntry*)qe); +#endif + ListRemove(m->c->messageQueue, qe); /* qe is freed here */ + } + else + Log(TRACE_MIN, -1, "False returned from messageArrived for client %s, message remains on queue", + m->c->clientID); + } + if (pack) + { + if (pack->header.bits.type == CONNACK) + { + Connack* connack = (Connack*)pack; + int sessionPresent = connack->flags.bits.sessionPresent; + + rc = MQTTAsync_completeConnection(m, connack); + if (rc == MQTTASYNC_SUCCESS) + { + int onSuccess = 0; + if ((m->serverURIcount > 0) + && (m->connect.details.conn.currentURI < m->serverURIcount)) + { + Log(TRACE_MIN, -1, "Connect succeeded to %s", + m->serverURIs[m->connect.details.conn.currentURI]); + } + onSuccess = (m->connect.onSuccess != NULL || + m->connect.onSuccess5 != NULL); /* save setting of onSuccess callback */ + if (m->connect.onSuccess) + { + MQTTAsync_successData data; + memset(&data, '\0', sizeof(data)); + Log(TRACE_MIN, -1, "Calling connect success for client %s", m->c->clientID); + if ((m->serverURIcount > 0) + && (m->connect.details.conn.currentURI < m->serverURIcount)) + data.alt.connect.serverURI = m->serverURIs[m->connect.details.conn.currentURI]; + else + data.alt.connect.serverURI = m->serverURI; + data.alt.connect.MQTTVersion = m->connect.details.conn.MQTTVersion; + data.alt.connect.sessionPresent = sessionPresent; + (*(m->connect.onSuccess))(m->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + m->connect.onSuccess = NULL; + m->connect.onFailure = NULL; + } + else if (m->connect.onSuccess5) + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + Log(TRACE_MIN, -1, "Calling connect success for client %s", m->c->clientID); + if (m->serverURIcount > 0) + data.alt.connect.serverURI = m->serverURIs[m->connect.details.conn.currentURI]; + else + data.alt.connect.serverURI = m->serverURI; + data.alt.connect.MQTTVersion = m->connect.details.conn.MQTTVersion; + data.alt.connect.sessionPresent = sessionPresent; + data.properties = connack->properties; + data.reasonCode = connack->rc; + (*(m->connect.onSuccess5))(m->connect.context, &data); + /* Null out callback pointers so they aren't accidentally called again */ + m->connect.onSuccess5 = NULL; + m->connect.onFailure5 = NULL; + } + if (m->connected) + { + char* reason = (onSuccess) ? "connect onSuccess called" : "automatic reconnect"; + Log(TRACE_MIN, -1, "Calling connected for client %s", m->c->clientID); + (*(m->connected))(m->connected_context, reason); + } + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + if (MQTTProperties_hasProperty(&connack->properties, MQTTPROPERTY_CODE_RECEIVE_MAXIMUM)) + { + int recv_max = MQTTProperties_getNumericValue(&connack->properties, MQTTPROPERTY_CODE_RECEIVE_MAXIMUM); + if (m->c->maxInflightMessages > recv_max) + m->c->maxInflightMessages = recv_max; + } + } + } + else + { + nextOrClose(m, rc, "CONNACK return code"); + } + MQTTPacket_freeConnack(connack); + } + else if (pack->header.bits.type == SUBACK) + { + ListElement* current = NULL; + + /* use the msgid to find the callback to be called */ + while (ListNextElement(m->responses, ¤t)) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content); + if (command->command.token == ((Suback*)pack)->msgId) + { + Suback* sub = (Suback*)pack; + if (!ListDetach(m->responses, command)) /* remove the response from the list */ + Log(LOG_ERROR, -1, "Subscribe command not removed from command list"); + + /* Call the failure callback if there is one subscribe in the MQTT packet and + * the return code is 0x80 (failure). If the MQTT packet contains >1 subscription + * request, then we call onSuccess with the list of returned QoSs, which inelegantly, + * could include some failures, or worse, the whole list could have failed. + */ + if (m->c->MQTTVersion >= MQTTVERSION_5) + { + if (sub->qoss->count == 1 && *(int*)(sub->qoss->first->content) >= MQTTREASONCODE_UNSPECIFIED_ERROR) + { + if (command->command.onFailure5) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.token = command->command.token; + data.reasonCode = *(int*)(sub->qoss->first->content); + data.message = NULL; + data.properties = sub->properties; + Log(TRACE_MIN, -1, "Calling subscribe failure for client %s", m->c->clientID); + (*(command->command.onFailure5))(command->command.context, &data); + } + } + else if (command->command.onSuccess5) + { + MQTTAsync_successData5 data; + enum MQTTReasonCodes* array = NULL; + + data.reasonCode = *(int*)(sub->qoss->first->content); + data.alt.sub.reasonCodeCount = sub->qoss->count; + if (sub->qoss->count > 1) + { + ListElement* cur_qos = NULL; + enum MQTTReasonCodes* element = array = data.alt.sub.reasonCodes = malloc(sub->qoss->count * sizeof(enum MQTTReasonCodes)); + if (array) + while (ListNextElement(sub->qoss, &cur_qos)) + *element++ = *(int*)(cur_qos->content); + } + data.token = command->command.token; + data.properties = sub->properties; + Log(TRACE_MIN, -1, "Calling subscribe success for client %s", m->c->clientID); + (*(command->command.onSuccess5))(command->command.context, &data); + if (array) + free(array); + } + } + else if (sub->qoss->count == 1 && *(int*)(sub->qoss->first->content) == MQTT_BAD_SUBSCRIBE) + { + if (command->command.onFailure) + { + MQTTAsync_failureData data; + + data.token = command->command.token; + data.code = *(int*)(sub->qoss->first->content); + data.message = NULL; + Log(TRACE_MIN, -1, "Calling subscribe failure for client %s", m->c->clientID); + (*(command->command.onFailure))(command->command.context, &data); + } + } + else if (command->command.onSuccess) + { + MQTTAsync_successData data; + int* array = NULL; + + if (sub->qoss->count == 1) + data.alt.qos = *(int*)(sub->qoss->first->content); + else if (sub->qoss->count > 1) + { + ListElement* cur_qos = NULL; + int* element = array = data.alt.qosList = malloc(sub->qoss->count * sizeof(int)); + if (array) + while (ListNextElement(sub->qoss, &cur_qos)) + *element++ = *(int*)(cur_qos->content); + } + data.token = command->command.token; + Log(TRACE_MIN, -1, "Calling subscribe success for client %s", m->c->clientID); + (*(command->command.onSuccess))(command->command.context, &data); + if (array) + free(array); + } + MQTTAsync_freeCommand(command); + break; + } + } + rc = MQTTProtocol_handleSubacks(pack, m->c->net.socket); + } + else if (pack->header.bits.type == UNSUBACK) + { + ListElement* current = NULL; + Unsuback* unsub = (Unsuback*)pack; + + /* use the msgid to find the callback to be called */ + while (ListNextElement(m->responses, ¤t)) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content); + if (command->command.token == ((Unsuback*)pack)->msgId) + { + if (!ListDetach(m->responses, command)) /* remove the response from the list */ + Log(LOG_ERROR, -1, "Unsubscribe command not removed from command list"); + if (command->command.onSuccess || command->command.onSuccess5) + { + Log(TRACE_MIN, -1, "Calling unsubscribe success for client %s", m->c->clientID); + if (command->command.onSuccess) + { + MQTTAsync_successData data; + + memset(&data, '\0', sizeof(data)); + data.token = command->command.token; + (*(command->command.onSuccess))(command->command.context, &data); + } + else + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + enum MQTTReasonCodes* array = NULL; + + data.reasonCode = *(enum MQTTReasonCodes*)(unsub->reasonCodes->first->content); + data.alt.unsub.reasonCodeCount = unsub->reasonCodes->count; + if (unsub->reasonCodes->count > 1) + { + ListElement* cur_rc = NULL; + enum MQTTReasonCodes* element = array = data.alt.unsub.reasonCodes = malloc(unsub->reasonCodes->count * sizeof(enum MQTTReasonCodes)); + if (array) + while (ListNextElement(unsub->reasonCodes, &cur_rc)) + *element++ = *(enum MQTTReasonCodes*)(cur_rc->content); + } + data.token = command->command.token; + data.properties = unsub->properties; + Log(TRACE_MIN, -1, "Calling unsubscribe success for client %s", m->c->clientID); + (*(command->command.onSuccess5))(command->command.context, &data); + if (array) + free(array); + } + } + MQTTAsync_freeCommand(command); + break; + } + } + rc = MQTTProtocol_handleUnsubacks(pack, m->c->net.socket); + } + else if (pack->header.bits.type == DISCONNECT) + { + Ack* disc = (Ack*)pack; + int discrc = 0; + + discrc = disc->rc; + if (m->disconnected) + { + Log(TRACE_MIN, -1, "Calling disconnected for client %s", m->c->clientID); + (*(m->disconnected))(m->disconnected_context, &disc->properties, disc->rc); + } + rc = MQTTProtocol_handleDisconnects(pack, m->c->net.socket); + m->c->connected = 0; /* don't send disconnect packet back */ + nextOrClose(m, discrc, "Received disconnect"); + } + } + } + } + receiveThread_state = STOPPED; + receiveThread_id = 0; + MQTTAsync_unlock_mutex(mqttasync_mutex); +#if !defined(_WIN32) && !defined(_WIN64) + if (sendThread_state != STOPPED) + Thread_signal_cond(send_cond); +#else + if (sendThread_state != STOPPED) + Thread_post_sem(send_sem); +#endif + FUNC_EXIT; +#if defined(_WIN32) || defined(_WIN64) + ExitThread(0); +#endif + return 0; +} + + +static void MQTTAsync_stop(void) +{ +#if !defined(NOSTACKTRACE) + int rc = 0; +#endif + + FUNC_ENTRY; + if (sendThread_state != STOPPED || receiveThread_state != STOPPED) + { + int conn_count = 0; + ListElement* current = NULL; + + if (MQTTAsync_handles != NULL) + { + /* find out how many handles are still connected */ + while (ListNextElement(MQTTAsync_handles, ¤t)) + { + if (((MQTTAsyncs*)(current->content))->c->connect_state > NOT_IN_PROGRESS || + ((MQTTAsyncs*)(current->content))->c->connected) + ++conn_count; + } + } + Log(TRACE_MIN, -1, "Conn_count is %d", conn_count); + /* stop the background thread, if we are the last one to be using it */ + if (conn_count == 0) + { + int count = 0; + MQTTAsync_tostop = 1; + while ((sendThread_state != STOPPED || receiveThread_state != STOPPED) && MQTTAsync_tostop != 0 && ++count < 100) + { + MQTTAsync_unlock_mutex(mqttasync_mutex); + Log(TRACE_MIN, -1, "sleeping"); + MQTTAsync_sleep(100L); + MQTTAsync_lock_mutex(mqttasync_mutex); + } +#if !defined(NOSTACKTRACE) + rc = 1; +#endif + MQTTAsync_tostop = 0; + } + } + FUNC_EXIT_RC(rc); +} + + +static void MQTTAsync_closeOnly(Clients* client, enum MQTTReasonCodes reasonCode, MQTTProperties* props) +{ + FUNC_ENTRY; + client->good = 0; + client->ping_outstanding = 0; + client->ping_due = 0; + if (client->net.socket > 0) + { + MQTTProtocol_checkPendingWrites(); + if (client->connected && Socket_noPendingWrites(client->net.socket)) + MQTTPacket_send_disconnect(client, reasonCode, props); + MQTTAsync_lock_mutex(socket_mutex); + WebSocket_close(&client->net, WebSocket_CLOSE_NORMAL, NULL); +#if defined(OPENSSL) + SSL_SESSION_free(client->session); /* is a no-op if session is NULL */ + client->session = NULL; /* show the session has been freed */ + SSLSocket_close(&client->net); +#endif + Socket_close(client->net.socket); + client->net.socket = 0; +#if defined(OPENSSL) + client->net.ssl = NULL; +#endif + MQTTAsync_unlock_mutex(socket_mutex); + } + client->connected = 0; + client->connect_state = NOT_IN_PROGRESS; + FUNC_EXIT; +} + + +void MQTTAsync_closeSession(Clients* client, enum MQTTReasonCodes reasonCode, MQTTProperties* props) +{ + FUNC_ENTRY; + MQTTAsync_closeOnly(client, reasonCode, props); + + if (client->cleansession || + (client->MQTTVersion >= MQTTVERSION_5 && client->sessionExpiry == 0)) + MQTTAsync_cleanSession(client); + + FUNC_EXIT; +} + + +/** + * List callback function for comparing clients by client structure + * @param a Async structure + * @param b Client structure + * @return boolean indicating whether a and b are equal + */ +static int clientStructCompare(void* a, void* b) +{ + MQTTAsyncs* m = (MQTTAsyncs*)a; + return m->c == (Clients*)b; +} + + +/* + * Set destinationName and payload to NULL in all responses + * for a client, so that these memory locations aren't freed twice as they + * are also stored by MQTTProtocol_storePublication. + * @param m the client to process + */ +void MQTTAsync_NULLPublishResponses(MQTTAsyncs* m) +{ + FUNC_ENTRY; + if (m->responses) + { + ListElement* cur_response = NULL; + + while (ListNextElement(m->responses, &cur_response)) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(cur_response->content); + if (command->command.type == PUBLISH) + { + /* these values are going to be freed in RemovePublication */ + command->command.details.pub.destinationName = NULL; + command->command.details.pub.payload = NULL; + } + } + } + FUNC_EXIT; +} + + +/* + * Set destinationName and payload to NULL in all commands + * for a client, so that these memory locations aren't freed twice as they + * are also stored by MQTTProtocol_storePublication. + * @param m the client to process + */ +void MQTTAsync_NULLPublishCommands(MQTTAsyncs* m) +{ + ListElement* current = NULL; + ListElement *next = NULL; + + FUNC_ENTRY; + current = ListNextElement(MQTTAsync_commands, &next); + ListNextElement(MQTTAsync_commands, &next); + while (current) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content); + + if (command->client == m && command->command.type == PUBLISH) + { + /* these values are going to be freed in RemovePublication */ + command->command.details.pub.destinationName = NULL; + command->command.details.pub.payload = NULL; + } + current = next; + ListNextElement(MQTTAsync_commands, &next); + } + FUNC_EXIT; +} + + +/** + * Clean the MQTT session data. This includes the MQTT inflight messages, because + * that is part of the MQTT state that will be cleared by the MQTT broker too. + * However, queued up messages, outgoing or incoming, need (should?) not be cleared + * as they are outside the scope of the MQTT session. + */ +static int MQTTAsync_cleanSession(Clients* client) +{ + int rc = 0; + ListElement* found = NULL; + + FUNC_ENTRY; +#if !defined(NO_PERSISTENCE) + rc = MQTTAsync_unpersistInflightMessages(client); +#endif + MQTTProtocol_emptyMessageList(client->inboundMsgs); + MQTTProtocol_emptyMessageList(client->outboundMsgs); + client->msgID = 0; + if ((found = ListFindItem(MQTTAsync_handles, client, clientStructCompare)) != NULL) + { + MQTTAsyncs* m = (MQTTAsyncs*)(found->content); + MQTTAsync_NULLPublishResponses(m); + MQTTAsync_freeResponses(m); + } + else + Log(LOG_ERROR, -1, "cleanSession: did not find client structure in handles list"); + FUNC_EXIT_RC(rc); + return rc; +} + + +/* +* Deliver a message to the messageArrived callback +* @param m a client structure +* @param topicName the name of the topic on which the message is being delivered +* @param topicLen the length of the topic name string +* @param mm the message to be delivered +* @return boolean 1 means message has been delivered, 0 that it has not +*/ +static int MQTTAsync_deliverMessage(MQTTAsyncs* m, char* topicName, size_t topicLen, MQTTAsync_message* mm) +{ + int rc; + + Log(TRACE_MIN, -1, "Calling messageArrived for client %s, queue depth %d", + m->c->clientID, m->c->messageQueue->count); + rc = (*(m->ma))(m->maContext, topicName, (int)topicLen, mm); + /* if 0 (false) is returned by the callback then it failed, so we don't remove the message from + * the queue, and it will be retried later. If 1 is returned then the message data may have been freed, + * so we must be careful how we use it. + */ + return rc; +} + + +void Protocol_processPublication(Publish* publish, Clients* client, int allocatePayload) +{ + MQTTAsync_message* mm = NULL; + MQTTAsync_message initialized = MQTTAsync_message_initializer; + int rc = 0; + + FUNC_ENTRY; + if ((mm = malloc(sizeof(MQTTAsync_message))) == NULL) + goto exit; + memcpy(mm, &initialized, sizeof(MQTTAsync_message)); + + if (allocatePayload) + { + if ((mm->payload = malloc(publish->payloadlen)) == NULL) + { + free(mm); + goto exit; + } + memcpy(mm->payload, publish->payload, publish->payloadlen); + } else + mm->payload = publish->payload; + mm->payloadlen = publish->payloadlen; + mm->qos = publish->header.bits.qos; + mm->retained = publish->header.bits.retain; + if (publish->header.bits.qos == 2) + mm->dup = 0; /* ensure that a QoS2 message is not passed to the application with dup = 1 */ + else + mm->dup = publish->header.bits.dup; + mm->msgid = publish->msgId; + + if (publish->MQTTVersion >= MQTTVERSION_5) + mm->properties = MQTTProperties_copy(&publish->properties); + + if (client->messageQueue->count == 0 && client->connected) + { + ListElement* found = NULL; + + if ((found = ListFindItem(MQTTAsync_handles, client, clientStructCompare)) == NULL) + Log(LOG_ERROR, -1, "processPublication: did not find client structure in handles list"); + else + { + MQTTAsyncs* m = (MQTTAsyncs*)(found->content); + + if (m->ma) + rc = MQTTAsync_deliverMessage(m, publish->topic, publish->topiclen, mm); + else + Log(LOG_ERROR, -1, "Message arrived for client %s but can't deliver it. No messageArrived callback", + m->c->clientID); + } + } + + if (rc == 0) /* if message was not delivered, queue it up */ + { + qEntry* qe = malloc(sizeof(qEntry)); + + if (!qe) + goto exit; + qe->msg = mm; + qe->topicName = publish->topic; + qe->topicLen = publish->topiclen; + ListAppend(client->messageQueue, qe, sizeof(qe) + sizeof(mm) + mm->payloadlen + strlen(qe->topicName)+1); +#if !defined(NO_PERSISTENCE) + if (client->persistence) + MQTTPersistence_persistQueueEntry(client, (MQTTPersistence_qEntry*)qe); +#endif + } +exit: + publish->topic = NULL; + FUNC_EXIT; +} + + +static int retryLoopIntervalms = 5000; + +void setRetryLoopInterval(int keepalive) +{ + retryLoopIntervalms = (keepalive*1000) / 10; + + if (retryLoopIntervalms < 100) + retryLoopIntervalms = 100; + else if (retryLoopIntervalms > 5000) + retryLoopIntervalms = 5000; +} + + +int MQTTAsync_disconnect1(MQTTAsync handle, const MQTTAsync_disconnectOptions* options, int internal) +{ + MQTTAsyncs* m = handle; + int rc = MQTTASYNC_SUCCESS; + MQTTAsync_queuedCommand* dis; + + FUNC_ENTRY; + if (m == NULL || m->c == NULL) + { + rc = MQTTASYNC_FAILURE; + goto exit; + } + if (!internal) + m->shouldBeConnected = 0; + if (m->c->connected == 0) + { + rc = MQTTASYNC_DISCONNECTED; + goto exit; + } + + /* Add disconnect request to operation queue */ + if ((dis = malloc(sizeof(MQTTAsync_queuedCommand))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memset(dis, '\0', sizeof(MQTTAsync_queuedCommand)); + dis->client = m; + if (options) + { + dis->command.onSuccess = options->onSuccess; + dis->command.onFailure = options->onFailure; + dis->command.onSuccess5 = options->onSuccess5; + dis->command.onFailure5 = options->onFailure5; + dis->command.context = options->context; + dis->command.details.dis.timeout = options->timeout; + if (m->c->MQTTVersion >= MQTTVERSION_5 && options->struct_version >= 1) + { + dis->command.properties = MQTTProperties_copy(&options->properties); + dis->command.details.dis.reasonCode = options->reasonCode; + } + } + dis->command.type = DISCONNECT; + dis->command.details.dis.internal = internal; + rc = MQTTAsync_addCommand(dis, sizeof(dis)); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +static int MQTTAsync_disconnect_internal(MQTTAsync handle, int timeout) +{ + MQTTAsync_disconnectOptions options = MQTTAsync_disconnectOptions_initializer; + + options.timeout = timeout; + return MQTTAsync_disconnect1(handle, &options, 1); +} + + +void MQTTProtocol_closeSession(Clients* c, int sendwill) +{ + nextOrClose((MQTTAsync)c->context, MQTTASYNC_DISCONNECTED, "MQTTProtocol_closeSession"); +} + + +static int cmdMessageIDCompare(void* a, void* b) +{ + MQTTAsync_queuedCommand* cmd = (MQTTAsync_queuedCommand*)a; + return cmd->command.token == *(int*)b; +} + + +/** + * Assign a new message id for a client. Make sure it isn't already being used and does + * not exceed the maximum. + * @param m a client structure + * @return the next message id to use, or 0 if none available + */ +int MQTTAsync_assignMsgId(MQTTAsyncs* m) +{ + int start_msgid; + int msgid; + thread_id_type thread_id = 0; + int locked = 0; + + /* need to check: commands list and response list for a client */ + FUNC_ENTRY; + /* We might be called in a callback. In which case, this mutex will be already locked. */ + thread_id = Thread_getid(); + if (thread_id != sendThread_id && thread_id != receiveThread_id) + { + MQTTAsync_lock_mutex(mqttasync_mutex); + locked = 1; + } + + /* Fetch last message ID in locked state */ + start_msgid = m->c->msgID; + msgid = start_msgid; + + MQTTAsync_lock_mutex(mqttcommand_mutex); + msgid = (msgid == MAX_MSG_ID) ? 1 : msgid + 1; + while (ListFindItem(MQTTAsync_commands, &msgid, cmdMessageIDCompare) || + ListFindItem(m->c->outboundMsgs, &msgid, messageIDCompare) || + ListFindItem(m->responses, &msgid, cmdMessageIDCompare)) + { + msgid = (msgid == MAX_MSG_ID) ? 1 : msgid + 1; + if (msgid == start_msgid) + { /* we've tried them all - none free */ + msgid = 0; + break; + } + } + MQTTAsync_unlock_mutex(mqttcommand_mutex); + if (msgid != 0) + m->c->msgID = msgid; + if (locked) + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(msgid); + return msgid; +} + + +static void MQTTAsync_retry(void) +{ + static START_TIME_TYPE last = START_TIME_ZERO; + START_TIME_TYPE now; + + FUNC_ENTRY; + now = MQTTTime_now(); + if (MQTTTime_difftime(now, last) >= (DIFF_TIME_TYPE)(retryLoopIntervalms)) + { + last = MQTTTime_now(); + MQTTProtocol_keepalive(now); + MQTTProtocol_retry(now, 1, 0); + } + else + MQTTProtocol_retry(now, 0, 0); + FUNC_EXIT; +} + + +static int MQTTAsync_connecting(MQTTAsyncs* m) +{ + int rc = -1; + char* serverURI = m->serverURI; +#if defined(OPENSSL) + int default_port = MQTT_DEFAULT_PORT; +#endif + + FUNC_ENTRY; + + /* This was reported in #1007, but I've not been able to reproduce it. It feels like this is + * covering up the issue, if it exists. If the error message is ever seen, please consider + * reporting the circumstances so that more debugging can occur. Thanks - IGC. + */ + if (m->connect.details.conn.MQTTVersion == MQTTVERSION_DEFAULT) /* should not happen - #1007 */ + { + Log(LOG_ERROR, -1, "MQTT version is 0 in MQTTAsync_connecting"); + m->connect.details.conn.MQTTVersion = (m->c->MQTTVersion == MQTTVERSION_DEFAULT) ? MQTTVERSION_3_1_1 : m->c->MQTTVersion; + } + /* End of #1007 avoiding code */ + + if (m->serverURIcount > 0) + { + serverURI = m->serverURIs[m->connect.details.conn.currentURI]; + + /* skip URI scheme */ + if (strncmp(URI_TCP, serverURI, strlen(URI_TCP)) == 0) + serverURI += strlen(URI_TCP); + else if (strncmp(URI_MQTT, serverURI, strlen(URI_MQTT)) == 0) + serverURI += strlen(URI_MQTT); + else if (strncmp(URI_WS, serverURI, strlen(URI_WS)) == 0) + { + serverURI += strlen(URI_WS); +#if defined(OPENSSL) + default_port = WS_DEFAULT_PORT; +#endif + } +#if defined(OPENSSL) + else if (strncmp(URI_SSL, serverURI, strlen(URI_SSL)) == 0) + { + serverURI += strlen(URI_SSL); + default_port = SECURE_MQTT_DEFAULT_PORT; + } + else if (strncmp(URI_MQTTS, serverURI, strlen(URI_MQTTS)) == 0) + { + serverURI += strlen(URI_MQTTS); + default_port = SECURE_MQTT_DEFAULT_PORT; + } + else if (strncmp(URI_WSS, serverURI, strlen(URI_WSS)) == 0) + { + serverURI += strlen(URI_WSS); + default_port = WSS_DEFAULT_PORT; + } +#endif + } + + if (m->c->connect_state == TCP_IN_PROGRESS) /* TCP connect started - check for completion */ + { + int error; + socklen_t len = sizeof(error); + + if ((rc = getsockopt(m->c->net.socket, SOL_SOCKET, SO_ERROR, (char*)&error, &len)) == 0) + rc = error; + + if (rc != 0) + goto exit; + + Socket_clearPendingWrite(m->c->net.socket); + +#if defined(OPENSSL) + if (m->ssl) + { + int port; + size_t hostname_len; + int setSocketForSSLrc = 0; + + if (m->c->net.https_proxy) { + m->c->connect_state = PROXY_CONNECT_IN_PROGRESS; + if ((rc = Proxy_connect( &m->c->net, 1, serverURI)) == SOCKET_ERROR ) + goto exit; + } + + hostname_len = MQTTProtocol_addressPort(serverURI, &port, NULL, default_port); + setSocketForSSLrc = SSLSocket_setSocketForSSL(&m->c->net, m->c->sslopts, + serverURI, hostname_len); + + if (setSocketForSSLrc != MQTTASYNC_SUCCESS) + { + if (m->c->session != NULL) + if ((rc = SSL_set_session(m->c->net.ssl, m->c->session)) != 1) + Log(TRACE_MIN, -1, "Failed to set SSL session with stored data, non critical"); + rc = m->c->sslopts->struct_version >= 3 ? + SSLSocket_connect(m->c->net.ssl, m->c->net.socket, serverURI, + m->c->sslopts->verify, m->c->sslopts->ssl_error_cb, m->c->sslopts->ssl_error_context) : + SSLSocket_connect(m->c->net.ssl, m->c->net.socket, serverURI, + m->c->sslopts->verify, NULL, NULL); + if (rc == TCPSOCKET_INTERRUPTED) + { + rc = MQTTCLIENT_SUCCESS; /* the connect is still in progress */ + m->c->connect_state = SSL_IN_PROGRESS; + } + else if (rc == SSL_FATAL) + { + rc = SOCKET_ERROR; + goto exit; + } + else if (rc == 1) + { + if ( m->websocket ) + { + m->c->connect_state = WEBSOCKET_IN_PROGRESS; + if ((rc = WebSocket_connect(&m->c->net, m->ssl, serverURI)) == SOCKET_ERROR ) + goto exit; + } + else + { + rc = MQTTCLIENT_SUCCESS; + m->c->connect_state = WAIT_FOR_CONNACK; + if (MQTTPacket_send_connect(m->c, m->connect.details.conn.MQTTVersion, + m->connectProps, m->willProps) == SOCKET_ERROR) + { + rc = SOCKET_ERROR; + goto exit; + } + } + if (!m->c->cleansession && m->c->session == NULL) + m->c->session = SSL_get1_session(m->c->net.ssl); + } + } + else + { + rc = SOCKET_ERROR; + goto exit; + } + } + else + { +#endif + if (m->c->net.http_proxy) { + m->c->connect_state = PROXY_CONNECT_IN_PROGRESS; + if ((rc = Proxy_connect( &m->c->net, 0, serverURI)) == SOCKET_ERROR ) + goto exit; + } + + if ( m->websocket ) + { + m->c->connect_state = WEBSOCKET_IN_PROGRESS; + if ((rc = WebSocket_connect(&m->c->net, 0, serverURI)) == SOCKET_ERROR ) + goto exit; + } + else + { + m->c->connect_state = WAIT_FOR_CONNACK; /* TCP/SSL connect completed, in which case send the MQTT connect packet */ + if ((rc = MQTTPacket_send_connect(m->c, m->connect.details.conn.MQTTVersion, + m->connectProps, m->willProps)) == SOCKET_ERROR) + goto exit; + } +#if defined(OPENSSL) + } +#endif + } +#if defined(OPENSSL) + else if (m->c->connect_state == SSL_IN_PROGRESS) /* SSL connect sent - wait for completion */ + { + rc = m->c->sslopts->struct_version >= 3 ? + SSLSocket_connect(m->c->net.ssl, m->c->net.socket, serverURI, + m->c->sslopts->verify, m->c->sslopts->ssl_error_cb, m->c->sslopts->ssl_error_context) : + SSLSocket_connect(m->c->net.ssl, m->c->net.socket, serverURI, + m->c->sslopts->verify, NULL, NULL); + if (rc != 1) + goto exit; + + if(!m->c->cleansession && m->c->session == NULL) + m->c->session = SSL_get1_session(m->c->net.ssl); + + if ( m->websocket ) + { + m->c->connect_state = WEBSOCKET_IN_PROGRESS; + if ((rc = WebSocket_connect(&m->c->net, 1, serverURI)) == SOCKET_ERROR ) + goto exit; + } + else + { + m->c->connect_state = WAIT_FOR_CONNACK; /* SSL connect completed, in which case send the MQTT connect packet */ + if ((rc = MQTTPacket_send_connect(m->c, m->connect.details.conn.MQTTVersion, + m->connectProps, m->willProps)) == SOCKET_ERROR) + goto exit; + } + } +#endif + else if (m->c->connect_state == WEBSOCKET_IN_PROGRESS) /* Websocket connect sent - wait for completion */ + { + if ((rc = WebSocket_upgrade( &m->c->net ) ) == SOCKET_ERROR ) + goto exit; + else if (rc != TCPSOCKET_INTERRUPTED) + { + m->c->connect_state = WAIT_FOR_CONNACK; /* Websocket upgrade completed, in which case send the MQTT connect packet */ + if ((rc = MQTTPacket_send_connect(m->c, m->connect.details.conn.MQTTVersion, m->connectProps, m->willProps)) == SOCKET_ERROR) + goto exit; + } + } + +exit: + if ((rc != 0 && rc != TCPSOCKET_INTERRUPTED && (m->c->connect_state != SSL_IN_PROGRESS && m->c->connect_state != WEBSOCKET_IN_PROGRESS)) || (rc == SSL_FATAL)) + nextOrClose(m, MQTTASYNC_FAILURE, "TCP/TLS connect failure"); + + FUNC_EXIT_RC(rc); + return rc; +} + + +static MQTTPacket* MQTTAsync_cycle(SOCKET* sock, unsigned long timeout, int* rc) +{ + MQTTPacket* pack = NULL; + int rc1 = 0; + + FUNC_ENTRY; +#if defined(OPENSSL) + if ((*sock = SSLSocket_getPendingRead()) == -1) + { +#endif + int should_stop = 0; + + /* 0 from getReadySocket indicates no work to do, rc -1 == error */ + *sock = Socket_getReadySocket(0, (int)timeout, socket_mutex, &rc1); + *rc = rc1; + MQTTAsync_lock_mutex(mqttasync_mutex); + should_stop = MQTTAsync_tostop; + MQTTAsync_unlock_mutex(mqttasync_mutex); + if (!should_stop && *sock == 0 && (timeout > 0L)) + MQTTAsync_sleep(100L); +#if defined(OPENSSL) + } +#endif + MQTTAsync_lock_mutex(mqttasync_mutex); + if (*sock > 0 && rc1 == 0) + { + MQTTAsyncs* m = NULL; + if (ListFindItem(MQTTAsync_handles, sock, clientSockCompare) != NULL) + m = (MQTTAsync)(MQTTAsync_handles->current->content); + if (m != NULL) + { + Log(TRACE_MINIMUM, -1, "m->c->connect_state = %d", m->c->connect_state); + if (m->c->connect_state == TCP_IN_PROGRESS || m->c->connect_state == SSL_IN_PROGRESS || m->c->connect_state == WEBSOCKET_IN_PROGRESS) + *rc = MQTTAsync_connecting(m); + else + pack = MQTTPacket_Factory(m->c->MQTTVersion, &m->c->net, rc); + if (m->c->connect_state == WAIT_FOR_CONNACK && *rc == SOCKET_ERROR) + { + Log(TRACE_MINIMUM, -1, "CONNECT sent but MQTTPacket_Factory has returned SOCKET_ERROR"); + nextOrClose(m, MQTTASYNC_FAILURE, "TCP connect completion failure"); + } + } + if (pack) + { + int freed = 1; + + /* Note that these handle... functions free the packet structure that they are dealing with */ + if (pack->header.bits.type == PUBLISH) + *rc = MQTTProtocol_handlePublishes(pack, *sock); + else if (pack->header.bits.type == PUBACK || pack->header.bits.type == PUBCOMP || + pack->header.bits.type == PUBREC) + { + int msgid = 0, + msgtype = 0, + ackrc = 0, + mqttversion = 0; + MQTTProperties msgprops = MQTTProperties_initializer; + Publications* pubToRemove = NULL; + + /* This block is so that the ack variable is local and isn't accidentally reused */ + { + static Ack ack; + ack = *(Ack*)pack; + /* these values are stored because the packet structure is freed in the handle functions */ + msgid = ack.msgId; + msgtype = pack->header.bits.type; + if (ack.MQTTVersion >= MQTTVERSION_5) + { + ackrc = ack.rc; + msgprops = MQTTProperties_copy(&ack.properties); + mqttversion = ack.MQTTVersion; + } + } + + if (pack->header.bits.type == PUBCOMP) + *rc = MQTTProtocol_handlePubcomps(pack, *sock, &pubToRemove); + else if (pack->header.bits.type == PUBREC) + *rc = MQTTProtocol_handlePubrecs(pack, *sock, &pubToRemove); + else if (pack->header.bits.type == PUBACK) + *rc = MQTTProtocol_handlePubacks(pack, *sock, &pubToRemove); + if (!m) + Log(LOG_ERROR, -1, "PUBCOMP, PUBACK or PUBREC received for no client, msgid %d", msgid); + if (m && (msgtype != PUBREC || ackrc >= MQTTREASONCODE_UNSPECIFIED_ERROR)) + { + ListElement* current = NULL; + + if (m->dc) + { + Log(TRACE_MIN, -1, "Calling deliveryComplete for client %s, msgid %d", m->c->clientID, msgid); + (*(m->dc))(m->dcContext, msgid); + } + /* use the msgid to find the callback to be called */ + while (ListNextElement(m->responses, ¤t)) + { + MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content); + if (command->command.token == msgid) + { + if (!ListDetach(m->responses, command)) /* then remove the response from the list */ + Log(LOG_ERROR, -1, "Publish command not removed from command list"); + if (command->command.onSuccess) + { + MQTTAsync_successData data; + + data.token = command->command.token; + data.alt.pub.destinationName = command->command.details.pub.destinationName; + data.alt.pub.message.payload = command->command.details.pub.payload; + data.alt.pub.message.payloadlen = command->command.details.pub.payloadlen; + data.alt.pub.message.qos = command->command.details.pub.qos; + data.alt.pub.message.retained = command->command.details.pub.retained; + Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID); + (*(command->command.onSuccess))(command->command.context, &data); + } + else if (command->command.onSuccess5 && ackrc < MQTTREASONCODE_UNSPECIFIED_ERROR) + { + MQTTAsync_successData5 data = MQTTAsync_successData5_initializer; + + data.token = command->command.token; + data.alt.pub.destinationName = command->command.details.pub.destinationName; + data.alt.pub.message.payload = command->command.details.pub.payload; + data.alt.pub.message.payloadlen = command->command.details.pub.payloadlen; + data.alt.pub.message.qos = command->command.details.pub.qos; + data.alt.pub.message.retained = command->command.details.pub.retained; + data.properties = command->command.properties; + Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID); + (*(command->command.onSuccess5))(command->command.context, &data); + } + else if (command->command.onFailure5 && ackrc >= MQTTREASONCODE_UNSPECIFIED_ERROR) + { + MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; + + data.token = command->command.token; + data.reasonCode = ackrc; + data.properties = msgprops; + data.packet_type = pack->header.bits.type; + Log(TRACE_MIN, -1, "Calling publish failure for client %s", m->c->clientID); + (*(command->command.onFailure5))(command->command.context, &data); + } + if (pubToRemove != NULL) + { + MQTTProtocol_removePublication(pubToRemove); + pubToRemove = NULL; + /* removePublication has freed the topic and payload memory, so here we indicate that + * so freeCommand doesn't try to free them again. + */ + command->command.details.pub.destinationName = NULL; + command->command.details.pub.payload = NULL; + } + MQTTAsync_freeCommand(command); + break; + } + } + if (mqttversion >= MQTTVERSION_5) + MQTTProperties_free(&msgprops); + } + if (pubToRemove != NULL) + MQTTProtocol_removePublication(pubToRemove); + } + else if (pack->header.bits.type == PUBREL) + *rc = MQTTProtocol_handlePubrels(pack, *sock); + else if (pack->header.bits.type == PINGRESP) + *rc = MQTTProtocol_handlePingresps(pack, *sock); + else + freed = 0; + if (freed) + pack = NULL; + } + } + MQTTAsync_retry(); + MQTTAsync_unlock_mutex(mqttasync_mutex); + FUNC_EXIT_RC(*rc); + return pack; +} + + +int MQTTAsync_getNoBufferedMessages(MQTTAsyncs* m) +{ + int count = 0; + + MQTTAsync_lock_mutex(mqttcommand_mutex); + count = m->noBufferedMessages; + MQTTAsync_unlock_mutex(mqttcommand_mutex); + return count; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.h new file mode 100644 index 0000000..1ad12cc --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTAsyncUtils.h @@ -0,0 +1,174 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTASYNCUTILS_H_) +#define MQTTASYNCUTILS_H_ + +#include "MQTTPacket.h" +#include "Thread.h" + +#define URI_TCP "tcp://" +#define URI_MQTT "mqtt://" +#define URI_WS "ws://" +#define URI_WSS "wss://" + +enum MQTTAsync_threadStates +{ + STOPPED, STARTING, RUNNING, STOPPING +}; + +typedef struct +{ + MQTTAsync_message* msg; + char* topicName; + int topicLen; + unsigned int seqno; /* only used on restore */ +} qEntry; + +typedef struct +{ + int type; + MQTTAsync_onSuccess* onSuccess; + MQTTAsync_onFailure* onFailure; + MQTTAsync_onSuccess5* onSuccess5; + MQTTAsync_onFailure5* onFailure5; + MQTTAsync_token token; + void* context; + START_TIME_TYPE start_time; + MQTTProperties properties; + union + { + struct + { + int count; + char** topics; + int* qoss; + MQTTSubscribe_options opts; + MQTTSubscribe_options* optlist; + } sub; + struct + { + int count; + char** topics; + } unsub; + struct + { + char* destinationName; + int payloadlen; + void* payload; + int qos; + int retained; + } pub; + struct + { + int internal; + int timeout; + enum MQTTReasonCodes reasonCode; + } dis; + struct + { + int currentURI; + int MQTTVersion; /**< current MQTT version being used to connect */ + } conn; + } details; +} MQTTAsync_command; + +typedef struct MQTTAsync_struct +{ + char* serverURI; + int ssl; + int websocket; + Clients* c; + + /* "Global", to the client, callback definitions */ + MQTTAsync_connectionLost* cl; + MQTTAsync_messageArrived* ma; + MQTTAsync_deliveryComplete* dc; + void* clContext; /* the context to be associated with the conn lost callback*/ + void* maContext; /* the context to be associated with the msg arrived callback*/ + void* dcContext; /* the context to be associated with the deliv complete callback*/ + + MQTTAsync_connected* connected; + void* connected_context; /* the context to be associated with the connected callback*/ + + MQTTAsync_disconnected* disconnected; + void* disconnected_context; /* the context to be associated with the disconnected callback*/ + + MQTTAsync_updateConnectOptions* updateConnectOptions; + void* updateConnectOptions_context; + + /* Each time connect is called, we store the options that were used. These are reused in + any call to reconnect, or an automatic reconnect attempt */ + MQTTAsync_command connect; /* Connect operation properties */ + MQTTAsync_command disconnect; /* Disconnect operation properties */ + MQTTAsync_command* pending_write; /* Is there a socket write pending? */ + + List* responses; + unsigned int command_seqno; + + MQTTPacket* pack; + + /* added for offline buffering */ + MQTTAsync_createOptions* createOptions; + int shouldBeConnected; + int noBufferedMessages; /* the current number of buffered (publish) messages for this client */ + + /* added for automatic reconnect */ + int automaticReconnect; + int minRetryInterval; + int maxRetryInterval; + int serverURIcount; + char** serverURIs; + int connectTimeout; + + int currentInterval; + int currentIntervalBase; + START_TIME_TYPE lastConnectionFailedTime; + int retrying; + int reconnectNow; + + /* MQTT V5 properties */ + MQTTProperties* connectProps; + MQTTProperties* willProps; + +} MQTTAsyncs; + +typedef struct +{ + MQTTAsync_command command; + MQTTAsyncs* client; + unsigned int seqno; /* only used on restore */ + int not_restored; + char* key; /* if not_restored, this holds the key */ +} MQTTAsync_queuedCommand; + +void MQTTAsync_lock_mutex(mutex_type amutex); +void MQTTAsync_unlock_mutex(mutex_type amutex); +void MQTTAsync_terminate(void); +#if !defined(NO_PERSISTENCE) +int MQTTAsync_restoreCommands(MQTTAsyncs* client); +#endif +int MQTTAsync_addCommand(MQTTAsync_queuedCommand* command, int command_size); +void MQTTAsync_emptyMessageQueue(Clients* client); +void MQTTAsync_freeResponses(MQTTAsyncs* m); +void MQTTAsync_freeCommands(MQTTAsyncs* m); +int MQTTAsync_unpersistCommandsAndMessages(Clients* c); +void MQTTAsync_closeSession(Clients* client, enum MQTTReasonCodes reasonCode, MQTTProperties* props); +int MQTTAsync_disconnect1(MQTTAsync handle, const MQTTAsync_disconnectOptions* options, int internal); +int MQTTAsync_assignMsgId(MQTTAsyncs* m); +int MQTTAsync_getNoBufferedMessages(MQTTAsyncs* m); +void MQTTAsync_writeContinue(SOCKET socket); +void MQTTAsync_writeComplete(SOCKET socket, int rc); +void setRetryLoopInterval(int keepalive); +void MQTTAsync_NULLPublishResponses(MQTTAsyncs* m); +void MQTTAsync_NULLPublishCommands(MQTTAsyncs* m); + +#if defined(_WIN32) || defined(_WIN64) +#else +#define WINAPI +#endif + +thread_return_type WINAPI MQTTAsync_sendThread(void* n); +thread_return_type WINAPI MQTTAsync_receiveThread(void* n); + +#endif /* MQTTASYNCUTILS_H_ */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClient.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClient.h new file mode 100644 index 0000000..90473b5 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClient.h @@ -0,0 +1,1872 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +/* +/// @cond EXCLUDE +*/ +#if !defined(MQTTCLIENT_H) +#define MQTTCLIENT_H + +#if defined(__cplusplus) + extern "C" { +#endif + +#include +/* +/// @endcond +*/ + +#include "MQTTExportDeclarations.h" + +#include "MQTTProperties.h" +#include "MQTTReasonCodes.h" +#include "MQTTSubscribeOpts.h" +#if !defined(NO_PERSISTENCE) +#include "MQTTClientPersistence.h" +#endif + +/** + * Return code: No error. Indicates successful completion of an MQTT client + * operation. + */ +#define MQTTCLIENT_SUCCESS 0 +/** + * Return code: A generic error code indicating the failure of an MQTT client + * operation. + */ +#define MQTTCLIENT_FAILURE -1 + +/* error code -2 is MQTTCLIENT_PERSISTENCE_ERROR */ + +/** + * Return code: The client is disconnected. + */ +#define MQTTCLIENT_DISCONNECTED -3 +/** + * Return code: The maximum number of messages allowed to be simultaneously + * in-flight has been reached. + */ +#define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4 +/** + * Return code: An invalid UTF-8 string has been detected. + */ +#define MQTTCLIENT_BAD_UTF8_STRING -5 +/** + * Return code: A NULL parameter has been supplied when this is invalid. + */ +#define MQTTCLIENT_NULL_PARAMETER -6 +/** + * Return code: The topic has been truncated (the topic string includes + * embedded NULL characters). String functions will not access the full topic. + * Use the topic length value to access the full topic. + */ +#define MQTTCLIENT_TOPICNAME_TRUNCATED -7 +/** + * Return code: A structure parameter does not have the correct eyecatcher + * and version number. + */ +#define MQTTCLIENT_BAD_STRUCTURE -8 +/** + * Return code: A QoS value that falls outside of the acceptable range (0,1,2) + */ +#define MQTTCLIENT_BAD_QOS -9 +/** + * Return code: Attempting SSL connection using non-SSL version of library + */ +#define MQTTCLIENT_SSL_NOT_SUPPORTED -10 + /** + * Return code: unrecognized MQTT version + */ + #define MQTTCLIENT_BAD_MQTT_VERSION -11 +/** + * Return code: protocol prefix in serverURI should be: + * @li @em tcp:// or @em mqtt:// - Insecure TCP + * @li @em ssl:// or @em mqtts:// - Encrypted SSL/TLS + * @li @em ws:// - Insecure websockets + * @li @em wss:// - Secure web sockets + * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS + * version of the library is linked with. + */ +#define MQTTCLIENT_BAD_PROTOCOL -14 + /** + * Return code: option not applicable to the requested version of MQTT + */ + #define MQTTCLIENT_BAD_MQTT_OPTION -15 + /** + * Return code: call not applicable to the requested version of MQTT + */ + #define MQTTCLIENT_WRONG_MQTT_VERSION -16 + /** + * Return code: 0 length will topic on connect + */ + #define MQTTCLIENT_0_LEN_WILL_TOPIC -17 + + +/** + * Default MQTT version to connect with. Use 3.1.1 then fall back to 3.1 + */ +#define MQTTVERSION_DEFAULT 0 +/** + * MQTT version to connect with: 3.1 + */ +#define MQTTVERSION_3_1 3 +/** + * MQTT version to connect with: 3.1.1 + */ +#define MQTTVERSION_3_1_1 4 + /** + * MQTT version to connect with: 5 + */ + #define MQTTVERSION_5 5 +/** + * Bad return code from subscribe, as defined in the 3.1.1 specification + */ +#define MQTT_BAD_SUBSCRIBE 0x80 + +/** + * Initialization options + */ +typedef struct +{ + /** The eyecatcher for this structure. Must be MQTG. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 */ + int struct_version; + /** 1 = we do openssl init, 0 = leave it to the application */ + int do_openssl_init; +} MQTTClient_init_options; + +#define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 } + +/** + * Global init of mqtt library. Call once on program start to set global behaviour. + * do_openssl_init - if mqtt library should initialize OpenSSL (1) or rely on the caller to do it before using the library (0) + */ +LIBMQTT_API void MQTTClient_global_init(MQTTClient_init_options* inits); + +/** + * A handle representing an MQTT client. A valid client handle is available + * following a successful call to MQTTClient_create(). + */ +typedef void* MQTTClient; +/** + * A value representing an MQTT message. A delivery token is returned to the + * client application when a message is published. The token can then be used to + * check that the message was successfully delivered to its destination (see + * MQTTClient_publish(), + * MQTTClient_publishMessage(), + * MQTTClient_deliveryComplete(), + * MQTTClient_waitForCompletion() and + * MQTTClient_getPendingDeliveryTokens()). + */ +typedef int MQTTClient_deliveryToken; +typedef int MQTTClient_token; + +/** + * A structure representing the payload and attributes of an MQTT message. The + * message topic is not part of this structure (see MQTTClient_publishMessage(), + * MQTTClient_publish(), MQTTClient_receive(), MQTTClient_freeMessage() + * and MQTTClient_messageArrived()). + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTM. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1 + * 0 indicates no message properties */ + int struct_version; + /** The length of the MQTT message payload in bytes. */ + int payloadlen; + /** A pointer to the payload of the MQTT message. */ + void* payload; + /** + * The quality of service (QoS) assigned to the message. + * There are three levels of QoS: + *
+ *
QoS0
+ *
Fire and forget - the message may not be delivered
+ *
QoS1
+ *
At least once - the message will be delivered, but may be + * delivered more than once in some circumstances.
+ *
QoS2
+ *
Once and one only - the message will be delivered exactly once.
+ *
+ */ + int qos; + /** + * The retained flag serves two purposes depending on whether the message + * it is associated with is being published or received. + * + * retained = true
+ * For messages being published, a true setting indicates that the MQTT + * server should retain a copy of the message. The message will then be + * transmitted to new subscribers to a topic that matches the message topic. + * For subscribers registering a new subscription, the flag being true + * indicates that the received message is not a new one, but one that has + * been retained by the MQTT server. + * + * retained = false
+ * For publishers, this indicates that this message should not be retained + * by the MQTT server. For subscribers, a false setting indicates this is + * a normal message, received as a result of it being published to the + * server. + */ + int retained; + /** + * The dup flag indicates whether or not this message is a duplicate. + * It is only meaningful when receiving QoS1 messages. When true, the + * client application should take appropriate action to deal with the + * duplicate message. + */ + int dup; + /** The message identifier is normally reserved for internal use by the + * MQTT client and server. + */ + int msgid; + /** + * The MQTT V5 properties associated with the message. + */ + MQTTProperties properties; +} MQTTClient_message; + +#define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer } + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * receipt of messages. The function is registered with the client library by + * passing it as an argument to MQTTClient_setCallbacks(). It is + * called by the client library when a new message that matches a client + * subscription has been received from the server. This function is executed on + * a separate thread to the one on which the client application is running. + * @param context A pointer to the context value originally passed to + * MQTTClient_setCallbacks(), which contains any application-specific context. + * @param topicName The topic associated with the received message. + * @param topicLen The length of the topic if there are one + * more NULL characters embedded in topicName, otherwise topicLen + * is 0. If topicLen is 0, the value returned by strlen(topicName) + * can be trusted. If topicLen is greater than 0, the full topic name + * can be retrieved by accessing topicName as a byte array of length + * topicLen. + * @param message The MQTTClient_message structure for the received message. + * This structure contains the message payload and attributes. + * @return This function must return 0 or 1 indicating whether or not + * the message has been safely received by the client application.
+ * Returning 1 indicates that the message has been successfully handled. + * To free the message storage, ::MQTTClient_freeMessage must be called. + * To free the topic name storage, ::MQTTClient_free must be called.
+ * Returning 0 indicates that there was a problem. In this + * case, the client library will reinvoke MQTTClient_messageArrived() to + * attempt to deliver the message to the application again. + * Do not free the message and topic storage when returning 0, otherwise + * the redelivery will fail. + */ +typedef int MQTTClient_messageArrived(void* context, char* topicName, int topicLen, MQTTClient_message* message); + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of delivery of messages. The function is registered with the + * client library by passing it as an argument to MQTTClient_setCallbacks(). + * It is called by the client library after the client application has + * published a message to the server. It indicates that the necessary + * handshaking and acknowledgements for the requested quality of service (see + * MQTTClient_message.qos) have been completed. This function is executed on a + * separate thread to the one on which the client application is running. + * Note:MQTTClient_deliveryComplete() is not called when messages are + * published at QoS0. + * @param context A pointer to the context value originally passed to + * MQTTClient_setCallbacks(), which contains any application-specific context. + * @param dt The ::MQTTClient_deliveryToken associated with + * the published message. Applications can check that all messages have been + * correctly published by matching the delivery tokens returned from calls to + * MQTTClient_publish() and MQTTClient_publishMessage() with the tokens passed + * to this callback. + */ +typedef void MQTTClient_deliveryComplete(void* context, MQTTClient_deliveryToken dt); + +/** + * This is a callback function. The client application + * must provide an implementation of this function to enable asynchronous + * notification of the loss of connection to the server. The function is + * registered with the client library by passing it as an argument to + * MQTTClient_setCallbacks(). It is called by the client library if the client + * loses its connection to the server. The client application must take + * appropriate action, such as trying to reconnect or reporting the problem. + * This function is executed on a separate thread to the one on which the + * client application is running. + * @param context A pointer to the context value originally passed to + * MQTTClient_setCallbacks(), which contains any application-specific context. + * @param cause The reason for the disconnection. + * Currently, cause is always set to NULL. + */ +typedef void MQTTClient_connectionLost(void* context, char* cause); + +/** + * This function sets the callback functions for a specific client. + * If your client application doesn't use a particular callback, set the + * relevant parameter to NULL. Calling MQTTClient_setCallbacks() puts the + * client into multi-threaded mode. Any necessary message acknowledgements and + * status communications are handled in the background without any intervention + * from the client application. See @ref async for more information. + * + * Note: The MQTT client must be disconnected when this function is + * called. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param cl A pointer to an MQTTClient_connectionLost() callback + * function. You can set this to NULL if your application doesn't handle + * disconnections. + * @param ma A pointer to an MQTTClient_messageArrived() callback + * function. This callback function must be set when you call + * MQTTClient_setCallbacks(), as otherwise there would be nowhere to deliver + * any incoming messages. + * @param dc A pointer to an MQTTClient_deliveryComplete() callback + * function. You can set this to NULL if your application publishes + * synchronously or if you do not want to check for successful delivery. + * @return ::MQTTCLIENT_SUCCESS if the callbacks were correctly set, + * ::MQTTCLIENT_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTClient_setCallbacks(MQTTClient handle, void* context, MQTTClient_connectionLost* cl, + MQTTClient_messageArrived* ma, MQTTClient_deliveryComplete* dc); + + +/** + * This is a callback function, which will be called when the a disconnect + * packet is received from the server. This applies to MQTT V5 and above only. + * @param context A pointer to the context value originally passed to + * ::MQTTClient_setDisconnected(), which contains any application-specific context. + * @param properties The MQTT V5 properties received with the disconnect, if any. + * @param reasonCode The MQTT V5 reason code received with the disconnect. + * Currently, cause is always set to NULL. + */ +typedef void MQTTClient_disconnected(void* context, MQTTProperties* properties, + enum MQTTReasonCodes reasonCode); + +/** + * Sets the MQTTClient_disconnected() callback function for a client. This will be called + * if a disconnect packet is received from the server. Only valid for MQTT V5 and above. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param context A pointer to any application-specific context. The + * the context pointer is passed to each of the callback functions to + * provide access to the context information in the callback. + * @param co A pointer to an MQTTClient_disconnected() callback + * function. NULL removes the callback setting. + * @return ::MQTTCLIENT_SUCCESS if the callbacks were correctly set, + * ::MQTTCLIENT_FAILURE if an error occurred. + */ +LIBMQTT_API int MQTTClient_setDisconnected(MQTTClient handle, void* context, MQTTClient_disconnected* co); + +/** + * This is a callback function, the MQTT V5 version of MQTTClient_deliveryComplete(). + * The client application + * must provide an implementation of this function to enable asynchronous + * notification of the completed delivery of messages. + * It is called by the client library after the client application has + * published a message to the server. It indicates that the necessary + * handshaking and acknowledgements for the requested quality of service (see + * MQTTClient_message.qos) have been completed. This function is executed on a + * separate thread to the one on which the client application is running. + * Note: It is not called when messages are published at QoS0. + * @param context A pointer to the context value originally passed to + * MQTTClient_setCallbacks(), which contains any application-specific context. + * @param dt The ::MQTTClient_deliveryToken associated with + * the published message. Applications can check that all messages have been + * correctly published by matching the delivery tokens returned from calls to + * MQTTClient_publish() and MQTTClient_publishMessage() with the tokens passed + * to this callback. + * @param packet_type the last received packet type for this completion. For QoS 1 + * always PUBACK. For QoS 2 could be PUBREC or PUBCOMP. + * @param properties the MQTT V5 properties returned with the last packet from the server + * @param reasonCode the reason code returned from the server + */ +typedef void MQTTClient_published(void* context, int dt, int packet_type, MQTTProperties* properties, + enum MQTTReasonCodes reasonCode); + +LIBMQTT_API int MQTTClient_setPublished(MQTTClient handle, void* context, MQTTClient_published* co); + +/** + * This function creates an MQTT client ready for connection to the + * specified server and using the specified persistent storage (see + * MQTTClient_persistence). See also MQTTClient_destroy(). + * @param handle A pointer to an ::MQTTClient handle. The handle is + * populated with a valid client reference following a successful return from + * this function. + * @param serverURI A null-terminated string specifying the server to + * which the client will connect. It takes the form protocol://host:port. + * Currently, protocol must be: + *
+ * @em tcp:// or @em mqtt:// - Insecure TCP + *
+ * @em ssl:// or @em mqtts:// - Encrypted SSL/TLS + *
+ * @em ws:// - Insecure websockets + *
+ * @em wss:// - Secure web sockets + *
+ * The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS + * version of the library is linked with. + * For host, you can specify either an IP address or a host name. For + * instance, to connect to a server running on the local machines with the + * default MQTT port, specify tcp://localhost:1883. + * @param clientId The client identifier passed to the server when the + * client connects to it. It is a null-terminated UTF-8 encoded string. + * @param persistence_type The type of persistence to be used by the client: + *
+ * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or + * system on which the client is running fails or is switched off, the current + * state of any in-flight messages is lost and some messages may not be + * delivered even at QoS1 and QoS2. + *
+ * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) + * persistence mechanism. Status about in-flight messages is held in persistent + * storage and provides some protection against message loss in the case of + * unexpected failure. + *
+ * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence + * implementation. Using this type of persistence gives control of the + * persistence mechanism to the application. The application has to implement + * the MQTTClient_persistence interface. + * @param persistence_context If the application uses + * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should + * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it + * should be set to the location of the persistence directory (if set + * to NULL, the persistence directory used is the working directory). + * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this + * argument to point to a valid MQTTClient_persistence structure. + * @return ::MQTTCLIENT_SUCCESS if the client is successfully created, otherwise + * an error code is returned. + */ +LIBMQTT_API int MQTTClient_create(MQTTClient* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context); + +/** Options for the ::MQTTClient_createWithOptions call */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQCO. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 */ + int struct_version; + /** Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. + * MQTT V5 has to be chosen here, because during the create call the message persistence + * is initialized, and we want to know whether the format of any persisted messages + * is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or + * 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create. */ + int MQTTVersion; +} MQTTClient_createOptions; + +#define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT } + +/** + * A version of :MQTTClient_create() with additional options. + * This function creates an MQTT client ready for connection to the + * specified server and using the specified persistent storage (see + * MQTTClient_persistence). See also MQTTClient_destroy(). + * @param handle A pointer to an ::MQTTClient handle. The handle is + * populated with a valid client reference following a successful return from + * this function. + * @param serverURI A null-terminated string specifying the server to + * which the client will connect. It takes the form protocol://host:port. + * Currently, protocol must be tcp or ssl. + * For host, you can + * specify either an IP address or a host name. For instance, to connect to + * a server running on the local machines with the default MQTT port, specify + * tcp://localhost:1883. + * @param clientId The client identifier passed to the server when the + * client connects to it. It is a null-terminated UTF-8 encoded string. + * @param persistence_type The type of persistence to be used by the client: + *
+ * ::MQTTCLIENT_PERSISTENCE_NONE: Use in-memory persistence. If the device or + * system on which the client is running fails or is switched off, the current + * state of any in-flight messages is lost and some messages may not be + * delivered even at QoS1 and QoS2. + *
+ * ::MQTTCLIENT_PERSISTENCE_DEFAULT: Use the default (file system-based) + * persistence mechanism. Status about in-flight messages is held in persistent + * storage and provides some protection against message loss in the case of + * unexpected failure. + *
+ * ::MQTTCLIENT_PERSISTENCE_USER: Use an application-specific persistence + * implementation. Using this type of persistence gives control of the + * persistence mechanism to the application. The application has to implement + * the MQTTClient_persistence interface. + * @param persistence_context If the application uses + * ::MQTTCLIENT_PERSISTENCE_NONE persistence, this argument is unused and should + * be set to NULL. For ::MQTTCLIENT_PERSISTENCE_DEFAULT persistence, it + * should be set to the location of the persistence directory (if set + * to NULL, the persistence directory used is the working directory). + * Applications that use ::MQTTCLIENT_PERSISTENCE_USER persistence set this + * argument to point to a valid MQTTClient_persistence structure. + * @param options additional options for the create. + * @return ::MQTTCLIENT_SUCCESS if the client is successfully created, otherwise + * an error code is returned. + */ +LIBMQTT_API int MQTTClient_createWithOptions(MQTTClient* handle, const char* serverURI, const char* clientId, + int persistence_type, void* persistence_context, MQTTClient_createOptions* options); + +/** + * MQTTClient_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for + * the client. In the event that a client unexpectedly loses its connection to + * the server, the server publishes the LWT message to the LWT topic on + * behalf of the client. This allows other clients (subscribed to the LWT topic) + * to be made aware that the client has disconnected. To enable the LWT + * function for a specific client, a valid pointer to an MQTTClient_willOptions + * structure is passed in the MQTTClient_connectOptions structure used in the + * MQTTClient_connect() call that connects the client to the server. The pointer + * to MQTTClient_willOptions can be set to NULL if the LWT function is not + * required. + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTW. */ + char struct_id[4]; + /** The version number of this structure. Must be 0 or 1 + 0 means there is no binary payload option + */ + int struct_version; + /** The LWT topic to which the LWT message will be published. */ + const char* topicName; + /** The LWT payload in string form. */ + const char* message; + /** + * The retained flag for the LWT message (see MQTTClient_message.retained). + */ + int retained; + /** + * The quality of service setting for the LWT message (see + * MQTTClient_message.qos and @ref qos). + */ + int qos; + /** The LWT payload in binary form. This is only checked and used if the message option is NULL */ + struct + { + int len; /**< binary payload length */ + const void* data; /**< binary payload data */ + } payload; +} MQTTClient_willOptions; + +#define MQTTClient_willOptions_initializer { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} } + +#define MQTT_SSL_VERSION_DEFAULT 0 +#define MQTT_SSL_VERSION_TLS_1_0 1 +#define MQTT_SSL_VERSION_TLS_1_1 2 +#define MQTT_SSL_VERSION_TLS_1_2 3 + +/** +* MQTTClient_sslProperties defines the settings to establish an SSL/TLS connection using the +* OpenSSL library. It covers the following scenarios: +* - Server authentication: The client needs the digital certificate of the server. It is included +* in a store containting trusted material (also known as "trust store"). +* - Mutual authentication: Both client and server are authenticated during the SSL handshake. In +* addition to the digital certificate of the server in a trust store, the client will need its own +* digital certificate and the private key used to sign its digital certificate stored in a "key store". +* - Anonymous connection: Both client and server do not get authenticated and no credentials are needed +* to establish an SSL connection. Note that this scenario is not fully secure since it is subject to +* man-in-the-middle attacks. +*/ +typedef struct +{ + /** The eyecatcher for this structure. Must be MQTS */ + char struct_id[4]; + + /** The version number of this structure. Must be 0, 1, 2, 3, 4 or 5. + * 0 means no sslVersion + * 1 means no verify, CApath + * 2 means no ssl_error_context, ssl_error_cb + * 3 means no ssl_psk_cb, ssl_psk_context, disableDefaultTrustStore + * 4 means no protos, protos_len + */ + int struct_version; + + /** The file in PEM format containing the public digital certificates trusted by the client. */ + const char* trustStore; + + /** The file in PEM format containing the public certificate chain of the client. It may also include + * the client's private key. + */ + const char* keyStore; + + /** If not included in the sslKeyStore, this setting points to the file in PEM format containing + * the client's private key. + */ + const char* privateKey; + + /** The password to load the client's privateKey if encrypted. */ + const char* privateKeyPassword; + + /** + * The list of cipher suites that the client will present to the server during the SSL handshake. For a + * full explanation of the cipher list format, please see the OpenSSL on-line documentation: + * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT + * If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding + * those offering no encryption- will be considered. + * This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance). + */ + const char* enabledCipherSuites; + + /** True/False option to enable verification of the server certificate **/ + int enableServerCertAuth; + + /** The SSL/TLS version to use. Specify one of MQTT_SSL_VERSION_DEFAULT (0), + * MQTT_SSL_VERSION_TLS_1_0 (1), MQTT_SSL_VERSION_TLS_1_1 (2) or MQTT_SSL_VERSION_TLS_1_2 (3). + * Only used if struct_version is >= 1. + */ + int sslVersion; + + /** + * Whether to carry out post-connect checks, including that a certificate + * matches the given host name. + * Exists only if struct_version >= 2 + */ + int verify; + + /** + * From the OpenSSL documentation: + * If CApath is not NULL, it points to a directory containing CA certificates in PEM format. + * Exists only if struct_version >= 2 + */ + const char* CApath; + + /** + * Callback function for OpenSSL error handler ERR_print_errors_cb + * Exists only if struct_version >= 3 + */ + int (*ssl_error_cb) (const char *str, size_t len, void *u); + + /** + * Application-specific contex for OpenSSL error handler ERR_print_errors_cb + * Exists only if struct_version >= 3 + */ + void* ssl_error_context; + + /** + * Callback function for setting TLS-PSK options. Parameters correspond to that of + * SSL_CTX_set_psk_client_callback, except for u which is the pointer ssl_psk_context. + * Exists only if struct_version >= 4 + */ + unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u); + + /** + * Application-specific contex for ssl_psk_cb + * Exists only if struct_version >= 4 + */ + void* ssl_psk_context; + + /** + * Don't load default SSL CA. Should be used together with PSK to make sure + * regular servers with certificate in place is not accepted. + * Exists only if struct_version >= 4 + */ + int disableDefaultTrustStore; + + /** + * The protocol-lists must be in wire-format, which is defined as a vector of non-empty, 8-bit length-prefixed, byte strings. + * The length-prefix byte is not included in the length. Each string is limited to 255 bytes. A byte-string length of 0 is invalid. + * A truncated byte-string is invalid. + * Check documentation for SSL_CTX_set_alpn_protos + * Exists only if struct_version >= 5 + */ + const unsigned char *protos; + + /** + * The length of the vector protos vector + * Exists only if struct_version >= 5 + */ + unsigned int protos_len; +} MQTTClient_SSLOptions; + +#define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 } + +/** + * MQTTClient_libraryInfo is used to store details relating to the currently used + * library such as the version in use, the time it was built and relevant openSSL + * options. + * There is one static instance of this struct in MQTTClient.c + */ + +typedef struct +{ + const char* name; + const char* value; +} MQTTClient_nameValue; + +/** + * This function returns version information about the library. + * no trace information will be returned. + * @return an array of strings describing the library. The last entry is a NULL pointer. + */ +LIBMQTT_API MQTTClient_nameValue* MQTTClient_getVersionInfo(void); + +/** + * MQTTClient_connectOptions defines several settings that control the way the + * client connects to an MQTT server. + * + * Note: Default values are not defined for members of + * MQTTClient_connectOptions so it is good practice to specify all settings. + * If the MQTTClient_connectOptions structure is defined as an automatic + * variable, all members are set to random values and thus must be set by the + * client application. If the MQTTClient_connectOptions structure is defined + * as a static variable, initialization (in compliant compilers) sets all + * values to 0 (NULL for pointers). A #keepAliveInterval setting of 0 prevents + * correct operation of the client and so you must at least set a value + * for #keepAliveInterval. + * + * Suitable default values are set in the following initializers: + * - MQTTClient_connectOptions_initializer: for MQTT 3.1.1 non-WebSockets + * - MQTTClient_connectOptions_initializer5: for MQTT 5.0 non-WebSockets + * - MQTTClient_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets + * - MQTTClient_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets + */ +typedef struct +{ + /** The eyecatcher for this structure. must be MQTC. */ + char struct_id[4]; + /** The version number of this structure. Must be 0, 1, 2, 3, 4, 5, 6, 7 or 8. + * 0 signifies no SSL options and no serverURIs + * 1 signifies no serverURIs + * 2 signifies no MQTTVersion + * 3 signifies no returned values + * 4 signifies no binary password option + * 5 signifies no maxInflightMessages and cleanstart + * 6 signifies no HTTP headers option + * 7 signifies no HTTP proxy and HTTPS proxy options + */ + int struct_version; + /** The "keep alive" interval, measured in seconds, defines the maximum time + * that should pass without communication between the client and the server + * The client will ensure that at least one message travels across the + * network within each keep alive period. In the absence of a data-related + * message during the time period, the client sends a very small MQTT + * "ping" message, which the server will acknowledge. The keep alive + * interval enables the client to detect when the server is no longer + * available without having to wait for the long TCP/IP timeout. + */ + int keepAliveInterval; + /** + * This is a boolean value. The cleansession setting controls the behaviour + * of both the client and the server at connection and disconnection time. + * The client and server both maintain session state information. This + * information is used to ensure "at least once" and "exactly once" + * delivery, and "exactly once" receipt of messages. Session state also + * includes subscriptions created by an MQTT client. You can choose to + * maintain or discard state information between sessions. + * + * When cleansession is true, the state information is discarded at + * connect and disconnect. Setting cleansession to false keeps the state + * information. When you connect an MQTT client application with + * MQTTClient_connect(), the client identifies the connection using the + * client identifier and the address of the server. The server checks + * whether session information for this client + * has been saved from a previous connection to the server. If a previous + * session still exists, and cleansession=true, then the previous session + * information at the client and server is cleared. If cleansession=false, + * the previous session is resumed. If no previous session exists, a new + * session is started. + */ + int cleansession; + /** + * This is a boolean value that controls how many messages can be in-flight + * simultaneously. Setting reliable to true means that a published + * message must be completed (acknowledgements received) before another + * can be sent. Attempts to publish additional messages receive an + * ::MQTTCLIENT_MAX_MESSAGES_INFLIGHT return code. Setting this flag to + * false allows up to 10 messages to be in-flight. This can increase + * overall throughput in some circumstances. + */ + int reliable; + /** + * This is a pointer to an MQTTClient_willOptions structure. If your + * application does not make use of the Last Will and Testament feature, + * set this pointer to NULL. + */ + MQTTClient_willOptions* will; + /** + * MQTT servers that support the MQTT v3.1.1 protocol provide authentication + * and authorisation by user name and password. This is the user name + * parameter. + */ + const char* username; + /** + * MQTT servers that support the MQTT v3.1.1 protocol provide authentication + * and authorisation by user name and password. This is the password + * parameter. + */ + const char* password; + /** + * The time interval in seconds to allow a connect to complete. + */ + int connectTimeout; + /** + * The time interval in seconds after which unacknowledged publish requests are + * retried during a TCP session. With MQTT 3.1.1 and later, retries are + * not required except on reconnect. 0 turns off in-session retries, and is the + * recommended setting. Adding retries to an already overloaded network only + * exacerbates the problem. + */ + int retryInterval; + /** + * This is a pointer to an MQTTClient_SSLOptions structure. If your + * application does not make use of SSL, set this pointer to NULL. + */ + MQTTClient_SSLOptions* ssl; + /** + * The number of entries in the optional serverURIs array. Defaults to 0. + */ + int serverURIcount; + /** + * An optional array of null-terminated strings specifying the servers to + * which the client will connect. Each string takes the form protocol://host:port. + * protocol must be tcp, ssl, ws or wss. + * The TLS enabled prefixes (ssl, wss) are only valid if a TLS version of the library + * is linked with. + * For host, you can + * specify either an IP address or a host name. For instance, to connect to + * a server running on the local machines with the default MQTT port, specify + * tcp://localhost:1883. + * If this list is empty (the default), the server URI specified on MQTTClient_create() + * is used. + */ + char* const* serverURIs; + /** + * Sets the version of MQTT to be used on the connect. + * MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that fails, fall back to 3.1 + * MQTTVERSION_3_1 (3) = only try version 3.1 + * MQTTVERSION_3_1_1 (4) = only try version 3.1.1 + * MQTTVERSION_5 (5) = only try version 5.0 + */ + int MQTTVersion; + /** + * Returned from the connect when the MQTT version used to connect is 3.1.1 + */ + struct + { + const char* serverURI; /**< the serverURI connected to */ + int MQTTVersion; /**< the MQTT version used to connect with */ + int sessionPresent; /**< if the MQTT version is 3.1.1, the value of sessionPresent returned in the connack */ + } returned; + /** + * Optional binary password. Only checked and used if the password option is NULL + */ + struct + { + int len; /**< binary password length */ + const void* data; /**< binary password data */ + } binarypwd; + /** + * The maximum number of messages in flight + */ + int maxInflightMessages; + /* + * MQTT V5 clean start flag. Only clears state at the beginning of the session. + */ + int cleanstart; + /** + * HTTP headers for websockets + */ + const MQTTClient_nameValue* httpHeaders; + /** + * HTTP proxy + */ + const char* httpProxy; + /** + * HTTPS proxy + */ + const char* httpsProxy; +} MQTTClient_connectOptions; + +/** Initializer for connect options for MQTT 3.1.1 non-WebSocket connections */ +#define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\ +0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 5.0 non-WebSocket connections */ +#define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\ +0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 3.1.1 WebSockets connections. + * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. + */ +#define MQTTClient_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\ +0, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL} + +/** Initializer for connect options for MQTT 5.0 WebSockets connections. + * The keepalive interval is set to 45 seconds to avoid webserver 60 second inactivity timeouts. + */ +#define MQTTClient_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\ +0, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL} + +/** + * This function attempts to connect a previously-created client (see + * MQTTClient_create()) to an MQTT server using the specified options. If you + * want to enable asynchronous message and status notifications, you must call + * MQTTClient_setCallbacks() prior to MQTTClient_connect(). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param options A pointer to a valid MQTTClient_connectOptions + * structure. + * @return ::MQTTCLIENT_SUCCESS if the client successfully connects to the + * server. An error code is returned if the client was unable to connect to + * the server. + * Error codes greater than 0 are returned by the MQTT protocol:

+ * 1: Connection refused: Unacceptable protocol version
+ * 2: Connection refused: Identifier rejected
+ * 3: Connection refused: Server unavailable
+ * 4: Connection refused: Bad user name or password
+ * 5: Connection refused: Not authorized
+ * 6-255: Reserved for future use
+ */ +LIBMQTT_API int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions* options); + +/** MQTT version 5.0 response information */ +typedef struct MQTTResponse +{ + int version; /* the version number of this structure */ + enum MQTTReasonCodes reasonCode; /* the MQTT 5.0 reason code returned */ + int reasonCodeCount; /* the number of reason codes. Used for subscribeMany5 and unsubscribeMany5 */ + enum MQTTReasonCodes* reasonCodes; /* a list of reason codes. Used for subscribeMany5 and unsubscribeMany5 */ + MQTTProperties* properties; /* optionally, the MQTT 5.0 properties returned */ +} MQTTResponse; + +#define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL} + +/** + * Frees the storage associated with the MQTT response. + * @param response the response structure to be freed + */ +LIBMQTT_API void MQTTResponse_free(MQTTResponse response); + +/** + * Attempts to connect a previously-created client (see + * MQTTClient_create()) to an MQTT server using MQTT version 5.0 and the specified options. If you + * want to enable asynchronous message and status notifications, you must call + * MQTTClient_setCallbacks() prior to MQTTClient_connect(). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param options A pointer to a valid MQTTClient_connectOptions + * structure. + * @param connectProperties the MQTT 5.0 connect properties to use + * @param willProperties the MQTT 5.0 properties to set on the will message + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions* options, + MQTTProperties* connectProperties, MQTTProperties* willProperties); + +/** + * This function attempts to disconnect the client from the MQTT + * server. In order to allow the client time to complete handling of messages + * that are in-flight when this function is called, a timeout period is + * specified. When the timeout period has expired, the client disconnects even + * if there are still outstanding message acknowledgements. + * The next time the client connects to the same server, any QoS 1 or 2 + * messages which have not completed will be retried depending on the + * cleansession settings for both the previous and the new connection (see + * MQTTClient_connectOptions.cleansession and MQTTClient_connect()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param timeout The client delays disconnection for up to this time (in + * milliseconds) in order to allow in-flight message transfers to complete. + * @return ::MQTTCLIENT_SUCCESS if the client successfully disconnects from + * the server. An error code is returned if the client was unable to disconnect + * from the server + */ +LIBMQTT_API int MQTTClient_disconnect(MQTTClient handle, int timeout); + +LIBMQTT_API int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties* props); + +/** + * This function allows the client application to test whether or not a + * client is currently connected to the MQTT server. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @return Boolean true if the client is connected, otherwise false. + */ +LIBMQTT_API int MQTTClient_isConnected(MQTTClient handle); + + +/* Subscribe is synchronous. QoS list parameter is changed on return to granted QoSs. + Returns return code, MQTTCLIENT_SUCCESS == success, non-zero some sort of error (TBD) */ + +/** + * This function attempts to subscribe a client to a single topic, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for the subscription + * (see also MQTTClient_subscribeMany()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topic The subscription topic, which may include wildcards. + * @param qos The requested quality of service for the subscription. + * @return ::MQTTCLIENT_SUCCESS if the subscription request is successful. + * An error code is returned if there was a problem registering the + * subscription. + */ +LIBMQTT_API int MQTTClient_subscribe(MQTTClient handle, const char* topic, int qos); + +/** + * This function attempts to subscribe an MQTT version 5.0 client to a single topic, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for the subscription + * (see also MQTTClient_subscribeMany()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topic The subscription topic, which may include wildcards. + * @param qos The requested quality of service for the subscription. + * @param opts the MQTT 5.0 subscribe options to be used + * @param props the MQTT 5.0 properties to be used + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char* topic, int qos, + MQTTSubscribe_options* opts, MQTTProperties* props); + +/** + * This function attempts to subscribe a client to a list of topics, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for each topic (see also MQTTClient_subscribe()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param count The number of topics for which the client is requesting + * subscriptions. + * @param topic An array (of length count) of pointers to + * topics, each of which may include wildcards. + * @param qos An array (of length count) of @ref qos + * values. qos[n] is the requested QoS for topic[n]. + * @return ::MQTTCLIENT_SUCCESS if the subscription request is successful. + * An error code is returned if there was a problem registering the + * subscriptions. + */ +LIBMQTT_API int MQTTClient_subscribeMany(MQTTClient handle, int count, char* const* topic, int* qos); + +/** + * This function attempts to subscribe an MQTT version 5.0 client to a list of topics, which may + * contain wildcards (see @ref wildcard). This call also specifies the + * @ref qos requested for each topic (see also MQTTClient_subscribe()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param count The number of topics for which the client is requesting + * subscriptions. + * @param topic An array (of length count) of pointers to + * topics, each of which may include wildcards. + * @param qos An array (of length count) of @ref qos + * values. qos[n] is the requested QoS for topic[n]. + * @param opts the MQTT 5.0 subscribe options to be used + * @param props the MQTT 5.0 properties to be used + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char* const* topic, + int* qos, MQTTSubscribe_options* opts, MQTTProperties* props); + +/** + * This function attempts to remove an existing subscription made by the + * specified client. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topic The topic for the subscription to be removed, which may + * include wildcards (see @ref wildcard). + * @return ::MQTTCLIENT_SUCCESS if the subscription is removed. + * An error code is returned if there was a problem removing the + * subscription. + */ +LIBMQTT_API int MQTTClient_unsubscribe(MQTTClient handle, const char* topic); + +/** + * This function attempts to remove an existing subscription made by the + * specified client using MQTT 5.0. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topic The topic for the subscription to be removed, which may + * include wildcards (see @ref wildcard). + * @param props the MQTT 5.0 properties to be used + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char* topic, MQTTProperties* props); + +/** + * This function attempts to remove existing subscriptions to a list of topics + * made by the specified client. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param count The number subscriptions to be removed. + * @param topic An array (of length count) of pointers to the topics of + * the subscriptions to be removed, each of which may include wildcards. + * @return ::MQTTCLIENT_SUCCESS if the subscriptions are removed. + * An error code is returned if there was a problem removing the subscriptions. + */ +LIBMQTT_API int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char* const* topic); + +/** + * This function attempts to remove existing subscriptions to a list of topics + * made by the specified client using MQTT version 5.0. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param count The number subscriptions to be removed. + * @param topic An array (of length count) of pointers to the topics of + * the subscriptions to be removed, each of which may include wildcards. + * @param props the MQTT 5.0 properties to be used + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char* const* topic, MQTTProperties* props); + +/** + * This function attempts to publish a message to a given topic (see also + * MQTTClient_publishMessage()). An ::MQTTClient_deliveryToken is issued when + * this function returns successfully. If the client application needs to + * test for succesful delivery of QoS1 and QoS2 messages, this can be done + * either asynchronously or synchronously (see @ref async, + * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topicName The topic associated with this message. + * @param payloadlen The length of the payload in bytes. + * @param payload A pointer to the byte array payload of the message. + * @param qos The @ref qos of the message. + * @param retained The retained flag for the message. + * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated + * with a token representing the message when the function returns + * successfully. If your application does not use delivery tokens, set this + * argument to NULL. + * @return ::MQTTCLIENT_SUCCESS if the message is accepted for publication. + * An error code is returned if there was a problem accepting the message. + */ +LIBMQTT_API int MQTTClient_publish(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, int qos, int retained, + MQTTClient_deliveryToken* dt); + +/** + * Attempts to publish a message to a given topic using MQTT version 5.0 (see also + * MQTTClient_publishMessage5()). An ::MQTTClient_deliveryToken is issued when + * this function returns successfully. If the client application needs to + * test for succesful delivery of QoS1 and QoS2 messages, this can be done + * either asynchronously or synchronously (see @ref async, + * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topicName The topic associated with this message. + * @param payloadlen The length of the payload in bytes. + * @param payload A pointer to the byte array payload of the message. + * @param qos The @ref qos of the message. + * @param retained The retained flag for the message. + * @param properties the MQTT 5.0 properties to be used + * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated + * with a token representing the message when the function returns + * successfully. If your application does not use delivery tokens, set this + * argument to NULL. + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_publish5(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, + int qos, int retained, MQTTProperties* properties, MQTTClient_deliveryToken* dt); +/** + * This function attempts to publish a message to a given topic (see also + * MQTTClient_publish()). An ::MQTTClient_deliveryToken is issued when + * this function returns successfully. If the client application needs to + * test for succesful delivery of QoS1 and QoS2 messages, this can be done + * either asynchronously or synchronously (see @ref async, + * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topicName The topic associated with this message. + * @param msg A pointer to a valid MQTTClient_message structure containing + * the payload and attributes of the message to be published. + * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated + * with a token representing the message when the function returns + * successfully. If your application does not use delivery tokens, set this + * argument to NULL. + * @return ::MQTTCLIENT_SUCCESS if the message is accepted for publication. + * An error code is returned if there was a problem accepting the message. + */ +LIBMQTT_API int MQTTClient_publishMessage(MQTTClient handle, const char* topicName, MQTTClient_message* msg, MQTTClient_deliveryToken* dt); + + +/** + * Attempts to publish a message to the given topic using MQTT version 5.0 + * (see also + * MQTTClient_publish5()). An ::MQTTClient_deliveryToken is issued when + * this function returns successfully. If the client application needs to + * test for succesful delivery of QoS1 and QoS2 messages, this can be done + * either asynchronously or synchronously (see @ref async, + * ::MQTTClient_waitForCompletion and MQTTClient_deliveryComplete()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topicName The topic associated with this message. + * @param msg A pointer to a valid MQTTClient_message structure containing + * the payload and attributes of the message to be published. + * @param dt A pointer to an ::MQTTClient_deliveryToken. This is populated + * with a token representing the message when the function returns + * successfully. If your application does not use delivery tokens, set this + * argument to NULL. + * @return the MQTT 5.0 response information: error codes and properties. + */ +LIBMQTT_API MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char* topicName, MQTTClient_message* msg, + MQTTClient_deliveryToken* dt); + +/** + * This function is called by the client application to synchronize execution + * of the main thread with completed publication of a message. When called, + * MQTTClient_waitForCompletion() blocks execution until the message has been + * successful delivered or the specified timeout has expired. See @ref async. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param dt The ::MQTTClient_deliveryToken that represents the message being + * tested for successful delivery. Delivery tokens are issued by the + * publishing functions MQTTClient_publish() and MQTTClient_publishMessage(). + * @param timeout The maximum time to wait in milliseconds. + * @return ::MQTTCLIENT_SUCCESS if the message was successfully delivered. + * An error code is returned if the timeout expires or there was a problem + * checking the token. + */ +LIBMQTT_API int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout); + + +/** + * This function sets a pointer to an array of delivery tokens for + * messages that are currently in-flight (pending completion). + * + * Important note: The memory used to hold the array of tokens is + * malloc()'d in this function. The client application is responsible for + * freeing this memory when it is no longer required. + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param tokens The address of a pointer to an ::MQTTClient_deliveryToken. + * When the function returns successfully, the pointer is set to point to an + * array of tokens representing messages pending completion. The last member of + * the array is set to -1 to indicate there are no more tokens. If no tokens + * are pending, the pointer is set to NULL. + * @return ::MQTTCLIENT_SUCCESS if the function returns successfully. + * An error code is returned if there was a problem obtaining the list of + * pending tokens. + */ +LIBMQTT_API int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens); + +/** + * When implementing a single-threaded client, call this function periodically + * to allow processing of message retries and to send MQTT keepalive pings. + * If the application is calling MQTTClient_receive() regularly, then it is + * not necessary to call this function. + */ +LIBMQTT_API void MQTTClient_yield(void); + +/** + * This function performs a synchronous receive of incoming messages. It should + * be used only when the client application has not set callback methods to + * support asynchronous receipt of messages (see @ref async and + * MQTTClient_setCallbacks()). Using this function allows a single-threaded + * client subscriber application to be written. When called, this function + * blocks until the next message arrives or the specified timeout expires + *(see also MQTTClient_yield()). + * + * Important note: The application must free() the memory allocated + * to the topic and the message when processing is complete (see + * MQTTClient_freeMessage()). + * @param handle A valid client handle from a successful call to + * MQTTClient_create(). + * @param topicName The address of a pointer to a topic. This function + * allocates the memory for the topic and returns it to the application + * by setting topicName to point to the topic. + * @param topicLen The length of the topic. If the return code from this + * function is ::MQTTCLIENT_TOPICNAME_TRUNCATED, the topic contains embedded + * NULL characters and the full topic should be retrieved by using + * topicLen. + * @param message The address of a pointer to the received message. This + * function allocates the memory for the message and returns it to the + * application by setting message to point to the received message. + * The pointer is set to NULL if the timeout expires. + * @param timeout The length of time to wait for a message in milliseconds. + * @return ::MQTTCLIENT_SUCCESS or ::MQTTCLIENT_TOPICNAME_TRUNCATED if a + * message is received. ::MQTTCLIENT_SUCCESS can also indicate that the + * timeout expired, in which case message is NULL. An error code is + * returned if there was a problem trying to receive a message. + */ +LIBMQTT_API int MQTTClient_receive(MQTTClient handle, char** topicName, int* topicLen, MQTTClient_message** message, + unsigned long timeout); + +/** + * This function frees memory allocated to an MQTT message, including the + * additional memory allocated to the message payload. The client application + * calls this function when the message has been fully processed. Important + * note: This function does not free the memory allocated to a message + * topic string. It is the responsibility of the client application to free + * this memory using the MQTTClient_free() library function. + * @param msg The address of a pointer to the ::MQTTClient_message structure + * to be freed. + */ +LIBMQTT_API void MQTTClient_freeMessage(MQTTClient_message** msg); + +/** + * This function frees memory allocated by the MQTT C client library, especially the + * topic name. This is needed on Windows when the client libary and application + * program have been compiled with different versions of the C compiler. It is + * thus good policy to always use this function when freeing any MQTT C client- + * allocated memory. + * @param ptr The pointer to the client library storage to be freed. + */ +LIBMQTT_API void MQTTClient_free(void* ptr); + +/** + * This function frees the memory allocated to an MQTT client (see + * MQTTClient_create()). It should be called when the client is no longer + * required. + * @param handle A pointer to the handle referring to the ::MQTTClient + * structure to be freed. + */ +LIBMQTT_API void MQTTClient_destroy(MQTTClient* handle); + + +enum MQTTCLIENT_TRACE_LEVELS +{ + MQTTCLIENT_TRACE_MAXIMUM = 1, + MQTTCLIENT_TRACE_MEDIUM, + MQTTCLIENT_TRACE_MINIMUM, + MQTTCLIENT_TRACE_PROTOCOL, + MQTTCLIENT_TRACE_ERROR, + MQTTCLIENT_TRACE_SEVERE, + MQTTCLIENT_TRACE_FATAL, +}; + + +/** + * This function sets the level of trace information which will be + * returned in the trace callback. + * @param level the trace level required + */ +LIBMQTT_API void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level); + + +/** + * This is a callback function prototype which must be implemented if you want + * to receive trace information. Do not invoke any other Paho API calls in this + * callback function - unpredictable behavior may result. + * @param level the trace level of the message returned + * @param message the trace message. This is a pointer to a static buffer which + * will be overwritten on each call. You must copy the data if you want to keep + * it for later. + */ +typedef void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char* message); + +/** + * This function sets the trace callback if needed. If set to NULL, + * no trace information will be returned. The default trace level is + * MQTTASYNC_TRACE_MINIMUM. + * @param callback a pointer to the function which will handle the trace information + */ +LIBMQTT_API void MQTTClient_setTraceCallback(MQTTClient_traceCallback* callback); + +/** + * Sets the timeout value for un/subscribe commands when waiting for the un/suback response from + * the server. Values less than 5000 are not allowed. + * @param handle A valid client handle from a successful call to MQTTClient_create(). + * @param milliSeconds the maximum number of milliseconds to wait + * @return MQTTCLIENT_SUCCESS or MQTTCLIENT_FAILURE + */ +LIBMQTT_API int MQTTClient_setCommandTimeout(MQTTClient handle, unsigned long milliSeconds); + +/** + * Returns a pointer to the string representation of the error or NULL. + * + * Do not free after use. Returns NULL if the error code is unknown. + */ +LIBMQTT_API const char* MQTTClient_strerror(int code); + +#if defined(__cplusplus) + } +#endif + +#endif + +/*! + * @cond MQTTClient_main + * @page async Asynchronous vs synchronous client applications + * This client library supports two modes of operation. These are referred to + * as synchronous and asynchronous modes. If your application + * calls MQTTClient_setCallbacks(), this puts the client into asynchronous + * mode, otherwise it operates in synchronous mode. + * + * In synchronous mode, the client application runs on a single thread. + * Messages are published using the MQTTClient_publish() and + * MQTTClient_publishMessage() functions. To determine that a QoS1 or QoS2 + * (see @ref qos) message has been successfully delivered, the application + * must call the MQTTClient_waitForCompletion() function. An example showing + * synchronous publication is shown in @ref pubsync. Receiving messages in + * synchronous mode uses the MQTTClient_receive() function. Client applications + * must call either MQTTClient_receive() or MQTTClient_yield() relatively + * frequently in order to allow processing of acknowledgements and the MQTT + * "pings" that keep the network connection to the server alive. + * + * In asynchronous mode, the client application runs on several threads. The + * main program calls functions in the client library to publish and subscribe, + * just as for the synchronous mode. Processing of handshaking and maintaining + * the network connection is performed in the background, however. + * Notifications of status and message reception are provided to the client + * application using callbacks registered with the library by the call to + * MQTTClient_setCallbacks() (see MQTTClient_messageArrived(), + * MQTTClient_connectionLost() and MQTTClient_deliveryComplete()). + * This API is not thread safe however - it is not possible to call it from multiple + * threads without synchronization. You can use the MQTTAsync API for that. + * + * @page callbacks Callbacks + * You must not call a function from this API from within a callback otherwise + * a deadlock might result. The only exception to this is the ability to call + * connect within the connection lost callback, to allow a reconnect. + * + * When using MQTT 5.0, you can also call connect from within the disconnected + * callback, which is invoked when the MQTT server sends a disconnect packet. + * This server behaviour is allowed in MQTT 5.0, but not in MQTT 3.1.1, so the + * disconnected callback will never be invoked if you use MQTT 3.1.1. + * + * In particular, you must make a publish call within the message arrived callback. + * These restrictions are all lifted in the + * MQTTAsync API. + * + * If no callbacks are assigned, this will include the message arrived callback. + * This could be done if the application is a pure publisher, and does + * not subscribe to any topics. If however messages are received, and no message + * arrived callback is set, or receive not called, then those messages will accumulate + * and take up memory, as there is no place for them to be delivered. + * It is up to the application to protect against this situation. + * + * @page wildcard Subscription wildcards + * Every MQTT message includes a topic that classifies it. MQTT servers use + * topics to determine which subscribers should receive messages published to + * the server. + * + * Consider the server receiving messages from several environmental sensors. + * Each sensor publishes its measurement data as a message with an associated + * topic. Subscribing applications need to know which sensor originally + * published each received message. A unique topic is thus used to identify + * each sensor and measurement type. Topics such as SENSOR1TEMP, + * SENSOR1HUMIDITY, SENSOR2TEMP and so on achieve this but are not very + * flexible. If additional sensors are added to the system at a later date, + * subscribing applications must be modified to receive them. + * + * To provide more flexibility, MQTT supports a hierarchical topic namespace. + * This allows application designers to organize topics to simplify their + * management. Levels in the hierarchy are delimited by the '/' character, + * such as SENSOR/1/HUMIDITY. Publishers and subscribers use these + * hierarchical topics as already described. + * + * For subscriptions, two wildcard characters are supported: + *
    + *
  • A '#' character represents a complete sub-tree of the hierarchy and + * thus must be the last character in a subscription topic string, such as + * SENSOR/#. This will match any topic starting with SENSOR/, such as + * SENSOR/1/TEMP and SENSOR/2/HUMIDITY.
  • + *
  • A '+' character represents a single level of the hierarchy and is + * used between delimiters. For example, SENSOR/+/TEMP will match + * SENSOR/1/TEMP and SENSOR/2/TEMP.
  • + *
+ * Publishers are not allowed to use the wildcard characters in their topic + * names. + * + * Deciding on your topic hierarchy is an important step in your system design. + * + * @page qos Quality of service + * The MQTT protocol provides three qualities of service for delivering + * messages between clients and servers: "at most once", "at least once" and + * "exactly once". + * + * Quality of service (QoS) is an attribute of an individual message being + * published. An application sets the QoS for a specific message by setting the + * MQTTClient_message.qos field to the required value. + * + * A subscribing client can set the maximum quality of service a server uses + * to send messages that match the client subscriptions. The + * MQTTClient_subscribe() and MQTTClient_subscribeMany() functions set this + * maximum. The QoS of a message forwarded to a subscriber thus might be + * different to the QoS given to the message by the original publisher. + * The lower of the two values is used to forward a message. + * + * The three levels are: + * + * QoS0, At most once: The message is delivered at most once, or it + * may not be delivered at all. Its delivery across the network is not + * acknowledged. The message is not stored. The message could be lost if the + * client is disconnected, or if the server fails. QoS0 is the fastest mode of + * transfer. It is sometimes called "fire and forget". + * + * The MQTT protocol does not require servers to forward publications at QoS0 + * to a client. If the client is disconnected at the time the server receives + * the publication, the publication might be discarded, depending on the + * server implementation. + * + * QoS1, At least once: The message is always delivered at least once. + * It might be delivered multiple times if there is a failure before an + * acknowledgment is received by the sender. The message must be stored + * locally at the sender, until the sender receives confirmation that the + * message has been published by the receiver. The message is stored in case + * the message must be sent again. + * + * QoS2, Exactly once: The message is always delivered exactly once. + * The message must be stored locally at the sender, until the sender receives + * confirmation that the message has been published by the receiver. The + * message is stored in case the message must be sent again. QoS2 is the + * safest, but slowest mode of transfer. A more sophisticated handshaking + * and acknowledgement sequence is used than for QoS1 to ensure no duplication + * of messages occurs. + * @page pubsync Synchronous publication example +@code +#include +#include +#include +#include "MQTTClient.h" + +#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" +#define CLIENTID "ExampleClientPub" +#define TOPIC "MQTT Examples" +#define PAYLOAD "Hello World!" +#define QOS 1 +#define TIMEOUT 10000L + +int main(int argc, char* argv[]) +{ + MQTTClient client; + MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; + MQTTClient_message pubmsg = MQTTClient_message_initializer; + MQTTClient_deliveryToken token; + int rc; + + if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, + MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to create client, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to connect, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + pubmsg.payload = PAYLOAD; + pubmsg.payloadlen = (int)strlen(PAYLOAD); + pubmsg.qos = QOS; + pubmsg.retained = 0; + if ((rc = MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to publish message, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + printf("Waiting for up to %d seconds for publication of %s\n" + "on topic %s for client with ClientID: %s\n", + (int)(TIMEOUT/1000), PAYLOAD, TOPIC, CLIENTID); + rc = MQTTClient_waitForCompletion(client, token, TIMEOUT); + printf("Message with delivery token %d delivered\n", token); + + if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) + printf("Failed to disconnect, return code %d\n", rc); + MQTTClient_destroy(&client); + return rc; +} + + * @endcode + * + * @page pubasync Asynchronous publication example +@code{.c} +#include +#include +#include +#include "MQTTClient.h" + +#if !defined(_WIN32) +#include +#else +#include +#endif + +#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" +#define CLIENTID "ExampleClientPub" +#define TOPIC "MQTT Examples" +#define PAYLOAD "Hello World!" +#define QOS 1 +#define TIMEOUT 10000L + +MQTTClient_deliveryToken deliveredtoken; + +void delivered(void *context, MQTTClient_deliveryToken dt) +{ + printf("Message with token value %d delivery confirmed\n", dt); + deliveredtoken = dt; +} + +int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message) +{ + printf("Message arrived\n"); + printf(" topic: %s\n", topicName); + printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); + MQTTClient_freeMessage(&message); + MQTTClient_free(topicName); + return 1; +} + +void connlost(void *context, char *cause) +{ + printf("\nConnection lost\n"); + printf(" cause: %s\n", cause); +} + +int main(int argc, char* argv[]) +{ + MQTTClient client; + MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; + MQTTClient_message pubmsg = MQTTClient_message_initializer; + MQTTClient_deliveryToken token; + int rc; + + if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, + MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to create client, return code %d\n", rc); + rc = EXIT_FAILURE; + goto exit; + } + + if ((rc = MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to set callbacks, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to connect, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + pubmsg.payload = PAYLOAD; + pubmsg.payloadlen = (int)strlen(PAYLOAD); + pubmsg.qos = QOS; + pubmsg.retained = 0; + deliveredtoken = 0; + if ((rc = MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to publish message, return code %d\n", rc); + rc = EXIT_FAILURE; + } + else + { + printf("Waiting for publication of %s\n" + "on topic %s for client with ClientID: %s\n", + PAYLOAD, TOPIC, CLIENTID); + while (deliveredtoken != token) + { + #if defined(_WIN32) + Sleep(100); + #else + usleep(10000L); + #endif + } + } + + if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to disconnect, return code %d\n", rc); + rc = EXIT_FAILURE; + } + +destroy_exit: + MQTTClient_destroy(&client); + +exit: + return rc; +} + + * @endcode + * @page subasync Asynchronous subscription example +@code +#include +#include +#include +#include "MQTTClient.h" + +#define ADDRESS "tcp://mqtt.eclipseprojects.io:1883" +#define CLIENTID "ExampleClientSub" +#define TOPIC "MQTT Examples" +#define PAYLOAD "Hello World!" +#define QOS 1 +#define TIMEOUT 10000L + +volatile MQTTClient_deliveryToken deliveredtoken; + +void delivered(void *context, MQTTClient_deliveryToken dt) +{ + printf("Message with token value %d delivery confirmed\n", dt); + deliveredtoken = dt; +} + +int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message) +{ + printf("Message arrived\n"); + printf(" topic: %s\n", topicName); + printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); + MQTTClient_freeMessage(&message); + MQTTClient_free(topicName); + return 1; +} + +void connlost(void *context, char *cause) +{ + printf("\nConnection lost\n"); + printf(" cause: %s\n", cause); +} + +int main(int argc, char* argv[]) +{ + MQTTClient client; + MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; + int rc; + + if ((rc = MQTTClient_create(&client, ADDRESS, CLIENTID, + MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to create client, return code %d\n", rc); + rc = EXIT_FAILURE; + goto exit; + } + + if ((rc = MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to set callbacks, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to connect, return code %d\n", rc); + rc = EXIT_FAILURE; + goto destroy_exit; + } + + printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" + "Press Q to quit\n\n", TOPIC, CLIENTID, QOS); + if ((rc = MQTTClient_subscribe(client, TOPIC, QOS)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to subscribe, return code %d\n", rc); + rc = EXIT_FAILURE; + } + else + { + int ch; + do + { + ch = getchar(); + } while (ch!='Q' && ch != 'q'); + + if ((rc = MQTTClient_unsubscribe(client, TOPIC)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to unsubscribe, return code %d\n", rc); + rc = EXIT_FAILURE; + } + } + + if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) + { + printf("Failed to disconnect, return code %d\n", rc); + rc = EXIT_FAILURE; + } +destroy_exit: + MQTTClient_destroy(&client); +exit: + return rc; +} + + * @endcode + * @page tracing Tracing + * + * Runtime tracing is controlled by environment variables. + * + * Tracing is switched on by setting MQTT_C_CLIENT_TRACE. A value of ON, or stdout, prints to + * stdout, any other value is interpreted as a file name to use. + * + * The amount of trace detail is controlled with the MQTT_C_CLIENT_TRACE_LEVEL environment + * variable - valid values are ERROR, PROTOCOL, MINIMUM, MEDIUM and MAXIMUM + * (from least to most verbose). + * + * The variable MQTT_C_CLIENT_TRACE_MAX_LINES limits the number of lines of trace that are output + * to a file. Two files are used at most, when they are full, the last one is overwritten with the + * new trace entries. The default size is 1000 lines. + * + * ### MQTT Packet Tracing + * + * A feature that can be very useful is printing the MQTT packets that are sent and received. To + * achieve this, use the following environment variable settings: + * @code + MQTT_C_CLIENT_TRACE=ON + MQTT_C_CLIENT_TRACE_LEVEL=PROTOCOL + * @endcode + * The output you should see looks like this: + * @code + 20130528 155936.813 3 stdout-subscriber -> CONNECT cleansession: 1 (0) + 20130528 155936.813 3 stdout-subscriber <- CONNACK rc: 0 + 20130528 155936.813 3 stdout-subscriber -> SUBSCRIBE msgid: 1 (0) + 20130528 155936.813 3 stdout-subscriber <- SUBACK msgid: 1 + 20130528 155941.818 3 stdout-subscriber -> DISCONNECT (0) + * @endcode + * where the fields are: + * 1. date + * 2. time + * 3. socket number + * 4. client id + * 5. direction (-> from client to server, <- from server to client) + * 6. packet details + * + * ### Default Level Tracing + * + * This is an extract of a default level trace of a call to connect: + * @code + 19700101 010000.000 (1152206656) (0)> MQTTClient_connect:893 + 19700101 010000.000 (1152206656) (1)> MQTTClient_connectURI:716 + 20130528 160447.479 Connecting to serverURI localhost:1883 + 20130528 160447.479 (1152206656) (2)> MQTTProtocol_connect:98 + 20130528 160447.479 (1152206656) (3)> MQTTProtocol_addressPort:48 + 20130528 160447.479 (1152206656) (3)< MQTTProtocol_addressPort:73 + 20130528 160447.479 (1152206656) (3)> Socket_new:599 + 20130528 160447.479 New socket 4 for localhost, port 1883 + 20130528 160447.479 (1152206656) (4)> Socket_addSocket:163 + 20130528 160447.479 (1152206656) (5)> Socket_setnonblocking:73 + 20130528 160447.479 (1152206656) (5)< Socket_setnonblocking:78 (0) + 20130528 160447.479 (1152206656) (4)< Socket_addSocket:176 (0) + 20130528 160447.479 (1152206656) (4)> Socket_error:95 + 20130528 160447.479 (1152206656) (4)< Socket_error:104 (115) + 20130528 160447.479 Connect pending + 20130528 160447.479 (1152206656) (3)< Socket_new:683 (115) + 20130528 160447.479 (1152206656) (2)< MQTTProtocol_connect:131 (115) + * @endcode + * where the fields are: + * 1. date + * 2. time + * 3. thread id + * 4. function nesting level + * 5. function entry (>) or exit (<) + * 6. function name : line of source code file + * 7. return value (if there is one) + * + * ### Memory Allocation Tracing + * + * Setting the trace level to maximum causes memory allocations and frees to be traced along with + * the default trace entries, with messages like the following: + * @code + 20130528 161819.657 Allocating 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 177 ptr 0x179f930 + + 20130528 161819.657 Freeing 16 bytes in heap at file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c line 201, heap use now 896 bytes + * @endcode + * When the last MQTT client object is destroyed, if the trace is being recorded + * and all memory allocated by the client library has not been freed, an error message will be + * written to the trace. This can help with fixing memory leaks. The message will look like this: + * @code + 20130528 163909.208 Some memory not freed at shutdown, possible memory leak + 20130528 163909.208 Heap scan start, total 880 bytes + 20130528 163909.208 Heap element size 32, line 354, file /home/icraggs/workspaces/mqrtc/mqttv3c/src/MQTTPacket.c, ptr 0x260cb00 + 20130528 163909.208 Content + 20130528 163909.209 Heap scan end + * @endcode + * @endcond + */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClientPersistence.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClientPersistence.h new file mode 100644 index 0000000..44e8696 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTClientPersistence.h @@ -0,0 +1,222 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTCLIENTPERSISTENCE_H) +#define MQTTCLIENTPERSISTENCE_H +/* +/// @endcond +*/ + +/** + * This persistence_type value specifies the default file system-based + * persistence mechanism (see MQTTClient_create()). + */ +#define MQTTCLIENT_PERSISTENCE_DEFAULT 0 +/** + * This persistence_type value specifies a memory-based + * persistence mechanism (see MQTTClient_create()). + */ +#define MQTTCLIENT_PERSISTENCE_NONE 1 +/** + * This persistence_type value specifies an application-specific + * persistence mechanism (see MQTTClient_create()). + */ +#define MQTTCLIENT_PERSISTENCE_USER 2 + +/** + * Application-specific persistence functions must return this error code if + * there is a problem executing the function. + */ +#define MQTTCLIENT_PERSISTENCE_ERROR -2 + +/** + * @brief Initialize the persistent store. + * + * Either open the existing persistent store for this client ID or create a new + * one if one doesn't exist. If the persistent store is already open, return + * without taking any action. + * + * An application can use the same client identifier to connect to many + * different servers. The clientid in conjunction with the + * serverURI uniquely identifies the persistence store required. + * + * @param handle The address of a pointer to a handle for this persistence + * implementation. This function must set handle to a valid reference to the + * persistence following a successful return. + * The handle pointer is passed as an argument to all the other + * persistence functions. It may include the context parameter and/or any other + * data for use by the persistence functions. + * @param clientID The client identifier for which the persistent store should + * be opened. + * @param serverURI The connection string specified when the MQTT client was + * created (see MQTTClient_create()). + * @param context A pointer to any data required to initialize the persistent + * store (see ::MQTTClient_persistence). + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context); + +/** + * @brief Close the persistent store referred to by the handle. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_close)(void* handle); + +/** + * @brief Put the specified data into the persistent store. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @param key A string used as the key for the data to be put in the store. The + * key is later used to retrieve data from the store with Persistence_get(). + * @param bufcount The number of buffers to write to the persistence store. + * @param buffers An array of pointers to the data buffers associated with + * this key. + * @param buflens An array of lengths of the data buffers. buflen[n] + * gives the length of buffer[n]. + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]); + +/** + * @brief Retrieve the specified data from the persistent store. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @param key A string that is the key for the data to be retrieved. This is + * the same key used to save the data to the store with Persistence_put(). + * @param buffer The address of a pointer to a buffer. This function sets the + * pointer to point at the retrieved data, if successful. + * @param buflen The address of an int that is set to the length of + * buffer by this function if successful. + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen); + +/** + * @brief Remove the data for the specified key from the store. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @param key A string that is the key for the data to be removed from the + * store. This is the same key used to save the data to the store with + * Persistence_put(). + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_remove)(void* handle, char* key); + +/** + * @brief Returns the keys in this persistent data store. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @param keys The address of a pointer to pointers to strings. Assuming + * successful execution, this function allocates memory to hold the returned + * keys (strings used to store the data with Persistence_put()). It also + * allocates memory to hold an array of pointers to these strings. keys + * is set to point to the array of pointers to strings. + * @param nkeys A pointer to the number of keys in this persistent data store. + * This function sets the number of keys, if successful. + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys); + +/** + * @brief Clears the persistence store, so that it no longer contains any + * persisted data. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @return Return 0 if the function completes successfully, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_clear)(void* handle); + +/** + * @brief Returns whether any data has been persisted using the specified key. + * + * @param handle The handle pointer from a successful call to + * Persistence_open(). + * @param key The string to be tested for existence in the store. + * @return Return 0 if the key was found in the store, otherwise return + * ::MQTTCLIENT_PERSISTENCE_ERROR. + */ +typedef int (*Persistence_containskey)(void* handle, char* key); + +/** + * @brief A structure containing the function pointers to a persistence + * implementation and the context or state that will be shared across all + * the persistence functions. + */ +typedef struct { + /** + * A pointer to any data required to initialize the persistent store. + */ + void* context; + /** + * A function pointer to an implementation of Persistence_open(). + */ + Persistence_open popen; + /** + * A function pointer to an implementation of Persistence_close(). + */ + Persistence_close pclose; + /** + * A function pointer to an implementation of Persistence_put(). + */ + Persistence_put pput; + /** + * A function pointer to an implementation of Persistence_get(). + */ + Persistence_get pget; + /** + * A function pointer to an implementation of Persistence_remove(). + */ + Persistence_remove premove; + /** + * A function pointer to an implementation of Persistence_keys(). + */ + Persistence_keys pkeys; + /** + * A function pointer to an implementation of Persistence_clear(). + */ + Persistence_clear pclear; + /** + * A function pointer to an implementation of Persistence_containskey(). + */ + Persistence_containskey pcontainskey; +} MQTTClient_persistence; + + +/** + * A callback which is invoked just before a write to persistence. This can be + * used to transform the data, for instance to encrypt it. + * @param context The context as set in ::MQTTAsync_setBeforePersistenceWrite + * @param bufcount The number of buffers to write to the persistence store. + * @param buffers An array of pointers to the data buffers. + * @param buflens An array of lengths of the data buffers. + * @return Return 0 if the function completes successfully, otherwise non 0. + */ +typedef int MQTTPersistence_beforeWrite(void* context, int bufcount, char* buffers[], int buflens[]); + + +/** + * A callback which is invoked just after a read from persistence. This can be + * used to transform the data, for instance to decrypt it. + * @param context The context as set in ::MQTTAsync_setAfterPersistenceRead + * @param buffer The address of a pointer to a buffer. + * @param buflen The address of an int that is the length of the buffer. + * @return Return 0 if the function completes successfully, otherwise non 0. + */ +typedef int MQTTPersistence_afterRead(void* context, char** buffer, int* buflen); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTExportDeclarations.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTExportDeclarations.h new file mode 100644 index 0000000..9e69be4 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTExportDeclarations.h @@ -0,0 +1,25 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(EXPORTDECLARATIONS_H) +#define EXPORTDECLARATIONS_H + +// #if defined(_WIN32) || defined(_WIN64) +// # if defined(PAHO_MQTT_EXPORTS) +// # define LIBMQTT_API __declspec(dllexport) +// # elif defined(PAHO_MQTT_IMPORTS) +// # define LIBMQTT_API __declspec(dllimport) +// # else +// # define LIBMQTT_API +// # endif +// #else +// # if defined(PAHO_MQTT_EXPORTS) +// # define LIBMQTT_API __attribute__ ((visibility ("default"))) +// # else +// # define LIBMQTT_API extern +// # endif +// #endif + +#define LIBMQTT_API + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.c new file mode 100644 index 0000000..1bba34c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.c @@ -0,0 +1,1053 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTPacket.h" +#include "Log.h" +#if !defined(NO_PERSISTENCE) + #include "MQTTPersistence.h" +#endif +#include "Messages.h" +#include "StackTrace.h" +#include "WebSocket.h" +#include "MQTTTime.h" + +#include +#include + +#include "Heap.h" + +#if !defined(min) +#define min(A,B) ( (A) < (B) ? (A):(B)) +#endif + +/** + * List of the predefined MQTT v3/v5 packet names. + */ +static const char *packet_names[] = +{ + "RESERVED", "CONNECT", "CONNACK", "PUBLISH", "PUBACK", "PUBREC", "PUBREL", + "PUBCOMP", "SUBSCRIBE", "SUBACK", "UNSUBSCRIBE", "UNSUBACK", + "PINGREQ", "PINGRESP", "DISCONNECT", "AUTH" +}; + +const char** MQTTClient_packet_names = packet_names; + + +/** + * Converts an MQTT packet code into its name + * @param ptype packet code + * @return the corresponding string, or "UNKNOWN" + */ +const char* MQTTPacket_name(int ptype) +{ + return (ptype >= 0 && ptype <= AUTH) ? packet_names[ptype] : "UNKNOWN"; +} + +/** + * Array of functions to build packets, indexed according to packet code + */ +pf new_packets[] = +{ + NULL, /**< reserved */ + NULL, /**< MQTTPacket_connect*/ + MQTTPacket_connack, /**< CONNACK */ + MQTTPacket_publish, /**< PUBLISH */ + MQTTPacket_ack, /**< PUBACK */ + MQTTPacket_ack, /**< PUBREC */ + MQTTPacket_ack, /**< PUBREL */ + MQTTPacket_ack, /**< PUBCOMP */ + NULL, /**< MQTTPacket_subscribe*/ + MQTTPacket_suback, /**< SUBACK */ + NULL, /**< MQTTPacket_unsubscribe*/ + MQTTPacket_unsuback, /**< UNSUBACK */ + MQTTPacket_header_only, /**< PINGREQ */ + MQTTPacket_header_only, /**< PINGRESP */ + MQTTPacket_ack, /**< DISCONNECT */ + MQTTPacket_ack /**< AUTH */ +}; + + +static char* readUTFlen(char** pptr, char* enddata, int* len); +static int MQTTPacket_send_ack(int MQTTVersion, int type, int msgid, int dup, networkHandles *net); + +/** + * Reads one MQTT packet from a socket. + * @param socket a socket from which to read an MQTT packet + * @param error pointer to the error code which is completed if no packet is returned + * @return the packet structure or NULL if there was an error + */ +void* MQTTPacket_Factory(int MQTTVersion, networkHandles* net, int* error) +{ + char* data = NULL; + static Header header; + size_t remaining_length; + int ptype; + void* pack = NULL; + size_t actual_len = 0; + + FUNC_ENTRY; + *error = SOCKET_ERROR; /* indicate whether an error occurred, or not */ + + const size_t headerWsFramePos = WebSocket_framePos(); + + /* read the packet data from the socket */ + *error = WebSocket_getch(net, &header.cbByte); + if (*error != TCPSOCKET_COMPLETE) /* first byte is the header byte */ + goto exit; /* packet not read, *error indicates whether SOCKET_ERROR occurred */ + + /* now read the remaining length, so we know how much more to read */ + if ((*error = MQTTPacket_decode(net, &remaining_length)) != TCPSOCKET_COMPLETE) + goto exit; /* packet not read, *error indicates whether SOCKET_ERROR occurred */ + + /* now read the rest, the variable header and payload */ + data = WebSocket_getdata(net, remaining_length, &actual_len); + if (remaining_length && data == NULL) + { + *error = SOCKET_ERROR; + goto exit; /* socket error */ + } + + if (actual_len < remaining_length) + { + *error = TCPSOCKET_INTERRUPTED; + net->lastReceived = MQTTTime_now(); + } + else + { + ptype = header.bits.type; + if (ptype < CONNECT || (MQTTVersion < MQTTVERSION_5 && ptype >= DISCONNECT) || + (MQTTVersion >= MQTTVERSION_5 && ptype > AUTH) || + new_packets[ptype] == NULL) + Log(TRACE_MIN, 2, NULL, ptype); + else + { + if ((pack = (*new_packets[ptype])(MQTTVersion, header.cbByte, data, remaining_length)) == NULL) + { + *error = SOCKET_ERROR; // was BAD_MQTT_PACKET; + Log(LOG_ERROR, -1, "Bad MQTT packet, type %d", ptype); + } +#if !defined(NO_PERSISTENCE) + else if (header.bits.type == PUBLISH && header.bits.qos == 2) + { + int buf0len; + char *buf = malloc(10); + + if (buf == NULL) + { + *error = SOCKET_ERROR; + goto exit; + } + buf[0] = header.cbByte; + buf0len = 1 + MQTTPacket_encode(&buf[1], remaining_length); + *error = MQTTPersistence_putPacket(net->socket, buf, buf0len, 1, + &data, &remaining_length, header.bits.type, ((Publish *)pack)->msgId, 1, MQTTVersion); + free(buf); + } +#endif + } + } + if (pack) + net->lastReceived = MQTTTime_now(); +exit: + if (*error == TCPSOCKET_INTERRUPTED) + WebSocket_framePosSeekTo(headerWsFramePos); + + FUNC_EXIT_RC(*error); + return pack; +} + + +/** + * Sends an MQTT packet in one system call write + * @param socket the socket to which to write the data + * @param header the one-byte MQTT header + * @param buffer the rest of the buffer to write (not including remaining length) + * @param buflen the length of the data in buffer to be written + * @param MQTTVersion the version of MQTT being used + * @return the completion code (TCPSOCKET_COMPLETE etc) + */ +int MQTTPacket_send(networkHandles* net, Header header, char* buffer, size_t buflen, int freeData, + int MQTTVersion) +{ + int rc = SOCKET_ERROR; + size_t buf0len; + char *buf; + PacketBuffers packetbufs; + + FUNC_ENTRY; + buf0len = 1 + MQTTPacket_encode(NULL, buflen); + buf = malloc(buf0len); + if (buf == NULL) + { + rc = SOCKET_ERROR; + goto exit; + } + buf[0] = header.cbByte; + MQTTPacket_encode(&buf[1], buflen); + +#if !defined(NO_PERSISTENCE) + if (header.bits.type == PUBREL) + { + char* ptraux = buffer; + int msgId = readInt(&ptraux); + + rc = MQTTPersistence_putPacket(net->socket, buf, buf0len, 1, &buffer, &buflen, + header.bits.type, msgId, 0, MQTTVersion); + } +#endif + packetbufs.count = 1; + packetbufs.buffers = &buffer; + packetbufs.buflens = &buflen; + packetbufs.frees = &freeData; + memset(packetbufs.mask, '\0', sizeof(packetbufs.mask)); + rc = WebSocket_putdatas(net, &buf, &buf0len, &packetbufs); + + if (rc == TCPSOCKET_COMPLETE) + net->lastSent = MQTTTime_now(); + + if (rc != TCPSOCKET_INTERRUPTED) + free(buf); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + + + +/** + * Sends an MQTT packet from multiple buffers in one system call write + * @param socket the socket to which to write the data + * @param header the one-byte MQTT header + * @param count the number of buffers + * @param buffers the rest of the buffers to write (not including remaining length) + * @param buflens the lengths of the data in the array of buffers to be written + * @param the MQTT version being used + * @return the completion code (TCPSOCKET_COMPLETE etc) + */ +int MQTTPacket_sends(networkHandles* net, Header header, PacketBuffers* bufs, int MQTTVersion) +{ + int i, rc = SOCKET_ERROR; + size_t buf0len, total = 0; + char *buf; + + FUNC_ENTRY; + for (i = 0; i < bufs->count; i++) + total += bufs->buflens[i]; + buf0len = 1 + MQTTPacket_encode(NULL, total); + buf = malloc(buf0len); + if (buf == NULL) + { + rc = SOCKET_ERROR; + goto exit; + } + buf[0] = header.cbByte; + MQTTPacket_encode(&buf[1], total); + +#if !defined(NO_PERSISTENCE) + if (header.bits.type == PUBLISH && header.bits.qos != 0) + { /* persist PUBLISH QoS1 and Qo2 */ + char *ptraux = bufs->buffers[2]; + int msgId = readInt(&ptraux); + rc = MQTTPersistence_putPacket(net->socket, buf, buf0len, bufs->count, bufs->buffers, bufs->buflens, + header.bits.type, msgId, 0, MQTTVersion); + } +#endif + rc = WebSocket_putdatas(net, &buf, &buf0len, bufs); + + if (rc == TCPSOCKET_COMPLETE) + net->lastSent = MQTTTime_now(); + + if (rc != TCPSOCKET_INTERRUPTED) + free(buf); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Encodes the message length according to the MQTT algorithm + * @param buf the buffer into which the encoded data is written + * @param length the length to be encoded + * @return the number of bytes written to buffer + */ +int MQTTPacket_encode(char* buf, size_t length) +{ + int rc = 0; + + FUNC_ENTRY; + do + { + char d = length % 128; + length /= 128; + /* if there are more digits to encode, set the top bit of this digit */ + if (length > 0) + d |= 0x80; + if (buf) + buf[rc++] = d; + else + rc++; + } while (length > 0); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Decodes the message length according to the MQTT algorithm + * @param socket the socket from which to read the bytes + * @param value the decoded length returned + * @return the number of bytes read from the socket + */ +int MQTTPacket_decode(networkHandles* net, size_t* value) +{ + int rc = SOCKET_ERROR; + char c; + int multiplier = 1; + int len = 0; +#define MAX_NO_OF_REMAINING_LENGTH_BYTES 4 + + FUNC_ENTRY; + *value = 0; + do + { + if (++len > MAX_NO_OF_REMAINING_LENGTH_BYTES) + { + rc = SOCKET_ERROR; /* bad data */ + goto exit; + } + rc = WebSocket_getch(net, &c); + if (rc != TCPSOCKET_COMPLETE) + goto exit; + *value += (c & 127) * multiplier; + multiplier *= 128; + } while ((c & 128) != 0); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Calculates an integer from two bytes read from the input buffer + * @param pptr pointer to the input buffer - incremented by the number of bytes used & returned + * @return the integer value calculated + */ +int readInt(char** pptr) +{ + char* ptr = *pptr; + int len = 256*((unsigned char)(*ptr)) + (unsigned char)(*(ptr+1)); + *pptr += 2; + return len; +} + + +/** + * Reads a "UTF" string from the input buffer. UTF as in the MQTT v3 spec which really means + * a length delimited string. So it reads the two byte length then the data according to + * that length. The end of the buffer is provided too, so we can prevent buffer overruns caused + * by an incorrect length. + * @param pptr pointer to the input buffer - incremented by the number of bytes used & returned + * @param enddata pointer to the end of the buffer not to be read beyond + * @param len returns the calculcated value of the length bytes read + * @return an allocated C string holding the characters read, or NULL if the length read would + * have caused an overrun. + * + */ +static char* readUTFlen(char** pptr, char* enddata, int* len) +{ + char* string = NULL; + + FUNC_ENTRY; + if (enddata - (*pptr) > 1) /* enough length to read the integer? */ + { + *len = readInt(pptr); + if (&(*pptr)[*len] <= enddata) + { + if ((string = malloc(*len+1)) == NULL) + goto exit; + memcpy(string, *pptr, *len); + string[*len] = '\0'; + *pptr += *len; + } + } +exit: + FUNC_EXIT; + return string; +} + + +/** + * Reads a "UTF" string from the input buffer. UTF as in the MQTT v3 spec which really means + * a length delimited string. So it reads the two byte length then the data according to + * that length. The end of the buffer is provided too, so we can prevent buffer overruns caused + * by an incorrect length. + * @param pptr pointer to the input buffer - incremented by the number of bytes used & returned + * @param enddata pointer to the end of the buffer not to be read beyond + * @return an allocated C string holding the characters read, or NULL if the length read would + * have caused an overrun. + */ +char* readUTF(char** pptr, char* enddata) +{ + int len; + return readUTFlen(pptr, enddata, &len); +} + + +/** + * Reads one character from the input buffer. + * @param pptr pointer to the input buffer - incremented by the number of bytes used & returned + * @return the character read + */ +unsigned char readChar(char** pptr) +{ + unsigned char c = **pptr; + (*pptr)++; + return c; +} + + +/** + * Writes one character to an output buffer. + * @param pptr pointer to the output buffer - incremented by the number of bytes used & returned + * @param c the character to write + */ +void writeChar(char** pptr, char c) +{ + **pptr = c; + (*pptr)++; +} + + +/** + * Writes an integer as 2 bytes to an output buffer. + * @param pptr pointer to the output buffer - incremented by the number of bytes used & returned + * @param anInt the integer to write + */ +void writeInt(char** pptr, int anInt) +{ + **pptr = (char)(anInt / 256); + (*pptr)++; + **pptr = (char)(anInt % 256); + (*pptr)++; +} + + +/** + * Writes a "UTF" string to an output buffer. Converts C string to length-delimited. + * @param pptr pointer to the output buffer - incremented by the number of bytes used & returned + * @param string the C string to write + */ +void writeUTF(char** pptr, const char* string) +{ + size_t len = strlen(string); + writeInt(pptr, (int)len); + memcpy(*pptr, string, len); + *pptr += len; +} + + +/** + * Writes length delimited data to an output buffer + * @param pptr pointer to the output buffer - incremented by the number of bytes used & returned + * @param data the data to write + * @param datalen the length of the data to write + */ +void writeData(char** pptr, const void* data, int datalen) +{ + writeInt(pptr, datalen); + memcpy(*pptr, data, datalen); + *pptr += datalen; +} + + +/** + * Function used in the new packets table to create packets which have only a header. + * @param MQTTVersion the version of MQTT + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_header_only(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + static unsigned char header = 0; + header = aHeader; + return &header; +} + + +/** + * Send an MQTT disconnect packet down a socket. + * @param socket the open socket to send the data to + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_disconnect(Clients* client, enum MQTTReasonCodes reason, MQTTProperties* props) +{ + Header header; + int rc = 0; + + FUNC_ENTRY; + header.cbByte = 0; + header.bits.type = DISCONNECT; + + if (client->MQTTVersion >= 5 && (props || reason != MQTTREASONCODE_SUCCESS)) + { + size_t buflen = 1 + ((props == NULL) ? 0 : MQTTProperties_len(props)); + char *buf = NULL; + char *ptr = NULL; + + if ((buf = malloc(buflen)) == NULL) + { + rc = SOCKET_ERROR; + goto exit; + } + ptr = buf; + writeChar(&ptr, reason); + if (props) + MQTTProperties_write(&ptr, props); + if ((rc = MQTTPacket_send(&client->net, header, buf, buflen, 1, + client->MQTTVersion)) != TCPSOCKET_INTERRUPTED) + free(buf); + } + else + rc = MQTTPacket_send(&client->net, header, NULL, 0, 0, client->MQTTVersion); +exit: + Log(LOG_PROTOCOL, 28, NULL, client->net.socket, client->clientID, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Function used in the new packets table to create publish packets. + * @param MQTTVersion + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_publish(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + Publish* pack = NULL; + char* curdata = data; + char* enddata = &data[datalen]; + + FUNC_ENTRY; + if ((pack = malloc(sizeof(Publish))) == NULL) + goto exit; + memset(pack, '\0', sizeof(Publish)); + pack->MQTTVersion = MQTTVersion; + pack->header.cbByte = aHeader; + if ((pack->topic = readUTFlen(&curdata, enddata, &pack->topiclen)) == NULL) /* Topic name on which to publish */ + { + free(pack); + pack = NULL; + goto exit; + } + if (pack->header.bits.qos > 0) /* Msgid only exists for QoS 1 or 2 */ + { + if (enddata - curdata < 2) /* Is there enough data for the msgid? */ + { + free(pack); + pack = NULL; + goto exit; + } + pack->msgId = readInt(&curdata); + } + else + pack->msgId = 0; + if (MQTTVersion >= MQTTVERSION_5) + { + MQTTProperties props = MQTTProperties_initializer; + pack->properties = props; + if (MQTTProperties_read(&pack->properties, &curdata, enddata) != 1) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + } + pack->payload = curdata; + pack->payloadlen = (int)(datalen-(curdata-data)); +exit: + FUNC_EXIT; + return pack; +} + + +/** + * Free allocated storage for a publish packet. + * @param pack pointer to the publish packet structure + */ +void MQTTPacket_freePublish(Publish* pack) +{ + FUNC_ENTRY; + if (pack->topic != NULL) + free(pack->topic); + if (pack->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pack->properties); + free(pack); + FUNC_EXIT; +} + + +/** + * Free allocated storage for an ack packet. + * @param pack pointer to the publish packet structure + */ +void MQTTPacket_freeAck(Ack* pack) +{ + FUNC_ENTRY; + if (pack->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pack->properties); + free(pack); + FUNC_EXIT; +} + + +/** + * Send an MQTT acknowledgement packet down a socket. + * @param MQTTVersion the version of MQTT being used + * @param type the MQTT packet type e.g. SUBACK + * @param msgid the MQTT message id to use + * @param dup boolean - whether to set the MQTT DUP flag + * @param net the network handle to send the data to + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +static int MQTTPacket_send_ack(int MQTTVersion, int type, int msgid, int dup, networkHandles *net) +{ + Header header; + int rc = SOCKET_ERROR; + char *buf = NULL; + char *ptr = NULL; + + FUNC_ENTRY; + if ((ptr = buf = malloc(2)) == NULL) + goto exit; + header.cbByte = 0; + header.bits.type = type; + header.bits.dup = dup; + if (type == PUBREL) + header.bits.qos = 1; + writeInt(&ptr, msgid); + if ((rc = MQTTPacket_send(net, header, buf, 2, 1, MQTTVersion)) != TCPSOCKET_INTERRUPTED) + free(buf); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Send an MQTT PUBACK packet down a socket. + * @param MQTTVersion the version of MQTT being used + * @param msgid the MQTT message id to use + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_puback(int MQTTVersion, int msgid, networkHandles* net, const char* clientID) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_ack(MQTTVersion, PUBACK, msgid, 0, net); + Log(LOG_PROTOCOL, 12, NULL, net->socket, clientID, msgid, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Free allocated storage for a suback packet. + * @param pack pointer to the suback packet structure + */ +void MQTTPacket_freeSuback(Suback* pack) +{ + FUNC_ENTRY; + if (pack->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pack->properties); + if (pack->qoss != NULL) + ListFree(pack->qoss); + free(pack); + FUNC_EXIT; +} + + +/** + * Free allocated storage for a suback packet. + * @param pack pointer to the suback packet structure + */ +void MQTTPacket_freeUnsuback(Unsuback* pack) +{ + FUNC_ENTRY; + if (pack->MQTTVersion >= MQTTVERSION_5) + { + MQTTProperties_free(&pack->properties); + if (pack->reasonCodes != NULL) + ListFree(pack->reasonCodes); + } + free(pack); + FUNC_EXIT; +} + + +/** + * Send an MQTT PUBREC packet down a socket. + * @param MQTTVersion the version of MQTT being used + * @param msgid the MQTT message id to use + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_pubrec(int MQTTVersion, int msgid, networkHandles* net, const char* clientID) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_ack(MQTTVersion, PUBREC, msgid, 0, net); + Log(LOG_PROTOCOL, 13, NULL, net->socket, clientID, msgid, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Send an MQTT PUBREL packet down a socket. + * @param MQTTVersion the version of MQTT being used + * @param msgid the MQTT message id to use + * @param dup boolean - whether to set the MQTT DUP flag + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_pubrel(int MQTTVersion, int msgid, int dup, networkHandles* net, const char* clientID) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_ack(MQTTVersion, PUBREL, msgid, dup, net); + Log(LOG_PROTOCOL, 16, NULL, net->socket, clientID, msgid, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Send an MQTT PUBCOMP packet down a socket. + * @param MQTTVersion the version of MQTT being used + * @param msgid the MQTT message id to use + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_pubcomp(int MQTTVersion, int msgid, networkHandles* net, const char* clientID) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_ack(MQTTVersion, PUBCOMP, msgid, 0, net); + Log(LOG_PROTOCOL, 18, NULL, net->socket, clientID, msgid, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Function used in the new packets table to create acknowledgement packets. + * @param MQTTVersion the version of MQTT being used + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_ack(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + Ack* pack = NULL; + char* curdata = data; + char* enddata = &data[datalen]; + + FUNC_ENTRY; + if ((pack = malloc(sizeof(Ack))) == NULL) + goto exit; + pack->MQTTVersion = MQTTVersion; + pack->header.cbByte = aHeader; + if (pack->header.bits.type != DISCONNECT) + { + if (enddata - curdata < 2) /* Is there enough data for the msgid? */ + { + free(pack); + pack = NULL; + goto exit; + } + pack->msgId = readInt(&curdata); + } + if (MQTTVersion >= MQTTVERSION_5) + { + MQTTProperties props = MQTTProperties_initializer; + + pack->rc = MQTTREASONCODE_SUCCESS; + pack->properties = props; + + /* disconnect has no msgid */ + if (datalen > 2 || (pack->header.bits.type == DISCONNECT && datalen > 0)) + pack->rc = readChar(&curdata); /* reason code */ + + if (datalen > 3 || (pack->header.bits.type == DISCONNECT && datalen > 1)) + { + if (MQTTProperties_read(&pack->properties, &curdata, enddata) != 1) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + } + } +exit: + FUNC_EXIT; + return pack; +} + + +/** + * Send an MQTT PUBLISH packet down a socket. + * @param pack a structure from which to get some values to use, e.g topic, payload + * @param dup boolean - whether to set the MQTT DUP flag + * @param qos the value to use for the MQTT QoS setting + * @param retained boolean - whether to set the MQTT retained flag + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_publish(Publish* pack, int dup, int qos, int retained, networkHandles* net, const char* clientID) +{ + Header header; + char *topiclen; + int rc = SOCKET_ERROR; + + FUNC_ENTRY; + topiclen = malloc(2); + if (topiclen == NULL) + goto exit; + + header.bits.type = PUBLISH; + header.bits.dup = dup; + header.bits.qos = qos; + header.bits.retain = retained; + if (qos > 0 || pack->MQTTVersion >= 5) + { + int buflen = ((qos > 0) ? 2 : 0) + ((pack->MQTTVersion >= 5) ? MQTTProperties_len(&pack->properties) : 0); + char *ptr = NULL; + char* bufs[4] = {topiclen, pack->topic, NULL, pack->payload}; + size_t lens[4] = {2, strlen(pack->topic), buflen, pack->payloadlen}; + int frees[4] = {1, 0, 1, 0}; + PacketBuffers packetbufs = {4, bufs, lens, frees, {pack->mask[0], pack->mask[1], pack->mask[2], pack->mask[3]}}; + + bufs[2] = ptr = malloc(buflen); + if (ptr == NULL) + goto exit_free; + if (qos > 0) + writeInt(&ptr, pack->msgId); + if (pack->MQTTVersion >= 5) + MQTTProperties_write(&ptr, &pack->properties); + + ptr = topiclen; + writeInt(&ptr, (int)lens[1]); + rc = MQTTPacket_sends(net, header, &packetbufs, pack->MQTTVersion); + if (rc != TCPSOCKET_INTERRUPTED) + free(bufs[2]); + memcpy(pack->mask, packetbufs.mask, sizeof(pack->mask)); + } + else + { + char* ptr = topiclen; + char* bufs[3] = {topiclen, pack->topic, pack->payload}; + size_t lens[3] = {2, strlen(pack->topic), pack->payloadlen}; + int frees[3] = {1, 0, 0}; + PacketBuffers packetbufs = {3, bufs, lens, frees, {pack->mask[0], pack->mask[1], pack->mask[2], pack->mask[3]}}; + + writeInt(&ptr, (int)lens[1]); + rc = MQTTPacket_sends(net, header, &packetbufs, pack->MQTTVersion); + memcpy(pack->mask, packetbufs.mask, sizeof(pack->mask)); + } + if (qos == 0) + Log(LOG_PROTOCOL, 27, NULL, net->socket, clientID, retained, rc, pack->payloadlen, + min(20, pack->payloadlen), pack->payload); + else + Log(LOG_PROTOCOL, 10, NULL, net->socket, clientID, pack->msgId, qos, retained, rc, pack->payloadlen, + min(20, pack->payloadlen), pack->payload); +exit_free: + if (rc != TCPSOCKET_INTERRUPTED) + free(topiclen); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Free allocated storage for a various packet tyoes + * @param pack pointer to the suback packet structure + */ +void MQTTPacket_free_packet(MQTTPacket* pack) +{ + FUNC_ENTRY; + if (pack->header.bits.type == PUBLISH) + MQTTPacket_freePublish((Publish*)pack); + /*else if (pack->header.type == SUBSCRIBE) + MQTTPacket_freeSubscribe((Subscribe*)pack, 1); + else if (pack->header.type == UNSUBSCRIBE) + MQTTPacket_freeUnsubscribe((Unsubscribe*)pack);*/ + else + free(pack); + FUNC_EXIT; +} + + +/** + * Writes an integer as 4 bytes to an output buffer. + * @param pptr pointer to the output buffer - incremented by the number of bytes used & returned + * @param anInt the integer to write + */ +void writeInt4(char** pptr, int anInt) +{ + **pptr = (char)(anInt / 16777216); + (*pptr)++; + anInt %= 16777216; + **pptr = (char)(anInt / 65536); + (*pptr)++; + anInt %= 65536; + **pptr = (char)(anInt / 256); + (*pptr)++; + **pptr = (char)(anInt % 256); + (*pptr)++; +} + + +/** + * Calculates an integer from two bytes read from the input buffer + * @param pptr pointer to the input buffer - incremented by the number of bytes used & returned + * @return the integer value calculated + */ +int readInt4(char** pptr) +{ + unsigned char* ptr = (unsigned char*)*pptr; + int value = 16777216*(*ptr) + 65536*(*(ptr+1)) + 256*(*(ptr+2)) + (*(ptr+3)); + *pptr += 4; + return value; +} + + +void writeMQTTLenString(char** pptr, MQTTLenString lenstring) +{ + writeInt(pptr, lenstring.len); + memcpy(*pptr, lenstring.data, lenstring.len); + *pptr += lenstring.len; +} + + +int MQTTLenStringRead(MQTTLenString* lenstring, char** pptr, char* enddata) +{ + int len = -1; + + /* the first two bytes are the length of the string */ + if (enddata - (*pptr) > 1) /* enough length to read the integer? */ + { + lenstring->len = readInt(pptr); /* increments pptr to point past length */ + if (&(*pptr)[lenstring->len] <= enddata) + { + lenstring->data = (char*)*pptr; + *pptr += lenstring->len; + len = 2 + lenstring->len; + } + } + return len; +} + +/* +if (prop->value.integer4 >= 0 && prop->value.integer4 <= 127) + len = 1; +else if (prop->value.integer4 >= 128 && prop->value.integer4 <= 16383) + len = 2; +else if (prop->value.integer4 >= 16384 && prop->value.integer4 < 2097151) + len = 3; +else if (prop->value.integer4 >= 2097152 && prop->value.integer4 < 268435455) + len = 4; +*/ +int MQTTPacket_VBIlen(int rem_len) +{ + int rc = 0; + + if (rem_len < 128) + rc = 1; + else if (rem_len < 16384) + rc = 2; + else if (rem_len < 2097152) + rc = 3; + else + rc = 4; + return rc; +} + + +/** + * Decodes the message length according to the MQTT algorithm + * @param getcharfn pointer to function to read the next character from the data source + * @param value the decoded length returned + * @return the number of bytes read from the socket + */ +int MQTTPacket_VBIdecode(int (*getcharfn)(char*, int), unsigned int* value) +{ + char c; + int multiplier = 1; + int len = 0; +#define MAX_NO_OF_REMAINING_LENGTH_BYTES 4 + + *value = 0; + do + { + int rc = MQTTPACKET_READ_ERROR; + + if (++len > MAX_NO_OF_REMAINING_LENGTH_BYTES) + { + rc = MQTTPACKET_READ_ERROR; /* bad data */ + goto exit; + } + rc = (*getcharfn)(&c, 1); + if (rc != 1) + goto exit; + *value += (c & 127) * multiplier; + multiplier *= 128; + } while ((c & 128) != 0); +exit: + return len; +} + + +static char* bufptr; + +int bufchar(char* c, int count) +{ + int i; + + for (i = 0; i < count; ++i) + *c = *bufptr++; + return count; +} + + +int MQTTPacket_decodeBuf(char* buf, unsigned int* value) +{ + bufptr = buf; + return MQTTPacket_VBIdecode(bufchar, value); +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.h new file mode 100644 index 0000000..f9b715b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacket.h @@ -0,0 +1,254 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPACKET_H) +#define MQTTPACKET_H + +#include "Socket.h" +#if defined(OPENSSL) +#include "SSLSocket.h" +#endif +#include "LinkedList.h" +#include "Clients.h" + +typedef unsigned int bool; +typedef void* (*pf)(int, unsigned char, char*, size_t); + +#include "MQTTProperties.h" +#include "MQTTReasonCodes.h" + +enum errors +{ + MQTTPACKET_BAD = -4, + MQTTPACKET_BUFFER_TOO_SHORT = -2, + MQTTPACKET_READ_ERROR = -1, + MQTTPACKET_READ_COMPLETE +}; + + +enum msgTypes +{ + CONNECT = 1, CONNACK, PUBLISH, PUBACK, PUBREC, PUBREL, + PUBCOMP, SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK, + PINGREQ, PINGRESP, DISCONNECT, AUTH +}; + +#if defined(__linux__) +#include +#if __BYTE_ORDER == __BIG_ENDIAN + #define REVERSED 1 +#endif +#endif + +/** + * Bitfields for the MQTT header byte. + */ +typedef union +{ + /*unsigned*/ char cbByte; /**< the whole byte */ +#if defined(REVERSED) + struct + { + unsigned int type : 4; /**< message type nibble */ + bool dup : 1; /**< DUP flag bit */ + unsigned int qos : 2; /**< QoS value, 0, 1 or 2 */ + bool retain : 1; /**< retained flag bit */ + } bits; +#else + struct + { + bool retain : 1; /**< retained flag bit */ + unsigned int qos : 2; /**< QoS value, 0, 1 or 2 */ + bool dup : 1; /**< DUP flag bit */ + unsigned int type : 4; /**< message type nibble */ + } bits; +#endif +} Header; + + +/** + * Data for a connect packet. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + union + { + unsigned char all; /**< all connect flags */ +#if defined(REVERSED) + struct + { + bool username : 1; /**< 3.1 user name */ + bool password : 1; /**< 3.1 password */ + bool willRetain : 1; /**< will retain setting */ + unsigned int willQoS : 2; /**< will QoS value */ + bool will : 1; /**< will flag */ + bool cleanstart : 1; /**< cleansession flag */ + int : 1; /**< unused */ + } bits; +#else + struct + { + int : 1; /**< unused */ + bool cleanstart : 1; /**< cleansession flag */ + bool will : 1; /**< will flag */ + unsigned int willQoS : 2; /**< will QoS value */ + bool willRetain : 1; /**< will retain setting */ + bool password : 1; /**< 3.1 password */ + bool username : 1; /**< 3.1 user name */ + } bits; +#endif + } flags; /**< connect flags byte */ + + char *Protocol, /**< MQTT protocol name */ + *clientID, /**< string client id */ + *willTopic, /**< will topic */ + *willMsg; /**< will payload */ + + int keepAliveTimer; /**< keepalive timeout value in seconds */ + unsigned char version; /**< MQTT version number */ +} Connect; + + +/** + * Data for a connack packet. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + union + { + unsigned char all; /**< all connack flags */ +#if defined(REVERSED) + struct + { + unsigned int reserved : 7; /**< message type nibble */ + bool sessionPresent : 1; /**< was a session found on the server? */ + } bits; +#else + struct + { + bool sessionPresent : 1; /**< was a session found on the server? */ + unsigned int reserved : 7; /**< message type nibble */ + } bits; +#endif + } flags; /**< connack flags byte */ + unsigned char rc; /**< connack reason code */ + unsigned int MQTTVersion; /**< the version of MQTT */ + MQTTProperties properties; /**< MQTT 5.0 properties. Not used for MQTT < 5.0 */ +} Connack; + + +/** + * Data for a packet with header only. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ +} MQTTPacket; + + +/** + * Data for a suback packet. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + int msgId; /**< MQTT message id */ + int MQTTVersion; /**< the version of MQTT */ + MQTTProperties properties; /**< MQTT 5.0 properties. Not used for MQTT < 5.0 */ + List* qoss; /**< list of granted QoSs (MQTT 3/4) / reason codes (MQTT 5) */ +} Suback; + + +/** + * Data for an MQTT V5 unsuback packet. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + int msgId; /**< MQTT message id */ + int MQTTVersion; /**< the version of MQTT */ + MQTTProperties properties; /**< MQTT 5.0 properties. Not used for MQTT < 5.0 */ + List* reasonCodes; /**< list of reason codes */ +} Unsuback; + + +/** + * Data for a publish packet. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + char* topic; /**< topic string */ + int topiclen; + int msgId; /**< MQTT message id */ + char* payload; /**< binary payload, length delimited */ + int payloadlen; /**< payload length */ + int MQTTVersion; /**< the version of MQTT */ + MQTTProperties properties; /**< MQTT 5.0 properties. Not used for MQTT < 5.0 */ + uint8_t mask[4]; /**< the websockets mask the payload is masked with, if any */ +} Publish; + + +/** + * Data for one of the ack packets. + */ +typedef struct +{ + Header header; /**< MQTT header byte */ + int msgId; /**< MQTT message id */ + unsigned char rc; /**< MQTT 5 reason code */ + int MQTTVersion; /**< the version of MQTT */ + MQTTProperties properties; /**< MQTT 5.0 properties. Not used for MQTT < 5.0 */ +} Ack; + +typedef Ack Puback; +typedef Ack Pubrec; +typedef Ack Pubrel; +typedef Ack Pubcomp; + +int MQTTPacket_encode(char* buf, size_t length); +int MQTTPacket_decode(networkHandles* net, size_t* value); +int readInt(char** pptr); +char* readUTF(char** pptr, char* enddata); +unsigned char readChar(char** pptr); +void writeChar(char** pptr, char c); +void writeInt(char** pptr, int anInt); +void writeUTF(char** pptr, const char* string); +void writeData(char** pptr, const void* data, int datalen); + +const char* MQTTPacket_name(int ptype); + +void* MQTTPacket_Factory(int MQTTVersion, networkHandles* net, int* error); +int MQTTPacket_send(networkHandles* net, Header header, char* buffer, size_t buflen, int free, int MQTTVersion); +int MQTTPacket_sends(networkHandles* net, Header header, PacketBuffers* buffers, int MQTTVersion); + +void* MQTTPacket_header_only(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); +int MQTTPacket_send_disconnect(Clients* client, enum MQTTReasonCodes reason, MQTTProperties* props); + +void* MQTTPacket_publish(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); +void MQTTPacket_freePublish(Publish* pack); +int MQTTPacket_send_publish(Publish* pack, int dup, int qos, int retained, networkHandles* net, const char* clientID); +int MQTTPacket_send_puback(int MQTTVersion, int msgid, networkHandles* net, const char* clientID); +void* MQTTPacket_ack(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); + +void MQTTPacket_freeAck(Ack* pack); +void MQTTPacket_freeSuback(Suback* pack); +void MQTTPacket_freeUnsuback(Unsuback* pack); +int MQTTPacket_send_pubrec(int MQTTVersion, int msgid, networkHandles* net, const char* clientID); +int MQTTPacket_send_pubrel(int MQTTVersion, int msgid, int dup, networkHandles* net, const char* clientID); +int MQTTPacket_send_pubcomp(int MQTTVersion, int msgid, networkHandles* net, const char* clientID); + +void MQTTPacket_free_packet(MQTTPacket* pack); + +void writeInt4(char** pptr, int anInt); +int readInt4(char** pptr); +void writeMQTTLenString(char** pptr, MQTTLenString lenstring); +int MQTTLenStringRead(MQTTLenString* lenstring, char** pptr, char* enddata); +int MQTTPacket_VBIlen(int rem_len); +int MQTTPacket_decodeBuf(char* buf, unsigned int* value); + +#include "MQTTPacketOut.h" + +#endif /* MQTTPACKET_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.c new file mode 100644 index 0000000..0f98ed7 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.c @@ -0,0 +1,447 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTPacketOut.h" +#include "Log.h" +#include "StackTrace.h" + +#include +#include + +#include "Heap.h" + + +/** + * Send an MQTT CONNECT packet down a socket for V5 or later + * @param client a structure from which to get all the required values + * @param MQTTVersion the MQTT version to connect with + * @param connectProperties MQTT V5 properties for the connect packet + * @param willProperties MQTT V5 properties for the will message, if any + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_connect(Clients* client, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties) +{ + char *buf, *ptr; + Connect packet; + int rc = SOCKET_ERROR, len; + + FUNC_ENTRY; + packet.header.cbByte = 0; + packet.header.bits.type = CONNECT; + + len = ((MQTTVersion == MQTTVERSION_3_1) ? 12 : 10) + (int)strlen(client->clientID)+2; + if (client->will) + len += (int)strlen(client->will->topic)+2 + client->will->payloadlen+2; + if (client->username) + len += (int)strlen(client->username)+2; + if (client->password) + len += client->passwordlen+2; + if (MQTTVersion >= MQTTVERSION_5) + { + len += MQTTProperties_len(connectProperties); + if (client->will) + len += MQTTProperties_len(willProperties); + } + + ptr = buf = malloc(len); + if (ptr == NULL) + goto exit_nofree; + if (MQTTVersion == MQTTVERSION_3_1) + { + writeUTF(&ptr, "MQIsdp"); + writeChar(&ptr, (char)MQTTVERSION_3_1); + } + else if (MQTTVersion == MQTTVERSION_3_1_1 || MQTTVersion == MQTTVERSION_5) + { + writeUTF(&ptr, "MQTT"); + writeChar(&ptr, (char)MQTTVersion); + } + else + goto exit; + + packet.flags.all = 0; + if (MQTTVersion >= MQTTVERSION_5) + packet.flags.bits.cleanstart = client->cleanstart; + else + packet.flags.bits.cleanstart = client->cleansession; + packet.flags.bits.will = (client->will) ? 1 : 0; + if (packet.flags.bits.will) + { + packet.flags.bits.willQoS = client->will->qos; + packet.flags.bits.willRetain = client->will->retained; + } + if (client->username) + packet.flags.bits.username = 1; + if (client->password) + packet.flags.bits.password = 1; + + writeChar(&ptr, packet.flags.all); + writeInt(&ptr, client->keepAliveInterval); + if (MQTTVersion >= MQTTVERSION_5) + MQTTProperties_write(&ptr, connectProperties); + writeUTF(&ptr, client->clientID); + if (client->will) + { + if (MQTTVersion >= MQTTVERSION_5) + MQTTProperties_write(&ptr, willProperties); + writeUTF(&ptr, client->will->topic); + writeData(&ptr, client->will->payload, client->will->payloadlen); + } + if (client->username) + writeUTF(&ptr, client->username); + if (client->password) + writeData(&ptr, client->password, client->passwordlen); + + rc = MQTTPacket_send(&client->net, packet.header, buf, len, 1, MQTTVersion); + Log(LOG_PROTOCOL, 0, NULL, client->net.socket, client->clientID, + MQTTVersion, client->cleansession, rc); +exit: + if (rc != TCPSOCKET_INTERRUPTED) + free(buf); +exit_nofree: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Function used in the new packets table to create connack packets. + * @param MQTTVersion MQTT 5 or less? + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_connack(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + Connack* pack = NULL; + char* curdata = data; + char* enddata = &data[datalen]; + + FUNC_ENTRY; + if ((pack = malloc(sizeof(Connack))) == NULL) + goto exit; + pack->MQTTVersion = MQTTVersion; + pack->header.cbByte = aHeader; + if (datalen < 2) /* enough data for connect flags and reason code? */ + { + free(pack); + pack = NULL; + goto exit; + } + pack->flags.all = readChar(&curdata); /* connect flags */ + pack->rc = readChar(&curdata); /* reason code */ + if (MQTTVersion >= MQTTVERSION_5 && datalen > 2) + { + MQTTProperties props = MQTTProperties_initializer; + pack->properties = props; + if (MQTTProperties_read(&pack->properties, &curdata, enddata) != 1) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + } +exit: + FUNC_EXIT; + return pack; +} + + +/** + * Free allocated storage for a connack packet. + * @param pack pointer to the connack packet structure + */ +void MQTTPacket_freeConnack(Connack* pack) +{ + FUNC_ENTRY; + if (pack->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pack->properties); + free(pack); + FUNC_EXIT; +} + + +/** + * Send an MQTT PINGREQ packet down a socket. + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_pingreq(networkHandles* net, const char* clientID) +{ + Header header; + int rc = 0; + + FUNC_ENTRY; + header.cbByte = 0; + header.bits.type = PINGREQ; + rc = MQTTPacket_send(net, header, NULL, 0, 0, MQTTVERSION_3_1_1); + Log(LOG_PROTOCOL, 20, NULL, net->socket, clientID, rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Send an MQTT subscribe packet down a socket. + * @param topics list of topics + * @param qoss list of corresponding QoSs + * @param msgid the MQTT message id to use + * @param dup boolean - whether to set the MQTT DUP flag + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_subscribe(List* topics, List* qoss, MQTTSubscribe_options* opts, MQTTProperties* props, + int msgid, int dup, Clients* client) +{ + Header header; + char *data, *ptr; + int rc = -1; + ListElement *elem = NULL, *qosElem = NULL; + int datalen, i = 0; + + FUNC_ENTRY; + header.bits.type = SUBSCRIBE; + header.bits.dup = dup; + header.bits.qos = 1; + header.bits.retain = 0; + + datalen = 2 + topics->count * 3; /* utf length + char qos == 3 */ + while (ListNextElement(topics, &elem)) + datalen += (int)strlen((char*)(elem->content)); + if (client->MQTTVersion >= MQTTVERSION_5) + datalen += MQTTProperties_len(props); + + ptr = data = malloc(datalen); + if (ptr == NULL) + goto exit; + writeInt(&ptr, msgid); + + if (client->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_write(&ptr, props); + + elem = NULL; + while (ListNextElement(topics, &elem)) + { + char subopts = 0; + + ListNextElement(qoss, &qosElem); + writeUTF(&ptr, (char*)(elem->content)); + subopts = *(int*)(qosElem->content); + if (client->MQTTVersion >= MQTTVERSION_5 && opts != NULL) + { + subopts |= (opts[i].noLocal << 2); /* 1 bit */ + subopts |= (opts[i].retainAsPublished << 3); /* 1 bit */ + subopts |= (opts[i].retainHandling << 4); /* 2 bits */ + } + writeChar(&ptr, subopts); + ++i; + } + rc = MQTTPacket_send(&client->net, header, data, datalen, 1, client->MQTTVersion); + Log(LOG_PROTOCOL, 22, NULL, client->net.socket, client->clientID, msgid, rc); + if (rc != TCPSOCKET_INTERRUPTED) + free(data); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Function used in the new packets table to create suback packets. + * @param MQTTVersion the version of MQTT + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_suback(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + Suback* pack = NULL; + char* curdata = data; + char* enddata = &data[datalen]; + + FUNC_ENTRY; + if ((pack = malloc(sizeof(Suback))) == NULL) + goto exit; + pack->MQTTVersion = MQTTVersion; + pack->header.cbByte = aHeader; + if (enddata - curdata < 2) /* Is there enough data to read the msgid? */ + { + free(pack); + pack = NULL; + goto exit; + } + pack->msgId = readInt(&curdata); + if (MQTTVersion >= MQTTVERSION_5) + { + MQTTProperties props = MQTTProperties_initializer; + pack->properties = props; + if (MQTTProperties_read(&pack->properties, &curdata, enddata) != 1) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + } + pack->qoss = ListInitialize(); + while ((size_t)(curdata - data) < datalen) + { + unsigned int* newint; + newint = malloc(sizeof(unsigned int)); + if (newint == NULL) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + *newint = (unsigned int)readChar(&curdata); + ListAppend(pack->qoss, newint, sizeof(unsigned int)); + } + if (pack->qoss->count == 0) + { + if (pack->properties.array) + free(pack->properties.array); + ListFree(pack->qoss); + free(pack); + pack = NULL; + } +exit: + FUNC_EXIT; + return pack; +} + + +/** + * Send an MQTT unsubscribe packet down a socket. + * @param topics list of topics + * @param msgid the MQTT message id to use + * @param dup boolean - whether to set the MQTT DUP flag + * @param socket the open socket to send the data to + * @param clientID the string client identifier, only used for tracing + * @return the completion code (e.g. TCPSOCKET_COMPLETE) + */ +int MQTTPacket_send_unsubscribe(List* topics, MQTTProperties* props, int msgid, int dup, Clients* client) +{ + Header header; + char *data, *ptr; + int rc = SOCKET_ERROR; + ListElement *elem = NULL; + int datalen; + + FUNC_ENTRY; + header.bits.type = UNSUBSCRIBE; + header.bits.dup = dup; + header.bits.qos = 1; + header.bits.retain = 0; + + datalen = 2 + topics->count * 2; /* utf length == 2 */ + while (ListNextElement(topics, &elem)) + datalen += (int)strlen((char*)(elem->content)); + if (client->MQTTVersion >= MQTTVERSION_5) + datalen += MQTTProperties_len(props); + ptr = data = malloc(datalen); + if (ptr == NULL) + goto exit; + + writeInt(&ptr, msgid); + + if (client->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_write(&ptr, props); + + elem = NULL; + while (ListNextElement(topics, &elem)) + writeUTF(&ptr, (char*)(elem->content)); + rc = MQTTPacket_send(&client->net, header, data, datalen, 1, client->MQTTVersion); + Log(LOG_PROTOCOL, 25, NULL, client->net.socket, client->clientID, msgid, rc); + if (rc != TCPSOCKET_INTERRUPTED) + free(data); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Function used in the new packets table to create unsuback packets. + * @param MQTTVersion the version of MQTT + * @param aHeader the MQTT header byte + * @param data the rest of the packet + * @param datalen the length of the rest of the packet + * @return pointer to the packet structure + */ +void* MQTTPacket_unsuback(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen) +{ + Unsuback* pack = NULL; + char* curdata = data; + char* enddata = &data[datalen]; + + FUNC_ENTRY; + if ((pack = malloc(sizeof(Unsuback))) == NULL) + goto exit; + pack->MQTTVersion = MQTTVersion; + pack->header.cbByte = aHeader; + if (enddata - curdata < 2) /* Is there enough data? */ + { + free(pack); + pack = NULL; + goto exit; + } + pack->msgId = readInt(&curdata); + pack->reasonCodes = NULL; + if (MQTTVersion >= MQTTVERSION_5) + { + MQTTProperties props = MQTTProperties_initializer; + pack->properties = props; + if (MQTTProperties_read(&pack->properties, &curdata, enddata) != 1) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + pack->reasonCodes = ListInitialize(); + while ((size_t)(curdata - data) < datalen) + { + enum MQTTReasonCodes* newrc; + newrc = malloc(sizeof(enum MQTTReasonCodes)); + if (newrc == NULL) + { + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; /* signal protocol error */ + goto exit; + } + *newrc = (enum MQTTReasonCodes)readChar(&curdata); + ListAppend(pack->reasonCodes, newrc, sizeof(enum MQTTReasonCodes)); + } + if (pack->reasonCodes->count == 0) + { + ListFree(pack->reasonCodes); + if (pack->properties.array) + free(pack->properties.array); + if (pack) + free(pack); + pack = NULL; + } + } +exit: + FUNC_EXIT; + return pack; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.h new file mode 100644 index 0000000..79ea951 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPacketOut.h @@ -0,0 +1,23 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPACKETOUT_H) +#define MQTTPACKETOUT_H + +#include "MQTTPacket.h" + +int MQTTPacket_send_connect(Clients* client, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties); +void* MQTTPacket_connack(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); +void MQTTPacket_freeConnack(Connack* pack); + +int MQTTPacket_send_pingreq(networkHandles* net, const char* clientID); + +int MQTTPacket_send_subscribe(List* topics, List* qoss, MQTTSubscribe_options* opts, MQTTProperties* props, + int msgid, int dup, Clients* client); +void* MQTTPacket_suback(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); + +int MQTTPacket_send_unsubscribe(List* topics, MQTTProperties* props, int msgid, int dup, Clients* client); +void* MQTTPacket_unsuback(int MQTTVersion, unsigned char aHeader, char* data, size_t datalen); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.c new file mode 100644 index 0000000..44e39af --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.c @@ -0,0 +1,886 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include + +#include "MQTTPersistence.h" +#include "MQTTPersistenceDefault.h" +#include "MQTTProtocolClient.h" +#include "Heap.h" + +#if defined(_WIN32) || defined(_WIN64) + #define snprintf _snprintf +#endif + + +static MQTTPersistence_qEntry* MQTTPersistence_restoreQueueEntry(char* buffer, size_t buflen, int MQTTVersion); +static void MQTTPersistence_insertInSeqOrder(List* list, MQTTPersistence_qEntry* qEntry, size_t size); + +/** + * Creates a ::MQTTClient_persistence structure representing a persistence implementation. + * @param persistence the ::MQTTClient_persistence structure. + * @param type the type of the persistence implementation. See ::MQTTClient_create. + * @param pcontext the context for this persistence implementation. See ::MQTTClient_create. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +#include "StackTrace.h" + +int MQTTPersistence_create(MQTTClient_persistence** persistence, int type, void* pcontext) +{ + int rc = 0; + MQTTClient_persistence* per = NULL; + + FUNC_ENTRY; +#if !defined(NO_PERSISTENCE) + switch (type) + { + case MQTTCLIENT_PERSISTENCE_NONE : + per = NULL; + break; + case MQTTCLIENT_PERSISTENCE_DEFAULT : + per = malloc(sizeof(MQTTClient_persistence)); + if ( per != NULL ) + { + if ( pcontext == NULL ) + pcontext = "."; /* working directory */ + if ((per->context = malloc(strlen(pcontext) + 1)) == NULL) + { + free(per); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(per->context, pcontext); + /* file system functions */ + per->popen = pstopen; + per->pclose = pstclose; + per->pput = pstput; + per->pget = pstget; + per->premove = pstremove; + per->pkeys = pstkeys; + per->pclear = pstclear; + per->pcontainskey = pstcontainskey; + } + else + rc = PAHO_MEMORY_ERROR; + break; + case MQTTCLIENT_PERSISTENCE_USER : + per = (MQTTClient_persistence *)pcontext; + if ( per == NULL || (per != NULL && (per->context == NULL || per->pclear == NULL || + per->pclose == NULL || per->pcontainskey == NULL || per->pget == NULL || per->pkeys == NULL || + per->popen == NULL || per->pput == NULL || per->premove == NULL)) ) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + break; + default: + rc = MQTTCLIENT_PERSISTENCE_ERROR; + break; + } +#endif + + *persistence = per; +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Open persistent store and restore any persisted messages. + * @param client the client as ::Clients. + * @param serverURI the URI of the remote end. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_initialize(Clients *c, const char *serverURI) +{ + int rc = 0; + + FUNC_ENTRY; + if ( c->persistence != NULL ) + { + rc = c->persistence->popen(&(c->phandle), c->clientID, serverURI, c->persistence->context); + if ( rc == 0 ) + rc = MQTTPersistence_restorePackets(c); + } + + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Close persistent store. + * @param client the client as ::Clients. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_close(Clients *c) +{ + int rc = 0; + + FUNC_ENTRY; +#if !defined(NO_PERSISTENCE) + if (c->persistence != NULL) + { + rc = c->persistence->pclose(c->phandle); + + if (c->persistence->popen == pstopen) { + if (c->persistence->context) + free(c->persistence->context); + free(c->persistence); + } + + c->phandle = NULL; + c->persistence = NULL; + } +#endif + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * Clears the persistent store. + * @param client the client as ::Clients. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_clear(Clients *c) +{ + int rc = 0; + + FUNC_ENTRY; + if (c->persistence != NULL) + rc = c->persistence->pclear(c->phandle); + + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Restores the persisted records to the outbound and inbound message queues of the + * client. + * @param client the client as ::Clients. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_restorePackets(Clients *c) +{ + int rc = 0; + char **msgkeys = NULL, + *buffer = NULL; + int nkeys, buflen; + int i = 0; + int msgs_sent = 0; + int msgs_rcvd = 0; + + FUNC_ENTRY; + if (c->persistence && (rc = c->persistence->pkeys(c->phandle, &msgkeys, &nkeys)) == 0) + { + while (rc == 0 && i < nkeys) + { + if (strncmp(msgkeys[i], PERSISTENCE_COMMAND_KEY, strlen(PERSISTENCE_COMMAND_KEY)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_COMMAND_KEY, strlen(PERSISTENCE_V5_COMMAND_KEY)) == 0) + { + ; + } + else if (strncmp(msgkeys[i], PERSISTENCE_QUEUE_KEY, strlen(PERSISTENCE_QUEUE_KEY)) == 0 || + strncmp(msgkeys[i], PERSISTENCE_V5_QUEUE_KEY, strlen(PERSISTENCE_V5_QUEUE_KEY)) == 0) + { + ; + } + else if ((rc = c->persistence->pget(c->phandle, msgkeys[i], &buffer, &buflen)) == 0 && + (c->afterRead == NULL || (rc = c->afterRead(c->afterRead_context, &buffer, &buflen)) == 0)) + { + int data_MQTTVersion = MQTTVERSION_3_1_1; + char* cur_key = msgkeys[i]; + MQTTPacket* pack = NULL; + + if (strncmp(cur_key, PERSISTENCE_V5_PUBLISH_RECEIVED, + strlen(PERSISTENCE_V5_PUBLISH_RECEIVED)) == 0) + { + data_MQTTVersion = MQTTVERSION_5; + cur_key = PERSISTENCE_PUBLISH_RECEIVED; + } + else if (strncmp(cur_key, PERSISTENCE_V5_PUBLISH_SENT, + strlen(PERSISTENCE_V5_PUBLISH_SENT)) == 0) + { + data_MQTTVersion = MQTTVERSION_5; + cur_key = PERSISTENCE_PUBLISH_SENT; + } + else if (strncmp(cur_key, PERSISTENCE_V5_PUBREL, + strlen(PERSISTENCE_V5_PUBREL)) == 0) + { + data_MQTTVersion = MQTTVERSION_5; + cur_key = PERSISTENCE_PUBREL; + } + + if (data_MQTTVersion == MQTTVERSION_5 && c->MQTTVersion < MQTTVERSION_5) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; /* can't restore version 5 data with a version 3 client */ + goto exit; + } + + pack = MQTTPersistence_restorePacket(data_MQTTVersion, buffer, buflen); + if ( pack != NULL ) + { + if (strncmp(cur_key, PERSISTENCE_PUBLISH_RECEIVED, + strlen(PERSISTENCE_PUBLISH_RECEIVED)) == 0) + { + Publish* publish = (Publish*)pack; + Messages* msg = NULL; + publish->MQTTVersion = c->MQTTVersion; + msg = MQTTProtocol_createMessage(publish, &msg, publish->header.bits.qos, publish->header.bits.retain, 1); + msg->nextMessageType = PUBREL; + /* order does not matter for persisted received messages */ + ListAppend(c->inboundMsgs, msg, msg->len); + if (c->MQTTVersion >= MQTTVERSION_5) + { + free(msg->publish->payload); + free(msg->publish->topic); + msg->publish->payload = msg->publish->topic = NULL; + } + publish->topic = NULL; + MQTTPacket_freePublish(publish); + msgs_rcvd++; + } + else if (strncmp(cur_key, PERSISTENCE_PUBLISH_SENT, + strlen(PERSISTENCE_PUBLISH_SENT)) == 0) + { + Publish* publish = (Publish*)pack; + Messages* msg = NULL; + const size_t keysize = PERSISTENCE_MAX_KEY_LENGTH + 1; + char *key = malloc(keysize); + int chars = 0; + + if (!key) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + publish->MQTTVersion = c->MQTTVersion; + if (publish->MQTTVersion >= MQTTVERSION_5) + chars = snprintf(key, keysize, "%s%d", PERSISTENCE_V5_PUBREL, publish->msgId); + else + chars = snprintf(key, keysize, "%s%d", PERSISTENCE_PUBREL, publish->msgId); + if (chars >= keysize) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + } + else + { + msg = MQTTProtocol_createMessage(publish, &msg, publish->header.bits.qos, publish->header.bits.retain, 1); + if (c->persistence->pcontainskey(c->phandle, key) == 0) + /* PUBLISH Qo2 and PUBREL sent */ + msg->nextMessageType = PUBCOMP; + /* else: PUBLISH QoS1, or PUBLISH QoS2 and PUBREL not sent */ + /* retry at the first opportunity */ + memset(&msg->lastTouch, '\0', sizeof(msg->lastTouch)); + MQTTPersistence_insertInOrder(c->outboundMsgs, msg, msg->len); + publish->topic = NULL; + MQTTPacket_freePublish(publish); + msgs_sent++; + } + free(key); + } + else if (strncmp(cur_key, PERSISTENCE_PUBREL, strlen(PERSISTENCE_PUBREL)) == 0) + { + /* orphaned PUBRELs ? */ + Pubrel* pubrel = (Pubrel*)pack; + const size_t keysize = PERSISTENCE_MAX_KEY_LENGTH + 1; + char *key = malloc(keysize); + int chars = 0; + + if (!key) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + pubrel->MQTTVersion = c->MQTTVersion; + if (pubrel->MQTTVersion >= MQTTVERSION_5) + chars = snprintf(key, keysize, "%s%d", PERSISTENCE_V5_PUBLISH_SENT, pubrel->msgId); + else + chars = snprintf(key, keysize, "%s%d", PERSISTENCE_PUBLISH_SENT, pubrel->msgId); + if (chars >= keysize) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + } + else if (c->persistence->pcontainskey(c->phandle, key) != 0) + rc = c->persistence->premove(c->phandle, msgkeys[i]); + free(pubrel); + free(key); + } + } + else /* pack == NULL -> bad persisted record */ + rc = c->persistence->premove(c->phandle, msgkeys[i]); + } + if (buffer) + { + free(buffer); + buffer = NULL; + } + if (msgkeys[i]) + free(msgkeys[i]); + i++; + } + if (msgkeys) + free(msgkeys); + } + Log(TRACE_MINIMUM, -1, "%d sent messages and %d received messages restored for client %s\n", + msgs_sent, msgs_rcvd, c->clientID); + MQTTPersistence_wrapMsgID(c); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Returns a MQTT packet restored from persisted data. + * @param buffer the persisted data. + * @param buflen the number of bytes of the data buffer. + */ +void* MQTTPersistence_restorePacket(int MQTTVersion, char* buffer, size_t buflen) +{ + void* pack = NULL; + Header header; + int fixed_header_length = 1, ptype, remaining_length = 0; + char c; + int multiplier = 1; + extern pf new_packets[]; + + FUNC_ENTRY; + header.cbByte = buffer[0]; + /* decode the message length according to the MQTT algorithm */ + do + { + c = *(++buffer); + remaining_length += (c & 127) * multiplier; + multiplier *= 128; + fixed_header_length++; + } while ((c & 128) != 0); + + if ( (fixed_header_length + remaining_length) == buflen ) + { + ptype = header.bits.type; + if (ptype >= CONNECT && ptype <= DISCONNECT && new_packets[ptype] != NULL) + pack = (*new_packets[ptype])(MQTTVersion, header.cbByte, ++buffer, remaining_length); + } + + FUNC_EXIT; + return pack; +} + + +/** + * Inserts the specified message into the list, maintaining message ID order. + * @param list the list to insert the message into. + * @param content the message to add. + * @param size size of the message. + */ +void MQTTPersistence_insertInOrder(List* list, void* content, size_t size) +{ + ListElement* index = NULL; + ListElement* current = NULL; + + FUNC_ENTRY; + while(ListNextElement(list, ¤t) != NULL && index == NULL) + { + if ( ((Messages*)content)->msgid < ((Messages*)current->content)->msgid ) + index = current; + } + + ListInsert(list, content, size, index); + FUNC_EXIT; +} + + +/** + * Adds a record to the persistent store. This function must not be called for QoS0 + * messages. + * @param socket the socket of the client. + * @param buf0 fixed header. + * @param buf0len length of the fixed header. + * @param count number of buffers representing the variable header and/or the payload. + * @param buffers the buffers representing the variable header and/or the payload. + * @param buflens length of the buffers representing the variable header and/or the payload. + * @param htype MQTT packet type - PUBLISH or PUBREL + * @param msgId the message ID. + * @param scr 0 indicates message in the sending direction; 1 indicates message in the + * receiving direction. + * @param the MQTT version being used (>= MQTTVERSION_5 means properties included) + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_putPacket(SOCKET socket, char* buf0, size_t buf0len, int count, + char** buffers, size_t* buflens, int htype, int msgId, int scr, int MQTTVersion) +{ + int rc = 0; + extern ClientStates* bstate; + int nbufs, i; + int* lens = NULL; + char** bufs = NULL; + char *key; + Clients* client = NULL; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &socket, clientSocketCompare)->content); + if (client->persistence != NULL) + { + const size_t keysize = PERSISTENCE_MAX_KEY_LENGTH + 1; + if ((key = malloc(keysize)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + nbufs = 1 + count; + if ((lens = (int *)malloc(nbufs * sizeof(int))) == NULL) + { + free(key); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if ((bufs = (char **)malloc(nbufs * sizeof(char *))) == NULL) + { + free(key); + free(lens); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + lens[0] = (int)buf0len; + bufs[0] = buf0; + for (i = 0; i < count; i++) + { + lens[i+1] = (int)buflens[i]; + bufs[i+1] = buffers[i]; + } + + /* key */ + if (scr == 0) + { /* sending */ + char* key_id = PERSISTENCE_PUBLISH_SENT; + + if (htype == PUBLISH) /* PUBLISH QoS1 and QoS2*/ + { + if (MQTTVersion >= MQTTVERSION_5) + key_id = PERSISTENCE_V5_PUBLISH_SENT; + } + else if (htype == PUBREL) /* PUBREL */ + { + if (MQTTVersion >= MQTTVERSION_5) + key_id = PERSISTENCE_V5_PUBREL; + else + key_id = PERSISTENCE_PUBREL; + } + if (snprintf(key, keysize, "%s%d", key_id, msgId) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + else if (scr == 1) /* receiving PUBLISH QoS2 */ + { + char* key_id = PERSISTENCE_PUBLISH_RECEIVED; + + if (MQTTVersion >= MQTTVERSION_5) + key_id = PERSISTENCE_V5_PUBLISH_RECEIVED; + if (snprintf(key, keysize, "%s%d", key_id, msgId) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + + if (rc == 0 && client->beforeWrite) + rc = client->beforeWrite(client->beforeWrite_context, nbufs, bufs, lens); + + if (rc == 0) + rc = client->persistence->pput(client->phandle, key, nbufs, bufs, lens); + + free(key); + free(lens); + free(bufs); + } + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Deletes a record from the persistent store. + * @param client the client as ::Clients. + * @param type the type of the persisted record: #PERSISTENCE_PUBLISH_SENT, #PERSISTENCE_PUBREL + * or #PERSISTENCE_PUBLISH_RECEIVED. + * @param qos the qos field of the message. + * @param msgId the message ID. + * @return 0 if success, #MQTTCLIENT_PERSISTENCE_ERROR otherwise. + */ +int MQTTPersistence_remove(Clients* c, char *type, int qos, int msgId) +{ + int rc = 0; + + FUNC_ENTRY; + if (c->persistence != NULL) + { + const size_t keysize = PERSISTENCE_MAX_KEY_LENGTH + 1; + char *key = malloc(keysize); + int chars = 0; + + if (!key) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (strcmp(type, PERSISTENCE_PUBLISH_SENT) == 0 || + strcmp(type, PERSISTENCE_V5_PUBLISH_SENT) == 0) + { + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_V5_PUBLISH_SENT, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { + rc = c->persistence->premove(c->phandle, key); + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_V5_PUBREL, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { + rc += c->persistence->premove(c->phandle, key); + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_PUBLISH_SENT, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { + rc += c->persistence->premove(c->phandle, key); + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_PUBREL, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + rc += c->persistence->premove(c->phandle, key); + } + } + } + } + else /* PERSISTENCE_PUBLISH_SENT && qos == 1 */ + { /* or PERSISTENCE_PUBLISH_RECEIVED */ + + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_V5_PUBLISH_RECEIVED, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { + rc = c->persistence->premove(c->phandle, key); + if ((chars = snprintf(key, keysize, "%s%d", PERSISTENCE_PUBLISH_RECEIVED, msgId)) >= keysize) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + rc += c->persistence->premove(c->phandle, key); + } + } + if (rc == MQTTCLIENT_PERSISTENCE_ERROR) + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + free(key); + } + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Checks whether the message IDs wrapped by looking for the largest gap between two consecutive + * message IDs in the outboundMsgs queue. + * @param client the client as ::Clients. + */ +void MQTTPersistence_wrapMsgID(Clients *client) +{ + ListElement* wrapel = NULL; + ListElement* current = NULL; + + FUNC_ENTRY; + if ( client->outboundMsgs->count > 0 ) + { + int firstMsgID = ((Messages*)client->outboundMsgs->first->content)->msgid; + int lastMsgID = ((Messages*)client->outboundMsgs->last->content)->msgid; + int gap = MAX_MSG_ID - lastMsgID + firstMsgID; + current = ListNextElement(client->outboundMsgs, ¤t); + + while(ListNextElement(client->outboundMsgs, ¤t) != NULL) + { + int curMsgID = ((Messages*)current->content)->msgid; + int curPrevMsgID = ((Messages*)current->prev->content)->msgid; + int curgap = curMsgID - curPrevMsgID; + if ( curgap > gap ) + { + gap = curgap; + wrapel = current; + } + } + } + + if ( wrapel != NULL ) + { + /* put wrapel at the beginning of the queue */ + client->outboundMsgs->first->prev = client->outboundMsgs->last; + client->outboundMsgs->last->next = client->outboundMsgs->first; + client->outboundMsgs->first = wrapel; + client->outboundMsgs->last = wrapel->prev; + client->outboundMsgs->first->prev = NULL; + client->outboundMsgs->last->next = NULL; + } + FUNC_EXIT; +} + + +#if !defined(NO_PERSISTENCE) +int MQTTPersistence_unpersistQueueEntry(Clients* client, MQTTPersistence_qEntry* qe) +{ + int rc = 0; +#if defined(_WIN32) || defined(_WIN64) +#define KEYSIZE PERSISTENCE_MAX_KEY_LENGTH + 1 +#else + const size_t KEYSIZE = PERSISTENCE_MAX_KEY_LENGTH + 1; +#endif + char key[KEYSIZE]; + int chars = 0; + + FUNC_ENTRY; + if (client->MQTTVersion >= MQTTVERSION_5) + chars = snprintf(key, KEYSIZE, "%s%u", PERSISTENCE_V5_QUEUE_KEY, qe->seqno); + else + chars = snprintf(key, KEYSIZE, "%s%u", PERSISTENCE_QUEUE_KEY, qe->seqno); + if (chars >= KEYSIZE) + { + Log(LOG_ERROR, 0, "Error writing %d chars with snprintf", chars); + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + else if ((rc = client->persistence->premove(client->phandle, key)) != 0) + Log(LOG_ERROR, 0, "Error %d removing qEntry from persistence", rc); + FUNC_EXIT_RC(rc); + return rc; +} + + +#define MAX_NO_OF_BUFFERS 9 +int MQTTPersistence_persistQueueEntry(Clients* aclient, MQTTPersistence_qEntry* qe) +{ + int rc = 0; + int bufindex = 0; +#if !defined(_WIN32) && !defined(_WIN64) + const size_t KEYSIZE = PERSISTENCE_MAX_KEY_LENGTH + 1; +#endif + char key[KEYSIZE]; + int chars = 0; + int lens[MAX_NO_OF_BUFFERS]; + void* bufs[MAX_NO_OF_BUFFERS]; + int props_allocated = 0; + + FUNC_ENTRY; + bufs[bufindex] = &qe->msg->payloadlen; + lens[bufindex++] = sizeof(qe->msg->payloadlen); + + bufs[bufindex] = qe->msg->payload; + lens[bufindex++] = qe->msg->payloadlen; + + bufs[bufindex] = &qe->msg->qos; + lens[bufindex++] = sizeof(qe->msg->qos); + + bufs[bufindex] = &qe->msg->retained; + lens[bufindex++] = sizeof(qe->msg->retained); + + bufs[bufindex] = &qe->msg->dup; + lens[bufindex++] = sizeof(qe->msg->dup); + + bufs[bufindex] = &qe->msg->msgid; + lens[bufindex++] = sizeof(qe->msg->msgid); + + bufs[bufindex] = qe->topicName; + lens[bufindex++] = (int)strlen(qe->topicName) + 1; + + bufs[bufindex] = &qe->topicLen; + lens[bufindex++] = sizeof(qe->topicLen); + + if (++aclient->qentry_seqno == PERSISTENCE_SEQNO_LIMIT) + aclient->qentry_seqno = 0; + + if (aclient->MQTTVersion >= MQTTVERSION_5) /* persist properties */ + { + MQTTProperties no_props = MQTTProperties_initializer; + MQTTProperties* props = &no_props; + int temp_len = 0; + char* ptr = NULL; + + if (qe->msg->struct_version >= 1) + props = &qe->msg->properties; + + temp_len = MQTTProperties_len(props); + ptr = bufs[bufindex] = malloc(temp_len); + if (!ptr) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + props_allocated = bufindex; + rc = MQTTProperties_write(&ptr, props); + lens[bufindex++] = temp_len; + + chars = snprintf(key, KEYSIZE, "%s%u", PERSISTENCE_V5_QUEUE_KEY, aclient->qentry_seqno); + } + else + chars = snprintf(key, KEYSIZE, "%s%u", PERSISTENCE_QUEUE_KEY, aclient->qentry_seqno); + + if (chars >= KEYSIZE) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { + qe->seqno = aclient->qentry_seqno; + + if (aclient->beforeWrite) + rc = aclient->beforeWrite(aclient->beforeWrite_context, bufindex, (char**)bufs, lens); + + if (rc == 0 && (rc = aclient->persistence->pput(aclient->phandle, key, bufindex, (char**)bufs, lens)) != 0) + Log(LOG_ERROR, 0, "Error persisting queue entry, rc %d", rc); + } + if (props_allocated != 0) + free(bufs[props_allocated]); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +static MQTTPersistence_qEntry* MQTTPersistence_restoreQueueEntry(char* buffer, size_t buflen, int MQTTVersion) +{ + MQTTPersistence_qEntry* qe = NULL; + char* ptr = buffer; + int data_size; + + FUNC_ENTRY; + if ((qe = malloc(sizeof(MQTTPersistence_qEntry))) == NULL) + goto exit; + memset(qe, '\0', sizeof(MQTTPersistence_qEntry)); + + if ((qe->msg = malloc(sizeof(MQTTPersistence_message))) == NULL) + { + free(qe); + qe = NULL; + goto exit; + } + memset(qe->msg, '\0', sizeof(MQTTPersistence_message)); + + qe->msg->struct_version = 1; + + qe->msg->payloadlen = *(int*)ptr; + ptr += sizeof(int); + + data_size = qe->msg->payloadlen; + if ((qe->msg->payload = malloc(data_size)) == NULL) + { + free(qe->msg); + free(qe); + qe = NULL; + goto exit; + } + memcpy(qe->msg->payload, ptr, data_size); + ptr += data_size; + + qe->msg->qos = *(int*)ptr; + ptr += sizeof(int); + + qe->msg->retained = *(int*)ptr; + ptr += sizeof(int); + + qe->msg->dup = *(int*)ptr; + ptr += sizeof(int); + + qe->msg->msgid = *(int*)ptr; + ptr += sizeof(int); + + data_size = (int)strlen(ptr) + 1; + if ((qe->topicName = malloc(data_size)) == NULL) + { + free(qe->msg->payload); + free(qe->msg); + free(qe); + qe = NULL; + goto exit; + } + strcpy(qe->topicName, ptr); + ptr += data_size; + + qe->topicLen = *(int*)ptr; + ptr += sizeof(int); + + if (MQTTVersion >= MQTTVERSION_5 && + MQTTProperties_read(&qe->msg->properties, &ptr, buffer + buflen) != 1) + Log(LOG_ERROR, -1, "Error restoring properties from persistence"); + +exit: + FUNC_EXIT; + return qe; +} + + +static void MQTTPersistence_insertInSeqOrder(List* list, MQTTPersistence_qEntry* qEntry, size_t size) +{ + ListElement* index = NULL; + ListElement* current = NULL; + + FUNC_ENTRY; + while (ListNextElement(list, ¤t) != NULL && index == NULL) + { + if (qEntry->seqno < ((MQTTPersistence_qEntry*)current->content)->seqno) + index = current; + } + ListInsert(list, qEntry, size, index); + FUNC_EXIT; +} + + +/** + * Restores a queue of messages from persistence to memory + * @param c the client as ::Clients - the client object to restore the messages to + * @return return code, 0 if successful + */ +int MQTTPersistence_restoreMessageQueue(Clients* c) +{ + int rc = 0; + char **msgkeys; + int nkeys; + int i = 0; + int entries_restored = 0; + + FUNC_ENTRY; + if (c->persistence && (rc = c->persistence->pkeys(c->phandle, &msgkeys, &nkeys)) == 0) + { + while (rc == 0 && i < nkeys) + { + char *buffer = NULL; + int buflen; + + if (strncmp(msgkeys[i], PERSISTENCE_QUEUE_KEY, strlen(PERSISTENCE_QUEUE_KEY)) != 0 && + strncmp(msgkeys[i], PERSISTENCE_V5_QUEUE_KEY, strlen(PERSISTENCE_V5_QUEUE_KEY)) != 0) + { + ; /* ignore if not a queue entry key */ + } + else if ((rc = c->persistence->pget(c->phandle, msgkeys[i], &buffer, &buflen)) == 0 && + (c->afterRead == NULL || (rc = c->afterRead(c->afterRead_context, &buffer, &buflen)) == 0)) + { + int MQTTVersion = + (strncmp(msgkeys[i], PERSISTENCE_V5_QUEUE_KEY, strlen(PERSISTENCE_V5_QUEUE_KEY)) == 0) + ? MQTTVERSION_5 : MQTTVERSION_3_1_1; + MQTTPersistence_qEntry* qe = MQTTPersistence_restoreQueueEntry(buffer, buflen, MQTTVersion); + + if (qe) + { + qe->seqno = atoi(strchr(msgkeys[i], '-')+1); /* key format is tag'-'seqno */ + MQTTPersistence_insertInSeqOrder(c->messageQueue, qe, sizeof(MQTTPersistence_qEntry)); + c->qentry_seqno = max(c->qentry_seqno, qe->seqno); + entries_restored++; + } + if (buffer) + free(buffer); + } + if (msgkeys[i]) + { + free(msgkeys[i]); + } + i++; + } + if (msgkeys != NULL) + free(msgkeys); + } + Log(TRACE_MINIMUM, -1, "%d queued messages restored for client %s", entries_restored, c->clientID); + FUNC_EXIT_RC(rc); + return rc; +} +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.h new file mode 100644 index 0000000..9b7c590 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistence.h @@ -0,0 +1,83 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPERSISTENCE_H) +#define MQTTPERSISTENCE_H + +#if defined(__cplusplus) + extern "C" { +#endif + +#include "Clients.h" +#include "MQTTProperties.h" + +/** Stem of the key for a sent PUBLISH QoS1 or QoS2 */ +#define PERSISTENCE_PUBLISH_SENT "s-" +/** Stem of the key for a sent PUBREL */ +#define PERSISTENCE_PUBREL "sc-" +/** Stem of the key for a received PUBLISH QoS2 */ +#define PERSISTENCE_PUBLISH_RECEIVED "r-" + +/** Stem of the key for a sent MQTT V5 PUBLISH QoS1 or QoS2 */ +#define PERSISTENCE_V5_PUBLISH_SENT "s5-" +/** Stem of the key for a sent MQTT V5 PUBREL */ +#define PERSISTENCE_V5_PUBREL "sc5-" +/** Stem of the key for a received MQTT V5 PUBLISH QoS2 */ +#define PERSISTENCE_V5_PUBLISH_RECEIVED "r5-" + +/** Stem of the key for an async client command */ +#define PERSISTENCE_COMMAND_KEY "c-" +/** Stem of the key for an MQTT V5 async client command */ +#define PERSISTENCE_V5_COMMAND_KEY "c5-" +/** Stem of the key for an client incoming message queue */ +#define PERSISTENCE_QUEUE_KEY "q-" +/** Stem of the key for an MQTT V5 incoming message queue */ +#define PERSISTENCE_V5_QUEUE_KEY "q5-" +/** Maximum length of a stem for a persistence key */ +#define PERSISTENCE_MAX_STEM_LENGTH 4 +/** Maximum allowed length of a persistence key */ +#define PERSISTENCE_MAX_KEY_LENGTH 10 +/** Maximum size of an integer sequence number appended to a persistence key */ +#define PERSISTENCE_SEQNO_LIMIT 1000000 /*10^(PERSISTENCE_MAX_KEY_LENGTH - PERSISTENCE_MAX_STEM_LENGTH)*/ + +int MQTTPersistence_create(MQTTClient_persistence** per, int type, void* pcontext); +int MQTTPersistence_initialize(Clients* c, const char* serverURI); +int MQTTPersistence_close(Clients* c); +int MQTTPersistence_clear(Clients* c); +int MQTTPersistence_restorePackets(Clients* c); +void* MQTTPersistence_restorePacket(int MQTTVersion, char* buffer, size_t buflen); +void MQTTPersistence_insertInOrder(List* list, void* content, size_t size); +int MQTTPersistence_putPacket(SOCKET socket, char* buf0, size_t buf0len, int count, + char** buffers, size_t* buflens, int htype, int msgId, int scr, int MQTTVersion); +int MQTTPersistence_remove(Clients* c, char* type, int qos, int msgId); +void MQTTPersistence_wrapMsgID(Clients *c); + +typedef struct +{ + char struct_id[4]; + int struct_version; + int payloadlen; + void* payload; + int qos; + int retained; + int dup; + int msgid; + MQTTProperties properties; +} MQTTPersistence_message; + +typedef struct +{ + MQTTPersistence_message* msg; + char* topicName; + int topicLen; + unsigned int seqno; /* only used on restore */ +} MQTTPersistence_qEntry; + +int MQTTPersistence_unpersistQueueEntry(Clients* client, MQTTPersistence_qEntry* qe); +int MQTTPersistence_persistQueueEntry(Clients* aclient, MQTTPersistence_qEntry* qe); +int MQTTPersistence_restoreMessageQueue(Clients* c); +#ifdef __cplusplus + } +#endif + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistenceDefault.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistenceDefault.c new file mode 100644 index 0000000..c575ecd --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTPersistenceDefault.c @@ -0,0 +1,986 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(NO_PERSISTENCE) + +#include "OsWrapper.h" + +#include +#include +#include + +#if defined(_WIN32) || defined(_WIN64) + #include + /* Windows doesn't have strtok_r, so remap it to strtok */ + #define strtok_r( A, B, C ) strtok( A, B ) + #define snprintf _snprintf + int keysWin32(char *, char ***, int *); + int clearWin32(char *); + int containskeyWin32(char *, char *); +#else + #include + #include + #include + int keysUnix(char *, char ***, int *); + int clearUnix(char *); + int containskeyUnix(char *, char *); +#endif + +#include "MQTTClientPersistence.h" +#include "MQTTPersistenceDefault.h" +#include "StackTrace.h" +#include "Heap.h" + +/** Create persistence directory for the client: context/clientID-serverURI. + * See ::Persistence_open + */ + +int pstopen(void **handle, const char* clientID, const char* serverURI, void* context) +{ + int rc = 0; + char *dataDir = context; + char *clientDir; + char *pToken = NULL; + char *save_ptr = NULL; + char *pCrtDirName = NULL; + char *pTokDirName = NULL; + char *perserverURI = NULL, *ptraux; + size_t alloclen = 0; + + FUNC_ENTRY; + /* Note that serverURI=address:port, but ":" not allowed in Windows directories */ + if ((perserverURI = malloc(strlen(serverURI) + 1)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(perserverURI, serverURI); + while ((ptraux = strstr(perserverURI, ":")) != NULL) + *ptraux = '-' ; + + /* consider '/' + '-' + '\0' */ + alloclen = strlen(dataDir) + strlen(clientID) + strlen(perserverURI) + 3; + clientDir = malloc(alloclen); + if (!clientDir) + { + free(perserverURI); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(clientDir, alloclen, "%s/%s-%s", dataDir, clientID, perserverURI) >= alloclen) + { + free(clientDir); + free(perserverURI); + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + /* create clientDir directory */ + + /* pCrtDirName - holds the directory name we are currently trying to create. */ + /* This gets built up level by level untipwdl the full path name is created.*/ + /* pTokDirName - holds the directory name that gets used by strtok. */ + if ((pCrtDirName = (char*)malloc(strlen(clientDir) + 1)) == NULL) + { + free(clientDir); + free(perserverURI); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if ((pTokDirName = (char*)malloc( strlen(clientDir) + 1 )) == NULL) + { + free(pCrtDirName); + free(clientDir); + free(perserverURI); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy( pTokDirName, clientDir ); + + /* If first character is directory separator, make sure it's in the created directory name #285 */ + if (*pTokDirName == '/' || *pTokDirName == '\\') + { + *pCrtDirName = *pTokDirName; + pToken = strtok_r( pTokDirName + 1, "\\/", &save_ptr ); + strcpy( pCrtDirName + 1, pToken ); + } + else + { + pToken = strtok_r( pTokDirName, "\\/", &save_ptr ); + strcpy( pCrtDirName, pToken ); + } + + rc = pstmkdir( pCrtDirName ); + pToken = strtok_r( NULL, "\\/", &save_ptr ); + while ( (pToken != NULL) && (rc == 0) ) + { + /* Append the next directory level and try to create it */ + strcat( pCrtDirName, "/" ); + strcat( pCrtDirName, pToken ); + rc = pstmkdir( pCrtDirName ); + pToken = strtok_r( NULL, "\\/", &save_ptr ); + } + + *handle = clientDir; + + free(pTokDirName); + free(pCrtDirName); + free(perserverURI); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + +/** Function to create a directory. + * Returns 0 on success or if the directory already exists. + */ +int pstmkdir( char *pPathname ) +{ + int rc = 0; + + FUNC_ENTRY; +#if defined(_WIN32) || defined(_WIN64) + if ( _mkdir( pPathname ) != 0 ) + { +#else + /* Create a directory with read, write and execute access for the owner and read access for the group */ +#if !defined(_WRS_KERNEL) + if ( mkdir( pPathname, S_IRWXU | S_IRGRP ) != 0 ) +#else + if ( mkdir( pPathname ) != 0 ) +#endif /* !defined(_WRS_KERNEL) */ + { +#endif + if ( errno != EEXIST ) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + + FUNC_EXIT_RC(rc); + return rc; +} + + + +/** Write wire message to the client persistence directory. + * See ::Persistence_put + */ +int pstput(void* handle, char* key, int bufcount, char* buffers[], int buflens[]) +{ + int rc = 0; + char *clientDir = handle; + char *file; + FILE *fp; + size_t bytesWritten = 0, + bytesTotal = 0; + int i; + size_t alloclen = 0; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + /* consider '/' + '\0' */ + alloclen = strlen(clientDir) + strlen(key) + strlen(MESSAGE_FILENAME_EXTENSION) + 2; + file = malloc(alloclen); + if (!file) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(file, alloclen, "%s/%s%s", clientDir, key, MESSAGE_FILENAME_EXTENSION) >= alloclen) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto free_exit; + } + + fp = fopen(file, "wb"); + if ( fp != NULL ) + { + for(i=0; i= alloclen) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + free(filename); + goto exit; + } + + fp = fopen(filename, "rb"); + free(filename); + if (fp != NULL) + { + fseek(fp, 0, SEEK_END); + fileLen = ftell(fp); + fseek(fp, 0, SEEK_SET); + if ((buf = (char *)malloc(fileLen)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + bytesRead = (int)fread(buf, sizeof(char), fileLen, fp); + *buffer = buf; + *buflen = bytesRead; + if ( bytesRead != fileLen ) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + fclose(fp); + } else + rc = MQTTCLIENT_PERSISTENCE_ERROR; + + /* the caller must free buf */ +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + + +/** Delete a persisted message from the client persistence directory. + * See ::Persistence_remove + */ +int pstremove(void* handle, char* key) +{ + int rc = 0; + char *clientDir = handle; + char *file; + size_t alloclen = 0; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + /* consider '/' + '\0' */ + /* consider '/' + '\0' */ + alloclen = strlen(clientDir) + strlen(key) + strlen(MESSAGE_FILENAME_EXTENSION) + 2; + file = malloc(alloclen); + if (!file) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(file, alloclen, "%s/%s%s", clientDir, key, MESSAGE_FILENAME_EXTENSION) >= alloclen) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + else + { +#if defined(_WIN32) || defined(_WIN64) + if ( _unlink(file) != 0 ) + { +#else + if ( unlink(file) != 0 ) + { +#endif + if ( errno != ENOENT ) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + } + + free(file); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** Delete client persistence directory (if empty). + * See ::Persistence_close + */ +int pstclose(void* handle) +{ + int rc = 0; + char *clientDir = handle; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + +#if defined(_WIN32) || defined(_WIN64) + if ( _rmdir(clientDir) != 0 ) + { +#else + if ( rmdir(clientDir) != 0 ) + { +#endif + if ( errno != ENOENT && errno != ENOTEMPTY ) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + + free(clientDir); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** Returns whether if a wire message is persisted in the client persistence directory. + * See ::Persistence_containskey + */ +int pstcontainskey(void *handle, char *key) +{ + int rc = 0; + char *clientDir = handle; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + +#if defined(_WIN32) || defined(_WIN64) + rc = containskeyWin32(clientDir, key); +#else + rc = containskeyUnix(clientDir, key); +#endif + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +#if defined(_WIN32) || defined(_WIN64) +int containskeyWin32(char *dirname, char *key) +{ + int notFound = MQTTCLIENT_PERSISTENCE_ERROR; + int fFinished = 0; + char *filekey, *ptraux; +#if defined(_WIN32) || defined(_WIN64) +#define DIRSIZE MAX_PATH+1 +#else + const size_t DIRSIZE = MAX_PATH+1; +#endif + char dir[DIRSIZE]; + WIN32_FIND_DATAA FileData; + HANDLE hDir; + + FUNC_ENTRY; + if (snprintf(dir, DIRSIZE, "%s/*", dirname) >= DIRSIZE) + goto exit; + + hDir = FindFirstFileA(dir, &FileData); + if (hDir != INVALID_HANDLE_VALUE) + { + while (!fFinished) + { + if (FileData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) + { + if ((filekey = malloc(strlen(FileData.cFileName) + 1)) == NULL) + { + notFound = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(filekey, FileData.cFileName); + ptraux = strstr(filekey, MESSAGE_FILENAME_EXTENSION); + if ( ptraux != NULL ) + *ptraux = '\0' ; + if(strcmp(filekey, key) == 0) + { + notFound = 0; + fFinished = 1; + } + free(filekey); + } + if (!FindNextFileA(hDir, &FileData)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + fFinished = 1; + } + } + FindClose(hDir); + } +exit: + FUNC_EXIT_RC(notFound); + return notFound; +} +#else +int containskeyUnix(char *dirname, char *key) +{ + int notFound = MQTTCLIENT_PERSISTENCE_ERROR; + char *filekey, *ptraux; + DIR *dp = NULL; + struct dirent *dir_entry; + struct stat stat_info; + + FUNC_ENTRY; + if((dp = opendir(dirname)) != NULL) + { + while((dir_entry = readdir(dp)) != NULL && notFound) + { + const size_t allocsize = strlen(dirname) + strlen(dir_entry->d_name) + 2; + char* filename = malloc(allocsize); + + if (!filename) + { + notFound = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(filename, allocsize, "%s/%s", dirname, dir_entry->d_name) >= allocsize) + { + free(filename); + notFound = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + lstat(filename, &stat_info); + free(filename); + if(S_ISREG(stat_info.st_mode)) + { + if ((filekey = malloc(strlen(dir_entry->d_name) + 1)) == NULL) + { + notFound = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(filekey, dir_entry->d_name); + ptraux = strstr(filekey, MESSAGE_FILENAME_EXTENSION); + if ( ptraux != NULL ) + *ptraux = '\0' ; + if(strcmp(filekey, key) == 0) + notFound = 0; + free(filekey); + } + } + } + +exit: + if (dp) + closedir(dp); + FUNC_EXIT_RC(notFound); + return notFound; +} +#endif + + +/** Delete all the persisted message in the client persistence directory. + * See ::Persistence_clear + */ +int pstclear(void *handle) +{ + int rc = 0; + char *clientDir = handle; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + +#if defined(_WIN32) || defined(_WIN64) + rc = clearWin32(clientDir); +#else + rc = clearUnix(clientDir); +#endif + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +#if defined(_WIN32) || defined(_WIN64) +int clearWin32(char *dirname) +{ + int rc = 0; + int fFinished = 0; + char *file; + char dir[DIRSIZE]; + WIN32_FIND_DATAA FileData; + HANDLE hDir; + + FUNC_ENTRY; + if (snprintf(dir, DIRSIZE, "%s/*", dirname) >= DIRSIZE) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + hDir = FindFirstFileA(dir, &FileData); + if (hDir != INVALID_HANDLE_VALUE) + { + while (!fFinished) + { + if (FileData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) + { + size_t allocsize = strlen(dirname) + strlen(FileData.cFileName) + 2; + + file = malloc(allocsize); + if (!file) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(file, allocsize, "%s/%s", dirname, FileData.cFileName) >= allocsize) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + free(file); + goto exit; + } + rc = remove(file); + free(file); + if ( rc != 0 ) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + break; + } + } + if (!FindNextFileA(hDir, &FileData)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + fFinished = 1; + } + } + FindClose(hDir); + } else + rc = MQTTCLIENT_PERSISTENCE_ERROR; + +exit: + FUNC_EXIT_RC(rc); + return rc; +} +#else +int clearUnix(char *dirname) +{ + int rc = 0; + DIR *dp; + struct dirent *dir_entry; + struct stat stat_info; + + FUNC_ENTRY; + if((dp = opendir(dirname)) != NULL) + { + while((dir_entry = readdir(dp)) != NULL && rc == 0) + { + if (lstat(dir_entry->d_name, &stat_info) == 0 && S_ISREG(stat_info.st_mode)) + { + if (remove(dir_entry->d_name) != 0 && errno != ENOENT) + rc = MQTTCLIENT_PERSISTENCE_ERROR; + } + } + closedir(dp); + } else + rc = MQTTCLIENT_PERSISTENCE_ERROR; + + FUNC_EXIT_RC(rc); + return rc; +} +#endif + + +/** Returns the keys (file names w/o the extension) in the client persistence directory. + * See ::Persistence_keys + */ +int pstkeys(void *handle, char ***keys, int *nkeys) +{ + int rc = 0; + char *clientDir = handle; + + FUNC_ENTRY; + if (clientDir == NULL) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + +#if defined(_WIN32) || defined(_WIN64) + rc = keysWin32(clientDir, keys, nkeys); +#else + rc = keysUnix(clientDir, keys, nkeys); +#endif + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +#if defined(_WIN32) || defined(_WIN64) +int keysWin32(char *dirname, char ***keys, int *nkeys) +{ + int rc = 0; + char **fkeys = NULL; + int nfkeys = 0; + char dir[DIRSIZE]; + WIN32_FIND_DATAA FileData; + HANDLE hDir; + int fFinished = 0; + char *ptraux; + int i; + + FUNC_ENTRY; + if (snprintf(dir, DIRSIZE, "%s/*", dirname) >= DIRSIZE) + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + /* get number of keys */ + hDir = FindFirstFileA(dir, &FileData); + if (hDir != INVALID_HANDLE_VALUE) + { + while (!fFinished) + { + if (FileData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) + nfkeys++; + if (!FindNextFileA(hDir, &FileData)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + fFinished = 1; + } + } + FindClose(hDir); + } else + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + if (nfkeys != 0) + { + if ((fkeys = (char **)malloc(nfkeys * sizeof(char *))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + } + + /* copy the keys */ + hDir = FindFirstFileA(dir, &FileData); + if (hDir != INVALID_HANDLE_VALUE) + { + fFinished = 0; + i = 0; + while (!fFinished) + { + if (FileData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) + { + if ((fkeys[i] = malloc(strlen(FileData.cFileName) + 1)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(fkeys[i], FileData.cFileName); + ptraux = strstr(fkeys[i], MESSAGE_FILENAME_EXTENSION); + if ( ptraux != NULL ) + *ptraux = '\0' ; + i++; + } + if (!FindNextFileA(hDir, &FileData)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + fFinished = 1; + } + } + FindClose(hDir); + } else + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + *nkeys = nfkeys; + *keys = fkeys; + /* the caller must free keys */ + +exit: + FUNC_EXIT_RC(rc); + return rc; +} +#else +int keysUnix(char *dirname, char ***keys, int *nkeys) +{ + int rc = 0; + char **fkeys = NULL; + int nfkeys = 0; + char *ptraux; + int i; + DIR *dp = NULL; + struct dirent *dir_entry; + struct stat stat_info; + + FUNC_ENTRY; + /* get number of keys */ + if((dp = opendir(dirname)) != NULL) + { + while((dir_entry = readdir(dp)) != NULL) + { + size_t allocsize = strlen(dirname)+strlen(dir_entry->d_name)+2; + char* temp = malloc(allocsize); + + if (!temp) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(temp, allocsize, "%s/%s", dirname, dir_entry->d_name) >= allocsize) + { + free(temp); + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + if (lstat(temp, &stat_info) == 0 && S_ISREG(stat_info.st_mode)) + nfkeys++; + free(temp); + } + closedir(dp); + dp = NULL; + } else + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + + if (nfkeys != 0) + { + if ((fkeys = (char **)malloc(nfkeys * sizeof(char *))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + /* copy the keys */ + if((dp = opendir(dirname)) != NULL) + { + i = 0; + while((dir_entry = readdir(dp)) != NULL) + { + size_t allocsize = strlen(dirname)+strlen(dir_entry->d_name)+2; + char* temp = malloc(allocsize); + + if (!temp) + { + free(fkeys); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (snprintf(temp, allocsize, "%s/%s", dirname, dir_entry->d_name) >= allocsize) + { + free(temp); + free(fkeys); + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + if (lstat(temp, &stat_info) == 0 && S_ISREG(stat_info.st_mode)) + { + if ((fkeys[i] = malloc(strlen(dir_entry->d_name) + 1)) == NULL) + { + free(temp); + free(fkeys); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + strcpy(fkeys[i], dir_entry->d_name); + ptraux = strstr(fkeys[i], MESSAGE_FILENAME_EXTENSION); + if ( ptraux != NULL ) + *ptraux = '\0' ; + i++; + } + free(temp); + } + } else + { + rc = MQTTCLIENT_PERSISTENCE_ERROR; + goto exit; + } + } + + *nkeys = nfkeys; + *keys = fkeys; + /* the caller must free keys */ + +exit: + if (dp) + closedir(dp); + FUNC_EXIT_RC(rc); + return rc; +} +#endif + + + +#if defined(UNIT_TESTS) +int main (int argc, char *argv[]) +{ +#define MSTEM "m-" +#define NMSGS 10 +#define NBUFS 4 +#define NDEL 2 +#define RC !rc ? "(Success)" : "(Failed) " + + int rc; + char *handle; + char *perdir = "."; + const char *clientID = "TheUTClient"; + const char *serverURI = "127.0.0.1:1883"; + + char *stem = MSTEM; + int msgId, i; + int nm[NDEL] = {5 , 8}; /* msgIds to get and remove */ + + char *key; + char **keys; + int nkeys; + char *buffer, *buff; + int buflen; + + int nbufs = NBUFS; + char *bufs[NBUFS] = {"m0", "mm1", "mmm2" , "mmmm3"}; /* message content */ + int buflens[NBUFS]; + for(i=0;i it will fail, since client persistence directory is not empty */ + rc = pstclose(&handle); + printf("%s Closing client persistence directory for client %s\n", RC, clientID); + + /* clear */ + rc = pstclear(handle); + printf("%s Deleting all persisted messages in %s\n", RC, handle); + + /* keys ,ie, list keys added */ + rc = pstkeys(handle, &keys, &nkeys); + printf("%s Found %d messages persisted in %s\n", RC, nkeys, handle); + for(i=0;i + +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) + +static struct nameToType +{ + enum MQTTPropertyCodes name; + enum MQTTPropertyTypes type; +} namesToTypes[] = +{ + {MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL, MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_CONTENT_TYPE, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_RESPONSE_TOPIC, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_CORRELATION_DATA, MQTTPROPERTY_TYPE_BINARY_DATA}, + {MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER, MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL, MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE, MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_AUTHENTICATION_METHOD, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_AUTHENTICATION_DATA, MQTTPROPERTY_TYPE_BINARY_DATA}, + {MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL, MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_RESPONSE_INFORMATION, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_SERVER_REFERENCE, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_REASON_STRING, MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING}, + {MQTTPROPERTY_CODE_RECEIVE_MAXIMUM, MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM, MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_TOPIC_ALIAS, MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_MAXIMUM_QOS, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_RETAIN_AVAILABLE, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_USER_PROPERTY, MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR}, + {MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE, MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER}, + {MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE, MQTTPROPERTY_TYPE_BYTE}, + {MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE, MQTTPROPERTY_TYPE_BYTE} +}; + + +static char* datadup(const MQTTLenString* str) +{ + char* temp = malloc(str->len); + if (temp) + memcpy(temp, str->data, str->len); + return temp; +} + + +int MQTTProperty_getType(enum MQTTPropertyCodes value) +{ + int i, rc = -1; + + for (i = 0; i < ARRAY_SIZE(namesToTypes); ++i) + { + if (namesToTypes[i].name == value) + { + rc = namesToTypes[i].type; + break; + } + } + return rc; +} + + +int MQTTProperties_len(MQTTProperties* props) +{ + /* properties length is an mbi */ + return (props == NULL) ? 1 : props->length + MQTTPacket_VBIlen(props->length); +} + + +/** + * Add a new property to a property list + * @param props the property list + * @param prop the new property + * @return code 0 is success + */ +int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop) +{ + int rc = 0, type; + + if ((type = MQTTProperty_getType(prop->identifier)) < 0) + { + /*StackTrace_printStack(stdout);*/ + rc = MQTT_INVALID_PROPERTY_ID; + goto exit; + } + else if (props->array == NULL) + { + props->max_count = 10; + props->array = malloc(sizeof(MQTTProperty) * props->max_count); + } + else if (props->count == props->max_count) + { + props->max_count += 10; + props->array = realloc(props->array, sizeof(MQTTProperty) * props->max_count); + } + + if (props->array) + { + int len = 0; + + props->array[props->count++] = *prop; + /* calculate length */ + switch (type) + { + case MQTTPROPERTY_TYPE_BYTE: + len = 1; + break; + case MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER: + len = 2; + break; + case MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER: + len = 4; + break; + case MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER: + len = MQTTPacket_VBIlen(prop->value.integer4); + break; + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + len = 2 + prop->value.data.len; + props->array[props->count-1].value.data.data = datadup(&prop->value.data); + if (type == MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR) + { + len += 2 + prop->value.value.len; + props->array[props->count-1].value.value.data = datadup(&prop->value.value); + } + break; + } + props->length += len + 1; /* add identifier byte */ + } + else + rc = PAHO_MEMORY_ERROR; + +exit: + return rc; +} + + +int MQTTProperty_write(char** pptr, MQTTProperty* prop) +{ + int rc = -1, + type = -1; + + type = MQTTProperty_getType(prop->identifier); + if (type >= MQTTPROPERTY_TYPE_BYTE && type <= MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR) + { + writeChar(pptr, prop->identifier); + switch (type) + { + case MQTTPROPERTY_TYPE_BYTE: + writeChar(pptr, prop->value.cbByte); + rc = 1; + break; + case MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER: + writeInt(pptr, prop->value.integer2); + rc = 2; + break; + case MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER: + writeInt4(pptr, prop->value.integer4); + rc = 4; + break; + case MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER: + rc = MQTTPacket_encode(*pptr, prop->value.integer4); + *pptr += rc; + break; + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + writeMQTTLenString(pptr, prop->value.data); + rc = prop->value.data.len + 2; /* include length field */ + break; + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + writeMQTTLenString(pptr, prop->value.data); + writeMQTTLenString(pptr, prop->value.value); + rc = prop->value.data.len + prop->value.value.len + 4; /* include length fields */ + break; + } + } + return rc + 1; /* include identifier byte */ +} + + +int MQTTProperties_write(char** pptr, const MQTTProperties* properties) +{ + int rc = -1; + int i = 0, len = 0; + + /* write the entire property list length first */ + if (properties == NULL) + { + *pptr += MQTTPacket_encode(*pptr, 0); + rc = 1; + } + else + { + *pptr += MQTTPacket_encode(*pptr, properties->length); + len = rc = 1; + for (i = 0; i < properties->count; ++i) + { + rc = MQTTProperty_write(pptr, &properties->array[i]); + if (rc < 0) + break; + else + len += rc; + } + if (rc >= 0) + rc = len; + } + return rc; +} + + +int MQTTProperty_read(MQTTProperty* prop, char** pptr, char* enddata) +{ + int type = -1, + len = -1; + + prop->identifier = readChar(pptr); + type = MQTTProperty_getType(prop->identifier); + if (type >= MQTTPROPERTY_TYPE_BYTE && type <= MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR) + { + switch (type) + { + case MQTTPROPERTY_TYPE_BYTE: + prop->value.cbByte = readChar(pptr); + len = 1; + break; + case MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER: + prop->value.integer2 = readInt(pptr); + len = 2; + break; + case MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER: + prop->value.integer4 = readInt4(pptr); + len = 4; + break; + case MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER: + len = MQTTPacket_decodeBuf(*pptr, &prop->value.integer4); + *pptr += len; + break; + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + if ((len = MQTTLenStringRead(&prop->value.data, pptr, enddata)) == -1) + break; /* error */ + if ((prop->value.data.data = datadup(&prop->value.data)) == NULL) + { + len = -1; + break; /* error */ + } + if (type == MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR) + { + int proplen = MQTTLenStringRead(&prop->value.value, pptr, enddata); + + if (proplen == -1) + { + len = -1; + free(prop->value.data.data); + break; + } + len += proplen; + if ((prop->value.value.data = datadup(&prop->value.value)) == NULL) + { + len = -1; + free(prop->value.data.data); + break; + } + } + break; + } + } + return (len == -1) ? -1 : len + 1; /* 1 byte for identifier */ +} + + +int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata) +{ + int rc = 0; + unsigned int remlength = 0; + + FUNC_ENTRY; + /* we assume an initialized properties structure */ + if (enddata - (*pptr) > 0) /* enough length to read the VBI? */ + { + int proplen = 0; + + *pptr += MQTTPacket_decodeBuf(*pptr, &remlength); + properties->length = remlength; + while (remlength > 0) + { + if (properties->count == properties->max_count) + { + properties->max_count += 10; + if (properties->max_count == 10) + properties->array = malloc(sizeof(MQTTProperty) * properties->max_count); + else + properties->array = realloc(properties->array, sizeof(MQTTProperty) * properties->max_count); + } + if (properties->array == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if ((proplen = MQTTProperty_read(&properties->array[properties->count], pptr, enddata)) > 0) + remlength -= proplen; + else + break; + properties->count++; + } + if (remlength == 0) + rc = 1; /* data read successfully */ + } + + if (rc != 1 && properties->array != NULL) + MQTTProperties_free(properties); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + +struct { + enum MQTTPropertyCodes value; + const char* name; +} nameToString[] = +{ + {MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR, "PAYLOAD_FORMAT_INDICATOR"}, + {MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL, "MESSAGE_EXPIRY_INTERVAL"}, + {MQTTPROPERTY_CODE_CONTENT_TYPE, "CONTENT_TYPE"}, + {MQTTPROPERTY_CODE_RESPONSE_TOPIC, "RESPONSE_TOPIC"}, + {MQTTPROPERTY_CODE_CORRELATION_DATA, "CORRELATION_DATA"}, + {MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER, "SUBSCRIPTION_IDENTIFIER"}, + {MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL, "SESSION_EXPIRY_INTERVAL"}, + {MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER, "ASSIGNED_CLIENT_IDENTIFER"}, + {MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE, "SERVER_KEEP_ALIVE"}, + {MQTTPROPERTY_CODE_AUTHENTICATION_METHOD, "AUTHENTICATION_METHOD"}, + {MQTTPROPERTY_CODE_AUTHENTICATION_DATA, "AUTHENTICATION_DATA"}, + {MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION, "REQUEST_PROBLEM_INFORMATION"}, + {MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL, "WILL_DELAY_INTERVAL"}, + {MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION, "REQUEST_RESPONSE_INFORMATION"}, + {MQTTPROPERTY_CODE_RESPONSE_INFORMATION, "RESPONSE_INFORMATION"}, + {MQTTPROPERTY_CODE_SERVER_REFERENCE, "SERVER_REFERENCE"}, + {MQTTPROPERTY_CODE_REASON_STRING, "REASON_STRING"}, + {MQTTPROPERTY_CODE_RECEIVE_MAXIMUM, "RECEIVE_MAXIMUM"}, + {MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM, "TOPIC_ALIAS_MAXIMUM"}, + {MQTTPROPERTY_CODE_TOPIC_ALIAS, "TOPIC_ALIAS"}, + {MQTTPROPERTY_CODE_MAXIMUM_QOS, "MAXIMUM_QOS"}, + {MQTTPROPERTY_CODE_RETAIN_AVAILABLE, "RETAIN_AVAILABLE"}, + {MQTTPROPERTY_CODE_USER_PROPERTY, "USER_PROPERTY"}, + {MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE, "MAXIMUM_PACKET_SIZE"}, + {MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE, "WILDCARD_SUBSCRIPTION_AVAILABLE"}, + {MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE, "SUBSCRIPTION_IDENTIFIERS_AVAILABLE"}, + {MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE, "SHARED_SUBSCRIPTION_AVAILABLE"} +}; + +const char* MQTTPropertyName(enum MQTTPropertyCodes value) +{ + int i = 0; + const char* result = NULL; + + for (i = 0; i < ARRAY_SIZE(nameToString); ++i) + { + if (nameToString[i].value == value) + { + result = nameToString[i].name; + break; + } + } + return result; +} + + +void MQTTProperties_free(MQTTProperties* props) +{ + int i = 0; + + FUNC_ENTRY; + if (props == NULL) + goto exit; + for (i = 0; i < props->count; ++i) + { + int id = props->array[i].identifier; + int type = MQTTProperty_getType(id); + + switch (type) + { + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + free(props->array[i].value.data.data); + if (type == MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR) + free(props->array[i].value.value.data); + break; + } + } + if (props->array) + free(props->array); + memset(props, '\0', sizeof(MQTTProperties)); /* zero all fields */ +exit: + FUNC_EXIT; +} + + +MQTTProperties MQTTProperties_copy(const MQTTProperties* props) +{ + int i = 0; + MQTTProperties result = MQTTProperties_initializer; + + FUNC_ENTRY; + for (i = 0; i < props->count; ++i) + { + int rc = 0; + + if ((rc = MQTTProperties_add(&result, &props->array[i])) != 0) + Log(LOG_ERROR, -1, "Error from MQTTProperties add %d", rc); + } + + FUNC_EXIT; + return result; +} + + +int MQTTProperties_hasProperty(MQTTProperties *props, enum MQTTPropertyCodes propid) +{ + int i = 0; + int found = 0; + + for (i = 0; i < props->count; ++i) + { + if (propid == props->array[i].identifier) + { + found = 1; + break; + } + } + return found; +} + + +int MQTTProperties_propertyCount(MQTTProperties *props, enum MQTTPropertyCodes propid) +{ + int i = 0; + int count = 0; + + for (i = 0; i < props->count; ++i) + { + if (propid == props->array[i].identifier) + count++; + } + return count; +} + + +int MQTTProperties_getNumericValueAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index) +{ + int i = 0; + int rc = -9999999; + int cur_index = 0; + + for (i = 0; i < props->count; ++i) + { + int id = props->array[i].identifier; + + if (id == propid) + { + if (cur_index < index) + { + cur_index++; + continue; + } + switch (MQTTProperty_getType(id)) + { + case MQTTPROPERTY_TYPE_BYTE: + rc = props->array[i].value.cbByte; + break; + case MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER: + rc = props->array[i].value.integer2; + break; + case MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER: + case MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER: + rc = props->array[i].value.integer4; + break; + default: + rc = -999999; + break; + } + break; + } + } + return rc; +} + + +int MQTTProperties_getNumericValue(MQTTProperties *props, enum MQTTPropertyCodes propid) +{ + return MQTTProperties_getNumericValueAt(props, propid, 0); +} + + +MQTTProperty* MQTTProperties_getPropertyAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index) +{ + int i = 0; + MQTTProperty* result = NULL; + int cur_index = 0; + + for (i = 0; i < props->count; ++i) + { + int id = props->array[i].identifier; + + if (id == propid) + { + if (cur_index == index) + { + result = &props->array[i]; + break; + } + else + cur_index++; + } + } + return result; +} + + +MQTTProperty* MQTTProperties_getProperty(MQTTProperties *props, enum MQTTPropertyCodes propid) +{ + return MQTTProperties_getPropertyAt(props, propid, 0); +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProperties.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProperties.h new file mode 100644 index 0000000..64ccaf9 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProperties.h @@ -0,0 +1,206 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPROPERTIES_H) +#define MQTTPROPERTIES_H + +#include "MQTTExportDeclarations.h" + +#define MQTT_INVALID_PROPERTY_ID -2 + +/** The one byte MQTT V5 property indicator */ +enum MQTTPropertyCodes { + MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR = 1, /**< The value is 1 */ + MQTTPROPERTY_CODE_MESSAGE_EXPIRY_INTERVAL = 2, /**< The value is 2 */ + MQTTPROPERTY_CODE_CONTENT_TYPE = 3, /**< The value is 3 */ + MQTTPROPERTY_CODE_RESPONSE_TOPIC = 8, /**< The value is 8 */ + MQTTPROPERTY_CODE_CORRELATION_DATA = 9, /**< The value is 9 */ + MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIER = 11, /**< The value is 11 */ + MQTTPROPERTY_CODE_SESSION_EXPIRY_INTERVAL = 17, /**< The value is 17 */ + MQTTPROPERTY_CODE_ASSIGNED_CLIENT_IDENTIFER = 18,/**< The value is 18 */ + MQTTPROPERTY_CODE_SERVER_KEEP_ALIVE = 19, /**< The value is 19 */ + MQTTPROPERTY_CODE_AUTHENTICATION_METHOD = 21, /**< The value is 21 */ + MQTTPROPERTY_CODE_AUTHENTICATION_DATA = 22, /**< The value is 22 */ + MQTTPROPERTY_CODE_REQUEST_PROBLEM_INFORMATION = 23,/**< The value is 23 */ + MQTTPROPERTY_CODE_WILL_DELAY_INTERVAL = 24, /**< The value is 24 */ + MQTTPROPERTY_CODE_REQUEST_RESPONSE_INFORMATION = 25,/**< The value is 25 */ + MQTTPROPERTY_CODE_RESPONSE_INFORMATION = 26, /**< The value is 26 */ + MQTTPROPERTY_CODE_SERVER_REFERENCE = 28, /**< The value is 28 */ + MQTTPROPERTY_CODE_REASON_STRING = 31, /**< The value is 31 */ + MQTTPROPERTY_CODE_RECEIVE_MAXIMUM = 33, /**< The value is 33*/ + MQTTPROPERTY_CODE_TOPIC_ALIAS_MAXIMUM = 34, /**< The value is 34 */ + MQTTPROPERTY_CODE_TOPIC_ALIAS = 35, /**< The value is 35 */ + MQTTPROPERTY_CODE_MAXIMUM_QOS = 36, /**< The value is 36 */ + MQTTPROPERTY_CODE_RETAIN_AVAILABLE = 37, /**< The value is 37 */ + MQTTPROPERTY_CODE_USER_PROPERTY = 38, /**< The value is 38 */ + MQTTPROPERTY_CODE_MAXIMUM_PACKET_SIZE = 39, /**< The value is 39 */ + MQTTPROPERTY_CODE_WILDCARD_SUBSCRIPTION_AVAILABLE = 40,/**< The value is 40 */ + MQTTPROPERTY_CODE_SUBSCRIPTION_IDENTIFIERS_AVAILABLE = 41,/**< The value is 41 */ + MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42/**< The value is 241 */ +}; + +/** + * Returns a printable string description of an MQTT V5 property code. + * @param value an MQTT V5 property code. + * @return the printable string description of the input property code. + * NULL if the code was not found. + */ +LIBMQTT_API const char* MQTTPropertyName(enum MQTTPropertyCodes value); + +/** The one byte MQTT V5 property type */ +enum MQTTPropertyTypes { + MQTTPROPERTY_TYPE_BYTE, + MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER, + MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER, + MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER, + MQTTPROPERTY_TYPE_BINARY_DATA, + MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING, + MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR +}; + +/** + * Returns the MQTT V5 type code of an MQTT V5 property. + * @param value an MQTT V5 property code. + * @return the MQTT V5 type code of the input property. -1 if the code was not found. + */ +LIBMQTT_API int MQTTProperty_getType(enum MQTTPropertyCodes value); + +/** + * The data for a length delimited string + */ +typedef struct +{ + int len; /**< the length of the string */ + char* data; /**< pointer to the string data */ +} MQTTLenString; + + +/** + * Structure to hold an MQTT version 5 property of any type + */ +typedef struct +{ + enum MQTTPropertyCodes identifier; /**< The MQTT V5 property id. A multi-byte integer. */ + /** The value of the property, as a union of the different possible types. */ + union { + unsigned char cbByte; /**< holds the value of a byte property type */ + unsigned short integer2; /**< holds the value of a 2 byte integer property type */ + unsigned int integer4; /**< holds the value of a 4 byte integer property type */ + struct { + MQTTLenString data; /**< The value of a string property, or the name of a user property. */ + MQTTLenString value; /**< The value of a user property. */ + }; + } value; +} MQTTProperty; + +/** + * MQTT version 5 property list + */ +typedef struct MQTTProperties +{ + int count; /**< number of property entries in the array */ + int max_count; /**< max number of properties that the currently allocated array can store */ + int length; /**< mbi: byte length of all properties */ + MQTTProperty *array; /**< array of properties */ +} MQTTProperties; + +#define MQTTProperties_initializer {0, 0, 0, NULL} + +/** + * Returns the length of the properties structure when serialized ready for network transmission. + * @param props an MQTT V5 property structure. + * @return the length in bytes of the properties when serialized. + */ +int MQTTProperties_len(MQTTProperties* props); + +/** + * Add a property pointer to the property array. There is no memory allocation. + * @param props The property list to add the property to. + * @param prop The property to add to the list. + * @return 0 on success, -1 on failure. + */ +LIBMQTT_API int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop); + +/** + * Serialize the given property list to a character buffer, e.g. for writing to the network. + * @param pptr pointer to the buffer - move the pointer as we add data + * @param properties pointer to the property list, can be NULL + * @return whether the write succeeded or not: number of bytes written, or < 0 on failure. + */ +int MQTTProperties_write(char** pptr, const MQTTProperties* properties); + +/** + * Reads a property list from a character buffer into an array. + * @param properties pointer to the property list to be filled. Should be initalized but empty. + * @param pptr pointer to the character buffer. + * @param enddata pointer to the end of the character buffer so we don't read beyond. + * @return 1 if the properties were read successfully. + */ +int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata); + +/** + * Free all memory allocated to the property list, including any to individual properties. + * @param properties pointer to the property list. + */ +LIBMQTT_API void MQTTProperties_free(MQTTProperties* properties); + +/** + * Copy the contents of a property list, allocating additional memory if needed. + * @param props pointer to the property list. + * @return the duplicated property list. + */ +LIBMQTT_API MQTTProperties MQTTProperties_copy(const MQTTProperties* props); + +/** + * Checks if property list contains a specific property. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @return 1 if found, 0 if not. + */ +LIBMQTT_API int MQTTProperties_hasProperty(MQTTProperties *props, enum MQTTPropertyCodes propid); + +/** + * Returns the number of instances of a property id. Most properties can exist only once. + * User properties and subscription ids can exist more than once. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @return the number of times found. Can be 0. + */ +LIBMQTT_API int MQTTProperties_propertyCount(MQTTProperties *props, enum MQTTPropertyCodes propid); + +/** + * Returns the integer value of a specific property. The property given must be a numeric type. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @return the integer value of the property. -9999999 on failure. + */ +LIBMQTT_API int MQTTProperties_getNumericValue(MQTTProperties *props, enum MQTTPropertyCodes propid); + +/** + * Returns the integer value of a specific property when it's not the only instance. + * The property given must be a numeric type. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @param index the instance number, starting at 0. + * @return the integer value of the property. -9999999 on failure. + */ +LIBMQTT_API int MQTTProperties_getNumericValueAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index); + +/** + * Returns a pointer to the property structure for a specific property. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @return the pointer to the property structure if found. NULL if not found. + */ +LIBMQTT_API MQTTProperty* MQTTProperties_getProperty(MQTTProperties *props, enum MQTTPropertyCodes propid); + +/** + * Returns a pointer to the property structure for a specific property when it's not the only instance. + * @param props pointer to the property list. + * @param propid the property id to check for. + * @param index the instance number, starting at 0. + * @return the pointer to the property structure if found. NULL if not found. + */ +LIBMQTT_API MQTTProperty* MQTTProperties_getPropertyAt(MQTTProperties *props, enum MQTTPropertyCodes propid, int index); + +#endif /* MQTTPROPERTIES_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocol.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocol.h new file mode 100644 index 0000000..25ff36c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocol.h @@ -0,0 +1,32 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPROTOCOL_H) +#define MQTTPROTOCOL_H + +#include "LinkedList.h" +#include "MQTTPacket.h" +#include "Clients.h" + +#define MAX_MSG_ID 65535 +#define MAX_CLIENTID_LEN 65535 + +typedef struct +{ + SOCKET socket; + Publications* p; +} pending_write; + + +typedef struct +{ + List publications; + unsigned int msgs_received; + unsigned int msgs_sent; + List pending_writes; /* for qos 0 writes not complete */ +} MQTTProtocol; + + +#include "MQTTProtocolOut.h" + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.c new file mode 100644 index 0000000..8b87603 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.c @@ -0,0 +1,1087 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +#include + +#include "MQTTProtocolClient.h" +#if !defined(NO_PERSISTENCE) +#include "MQTTPersistence.h" +#endif +#include "Socket.h" +#include "SocketBuffer.h" +#include "StackTrace.h" +#include "Heap.h" + +#if !defined(min) +#define min(A,B) ( (A) < (B) ? (A):(B)) +#endif + +extern MQTTProtocol state; +extern ClientStates* bstate; + +static void MQTTProtocol_storeQoS0(Clients* pubclient, Publish* publish); +static int MQTTProtocol_startPublishCommon( + Clients* pubclient, + Publish* publish, + int qos, + int retained); +static void MQTTProtocol_retries(START_TIME_TYPE now, Clients* client, int regardless); + +static int MQTTProtocol_queueAck(Clients* client, int ackType, int msgId); + +typedef struct { + int messageId; + int ackType; +} AckRequest; + + +/** + * List callback function for comparing Message structures by message id + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int messageIDCompare(void* a, void* b) +{ + Messages* msg = (Messages*)a; + return msg->msgid == *(int*)b; +} + + +/** + * Assign a new message id for a client. Make sure it isn't already being used and does + * not exceed the maximum. + * @param client a client structure + * @return the next message id to use, or 0 if none available + */ +int MQTTProtocol_assignMsgId(Clients* client) +{ + int start_msgid = client->msgID; + int msgid = start_msgid; + + FUNC_ENTRY; + msgid = (msgid == MAX_MSG_ID) ? 1 : msgid + 1; + while (ListFindItem(client->outboundMsgs, &msgid, messageIDCompare) != NULL) + { + msgid = (msgid == MAX_MSG_ID) ? 1 : msgid + 1; + if (msgid == start_msgid) + { /* we've tried them all - none free */ + msgid = 0; + break; + } + } + if (msgid != 0) + client->msgID = msgid; + FUNC_EXIT_RC(msgid); + return msgid; +} + + +static void MQTTProtocol_storeQoS0(Clients* pubclient, Publish* publish) +{ + int len; + pending_write* pw = NULL; + + FUNC_ENTRY; + /* store the publication until the write is finished */ + if ((pw = malloc(sizeof(pending_write))) == NULL) + goto exit; + Log(TRACE_MIN, 12, NULL); + if ((pw->p = MQTTProtocol_storePublication(publish, &len)) == NULL) + { + free(pw); + goto exit; + } + pw->socket = pubclient->net.socket; + if (!ListAppend(&(state.pending_writes), pw, sizeof(pending_write)+len)) + { + free(pw->p); + free(pw); + goto exit; + } + /* we don't copy QoS 0 messages unless we have to, so now we have to tell the socket buffer where + the saved copy is */ + if (SocketBuffer_updateWrite(pw->socket, pw->p->topic, pw->p->payload) == NULL) + Log(LOG_SEVERE, 0, "Error updating write"); + publish->payload = publish->topic = NULL; +exit: + FUNC_EXIT; +} + + +/** + * Utility function to start a new publish exchange. + * @param pubclient the client to send the publication to + * @param publish the publication data + * @param qos the MQTT QoS to use + * @param retained boolean - whether to set the MQTT retained flag + * @return the completion code + */ +static int MQTTProtocol_startPublishCommon(Clients* pubclient, Publish* publish, int qos, int retained) +{ + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + rc = MQTTPacket_send_publish(publish, 0, qos, retained, &pubclient->net, pubclient->clientID); + if (qos == 0 && rc == TCPSOCKET_INTERRUPTED) + MQTTProtocol_storeQoS0(pubclient, publish); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Start a new publish exchange. Store any state necessary and try to send the packet + * @param pubclient the client to send the publication to + * @param publish the publication data + * @param qos the MQTT QoS to use + * @param retained boolean - whether to set the MQTT retained flag + * @param mm - pointer to the message to send + * @return the completion code + */ +int MQTTProtocol_startPublish(Clients* pubclient, Publish* publish, int qos, int retained, Messages** mm) +{ + Publish qos12pub = *publish; + int rc = 0; + + FUNC_ENTRY; + if (qos > 0) + { + *mm = MQTTProtocol_createMessage(publish, mm, qos, retained, 0); + ListAppend(pubclient->outboundMsgs, *mm, (*mm)->len); + /* we change these pointers to the saved message location just in case the packet could not be written + entirely; the socket buffer will use these locations to finish writing the packet */ + qos12pub.payload = (*mm)->publish->payload; + qos12pub.topic = (*mm)->publish->topic; + qos12pub.properties = (*mm)->properties; + qos12pub.MQTTVersion = (*mm)->MQTTVersion; + publish = &qos12pub; + } + rc = MQTTProtocol_startPublishCommon(pubclient, publish, qos, retained); + if (qos > 0) + memcpy((*mm)->publish->mask, publish->mask, sizeof((*mm)->publish->mask)); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Copy and store message data for retries + * @param publish the publication data + * @param mm - pointer to the message data to store + * @param qos the MQTT QoS to use + * @param retained boolean - whether to set the MQTT retained flag + * @param allocatePayload boolean - whether or not to malloc payload + * @return pointer to the message data stored + */ +Messages* MQTTProtocol_createMessage(Publish* publish, Messages **mm, int qos, int retained, int allocatePayload) +{ + Messages* m = malloc(sizeof(Messages)); + + FUNC_ENTRY; + if (!m) + goto exit; + m->len = sizeof(Messages); + if (*mm == NULL || (*mm)->publish == NULL) + { + int len1; + *mm = m; + if ((m->publish = MQTTProtocol_storePublication(publish, &len1)) == NULL) + { + free(m); + goto exit; + } + m->len += len1; + if (allocatePayload) + { + char *temp = m->publish->payload; + + if ((m->publish->payload = malloc(m->publish->payloadlen)) == NULL) + { + free(m); + goto exit; + } + memcpy(m->publish->payload, temp, m->publish->payloadlen); + } + } + else /* this is now never used, I think */ + { + ++(((*mm)->publish)->refcount); + m->publish = (*mm)->publish; + } + m->msgid = publish->msgId; + m->qos = qos; + m->retain = retained; + m->MQTTVersion = publish->MQTTVersion; + if (m->MQTTVersion >= 5) + m->properties = MQTTProperties_copy(&publish->properties); + m->lastTouch = MQTTTime_now(); + if (qos == 2) + m->nextMessageType = PUBREC; +exit: + FUNC_EXIT; + return m; +} + + +/** + * Store message data for possible retry + * @param publish the publication data + * @param len returned length of the data stored + * @return the publication stored + */ +Publications* MQTTProtocol_storePublication(Publish* publish, int* len) +{ + Publications* p = malloc(sizeof(Publications)); + + FUNC_ENTRY; + if (!p) + goto exit; + p->refcount = 1; + *len = (int)strlen(publish->topic)+1; + p->topic = publish->topic; + publish->topic = NULL; + *len += sizeof(Publications); + p->topiclen = publish->topiclen; + p->payloadlen = publish->payloadlen; + p->payload = publish->payload; + publish->payload = NULL; + *len += publish->payloadlen; + memcpy(p->mask, publish->mask, sizeof(p->mask)); + + if ((ListAppend(&(state.publications), p, *len)) == NULL) + { + free(p); + p = NULL; + } +exit: + FUNC_EXIT; + return p; +} + +/** + * Remove stored message data. Opposite of storePublication + * @param p stored publication to remove + */ +void MQTTProtocol_removePublication(Publications* p) +{ + FUNC_ENTRY; + if (p && --(p->refcount) == 0) + { + if (p->payload) + { + free(p->payload); + p->payload = NULL; + } + if (p->topic) + { + free(p->topic); + p->topic = NULL; + } + ListRemove(&(state.publications), p); + } + FUNC_EXIT; +} + +/** + * Process an incoming publish packet for a socket + * The payload field of the packet has not been transferred to another buffer at this point. + * If it's needed beyond the scope of this function, it has to be copied. + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePublishes(void* pack, SOCKET sock) +{ + Publish* publish = (Publish*)pack; + Clients* client = NULL; + char* clientid = NULL; + int rc = TCPSOCKET_COMPLETE; + int socketHasPendingWrites = 0; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + clientid = client->clientID; + Log(LOG_PROTOCOL, 11, NULL, sock, clientid, publish->msgId, publish->header.bits.qos, + publish->header.bits.retain, publish->payloadlen, min(20, publish->payloadlen), publish->payload); + + if (publish->header.bits.qos == 0) + { + Protocol_processPublication(publish, client, 1); + goto exit; + } + + socketHasPendingWrites = !Socket_noPendingWrites(sock); + + if (publish->header.bits.qos == 1) + { + Protocol_processPublication(publish, client, 1); + + if (socketHasPendingWrites) + rc = MQTTProtocol_queueAck(client, PUBACK, publish->msgId); + else + rc = MQTTPacket_send_puback(publish->MQTTVersion, publish->msgId, &client->net, client->clientID); + } + else if (publish->header.bits.qos == 2) + { + /* store publication in inbound list */ + int len; + int already_received = 0; + ListElement* listElem = NULL; + Messages* m = malloc(sizeof(Messages)); + Publications* p = NULL; + if (!m) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + p = MQTTProtocol_storePublication(publish, &len); + + m->publish = p; + m->msgid = publish->msgId; + m->qos = publish->header.bits.qos; + m->retain = publish->header.bits.retain; + m->MQTTVersion = publish->MQTTVersion; + if (m->MQTTVersion >= MQTTVERSION_5) + m->properties = MQTTProperties_copy(&publish->properties); + m->nextMessageType = PUBREL; + if ((listElem = ListFindItem(client->inboundMsgs, &(m->msgid), messageIDCompare)) != NULL) + { /* discard queued publication with same msgID that the current incoming message */ + Messages* msg = (Messages*)(listElem->content); + MQTTProtocol_removePublication(msg->publish); + if (msg->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&msg->properties); + ListInsert(client->inboundMsgs, m, sizeof(Messages) + len, listElem); + ListRemove(client->inboundMsgs, msg); + already_received = 1; + } else + ListAppend(client->inboundMsgs, m, sizeof(Messages) + len); + + if (m->MQTTVersion >= MQTTVERSION_5 && already_received == 0) + { + Publish publish1; + + publish1.header.bits.qos = m->qos; + publish1.header.bits.retain = m->retain; + publish1.msgId = m->msgid; + publish1.topic = m->publish->topic; + publish1.topiclen = m->publish->topiclen; + publish1.payload = m->publish->payload; + publish1.payloadlen = m->publish->payloadlen; + publish1.MQTTVersion = m->MQTTVersion; + publish1.properties = m->properties; + + Protocol_processPublication(&publish1, client, 1); + ListRemove(&(state.publications), m->publish); + m->publish = NULL; + } else + { /* allocate and copy payload data as it's needed for pubrel. + For other cases, it's done in Protocol_processPublication */ + char *temp = m->publish->payload; + + if ((m->publish->payload = malloc(m->publish->payloadlen)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy(m->publish->payload, temp, m->publish->payloadlen); + } + if (socketHasPendingWrites) + rc = MQTTProtocol_queueAck(client, PUBREC, publish->msgId); + else + rc = MQTTPacket_send_pubrec(publish->MQTTVersion, publish->msgId, &client->net, client->clientID); + publish->topic = NULL; + } +exit: + MQTTPacket_freePublish(publish); + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * Process an incoming puback packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePubacks(void* pack, SOCKET sock, Publications** pubToRemove) +{ + Puback* puback = (Puback*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 14, NULL, sock, client->clientID, puback->msgId); + + /* look for the message by message id in the records of outbound messages for this client */ + if (ListFindItem(client->outboundMsgs, &(puback->msgId), messageIDCompare) == NULL) + Log(TRACE_MIN, 3, NULL, "PUBACK", client->clientID, puback->msgId); + else + { + Messages* m = (Messages*)(client->outboundMsgs->current->content); + if (m->qos != 1) + Log(TRACE_MIN, 4, NULL, "PUBACK", client->clientID, puback->msgId, m->qos); + else + { + Log(TRACE_MIN, 6, NULL, "PUBACK", client->clientID, puback->msgId); + #if !defined(NO_PERSISTENCE) + rc = MQTTPersistence_remove(client, + (m->MQTTVersion >= MQTTVERSION_5) ? PERSISTENCE_V5_PUBLISH_SENT : PERSISTENCE_PUBLISH_SENT, + m->qos, puback->msgId); + #endif + if (pubToRemove != NULL) + *pubToRemove = m->publish; + else + MQTTProtocol_removePublication(m->publish); + if (m->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&m->properties); + ListRemove(client->outboundMsgs, m); + } + } + if (puback->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&puback->properties); + free(pack); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming pubrec packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePubrecs(void* pack, SOCKET sock, Publications** pubToRemove) +{ + Pubrec* pubrec = (Pubrec*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + int send_pubrel = 1; /* boolean to send PUBREL or not */ + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 15, NULL, sock, client->clientID, pubrec->msgId); + + /* look for the message by message id in the records of outbound messages for this client */ + client->outboundMsgs->current = NULL; + if (ListFindItem(client->outboundMsgs, &(pubrec->msgId), messageIDCompare) == NULL) + { + if (pubrec->header.bits.dup == 0) + Log(TRACE_MIN, 3, NULL, "PUBREC", client->clientID, pubrec->msgId); + } + else + { + Messages* m = (Messages*)(client->outboundMsgs->current->content); + if (m->qos != 2) + { + if (pubrec->header.bits.dup == 0) + Log(TRACE_MIN, 4, NULL, "PUBREC", client->clientID, pubrec->msgId, m->qos); + } + else if (m->nextMessageType != PUBREC) + { + if (pubrec->header.bits.dup == 0) + Log(TRACE_MIN, 5, NULL, "PUBREC", client->clientID, pubrec->msgId); + } + else + { + if (pubrec->MQTTVersion >= MQTTVERSION_5 && pubrec->rc >= MQTTREASONCODE_UNSPECIFIED_ERROR) + { + Log(TRACE_MIN, -1, "Pubrec error %d received for client %s msgid %d, not sending PUBREL", + pubrec->rc, client->clientID, pubrec->msgId); + #if !defined(NO_PERSISTENCE) + rc = MQTTPersistence_remove(client, + (pubrec->MQTTVersion >= MQTTVERSION_5) ? PERSISTENCE_V5_PUBLISH_SENT : PERSISTENCE_PUBLISH_SENT, + m->qos, pubrec->msgId); + #endif + if (pubToRemove != NULL) + *pubToRemove = m->publish; + else + MQTTProtocol_removePublication(m->publish); + if (m->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&m->properties); + ListRemove(client->outboundMsgs, m); + (++state.msgs_sent); + send_pubrel = 0; /* in MQTT v5, stop the exchange if there is an error reported */ + } + else + { + m->nextMessageType = PUBCOMP; + m->lastTouch = MQTTTime_now(); + } + } + } + if (!send_pubrel) + ; /* only don't send ack on MQTT v5 PUBREC error, otherwise send ack under all circumstances because MQTT state can get out of step */ + else if (!Socket_noPendingWrites(sock)) + rc = MQTTProtocol_queueAck(client, PUBREL, pubrec->msgId); + else + rc = MQTTPacket_send_pubrel(pubrec->MQTTVersion, pubrec->msgId, 0, &client->net, client->clientID); + + if (pubrec->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pubrec->properties); + free(pack); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming pubrel packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePubrels(void* pack, SOCKET sock) +{ + Pubrel* pubrel = (Pubrel*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 17, NULL, sock, client->clientID, pubrel->msgId); + + /* look for the message by message id in the records of inbound messages for this client */ + if (ListFindItem(client->inboundMsgs, &(pubrel->msgId), messageIDCompare) == NULL) + { + if (pubrel->header.bits.dup == 0) + Log(TRACE_MIN, 3, NULL, "PUBREL", client->clientID, pubrel->msgId); + } + else + { + Messages* m = (Messages*)(client->inboundMsgs->current->content); + if (m->qos != 2) + Log(TRACE_MIN, 4, NULL, "PUBREL", client->clientID, pubrel->msgId, m->qos); + else if (m->nextMessageType != PUBREL) + Log(TRACE_MIN, 5, NULL, "PUBREL", client->clientID, pubrel->msgId); + else + { + Publish publish; + + memset(&publish, '\0', sizeof(publish)); + + publish.header.bits.qos = m->qos; + publish.header.bits.retain = m->retain; + publish.msgId = m->msgid; + if (m->publish) + { + publish.topic = m->publish->topic; + publish.topiclen = m->publish->topiclen; + publish.payload = m->publish->payload; + publish.payloadlen = m->publish->payloadlen; + } + publish.MQTTVersion = m->MQTTVersion; + if (publish.MQTTVersion >= MQTTVERSION_5) + publish.properties = m->properties; + else + Protocol_processPublication(&publish, client, 0); /* only for 3.1.1 and lower */ + #if !defined(NO_PERSISTENCE) + rc += MQTTPersistence_remove(client, + (m->MQTTVersion >= MQTTVERSION_5) ? PERSISTENCE_V5_PUBLISH_RECEIVED : PERSISTENCE_PUBLISH_RECEIVED, + m->qos, pubrel->msgId); + #endif + if (m->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&m->properties); + if (m->publish) + ListRemove(&(state.publications), m->publish); + ListRemove(client->inboundMsgs, m); + ++(state.msgs_received); + } + } + /* Send ack under all circumstances because MQTT state can get out of step - this standard also says to do this */ + if (!Socket_noPendingWrites(sock)) + rc = MQTTProtocol_queueAck(client, PUBCOMP, pubrel->msgId); + else + rc = MQTTPacket_send_pubcomp(pubrel->MQTTVersion, pubrel->msgId, &client->net, client->clientID); + + if (pubrel->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pubrel->properties); + free(pack); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming pubcomp packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePubcomps(void* pack, SOCKET sock, Publications** pubToRemove) +{ + Pubcomp* pubcomp = (Pubcomp*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 19, NULL, sock, client->clientID, pubcomp->msgId); + + /* look for the message by message id in the records of outbound messages for this client */ + if (ListFindItem(client->outboundMsgs, &(pubcomp->msgId), messageIDCompare) == NULL) + { + if (pubcomp->header.bits.dup == 0) + Log(TRACE_MIN, 3, NULL, "PUBCOMP", client->clientID, pubcomp->msgId); + } + else + { + Messages* m = (Messages*)(client->outboundMsgs->current->content); + if (m->qos != 2) + Log(TRACE_MIN, 4, NULL, "PUBCOMP", client->clientID, pubcomp->msgId, m->qos); + else + { + if (m->nextMessageType != PUBCOMP) + Log(TRACE_MIN, 5, NULL, "PUBCOMP", client->clientID, pubcomp->msgId); + else + { + Log(TRACE_MIN, 6, NULL, "PUBCOMP", client->clientID, pubcomp->msgId); + #if !defined(NO_PERSISTENCE) + rc = MQTTPersistence_remove(client, + (m->MQTTVersion >= MQTTVERSION_5) ? PERSISTENCE_V5_PUBLISH_SENT : PERSISTENCE_PUBLISH_SENT, + m->qos, pubcomp->msgId); + if (rc != 0) + Log(LOG_ERROR, -1, "Error removing PUBCOMP for client id %s msgid %d from persistence", client->clientID, pubcomp->msgId); + #endif + if (pubToRemove != NULL) + *pubToRemove = m->publish; + else + MQTTProtocol_removePublication(m->publish); + if (m->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&m->properties); + ListRemove(client->outboundMsgs, m); + (++state.msgs_sent); + } + } + } + if (pubcomp->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&pubcomp->properties); + free(pack); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * MQTT protocol keepAlive processing. Sends PINGREQ packets as required. + * @param now current time + */ +void MQTTProtocol_keepalive(START_TIME_TYPE now) +{ + ListElement* current = NULL; + + FUNC_ENTRY; + ListNextElement(bstate->clients, ¤t); + while (current) + { + Clients* client = (Clients*)(current->content); + ListNextElement(bstate->clients, ¤t); + + if (client->connected == 0 || client->keepAliveInterval == 0) + continue; + + if (client->ping_outstanding == 1) + { + if (MQTTTime_difftime(now, client->net.lastPing) >= (DIFF_TIME_TYPE)(client->keepAliveInterval * 1500) && + /* if last received is more recent, we could be receiving a large packet */ + MQTTTime_difftime(now, client->net.lastReceived) >= (DIFF_TIME_TYPE)(client->keepAliveInterval * 1500)) + { + Log(TRACE_PROTOCOL, -1, "PINGRESP not received in keepalive interval for client %s on socket %d, disconnecting", client->clientID, client->net.socket); + MQTTProtocol_closeSession(client, 1); + } + } + else if (client->ping_due == 1 && + (MQTTTime_difftime(now, client->ping_due_time) >= (DIFF_TIME_TYPE)(client->keepAliveInterval * 1500))) + { + /* if the last received time is more recent than the ping due time, we could be receiving a large packet, + * preventing the PINGRESP being received */ + if (MQTTTime_difftime(now, client->ping_due_time) <= MQTTTime_difftime(now, client->net.lastReceived)) + { + /* ping still outstanding after keep alive interval, so close session */ + Log(TRACE_PROTOCOL, -1, "PINGREQ still outstanding for client %s on socket %d, disconnecting", client->clientID, client->net.socket); + MQTTProtocol_closeSession(client, 1); + } + } + else if (MQTTTime_difftime(now, client->net.lastSent) >= (DIFF_TIME_TYPE)(client->keepAliveInterval * 1000)) + /* the time since we last sent a packet, or part of a packet has exceeded the keep alive, so we need to send a ping */ + { + if (Socket_noPendingWrites(client->net.socket)) + { + if (MQTTPacket_send_pingreq(&client->net, client->clientID) != TCPSOCKET_COMPLETE) + { + Log(TRACE_PROTOCOL, -1, "Error sending PINGREQ for client %s on socket %d, disconnecting", client->clientID, client->net.socket); + MQTTProtocol_closeSession(client, 1); + } + else + { + client->ping_due = 0; + client->net.lastPing = now; + client->ping_outstanding = 1; + } + } + else if (client->ping_due == 0) + { + Log(TRACE_PROTOCOL, -1, "Couldn't send PINGREQ for client %s on socket %d, noting", + client->clientID, client->net.socket); + client->ping_due = 1; + client->ping_due_time = now; + } + } + else if (MQTTTime_difftime(now, client->net.lastReceived) >= (DIFF_TIME_TYPE)(client->keepAliveInterval * 1000)) + /* the time since we last received any data has exceeded the keep alive, so we can send a ping to see if the server is alive */ + { + /* Check that no writes are pending for the socket. If there are, forget about it, as this PING use is optional */ + if (Socket_noPendingWrites(client->net.socket)) + { + if (MQTTPacket_send_pingreq(&client->net, client->clientID) != TCPSOCKET_COMPLETE) + { + Log(TRACE_PROTOCOL, -1, "Error sending PINGREQ for client %s on socket %d, disconnecting", client->clientID, client->net.socket); + MQTTProtocol_closeSession(client, 1); + } + else + { + client->ping_due = 0; + client->net.lastPing = now; + client->ping_outstanding = 1; + } + } + } + } + FUNC_EXIT; +} + + +/** + * MQTT retry processing per client + * @param now current time + * @param client - the client to which to apply the retry processing + * @param regardless boolean - retry packets regardless of retry interval (used on reconnect) + */ +static void MQTTProtocol_retries(START_TIME_TYPE now, Clients* client, int regardless) +{ + ListElement* outcurrent = NULL; + + FUNC_ENTRY; + + if (!regardless && client->retryInterval <= 0 && /* 0 or -ive retryInterval turns off retry except on reconnect */ + client->connect_sent == client->connect_count) + goto exit; + + if (regardless) + client->connect_count = client->outboundMsgs->count; /* remember the number of messages to retry on connect */ + else if (client->connect_sent < client->connect_count) /* continue a connect retry which didn't complete first time around */ + regardless = 1; + + while (client && ListNextElement(client->outboundMsgs, &outcurrent) && + client->connected && client->good && /* client is connected and has no errors */ + Socket_noPendingWrites(client->net.socket)) /* there aren't any previous packets still stacked up on the socket */ + { + Messages* m = (Messages*)(outcurrent->content); + if (regardless || MQTTTime_difftime(now, m->lastTouch) > (DIFF_TIME_TYPE)(max(client->retryInterval, 10) * 1000)) + { + if (regardless) + ++client->connect_sent; + if (m->qos == 1 || (m->qos == 2 && m->nextMessageType == PUBREC)) + { + Publish publish; + int rc; + + Log(TRACE_MIN, 7, NULL, "PUBLISH", client->clientID, client->net.socket, m->msgid); + publish.msgId = m->msgid; + publish.topic = m->publish->topic; + publish.payload = m->publish->payload; + publish.payloadlen = m->publish->payloadlen; + publish.properties = m->properties; + publish.MQTTVersion = m->MQTTVersion; + memcpy(publish.mask, m->publish->mask, sizeof(publish.mask)); + rc = MQTTPacket_send_publish(&publish, 1, m->qos, m->retain, &client->net, client->clientID); + memcpy(m->publish->mask, publish.mask, sizeof(m->publish->mask)); /* store websocket mask used in send */ + if (rc == SOCKET_ERROR) + { + client->good = 0; + Log(TRACE_PROTOCOL, 29, NULL, client->clientID, client->net.socket, + Socket_getpeer(client->net.socket)); + MQTTProtocol_closeSession(client, 1); + client = NULL; + } + else + { + if (m->qos == 0 && rc == TCPSOCKET_INTERRUPTED) + MQTTProtocol_storeQoS0(client, &publish); + m->lastTouch = MQTTTime_now(); + } + } + else if (m->qos && m->nextMessageType == PUBCOMP) + { + Log(TRACE_MIN, 7, NULL, "PUBREL", client->clientID, client->net.socket, m->msgid); + if (MQTTPacket_send_pubrel(m->MQTTVersion, m->msgid, 0, &client->net, client->clientID) != TCPSOCKET_COMPLETE) + { + client->good = 0; + Log(TRACE_PROTOCOL, 29, NULL, client->clientID, client->net.socket, + Socket_getpeer(client->net.socket)); + MQTTProtocol_closeSession(client, 1); + client = NULL; + } + else + m->lastTouch = MQTTTime_now(); + } + } + } +exit: + FUNC_EXIT; +} + + +/** + * Queue an ack message. This is used when the socket is full (e.g. SSL_ERROR_WANT_WRITE). + * To be completed/cleared when the socket is no longer full + * @param client the client that received the published message + * @param ackType the type of ack to send + * @param msgId the msg id of the message we are acknowledging + * @return the completion code + */ +int MQTTProtocol_queueAck(Clients* client, int ackType, int msgId) +{ + int rc = 0; + AckRequest* ackReq = NULL; + + FUNC_ENTRY; + ackReq = malloc(sizeof(AckRequest)); + if (!ackReq) + rc = PAHO_MEMORY_ERROR; + else + { + ackReq->messageId = msgId; + ackReq->ackType = ackType; + ListAppend(client->outboundQueue, ackReq, sizeof(AckRequest)); + } + + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * MQTT retry protocol and socket pending writes processing. + * @param now current time + * @param doRetry boolean - retries as well as pending writes? + * @param regardless boolean - retry packets regardless of retry interval (used on reconnect) + */ +void MQTTProtocol_retry(START_TIME_TYPE now, int doRetry, int regardless) +{ + ListElement* current = NULL; + + FUNC_ENTRY; + ListNextElement(bstate->clients, ¤t); + /* look through the outbound message list of each client, checking to see if a retry is necessary */ + while (current) + { + Clients* client = (Clients*)(current->content); + ListNextElement(bstate->clients, ¤t); + if (client->connected == 0) + continue; + if (client->good == 0) + { + MQTTProtocol_closeSession(client, 1); + continue; + } + if (Socket_noPendingWrites(client->net.socket) == 0) + continue; + if (doRetry) + MQTTProtocol_retries(now, client, regardless); + } + FUNC_EXIT; +} + + +/** + * Free a client structure + * @param client the client data to free + */ +void MQTTProtocol_freeClient(Clients* client) +{ + FUNC_ENTRY; + /* free up pending message lists here, and any other allocated data */ + MQTTProtocol_freeMessageList(client->outboundMsgs); + MQTTProtocol_freeMessageList(client->inboundMsgs); + ListFree(client->messageQueue); + ListFree(client->outboundQueue); + free(client->clientID); + client->clientID = NULL; + if (client->will) + { + free(client->will->payload); + free(client->will->topic); + free(client->will); + client->will = NULL; + } + if (client->username) + free((void*)client->username); + if (client->password) + free((void*)client->password); + if (client->httpProxy) + free(client->httpProxy); + if (client->httpsProxy) + free(client->httpsProxy); + if (client->net.http_proxy_auth) + free(client->net.http_proxy_auth); +#if defined(OPENSSL) + if (client->net.https_proxy_auth) + free(client->net.https_proxy_auth); + if (client->sslopts) + { + if (client->sslopts->trustStore) + free((void*)client->sslopts->trustStore); + if (client->sslopts->keyStore) + free((void*)client->sslopts->keyStore); + if (client->sslopts->privateKey) + free((void*)client->sslopts->privateKey); + if (client->sslopts->privateKeyPassword) + free((void*)client->sslopts->privateKeyPassword); + if (client->sslopts->enabledCipherSuites) + free((void*)client->sslopts->enabledCipherSuites); + if (client->sslopts->struct_version >= 2) + { + if (client->sslopts->CApath) + free((void*)client->sslopts->CApath); + } + if (client->sslopts->struct_version >= 5) + { + if (client->sslopts->protos) + free((void*)client->sslopts->protos); + } + free(client->sslopts); + client->sslopts = NULL; + } +#endif + /* don't free the client structure itself... this is done elsewhere */ + FUNC_EXIT; +} + + +/** + * Empty a message list, leaving it able to accept new messages + * @param msgList the message list to empty + */ +void MQTTProtocol_emptyMessageList(List* msgList) +{ + ListElement* current = NULL; + + FUNC_ENTRY; + while (ListNextElement(msgList, ¤t)) + { + Messages* m = (Messages*)(current->content); + MQTTProtocol_removePublication(m->publish); + if (m->MQTTVersion >= MQTTVERSION_5) + MQTTProperties_free(&m->properties); + } + ListEmpty(msgList); + FUNC_EXIT; +} + + +/** + * Empty and free up all storage used by a message list + * @param msgList the message list to empty and free + */ +void MQTTProtocol_freeMessageList(List* msgList) +{ + FUNC_ENTRY; + MQTTProtocol_emptyMessageList(msgList); + ListFree(msgList); + FUNC_EXIT; +} + + +/** + * Callback that is invoked when the socket is available for writing. + * This is the last attempt made to acknowledge a message. Failures that + * occur here are ignored. + * @param socket the socket that is available for writing + */ +void MQTTProtocol_writeAvailable(SOCKET socket) +{ + Clients* client = NULL; + ListElement* current = NULL; + int rc = 0; + + FUNC_ENTRY; + + client = (Clients*)(ListFindItem(bstate->clients, &socket, clientSocketCompare)->content); + + current = NULL; + while (ListNextElement(client->outboundQueue, ¤t) && rc == 0) + { + AckRequest* ackReq = (AckRequest*)(current->content); + + switch (ackReq->ackType) + { + case PUBACK: + rc = MQTTPacket_send_puback(client->MQTTVersion, ackReq->messageId, &client->net, client->clientID); + break; + case PUBREC: + rc = MQTTPacket_send_pubrec(client->MQTTVersion, ackReq->messageId, &client->net, client->clientID); + break; + case PUBREL: + rc = MQTTPacket_send_pubrel(client->MQTTVersion, ackReq->messageId, 0, &client->net, client->clientID); + break; + case PUBCOMP: + rc = MQTTPacket_send_pubcomp(client->MQTTVersion, ackReq->messageId, &client->net, client->clientID); + break; + default: + Log(LOG_ERROR, -1, "unknown ACK type %d, dropping msg", ackReq->ackType); + break; + } + } + + ListEmpty(client->outboundQueue); + FUNC_EXIT_RC(rc); +} + +/** +* Copy no more than dest_size -1 characters from the string pointed to by src to the array pointed to by dest. +* The destination string will always be null-terminated. +* @param dest the array which characters copy to +* @param src the source string which characters copy from +* @param dest_size the size of the memory pointed to by dest: copy no more than this -1 (allow for null). Must be >= 1 +* @return the destination string pointer +*/ +char* MQTTStrncpy(char *dest, const char *src, size_t dest_size) +{ + size_t count = dest_size; + char *temp = dest; + + FUNC_ENTRY; + if (dest_size < strlen(src)) + Log(TRACE_MIN, -1, "the src string is truncated"); + + /* We must copy only the first (dest_size - 1) bytes */ + while (count > 1 && (*temp++ = *src++)) + count--; + + *temp = '\0'; + + FUNC_EXIT; + return dest; +} + + +/** +* Duplicate a string, safely, allocating space on the heap +* @param src the source string which characters copy from +* @return the duplicated, allocated string +*/ +char* MQTTStrdup(const char* src) +{ + size_t mlen = strlen(src) + 1; + char* temp = malloc(mlen); + if (temp) + MQTTStrncpy(temp, src, mlen); + else + Log(LOG_ERROR, -1, "memory allocation error in MQTTStrdup"); + return temp; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.h new file mode 100644 index 0000000..d350b20 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolClient.h @@ -0,0 +1,45 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPROTOCOLCLIENT_H) +#define MQTTPROTOCOLCLIENT_H + +#include "LinkedList.h" +#include "MQTTPacket.h" +#include "Log.h" +#include "MQTTProtocol.h" +#include "Messages.h" +#include "MQTTProperties.h" + +#define MAX_MSG_ID 65535 +#define MAX_CLIENTID_LEN 65535 + +int MQTTProtocol_startPublish(Clients* pubclient, Publish* publish, int qos, int retained, Messages** m); +Messages* MQTTProtocol_createMessage(Publish* publish, Messages** mm, int qos, int retained, int allocatePayload); +Publications* MQTTProtocol_storePublication(Publish* publish, int* len); +int messageIDCompare(void* a, void* b); +int MQTTProtocol_assignMsgId(Clients* client); +void MQTTProtocol_removePublication(Publications* p); +void Protocol_processPublication(Publish* publish, Clients* client, int allocatePayload); + +int MQTTProtocol_handlePublishes(void* pack, SOCKET sock); +int MQTTProtocol_handlePubacks(void* pack, SOCKET sock, Publications** pubToRemove); +int MQTTProtocol_handlePubrecs(void* pack, SOCKET sock, Publications** pubToRemove); +int MQTTProtocol_handlePubrels(void* pack, SOCKET sock); +int MQTTProtocol_handlePubcomps(void* pack, SOCKET sock, Publications** pubToRemove); + +void MQTTProtocol_closeSession(Clients* c, int sendwill); +void MQTTProtocol_keepalive(START_TIME_TYPE); +void MQTTProtocol_retry(START_TIME_TYPE, int, int); +void MQTTProtocol_freeClient(Clients* client); +void MQTTProtocol_emptyMessageList(List* msgList); +void MQTTProtocol_freeMessageList(List* msgList); + +char* MQTTStrncpy(char *dest, const char* src, size_t num); +char* MQTTStrdup(const char* src); + +void MQTTProtocol_writeAvailable(SOCKET socket); + +//#define MQTTStrdup(src) MQTTStrncpy(malloc(strlen(src)+1), src, strlen(src)+1) + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.c new file mode 100644 index 0000000..191ac7a --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.c @@ -0,0 +1,448 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +#include + +#include "MQTTProtocolOut.h" +#include "StackTrace.h" +#include "Heap.h" +#include "WebSocket.h" +#include "Proxy.h" +#include "Base64.h" + +extern ClientStates* bstate; + + + +/** + * Separates an address:port into two separate values + * @param[in] uri the input string - hostname:port + * @param[out] port the returned port integer + * @param[out] topic optional topic portion of the address starting with '/' + * @return the address string + */ +size_t MQTTProtocol_addressPort(const char* uri, int* port, const char **topic, int default_port) +{ + char* buf = (char*)uri; + char* colon_pos; + size_t len; + char* topic_pos; + + FUNC_ENTRY; + colon_pos = strrchr(uri, ':'); /* reverse find to allow for ':' in IPv6 addresses */ + + if (uri[0] == '[') + { /* ip v6 */ + if (colon_pos < strrchr(uri, ']')) + colon_pos = NULL; /* means it was an IPv6 separator, not for host:port */ + } + + if (colon_pos) /* have to strip off the port */ + { + len = colon_pos - uri; + *port = atoi(colon_pos + 1); + } + else + { + len = strlen(buf); + *port = default_port; + } + + /* find any topic portion */ + topic_pos = (char*)uri; + if (colon_pos) + topic_pos = colon_pos; + topic_pos = strchr(topic_pos, '/'); + if (topic_pos) + { + if (topic) + *topic = topic_pos; + if (!colon_pos) + len = topic_pos - uri; + } + + if (buf[len - 1] == ']') + { + /* we are stripping off the final ], so length is 1 shorter */ + --len; + } + FUNC_EXIT; + return len; +} + + +/** + * Allow user or password characters to be expressed in the form of %XX, XX being the + * hexadecimal value of the character. This will avoid problems when a user code or a password + * contains a '@' or another special character ('%' included) + * @param p0 output string + * @param p1 input string + * @param basic_auth_in_len + */ +void MQTTProtocol_specialChars(char* p0, char* p1, b64_size_t *basic_auth_in_len) +{ + while (*p1 != '@') + { + if (*p1 != '%') + { + *p0++ = *p1++; + } + else if (isxdigit(*(p1 + 1)) && isxdigit(*(p1 + 2))) + { + /* next 2 characters are hexa digits */ + char hex[3]; + p1++; + hex[0] = *p1++; + hex[1] = *p1++; + hex[2] = '\0'; + *p0++ = (char)strtol(hex, 0, 16); + /* 3 input char => 1 output char */ + *basic_auth_in_len -= 2; + } + } + *p0 = 0x0; +} + + +/* + * Examples of proxy settings: + * http://your.proxy.server:8080/ + * http://user:pass@my.proxy.server:8080/ + */ +int MQTTProtocol_setHTTPProxy(Clients* aClient, char* source, char** dest, char** auth_dest, char* prefix) +{ + b64_size_t basic_auth_in_len, basic_auth_out_len; + b64_data_t *basic_auth; + char *p1; + int rc = 0; + + if (*auth_dest) + { + free(*auth_dest); + *auth_dest = NULL; + } + + if (source) + { + if ((p1 = strstr(source, prefix)) != NULL) /* skip http:// prefix, if any */ + source += strlen(prefix); + *dest = source; + if ((p1 = strchr(source, '@')) != NULL) /* find user.pass separator */ + *dest = p1 + 1; + + if (p1) + { + /* basic auth len is string between http:// and @ */ + basic_auth_in_len = (b64_size_t)(p1 - source); + if (basic_auth_in_len > 0) + { + basic_auth = (b64_data_t *)malloc(sizeof(char)*(basic_auth_in_len+1)); + if (!basic_auth) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + MQTTProtocol_specialChars((char*)basic_auth, source, &basic_auth_in_len); + basic_auth_out_len = Base64_encodeLength(basic_auth, basic_auth_in_len) + 1; /* add 1 for trailing NULL */ + if ((*auth_dest = (char *)malloc(sizeof(char)*basic_auth_out_len)) == NULL) + { + free(basic_auth); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + Base64_encode(*auth_dest, basic_auth_out_len, basic_auth, basic_auth_in_len); + free(basic_auth); + } + } + } +exit: + return rc; +} + + +/** + * MQTT outgoing connect processing for a client + * @param ip_address the TCP address:port to connect to + * @param aClient a structure with all MQTT data needed + * @param int ssl + * @param int MQTTVersion the MQTT version to connect with (3 or 4) + * @param long timeout how long to wait for a new socket to be created + * @return return code + */ +#if defined(OPENSSL) +#if defined(__GNUC__) && defined(__linux__) +int MQTTProtocol_connect(const char* ip_address, Clients* aClient, int ssl, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties, long timeout) +#else +int MQTTProtocol_connect(const char* ip_address, Clients* aClient, int ssl, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties) +#endif +#else +#if defined(__GNUC__) && defined(__linux__) +int MQTTProtocol_connect(const char* ip_address, Clients* aClient, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties, long timeout) +#else +int MQTTProtocol_connect(const char* ip_address, Clients* aClient, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties) +#endif +#endif +{ + int rc = 0, + port; + size_t addr_len; + char* p0; + + FUNC_ENTRY; + aClient->good = 1; + + if (aClient->httpProxy) + p0 = aClient->httpProxy; + else + p0 = getenv("http_proxy"); + + if (p0) + { + if ((rc = MQTTProtocol_setHTTPProxy(aClient, p0, &aClient->net.http_proxy, &aClient->net.http_proxy_auth, "http://")) != 0) + goto exit; + Log(TRACE_PROTOCOL, -1, "Setting http proxy to %s", aClient->net.http_proxy); + if (aClient->net.http_proxy_auth) + Log(TRACE_PROTOCOL, -1, "Setting http proxy auth to %s", aClient->net.http_proxy_auth); + } + +#if defined(OPENSSL) + if (aClient->httpsProxy) + p0 = aClient->httpsProxy; + else + p0 = getenv("https_proxy"); + + if (p0) + { + if ((rc = MQTTProtocol_setHTTPProxy(aClient, p0, &aClient->net.https_proxy, &aClient->net.https_proxy_auth, "https://")) != 0) + goto exit; + Log(TRACE_PROTOCOL, -1, "Setting https proxy to %s", aClient->net.https_proxy); + if (aClient->net.https_proxy_auth) + Log(TRACE_PROTOCOL, -1, "Setting https proxy auth to %s", aClient->net.https_proxy_auth); + } + + if (!ssl && aClient->net.http_proxy) { +#else + if (aClient->net.http_proxy) { +#endif + addr_len = MQTTProtocol_addressPort(aClient->net.http_proxy, &port, NULL, PROXY_DEFAULT_PORT); +#if defined(__GNUC__) && defined(__linux__) + if (timeout < 0) + rc = -1; + else + rc = Socket_new(aClient->net.http_proxy, addr_len, port, &(aClient->net.socket), timeout); +#else + rc = Socket_new(aClient->net.http_proxy, addr_len, port, &(aClient->net.socket)); +#endif + } +#if defined(OPENSSL) + else if (ssl && aClient->net.https_proxy) { + addr_len = MQTTProtocol_addressPort(aClient->net.https_proxy, &port, NULL, PROXY_DEFAULT_PORT); +#if defined(__GNUC__) && defined(__linux__) + if (timeout < 0) + rc = -1; + else + rc = Socket_new(aClient->net.https_proxy, addr_len, port, &(aClient->net.socket), timeout); +#else + rc = Socket_new(aClient->net.https_proxy, addr_len, port, &(aClient->net.socket)); +#endif + } +#endif + else { +#if defined(OPENSSL) + addr_len = MQTTProtocol_addressPort(ip_address, &port, NULL, ssl ? + (websocket ? WSS_DEFAULT_PORT : SECURE_MQTT_DEFAULT_PORT) : + (websocket ? WS_DEFAULT_PORT : MQTT_DEFAULT_PORT) ); +#else + addr_len = MQTTProtocol_addressPort(ip_address, &port, NULL, websocket ? WS_DEFAULT_PORT : MQTT_DEFAULT_PORT); +#endif +#if defined(__GNUC__) && defined(__linux__) + if (timeout < 0) + rc = -1; + else + rc = Socket_new(ip_address, addr_len, port, &(aClient->net.socket), timeout); +#else + rc = Socket_new(ip_address, addr_len, port, &(aClient->net.socket)); +#endif + } + if (rc == EINPROGRESS || rc == EWOULDBLOCK) + aClient->connect_state = TCP_IN_PROGRESS; /* TCP connect called - wait for connect completion */ + else if (rc == 0) + { /* TCP connect completed. If SSL, send SSL connect */ +#if defined(OPENSSL) + if (ssl) + { + if (aClient->net.https_proxy) { + aClient->connect_state = PROXY_CONNECT_IN_PROGRESS; + rc = Proxy_connect( &aClient->net, 1, ip_address); + } + if (rc == 0 && SSLSocket_setSocketForSSL(&aClient->net, aClient->sslopts, ip_address, addr_len) == 1) + { + rc = aClient->sslopts->struct_version >= 3 ? + SSLSocket_connect(aClient->net.ssl, aClient->net.socket, ip_address, + aClient->sslopts->verify, aClient->sslopts->ssl_error_cb, aClient->sslopts->ssl_error_context) : + SSLSocket_connect(aClient->net.ssl, aClient->net.socket, ip_address, + aClient->sslopts->verify, NULL, NULL); + if (rc == TCPSOCKET_INTERRUPTED) + aClient->connect_state = SSL_IN_PROGRESS; /* SSL connect called - wait for completion */ + } + else + rc = SOCKET_ERROR; + } + else if (aClient->net.http_proxy) { +#else + if (aClient->net.http_proxy) { +#endif + aClient->connect_state = PROXY_CONNECT_IN_PROGRESS; + rc = Proxy_connect( &aClient->net, 0, ip_address); + } + if ( websocket ) + { +#if defined(OPENSSL) + rc = WebSocket_connect(&aClient->net, ssl, ip_address); +#endif + rc = WebSocket_connect(&aClient->net, 0, ip_address); + if ( rc == TCPSOCKET_INTERRUPTED ) + aClient->connect_state = WEBSOCKET_IN_PROGRESS; /* Websocket connect called - wait for completion */ + } + if (rc == 0) + { + /* Now send the MQTT connect packet */ + if ((rc = MQTTPacket_send_connect(aClient, MQTTVersion, connectProperties, willProperties)) == 0) + aClient->connect_state = WAIT_FOR_CONNACK; /* MQTT Connect sent - wait for CONNACK */ + else + aClient->connect_state = NOT_IN_PROGRESS; + } + } + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming pingresp packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handlePingresps(void* pack, SOCKET sock) +{ + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 21, NULL, sock, client->clientID); + client->ping_outstanding = 0; + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * MQTT outgoing subscribe processing for a client + * @param client the client structure + * @param topics list of topics + * @param qoss corresponding list of QoSs + * @param opts MQTT 5.0 subscribe options + * @param props MQTT 5.0 subscribe properties + * @return completion code + */ +int MQTTProtocol_subscribe(Clients* client, List* topics, List* qoss, int msgID, + MQTTSubscribe_options* opts, MQTTProperties* props) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_subscribe(topics, qoss, opts, props, msgID, 0, client); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming suback packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handleSubacks(void* pack, SOCKET sock) +{ + Suback* suback = (Suback*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 23, NULL, sock, client->clientID, suback->msgId); + MQTTPacket_freeSuback(suback); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * MQTT outgoing unsubscribe processing for a client + * @param client the client structure + * @param topics list of topics + * @return completion code + */ +int MQTTProtocol_unsubscribe(Clients* client, List* topics, int msgID, MQTTProperties* props) +{ + int rc = 0; + + FUNC_ENTRY; + rc = MQTTPacket_send_unsubscribe(topics, props, msgID, 0, client); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming unsuback packet for a socket + * @param pack pointer to the publish packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handleUnsubacks(void* pack, SOCKET sock) +{ + Unsuback* unsuback = (Unsuback*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 24, NULL, sock, client->clientID, unsuback->msgId); + MQTTPacket_freeUnsuback(unsuback); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Process an incoming disconnect packet for a socket + * @param pack pointer to the disconnect packet + * @param sock the socket on which the packet was received + * @return completion code + */ +int MQTTProtocol_handleDisconnects(void* pack, SOCKET sock) +{ + Ack* disconnect = (Ack*)pack; + Clients* client = NULL; + int rc = TCPSOCKET_COMPLETE; + + FUNC_ENTRY; + client = (Clients*)(ListFindItem(bstate->clients, &sock, clientSocketCompare)->content); + Log(LOG_PROTOCOL, 30, NULL, sock, client->clientID, disconnect->rc); + MQTTPacket_freeAck(disconnect); + FUNC_EXIT_RC(rc); + return rc; +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.h new file mode 100644 index 0000000..b9a3839 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTProtocolOut.h @@ -0,0 +1,48 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTPROTOCOLOUT_H) +#define MQTTPROTOCOLOUT_H + +#include "LinkedList.h" +#include "MQTTPacket.h" +#include "Clients.h" +#include "Log.h" +#include "Messages.h" +#include "MQTTProtocol.h" +#include "MQTTProtocolClient.h" + +#define MQTT_DEFAULT_PORT 1883 +#define SECURE_MQTT_DEFAULT_PORT 8883 +#define WS_DEFAULT_PORT 80 +#define WSS_DEFAULT_PORT 443 +#define PROXY_DEFAULT_PORT 8080 + +size_t MQTTProtocol_addressPort(const char* uri, int* port, const char **topic, int default_port); +void MQTTProtocol_reconnect(const char* ip_address, Clients* client); +#if defined(OPENSSL) +#if defined(__GNUC__) && defined(__linux__) +int MQTTProtocol_connect(const char* ip_address, Clients* acClients, int ssl, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties, long timeout); +#else +int MQTTProtocol_connect(const char* ip_address, Clients* acClients, int ssl, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties); +#endif +#else +#if defined(__GNUC__) && defined(__linux__) +int MQTTProtocol_connect(const char* ip_address, Clients* acClients, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties, long timeout); +#else +int MQTTProtocol_connect(const char* ip_address, Clients* acClients, int websocket, int MQTTVersion, + MQTTProperties* connectProperties, MQTTProperties* willProperties); +#endif +#endif +int MQTTProtocol_handlePingresps(void* pack, SOCKET sock); +int MQTTProtocol_subscribe(Clients* client, List* topics, List* qoss, int msgID, + MQTTSubscribe_options* opts, MQTTProperties* props); +int MQTTProtocol_handleSubacks(void* pack, SOCKET sock); +int MQTTProtocol_unsubscribe(Clients* client, List* topics, int msgID, MQTTProperties* props); +int MQTTProtocol_handleUnsubacks(void* pack, SOCKET sock); +int MQTTProtocol_handleDisconnects(void* pack, SOCKET sock); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.c new file mode 100644 index 0000000..172fcca --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.c @@ -0,0 +1,88 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTReasonCodes.h" + +#include "MQTTPacket.h" +#include "Heap.h" +#include "StackTrace.h" + +#include + +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) + +static struct { + enum MQTTReasonCodes value; + const char* name; +} nameToString[] = +{ + {MQTTREASONCODE_SUCCESS, "SUCCESS"}, + {MQTTREASONCODE_NORMAL_DISCONNECTION, "Normal disconnection"}, + {MQTTREASONCODE_GRANTED_QOS_0, "Granted QoS 0"}, + {MQTTREASONCODE_GRANTED_QOS_1, "Granted QoS 1"}, + {MQTTREASONCODE_GRANTED_QOS_2, "Granted QoS 2"}, + {MQTTREASONCODE_DISCONNECT_WITH_WILL_MESSAGE, "Disconnect with Will Message"}, + {MQTTREASONCODE_NO_MATCHING_SUBSCRIBERS, "No matching subscribers"}, + {MQTTREASONCODE_NO_SUBSCRIPTION_FOUND, "No subscription found"}, + {MQTTREASONCODE_CONTINUE_AUTHENTICATION, "Continue authentication"}, + {MQTTREASONCODE_RE_AUTHENTICATE, "Re-authenticate"}, + {MQTTREASONCODE_UNSPECIFIED_ERROR, "Unspecified error"}, + {MQTTREASONCODE_MALFORMED_PACKET, "Malformed Packet"}, + {MQTTREASONCODE_PROTOCOL_ERROR, "Protocol error"}, + {MQTTREASONCODE_IMPLEMENTATION_SPECIFIC_ERROR, "Implementation specific error"}, + {MQTTREASONCODE_UNSUPPORTED_PROTOCOL_VERSION, "Unsupported Protocol Version"}, + {MQTTREASONCODE_CLIENT_IDENTIFIER_NOT_VALID, "Client Identifier not valid"}, + {MQTTREASONCODE_BAD_USER_NAME_OR_PASSWORD, "Bad User Name or Password"}, + {MQTTREASONCODE_NOT_AUTHORIZED, "Not authorized"}, + {MQTTREASONCODE_SERVER_UNAVAILABLE, "Server unavailable"}, + {MQTTREASONCODE_SERVER_BUSY, "Server busy"}, + {MQTTREASONCODE_BANNED, "Banned"}, + {MQTTREASONCODE_SERVER_SHUTTING_DOWN, "Server shutting down"}, + {MQTTREASONCODE_BAD_AUTHENTICATION_METHOD, "Bad authentication method"}, + {MQTTREASONCODE_KEEP_ALIVE_TIMEOUT, "Keep Alive timeout"}, + {MQTTREASONCODE_SESSION_TAKEN_OVER, "Session taken over"}, + {MQTTREASONCODE_TOPIC_FILTER_INVALID, "Topic filter invalid"}, + {MQTTREASONCODE_TOPIC_NAME_INVALID, "Topic name invalid"}, + {MQTTREASONCODE_PACKET_IDENTIFIER_IN_USE, "Packet Identifier in use"}, + {MQTTREASONCODE_PACKET_IDENTIFIER_NOT_FOUND, "Packet Identifier not found"}, + {MQTTREASONCODE_RECEIVE_MAXIMUM_EXCEEDED, "Receive Maximum exceeded"}, + {MQTTREASONCODE_TOPIC_ALIAS_INVALID, "Topic Alias invalid"}, + {MQTTREASONCODE_PACKET_TOO_LARGE, "Packet too large"}, + {MQTTREASONCODE_MESSAGE_RATE_TOO_HIGH, "Message rate too high"}, + {MQTTREASONCODE_QUOTA_EXCEEDED, "Quota exceeded"}, + {MQTTREASONCODE_ADMINISTRATIVE_ACTION, "Administrative action"}, + {MQTTREASONCODE_PAYLOAD_FORMAT_INVALID, "Payload format invalid"}, + {MQTTREASONCODE_RETAIN_NOT_SUPPORTED, "Retain not supported"}, + {MQTTREASONCODE_QOS_NOT_SUPPORTED, "QoS not supported"}, + {MQTTREASONCODE_USE_ANOTHER_SERVER, "Use another server"}, + {MQTTREASONCODE_SERVER_MOVED, "Server moved"}, + {MQTTREASONCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED, "Shared subscriptions not supported"}, + {MQTTREASONCODE_CONNECTION_RATE_EXCEEDED, "Connection rate exceeded"}, + {MQTTREASONCODE_MAXIMUM_CONNECT_TIME, "Maximum connect time"}, + {MQTTREASONCODE_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED, "Subscription Identifiers not supported"}, + {MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED, "Wildcard Subscriptions not supported"} +}; + +const char* MQTTReasonCode_toString(enum MQTTReasonCodes value) +{ + int i = 0; + const char* result = NULL; + + for (i = 0; i < ARRAY_SIZE(nameToString); ++i) + { + if (nameToString[i].value == value) + { + result = nameToString[i].name; + break; + } + } + return result; +} + + + + + + + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.h new file mode 100644 index 0000000..1f55324 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTReasonCodes.h @@ -0,0 +1,66 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTREASONCODES_H) +#define MQTTREASONCODES_H + +#include "MQTTExportDeclarations.h" + +/** The MQTT V5 one byte reason code */ +enum MQTTReasonCodes { + MQTTREASONCODE_SUCCESS = 0, + MQTTREASONCODE_NORMAL_DISCONNECTION = 0, + MQTTREASONCODE_GRANTED_QOS_0 = 0, + MQTTREASONCODE_GRANTED_QOS_1 = 1, + MQTTREASONCODE_GRANTED_QOS_2 = 2, + MQTTREASONCODE_DISCONNECT_WITH_WILL_MESSAGE = 4, + MQTTREASONCODE_NO_MATCHING_SUBSCRIBERS = 16, + MQTTREASONCODE_NO_SUBSCRIPTION_FOUND = 17, + MQTTREASONCODE_CONTINUE_AUTHENTICATION = 24, + MQTTREASONCODE_RE_AUTHENTICATE = 25, + MQTTREASONCODE_UNSPECIFIED_ERROR = 128, + MQTTREASONCODE_MALFORMED_PACKET = 129, + MQTTREASONCODE_PROTOCOL_ERROR = 130, + MQTTREASONCODE_IMPLEMENTATION_SPECIFIC_ERROR = 131, + MQTTREASONCODE_UNSUPPORTED_PROTOCOL_VERSION = 132, + MQTTREASONCODE_CLIENT_IDENTIFIER_NOT_VALID = 133, + MQTTREASONCODE_BAD_USER_NAME_OR_PASSWORD = 134, + MQTTREASONCODE_NOT_AUTHORIZED = 135, + MQTTREASONCODE_SERVER_UNAVAILABLE = 136, + MQTTREASONCODE_SERVER_BUSY = 137, + MQTTREASONCODE_BANNED = 138, + MQTTREASONCODE_SERVER_SHUTTING_DOWN = 139, + MQTTREASONCODE_BAD_AUTHENTICATION_METHOD = 140, + MQTTREASONCODE_KEEP_ALIVE_TIMEOUT = 141, + MQTTREASONCODE_SESSION_TAKEN_OVER = 142, + MQTTREASONCODE_TOPIC_FILTER_INVALID = 143, + MQTTREASONCODE_TOPIC_NAME_INVALID = 144, + MQTTREASONCODE_PACKET_IDENTIFIER_IN_USE = 145, + MQTTREASONCODE_PACKET_IDENTIFIER_NOT_FOUND = 146, + MQTTREASONCODE_RECEIVE_MAXIMUM_EXCEEDED = 147, + MQTTREASONCODE_TOPIC_ALIAS_INVALID = 148, + MQTTREASONCODE_PACKET_TOO_LARGE = 149, + MQTTREASONCODE_MESSAGE_RATE_TOO_HIGH = 150, + MQTTREASONCODE_QUOTA_EXCEEDED = 151, + MQTTREASONCODE_ADMINISTRATIVE_ACTION = 152, + MQTTREASONCODE_PAYLOAD_FORMAT_INVALID = 153, + MQTTREASONCODE_RETAIN_NOT_SUPPORTED = 154, + MQTTREASONCODE_QOS_NOT_SUPPORTED = 155, + MQTTREASONCODE_USE_ANOTHER_SERVER = 156, + MQTTREASONCODE_SERVER_MOVED = 157, + MQTTREASONCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED = 158, + MQTTREASONCODE_CONNECTION_RATE_EXCEEDED = 159, + MQTTREASONCODE_MAXIMUM_CONNECT_TIME = 160, + MQTTREASONCODE_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED = 161, + MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162 +}; + +/** + * Returns a printable string description of an MQTT V5 reason code. + * @param value an MQTT V5 reason code. + * @return the printable string description of the input reason code. + * NULL if the code was not found. + */ +LIBMQTT_API const char* MQTTReasonCode_toString(enum MQTTReasonCodes value); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.c new file mode 100644 index 0000000..4ec3b57 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.c @@ -0,0 +1,236 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTSHA1.h" + +#if !defined(OPENSSL) +#if defined(_WIN32) || defined(_WIN64) +#pragma comment(lib, "crypt32.lib") + +int MQTT_SHA1_Init(SHA_CTX *c) +{ + if (!CryptAcquireContext(&c->hProv, NULL, NULL, + PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) + return 0; + if (!CryptCreateHash(c->hProv, CALG_SHA1, 0, 0, &c->hHash)) + { + CryptReleaseContext(c->hProv, 0); + return 0; + } + return 1; +} + +int MQTT_SHA1_Update(SHA_CTX *c, const void *data, size_t len) +{ + int rv = 1; + if (!CryptHashData(c->hHash, data, (DWORD)len, 0)) + rv = 0; + return rv; +} + +int MQTT_SHA1_Final(unsigned char *md, SHA_CTX *c) +{ + int rv = 0; + DWORD md_len = SHA1_DIGEST_LENGTH; + if (CryptGetHashParam(c->hHash, HP_HASHVAL, md, &md_len, 0)) + rv = 1; + CryptDestroyHash(c->hHash); + CryptReleaseContext(c->hProv, 0); + return rv; +} + +#else /* if defined(_WIN32) || defined(_WIN64) */ +#if defined(__linux__) || defined(__CYGWIN__) +# include +#elif defined(__APPLE__) +# include +# define htobe32(x) OSSwapHostToBigInt32(x) +# define be32toh(x) OSSwapBigToHostInt32(x) +#elif defined(__FreeBSD__) || defined(__NetBSD__) +# include +#endif +#include +static unsigned char pad[64] = { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +int MQTT_SHA1_Init(SHA_CTX *ctx) +{ + int ret = 0; + if ( ctx ) + { + ctx->h[0] = 0x67452301; + ctx->h[1] = 0xEFCDAB89; + ctx->h[2] = 0x98BADCFE; + ctx->h[3] = 0x10325476; + ctx->h[4] = 0xC3D2E1F0; + ctx->size = 0u; + ctx->total = 0u; + ret = 1; + } + return ret; +} + +#define ROTATE_LEFT32(a, n) (((a) << (n)) | ((a) >> (32 - (n)))) +static void SHA1_ProcessBlock(SHA_CTX *ctx) +{ + uint32_t blks[5]; + uint32_t *w; + int i; + + /* initialize */ + for ( i = 0; i < 5; ++i ) + blks[i] = ctx->h[i]; + + w = ctx->w; + + /* perform SHA-1 hash */ + for ( i = 0; i < 16; ++i ) + w[i] = be32toh(w[i]); + + for( i = 0; i < 80; ++i ) + { + int tmp; + if ( i >= 16 ) + w[i & 0x0F] = ROTATE_LEFT32( w[(i+13) & 0x0F] ^ w[(i+8) & 0x0F] ^ w[(i+2) & 0x0F] ^ w[i & 0x0F], 1 ); + + if ( i < 20 ) + tmp = ROTATE_LEFT32(blks[0], 5) + ((blks[1] & blks[2]) | (~(blks[1]) & blks[3])) + blks[4] + w[i & 0x0F] + 0x5A827999; + else if ( i < 40 ) + tmp = ROTATE_LEFT32(blks[0], 5) + (blks[1]^blks[2]^blks[3]) + blks[4] + w[i & 0x0F] + 0x6ED9EBA1; + else if ( i < 60 ) + tmp = ROTATE_LEFT32(blks[0], 5) + ((blks[1] & blks[2]) | (blks[1] & blks[3]) | (blks[2] & blks[3])) + blks[4] + w[i & 0x0F] + 0x8F1BBCDC; + else + tmp = ROTATE_LEFT32(blks[0], 5) + (blks[1]^blks[2]^blks[3]) + blks[4] + w[i & 0x0F] + 0xCA62C1D6; + + /* update registers */ + blks[4] = blks[3]; + blks[3] = blks[2]; + blks[2] = ROTATE_LEFT32(blks[1], 30); + blks[1] = blks[0]; + blks[0] = tmp; + } + + /* update of hash */ + for ( i = 0; i < 5; ++i ) + ctx->h[i] += blks[i]; +} + +int MQTT_SHA1_Final(unsigned char *md, SHA_CTX *ctx) +{ + int i; + int ret = 0; + size_t pad_amount; + uint64_t total; + + /* length before pad */ + total = ctx->total * 8; + + if ( ctx->size < 56 ) + pad_amount = 56 - ctx->size; + else + pad_amount = 64 + 56 - ctx->size; + + MQTT_SHA1_Update(ctx, pad, pad_amount); + + ctx->w[14] = htobe32((uint32_t)(total >> 32)); + ctx->w[15] = htobe32((uint32_t)total); + + SHA1_ProcessBlock(ctx); + + for ( i = 0; i < 5; ++i ) + ctx->h[i] = htobe32(ctx->h[i]); + + if ( md ) + { + memcpy( md, &ctx->h[0], SHA1_DIGEST_LENGTH ); + ret = 1; + } + + return ret; +} + +int MQTT_SHA1_Update(SHA_CTX *ctx, const void *data, size_t len) +{ + while ( len > 0 ) + { + unsigned int n = 64 - ctx->size; + if ( len < n ) + n = len; + + memcpy(ctx->buffer + ctx->size, data, n); + + ctx->size += n; + ctx->total += n; + + data = (uint8_t *)data + n; + len -= n; + + if ( ctx->size == 64 ) + { + SHA1_ProcessBlock(ctx); + ctx->size = 0; + } + } + return 1; +} + +#endif /* else if defined(_WIN32) || defined(_WIN64) */ +#endif /* elif !defined(OPENSSL) */ + +#if defined(SHA1_TEST) +#include +#include + +#define TEST_EXPECT(i,x) if (!(x)) {fprintf( stderr, "failed test: %s (for i == %d)\n", #x, i ); ++fails;} + +int main(int argc, char *argv[]) +{ + struct _td + { + const char *in; + const char *out; + }; + + int i; + unsigned int fails = 0u; + struct _td test_data[] = { + { "", "da39a3ee5e6b4b0d3255bfef95601890afd80709" }, + { "this string", "fda4e74bc7489a18b146abdf23346d166663dab8" }, + { NULL, NULL } + }; + + /* only 1 update */ + i = 0; + while ( test_data[i].in != NULL ) + { + int r[3] = { 1, 1, 1 }; + unsigned char sha_out[SHA1_DIGEST_LENGTH]; + char out[SHA1_DIGEST_LENGTH * 2 + 1]; + SHA_CTX c; + int j; + r[0] = MQTT_SHA1_Init( &c ); + r[1] = MQTT_SHA1_Update( &c, test_data[i].in, strlen(test_data[i].in)); + r[2] = MQTT_SHA1_Final( sha_out, &c ); + for ( j = 0u; j < SHA1_DIGEST_LENGTH; ++j ) + snprintf( &out[j*2], 3u, "%02x", sha_out[j] ); + out[SHA1_DIGEST_LENGTH * 2] = '\0'; + TEST_EXPECT( i, r[0] == 1 && r[1] == 1 && r[2] == 1 && strncmp(out, test_data[i].out, strlen(test_data[i].out)) == 0 ); + ++i; + } + + if ( fails ) + printf( "%u test failed!\n", fails ); + else + printf( "all tests passed\n" ); + return fails; +} +#endif /* if defined(SHA1_TEST) */ + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.h new file mode 100644 index 0000000..a25b04c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSHA1.h @@ -0,0 +1,78 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(SHA1_H) +#define SHA1_H + +#if defined(OPENSSL) +#include + +/** SHA-1 Digest Length */ +#define SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH + +#else /* if defined(OPENSSL) */ + +#if defined(_WIN32) || defined(_WIN64) +#include +#include +typedef struct SHA_CTX_S +{ + HCRYPTPROV hProv; + HCRYPTHASH hHash; +} SHA_CTX; +#else /* if defined(_WIN32) || defined(_WIN64) */ + +#include +typedef struct SHA_CTX_S { + uint32_t h[5]; + union { + uint32_t w[16]; + uint8_t buffer[64]; + }; + unsigned int size; + unsigned int total; +} SHA_CTX; +#endif /* else if defined(_WIN32) || defined(_WIN64) */ + +#include + +/** SHA-1 Digest Length (number of bytes in SHA1) */ +#define SHA1_DIGEST_LENGTH (160/8) + +/** + * Initializes the SHA1 hashing algorithm + * + * @param[in,out] ctx hashing context structure + * + * @see MQTT_SHA1_Update + * @see MQTT_SHA1_Final + */ +int MQTT_SHA1_Init(SHA_CTX *ctx); + +/** + * Updates a block to the SHA1 hash + * + * @param[in,out] ctx hashing context structure + * @param[in] data block of data to hash + * @param[in] len length of block to hash + * + * @see MQTT_SHA1_Init + * @see MQTT_SHA1_Final + */ +int MQTT_SHA1_Update(SHA_CTX *ctx, const void *data, size_t len); + +/** + * Produce final SHA1 hash + * + * @param[out] md SHA1 hash produced (must be atleast + * @p SHA1_DIGEST_LENGTH in length) + * @param[in,out] ctx hashing context structure + * + * @see MQTT_SHA1_Init + * @see MQTT_SHA1_Final + */ +int MQTT_SHA1_Final(unsigned char *md, SHA_CTX *ctx); + +#endif /* if defined(OPENSSL) */ +#endif /* SHA1_H */ + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSubscribeOpts.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSubscribeOpts.h new file mode 100644 index 0000000..bbba2e5 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTSubscribeOpts.h @@ -0,0 +1,33 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(SUBOPTS_H) +#define SUBOPTS_H + +/** The MQTT V5 subscribe options, apart from QoS which existed before V5. */ +typedef struct MQTTSubscribe_options +{ + /** The eyecatcher for this structure. Must be MQSO. */ + char struct_id[4]; + /** The version number of this structure. Must be 0. + */ + int struct_version; + /** To not receive our own publications, set to 1. + * 0 is the original MQTT behaviour - all messages matching the subscription are received. + */ + unsigned char noLocal; + /** To keep the retain flag as on the original publish message, set to 1. + * If 0, defaults to the original MQTT behaviour where the retain flag is only set on + * publications sent by a broker if in response to a subscribe request. + */ + unsigned char retainAsPublished; + /** 0 - send retained messages at the time of the subscribe (original MQTT behaviour) + * 1 - send retained messages on subscribe only if the subscription is new + * 2 - do not send retained messages at all + */ + unsigned char retainHandling; +} MQTTSubscribe_options; + +#define MQTTSubscribe_options_initializer { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 } + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.c new file mode 100644 index 0000000..1f5934f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.c @@ -0,0 +1,99 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "MQTTTime.h" +#include "StackTrace.h" + +#if defined(_WIN32) || defined(_WIN64) +#include +#else +#include +#include +#endif + +void MQTTTime_sleep(ELAPSED_TIME_TYPE milliseconds) +{ + FUNC_ENTRY; +#if defined(_WIN32) || defined(_WIN64) + Sleep((DWORD)milliseconds); +#else + usleep((useconds_t)(milliseconds*1000)); +#endif + FUNC_EXIT; +} + +#if defined(_WIN32) || defined(_WIN64) +START_TIME_TYPE MQTTTime_start_clock(void) +{ +#if WINVER >= _WIN32_WINNT_VISTA + return GetTickCount64(); +#else + return GetTickCount(); +#endif +} +#elif defined(AIX) +START_TIME_TYPE MQTTTime_start_clock(void) +{ + struct timespec start; + clock_gettime(CLOCK_MONOTONIC, &start); + return start; +} +#else +START_TIME_TYPE MQTTTime_start_clock(void) +{ + struct timeval start; + struct timespec start_ts; + + clock_gettime(CLOCK_MONOTONIC, &start_ts); + start.tv_sec = start_ts.tv_sec; + start.tv_usec = start_ts.tv_nsec / 1000; + return start; +} +#endif +START_TIME_TYPE MQTTTime_now(void) +{ + return MQTTTime_start_clock(); +} + + +#if defined(_WIN32) || defined(_WIN64) +/* + * @param t_new most recent time in milliseconds from GetTickCount() + * @param t_old older time in milliseconds from GetTickCount() + * @return difference in milliseconds + */ +DIFF_TIME_TYPE MQTTTime_difftime(START_TIME_TYPE t_new, START_TIME_TYPE t_old) +{ +#if WINVER >= _WIN32_WINNT_VISTA + return (DIFF_TIME_TYPE)(t_new - t_old); +#else + if (t_old < t_new) /* check for wrap around condition in GetTickCount */ + return (DIFF_TIME_TYPE)(t_new - t_old); + else + return (DIFF_TIME_TYPE)((0xFFFFFFFFL - t_old) + 1 + t_new); +#endif +} +#elif defined(AIX) +#define assert(a) +DIFF_TIME_TYPE MQTTTime_difftime(START_TIME_TYPE t_new, START_TIME_TYPE t_old) +{ + struct timespec result; + + ntimersub(t_new, t_old, result); + return (DIFF_TIME_TYPE)((result.tv_sec)*1000L + (result.tv_nsec)/1000000L); /* convert to milliseconds */ +} +#else +DIFF_TIME_TYPE MQTTTime_difftime(START_TIME_TYPE t_new, START_TIME_TYPE t_old) +{ + struct timeval result; + + timersub(&t_new, &t_old, &result); + return (DIFF_TIME_TYPE)(((DIFF_TIME_TYPE)result.tv_sec)*1000 + ((DIFF_TIME_TYPE)result.tv_usec)/1000); /* convert to milliseconds */ +} +#endif + + +ELAPSED_TIME_TYPE MQTTTime_elapsed(START_TIME_TYPE milliseconds) +{ + return (ELAPSED_TIME_TYPE)MQTTTime_difftime(MQTTTime_now(), milliseconds); +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.h new file mode 100644 index 0000000..bad9079 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTime.h @@ -0,0 +1,36 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MQTTTIME_H) +#define MQTTTIME_H + +#include + +#if defined(_WIN32) || defined(_WIN64) +#include +#if WINVER >= _WIN32_WINNT_VISTA +#define START_TIME_TYPE ULONGLONG +#define START_TIME_ZERO 0 +#else +#define START_TIME_TYPE DWORD +#define START_TIME_ZERO 0 +#endif +#elif defined(AIX) +#define START_TIME_TYPE struct timespec +#define START_TIME_ZERO {0, 0} +#else +#include +#define START_TIME_TYPE struct timeval +#define START_TIME_ZERO {0, 0} +#endif + +#define ELAPSED_TIME_TYPE uint64_t +#define DIFF_TIME_TYPE int64_t + +void MQTTTime_sleep(ELAPSED_TIME_TYPE milliseconds); +START_TIME_TYPE MQTTTime_start_clock(void); +START_TIME_TYPE MQTTTime_now(void); +ELAPSED_TIME_TYPE MQTTTime_elapsed(START_TIME_TYPE milliseconds); +DIFF_TIME_TYPE MQTTTime_difftime(START_TIME_TYPE t_new, START_TIME_TYPE t_old); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.c new file mode 100644 index 0000000..68e634b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.c @@ -0,0 +1,709 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#define TREE_C /* so that malloc/free/realloc aren't redefined by Heap.h */ + +#include "MQTTTree.h" + +#include +#include +#include + +#include "Heap.h" + + +int isRed(Node* aNode); +int isBlack(Node* aNode); +/*int TreeWalk(Node* curnode, int depth);*/ +/*int TreeMaxDepth(MQTT_Tree *aTree);*/ +void TreeRotate(MQTT_Tree* aTree, Node* curnode, int direction, int index); +Node* TreeBAASub(MQTT_Tree* aTree, Node* curnode, int which, int index); +void TreeBalanceAfterAdd(MQTT_Tree* aTree, Node* curnode, int index); +void* TreeAddByIndex(MQTT_Tree* aTree, void* content, size_t size, int index); +Node* TreeFindIndex1(MQTT_Tree* aTree, void* key, int index, int value); +Node* TreeFindContentIndex(MQTT_Tree* aTree, void* key, int index); +Node* TreeMinimum(Node* curnode); +Node* TreeSuccessor(Node* curnode); +Node* TreeNextElementIndex(MQTT_Tree* aTree, Node* curnode, int index); +Node* TreeBARSub(MQTT_Tree* aTree, Node* curnode, int which, int index); +void TreeBalanceAfterRemove(MQTT_Tree* aTree, Node* curnode, int index); +void* TreeRemoveIndex(MQTT_Tree* aTree, void* content, int index); + + +void MQTTTreeInitializeNoMalloc(MQTT_Tree* aTree, int(*compare)(void*, void*, int)) +{ + memset(aTree, '\0', sizeof(MQTT_Tree)); + aTree->heap_tracking = 1; + aTree->index[0].compare = compare; + aTree->indexes = 1; +} + +/** + * Allocates and initializes a new tree structure. + * @return a pointer to the new tree structure + */ +MQTT_Tree* MQTTTreeInitialize(int(*compare)(void*, void*, int)) +{ +#if defined(UNIT_TESTS) || defined(NO_HEAP_TRACKING) + MQTT_Tree* newt = malloc(sizeof(MQTT_Tree)); +#else + MQTT_Tree* newt = mymalloc(__FILE__, __LINE__, sizeof(MQTT_Tree)); +#endif + if (newt) + MQTTTreeInitializeNoMalloc(newt, compare); + return newt; +} + + +void MQTTTreeAddIndex(MQTT_Tree* aTree, int(*compare)(void*, void*, int)) +{ + aTree->index[aTree->indexes].compare = compare; + ++(aTree->indexes); +} + + +void MQTTTreeFree(MQTT_Tree* aTree) +{ +#if defined(UNIT_TESTS) || defined(NO_HEAP_TRACKING) + free(aTree); +#else + (aTree->heap_tracking) ? myfree(__FILE__, __LINE__, aTree) : free(aTree); +#endif +} + + +#define LEFT 0 +#define RIGHT 1 +#if !defined(max) +#define max(a, b) (a > b) ? a : b; +#endif + + + +int isRed(Node* aNode) +{ + return (aNode != NULL) && (aNode->red); +} + + +int isBlack(Node* aNode) +{ + return (aNode == NULL) || (aNode->red == 0); +} + +#if 0 +int TreeWalk(Node* curnode, int depth) +{ + if (curnode) + { + int left = TreeWalk(curnode->child[LEFT], depth+1); + int right = TreeWalk(curnode->child[RIGHT], depth+1); + depth = max(left, right); + if (curnode->red) + { + /*if (isRed(curnode->child[LEFT]) || isRed(curnode->child[RIGHT])) + { + printf("red/black tree violation %p\n", curnode->content); + exit(-99); + }*/; + } + } + return depth; +} + + +int TreeMaxDepth(MQTT_Tree *aTree) +{ + int rc = TreeWalk(aTree->index[0].root, 0); + /*if (aTree->root->red) + { + printf("root node should not be red %p\n", aTree->root->content); + exit(-99); + }*/ + return rc; +} +#endif + +void TreeRotate(MQTT_Tree* aTree, Node* curnode, int direction, int index) +{ + Node* other = curnode->child[!direction]; + + curnode->child[!direction] = other->child[direction]; + if (other->child[direction] != NULL) + other->child[direction]->parent = curnode; + other->parent = curnode->parent; + if (curnode->parent == NULL) + aTree->index[index].root = other; + else if (curnode == curnode->parent->child[direction]) + curnode->parent->child[direction] = other; + else + curnode->parent->child[!direction] = other; + other->child[direction] = curnode; + curnode->parent = other; +} + + +Node* TreeBAASub(MQTT_Tree* aTree, Node* curnode, int which, int index) +{ + Node* uncle = curnode->parent->parent->child[which]; + + if (isRed(uncle)) + { + curnode->parent->red = uncle->red = 0; + curnode = curnode->parent->parent; + curnode->red = 1; + } + else + { + if (curnode == curnode->parent->child[which]) + { + curnode = curnode->parent; + TreeRotate(aTree, curnode, !which, index); + } + curnode->parent->red = 0; + curnode->parent->parent->red = 1; + TreeRotate(aTree, curnode->parent->parent, which, index); + } + return curnode; +} + + +void TreeBalanceAfterAdd(MQTT_Tree* aTree, Node* curnode, int index) +{ + while (curnode && isRed(curnode->parent) && curnode->parent->parent) + { + if (curnode->parent == curnode->parent->parent->child[LEFT]) + curnode = TreeBAASub(aTree, curnode, RIGHT, index); + else + curnode = TreeBAASub(aTree, curnode, LEFT, index); + } + aTree->index[index].root->red = 0; +} + + +/** + * Add an item to a tree + * @param aTree the list to which the item is to be added + * @param content the list item content itself + * @param size the size of the element + */ +void* TreeAddByIndex(MQTT_Tree* aTree, void* content, size_t size, int index) +{ + Node* curparent = NULL; + Node* curnode = aTree->index[index].root; + Node* newel = NULL; + int left = 0; + int result = 1; + void* rc = NULL; + + while (curnode) + { + result = aTree->index[index].compare(curnode->content, content, 1); + left = (result > 0); + if (result == 0) + break; + else + { + curparent = curnode; + curnode = curnode->child[left]; + } + } + + if (result == 0) + { + if (aTree->allow_duplicates) + goto exit; /* exit(-99); */ + else + { + newel = curnode; + if (index == 0) + aTree->size += (size - curnode->size); + } + } + else + { + #if defined(UNIT_TESTS) || defined(NO_HEAP_TRACKING) + newel = malloc(sizeof(Node)); + #else + newel = (aTree->heap_tracking) ? mymalloc(__FILE__, __LINE__, sizeof(Node)) : malloc(sizeof(Node)); + #endif + if (newel == NULL) + goto exit; + memset(newel, '\0', sizeof(Node)); + if (curparent) + curparent->child[left] = newel; + else + aTree->index[index].root = newel; + newel->parent = curparent; + newel->red = 1; + if (index == 0) + { + ++(aTree->count); + aTree->size += size; + } + } + newel->content = content; + newel->size = size; + rc = newel->content; + TreeBalanceAfterAdd(aTree, newel, index); +exit: + return rc; +} + + +void* MQTTTreeAdd(MQTT_Tree* aTree, void* content, size_t size) +{ + void* rc = NULL; + int i; + + for (i = 0; i < aTree->indexes; ++i) + rc = TreeAddByIndex(aTree, content, size, i); + + return rc; +} + + +Node* TreeFindIndex1(MQTT_Tree* aTree, void* key, int index, int value) +{ + int result = 0; + Node* curnode = aTree->index[index].root; + + while (curnode) + { + result = aTree->index[index].compare(curnode->content, key, value); + if (result == 0) + break; + else + curnode = curnode->child[result > 0]; + } + return curnode; +} + + +Node* MQTTTreeFindIndex(MQTT_Tree* aTree, void* key, int index) +{ + return TreeFindIndex1(aTree, key, index, 0); +} + + +Node* TreeFindContentIndex(MQTT_Tree* aTree, void* key, int index) +{ + return TreeFindIndex1(aTree, key, index, 1); +} + + +Node* MQTTTreeFind(MQTT_Tree* aTree, void* key) +{ + return MQTTTreeFindIndex(aTree, key, 0); +} + + +Node* TreeMinimum(Node* curnode) +{ + if (curnode) + while (curnode->child[LEFT]) + curnode = curnode->child[LEFT]; + return curnode; +} + + +Node* TreeSuccessor(Node* curnode) +{ + if (curnode->child[RIGHT]) + curnode = TreeMinimum(curnode->child[RIGHT]); + else + { + Node* curparent = curnode->parent; + while (curparent && curnode == curparent->child[RIGHT]) + { + curnode = curparent; + curparent = curparent->parent; + } + curnode = curparent; + } + return curnode; +} + + +Node* TreeNextElementIndex(MQTT_Tree* aTree, Node* curnode, int index) +{ + if (curnode == NULL) + curnode = TreeMinimum(aTree->index[index].root); + else + curnode = TreeSuccessor(curnode); + return curnode; +} + + +Node* MQTTTreeNextElement(MQTT_Tree* aTree, Node* curnode) +{ + return TreeNextElementIndex(aTree, curnode, 0); +} + + +Node* TreeBARSub(MQTT_Tree* aTree, Node* curnode, int which, int index) +{ + Node* sibling = curnode->parent->child[which]; + + if (isRed(sibling)) + { + sibling->red = 0; + curnode->parent->red = 1; + TreeRotate(aTree, curnode->parent, !which, index); + sibling = curnode->parent->child[which]; + } + if (!sibling) + curnode = curnode->parent; + else if (isBlack(sibling->child[!which]) && isBlack(sibling->child[which])) + { + sibling->red = 1; + curnode = curnode->parent; + } + else + { + if (isBlack(sibling->child[which])) + { + sibling->child[!which]->red = 0; + sibling->red = 1; + TreeRotate(aTree, sibling, which, index); + sibling = curnode->parent->child[which]; + } + sibling->red = curnode->parent->red; + curnode->parent->red = 0; + sibling->child[which]->red = 0; + TreeRotate(aTree, curnode->parent, !which, index); + curnode = aTree->index[index].root; + } + return curnode; +} + + +void TreeBalanceAfterRemove(MQTT_Tree* aTree, Node* curnode, int index) +{ + while (curnode != aTree->index[index].root && isBlack(curnode)) + { + /* curnode->content == NULL must equal curnode == NULL */ + if (((curnode->content) ? curnode : NULL) == curnode->parent->child[LEFT]) + curnode = TreeBARSub(aTree, curnode, RIGHT, index); + else + curnode = TreeBARSub(aTree, curnode, LEFT, index); + } + curnode->red = 0; +} + + +/** + * Remove an item from a tree + * @param aTree the list to which the item is to be added + * @param curnode the list item content itself + */ +void* MQTTTreeRemoveNodeIndex(MQTT_Tree* aTree, Node* curnode, int index) +{ + Node* redundant = curnode; + Node* curchild = NULL; + size_t size = curnode->size; + void* content = curnode->content; + + /* if the node to remove has 0 or 1 children, it can be removed without involving another node */ + if (curnode->child[LEFT] && curnode->child[RIGHT]) /* 2 children */ + redundant = TreeSuccessor(curnode); /* now redundant must have at most one child */ + + curchild = redundant->child[(redundant->child[LEFT] != NULL) ? LEFT : RIGHT]; + if (curchild) /* we could have no children at all */ + curchild->parent = redundant->parent; + + if (redundant->parent == NULL) + aTree->index[index].root = curchild; + else + { + if (redundant == redundant->parent->child[LEFT]) + redundant->parent->child[LEFT] = curchild; + else + redundant->parent->child[RIGHT] = curchild; + } + + if (redundant != curnode) + { + curnode->content = redundant->content; + curnode->size = redundant->size; + } + + if (isBlack(redundant)) + { + if (curchild == NULL) + { + if (redundant->parent) + { + Node temp; + memset(&temp, '\0', sizeof(Node)); + temp.parent = redundant->parent; + temp.red = 0; + TreeBalanceAfterRemove(aTree, &temp, index); + } + } + else + TreeBalanceAfterRemove(aTree, curchild, index); + } + +#if defined(UNIT_TESTS) || defined(NO_HEAP_TRACKING) + free(redundant); +#else + (aTree->heap_tracking) ? myfree(__FILE__, __LINE__, redundant) : free(redundant); +#endif + if (index == 0) + { + aTree->size -= size; + --(aTree->count); + } + return content; +} + + +/** + * Remove an item from a tree + * @param aTree the list to which the item is to be added + * @param curnode the list item content itself + */ +void* TreeRemoveIndex(MQTT_Tree* aTree, void* content, int index) +{ + Node* curnode = TreeFindContentIndex(aTree, content, index); + + if (curnode == NULL) + return NULL; + + return MQTTTreeRemoveNodeIndex(aTree, curnode, index); +} + + +void* MQTTTreeRemove(MQTT_Tree* aTree, void* content) +{ + int i; + void* rc = NULL; + + for (i = 0; i < aTree->indexes; ++i) + rc = TreeRemoveIndex(aTree, content, i); + + return rc; +} + + +void* MQTTTreeRemoveKeyIndex(MQTT_Tree* aTree, void* key, int index) +{ + Node* curnode = MQTTTreeFindIndex(aTree, key, index); + void* content = NULL; + int i; + + if (curnode == NULL) + return NULL; + + content = MQTTTreeRemoveNodeIndex(aTree, curnode, index); + for (i = 0; i < aTree->indexes; ++i) + { + if (i != index) + content = TreeRemoveIndex(aTree, content, i); + } + return content; +} + + +void* MQTTTreeRemoveKey(MQTT_Tree* aTree, void* key) +{ + return MQTTTreeRemoveKeyIndex(aTree, key, 0); +} + + +int MQTTTreeIntCompare(void* a, void* b, int content) +{ + int i = *((int*)a); + int j = *((int*)b); + + /* printf("comparing %d %d\n", *((int*)a), *((int*)b)); */ + return (i > j) ? -1 : (i == j) ? 0 : 1; +} + + +int MQTTTreePtrCompare(void* a, void* b, int content) +{ + return (a > b) ? -1 : (a == b) ? 0 : 1; +} + + +int MQTTTreeStringCompare(void* a, void* b, int content) +{ + return strcmp((char*)a, (char*)b); +} + + +#if defined(UNIT_TESTS) + +int check(MQTT_Tree *t) +{ + Node* curnode = NULL; + int rc = 0; + + curnode = MQTTTreeNextElement(t, curnode); + while (curnode) + { + Node* prevnode = curnode; + + curnode = MQTTTreeNextElement(t, curnode); + + if (prevnode && curnode && (*(int*)(curnode->content) < *(int*)(prevnode->content))) + { + printf("out of order %d < %d\n", *(int*)(curnode->content), *(int*)(prevnode->content)); + rc = 99; + } + } + return rc; +} + + +int traverse(MQTT_Tree *t, int lookfor) +{ + Node* curnode = NULL; + int rc = 0; + + printf("Traversing\n"); + curnode = MQTTTreeNextElement(t, curnode); + /* printf("content int %d\n", *(int*)(curnode->content)); */ + while (curnode) + { + Node* prevnode = curnode; + + curnode = MQTTTreeNextElement(t, curnode); + /* if (curnode) + printf("content int %d\n", *(int*)(curnode->content)); */ + if (prevnode && curnode && (*(int*)(curnode->content) < *(int*)(prevnode->content))) + { + printf("out of order %d < %d\n", *(int*)(curnode->content), *(int*)(prevnode->content)); + } + if (curnode && (lookfor == *(int*)(curnode->content))) + printf("missing item %d actually found\n", lookfor); + } + printf("End traverse %d\n", rc); + return rc; +} + + +int test(int limit) +{ + int i, *ip, *todelete; + Node* current = NULL; + MQTT_Tree* t = MQTTTreeInitialize(MQTTTreeIntCompare); + int rc = 0; + + printf("MQTT_Tree initialized\n"); + + srand(time(NULL)); + + ip = malloc(sizeof(int)); + *ip = 2; + MQTTTreeAdd(t, (void*)ip, sizeof(int)); + + check(t); + + i = 2; + void* result = MQTTTreeRemove(t, (void*)&i); + if (result) + free(result); + + int actual[limit]; + for (i = 0; i < limit; i++) + { + void* replaced = NULL; + + ip = malloc(sizeof(int)); + *ip = rand(); + replaced = MQTTTreeAdd(t, (void*)ip, sizeof(int)); + if (replaced) /* duplicate */ + { + free(replaced); + actual[i] = -1; + } + else + actual[i] = *ip; + if (i==5) + todelete = ip; + printf("MQTT_Tree element added %d\n", *ip); + if (1 % 1000 == 0) + { + rc = check(t); + printf("%d elements, check result %d\n", i+1, rc); + if (rc != 0) + return 88; + } + } + + check(t); + + for (i = 0; i < limit; i++) + { + int parm = actual[i]; + + if (parm == -1) + continue; + + Node* found = MQTTTreeFind(t, (void*)&parm); + if (found) + printf("MQTT_Tree find %d %d\n", parm, *(int*)(found->content)); + else + { + printf("%d not found\n", parm); + traverse(t, parm); + return -2; + } + } + + check(t); + + for (i = limit -1; i >= 0; i--) + { + int parm = actual[i]; + void *found; + + if (parm == -1) /* skip duplicate */ + continue; + + found = MQTTTreeRemove(t, (void*)&parm); + if (found) + { + printf("%d MQTT_Tree remove %d %d\n", i, parm, *(int*)(found)); + free(found); + } + else + { + int count = 0; + printf("%d %d not found\n", i, parm); + traverse(t, parm); + for (i = 0; i < limit; i++) + if (actual[i] == parm) + ++count; + printf("%d occurs %d times\n", parm, count); + return -2; + } + if (i % 1000 == 0) + { + rc = check(t); + printf("%d elements, check result %d\n", i+1, rc); + if (rc != 0) + return 88; + } + } + printf("finished\n"); + return 0; +} + +int main(int argc, char *argv[]) +{ + int rc = 0; + + while (rc == 0) + rc = test(999999); +} + +#endif + + + + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.h new file mode 100644 index 0000000..f1eb343 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/MQTTTree.h @@ -0,0 +1,101 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(TREE_H) +#define TREE_H + +#include /* for size_t definition */ + +/*BE +defm defTree(T) // macro to define a tree + +def T concat Node +{ + n32 ptr T concat Node "parent" + n32 ptr T concat Node "left" + n32 ptr T concat Node "right" + n32 ptr T id2str(T) + n32 suppress "size" +} + + +def T concat MQTT_Tree +{ + struct + { + n32 ptr T concat Node suppress "root" + n32 ptr DATA suppress "compare" + } + struct + { + n32 ptr T concat Node suppress "root" + n32 ptr DATA suppress "compare" + } + n32 dec "count" + n32 dec suppress "size" +} + +endm + +defTree(INT) +defTree(STRING) +defTree(TMP) + +BE*/ + +/** + * Structure to hold all data for one list element + */ +typedef struct MQTT_NodeStruct +{ + struct MQTT_NodeStruct *parent, /**< pointer to parent tree node, in case we need it */ + *child[2]; /**< pointers to child tree nodes 0 = left, 1 = right */ + void* content; /**< pointer to element content */ + size_t size; /**< size of content */ + unsigned int red : 1; +} Node; + + +/** + * Structure to hold all data for one tree + */ +typedef struct +{ + struct + { + Node *root; /**< root node pointer */ + int (*compare)(void*, void*, int); /**< comparison function */ + } index[2]; + int indexes, /**< no of indexes into tree */ + count; /**< no of items */ + size_t size; /**< heap storage used */ + unsigned int heap_tracking : 1; /**< switch on heap tracking for this tree? */ + unsigned int allow_duplicates : 1; /**< switch to allow duplicate entries */ +} MQTT_Tree; + + +MQTT_Tree* MQTTTreeInitialize(int(*compare)(void*, void*, int)); +void MQTTTreeInitializeNoMalloc(MQTT_Tree* aTree, int(*compare)(void*, void*, int)); +void MQTTTreeAddIndex(MQTT_Tree* aTree, int(*compare)(void*, void*, int)); + +void* MQTTTreeAdd(MQTT_Tree* aTree, void* content, size_t size); + +void* MQTTTreeRemove(MQTT_Tree* aTree, void* content); + +void* MQTTTreeRemoveKey(MQTT_Tree* aTree, void* key); +void* MQTTTreeRemoveKeyIndex(MQTT_Tree* aTree, void* key, int index); + +void* MQTTTreeRemoveNodeIndex(MQTT_Tree* aTree, Node* aNode, int index); + +void MQTTTreeFree(MQTT_Tree* aTree); + +Node* MQTTTreeFind(MQTT_Tree* aTree, void* key); +Node* MQTTTreeFindIndex(MQTT_Tree* aTree, void* key, int index); + +Node* MQTTTreeNextElement(MQTT_Tree* aTree, Node* curnode); + +int MQTTTreeIntCompare(void* a, void* b, int); +int MQTTTreePtrCompare(void* a, void* b, int); +int MQTTTreeStringCompare(void* a, void* b, int); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.c new file mode 100644 index 0000000..15280c2 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.c @@ -0,0 +1,85 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Messages.h" +#include "Log.h" + +#include +#include +#include + +#include "Heap.h" + +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) + +#define max_msg_len 120 + +static const char *protocol_message_list[] = +{ + "%d %s -> CONNECT version %d clean: %d (%d)", /* 0, was 131, 68 and 69 */ + "%d %s <- CONNACK rc: %d", /* 1, was 132 */ + "%d %s -> CONNACK rc: %d (%d)", /* 2, was 138 */ + "%d %s <- PINGREQ", /* 3, was 35 */ + "%d %s -> PINGRESP (%d)", /* 4 */ + "%d %s <- DISCONNECT", /* 5 */ + "%d %s <- SUBSCRIBE msgid: %d", /* 6, was 39 */ + "%d %s -> SUBACK msgid: %d (%d)", /* 7, was 40 */ + "%d %s <- UNSUBSCRIBE msgid: %d", /* 8, was 41 */ + "%d %s -> UNSUBACK msgid: %d (%d)", /* 9 */ + "%d %s -> PUBLISH msgid: %d qos: %d retained: %d rc %d payload len(%d): %.*s", /* 10, was 42 */ + "%d %s <- PUBLISH msgid: %d qos: %d retained: %d payload len(%d): %.*s", /* 11, was 46 */ + "%d %s -> PUBACK msgid: %d (%d)", /* 12, was 47 */ + "%d %s -> PUBREC msgid: %d (%d)", /* 13, was 48 */ + "%d %s <- PUBACK msgid: %d", /* 14, was 49 */ + "%d %s <- PUBREC msgid: %d", /* 15, was 53 */ + "%d %s -> PUBREL msgid: %d (%d)", /* 16, was 57 */ + "%d %s <- PUBREL msgid %d", /* 17, was 58 */ + "%d %s -> PUBCOMP msgid %d (%d)", /* 18, was 62 */ + "%d %s <- PUBCOMP msgid:%d", /* 19, was 63 */ + "%d %s -> PINGREQ (%d)", /* 20, was 137 */ + "%d %s <- PINGRESP", /* 21, was 70 */ + "%d %s -> SUBSCRIBE msgid: %d (%d)", /* 22, was 72 */ + "%d %s <- SUBACK msgid: %d", /* 23, was 73 */ + "%d %s <- UNSUBACK msgid: %d", /* 24, was 74 */ + "%d %s -> UNSUBSCRIBE msgid: %d (%d)", /* 25, was 106 */ + "%d %s <- CONNECT", /* 26 */ + "%d %s -> PUBLISH qos: 0 retained: %d rc: %d payload len(%d): %.*s", /* 27 */ + "%d %s -> DISCONNECT (%d)", /* 28 */ + "Socket error for client identifier %s, socket %d, peer address %s; ending connection", /* 29 */ + "%d %s <- DISCONNECT (%d)", /* 30 */ +}; + +static const char *trace_message_list[] = +{ + "Failed to remove client from bstate->clients", /* 0 */ + "Removed client %s from bstate->clients, socket %d", /* 1 */ + "Packet_Factory: unhandled packet type %d", /* 2 */ + "Packet %s received from client %s for message identifier %d, but no record of that message identifier found", /* 3 */ + "Packet %s received from client %s for message identifier %d, but message is wrong QoS, %d", /* 4 */ + "Packet %s received from client %s for message identifier %d, but message is in wrong state", /* 5 */ + "%s received from client %s for message id %d - removing publication", /* 6 */ + "Trying %s again for client %s, socket %d, message identifier %d", /* 7 */ + "", /* 8 */ + "(%lu) %*s(%d)> %s:%d", /* 9 */ + "(%lu) %*s(%d)< %s:%d", /* 10 */ + "(%lu) %*s(%d)< %s:%d (%d)", /* 11 */ + "Storing unsent QoS 0 message", /* 12 */ +}; + +/** + * Get a log message by its index + * @param index the integer index + * @param log_level the log level, used to determine which message list to use + * @return the message format string + */ +const char* Messages_get(int index, enum LOG_LEVELS log_level) +{ + const char *msg = NULL; + + if (log_level == TRACE_PROTOCOL) + msg = (index >= 0 && index < ARRAY_SIZE(protocol_message_list)) ? protocol_message_list[index] : NULL; + else + msg = (index >= 0 && index < ARRAY_SIZE(trace_message_list)) ? trace_message_list[index] : NULL; + return msg; +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.h new file mode 100644 index 0000000..48dabe4 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Messages.h @@ -0,0 +1,11 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(MESSAGES_H) +#define MESSAGES_H + +#include "Log.h" + +const char* Messages_get(int, enum LOG_LEVELS); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/OsWrapper.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/OsWrapper.h new file mode 100644 index 0000000..dea0693 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/OsWrapper.h @@ -0,0 +1,28 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(OSWRAPPER_H) +#define OSWRAPPER_H + +#if defined(_WRS_KERNEL) +#include + +#define lstat stat + +typedef unsigned long useconds_t; +void usleep(useconds_t useconds); + +#define timersub(a, b, result) \ + do \ + { \ + (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ + if ((result)->tv_usec < 0) \ + { \ + --(result)->tv_sec; \ + (result)->tv_usec += 1000000L; \ + } \ + } while (0) +#endif /* defined(_WRS_KERNEL) */ + +#endif /* OSWRAPPER_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.c new file mode 100644 index 0000000..ba1869c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.c @@ -0,0 +1,140 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +// for timeout process in Proxy_connect() +#include +#if defined(_WIN32) || defined(_WIN64) + #include + #if defined(_MSC_VER) && _MSC_VER < 1900 + #define snprintf _snprintf + #endif +#else + #include +#endif + +#include "Log.h" +#include "MQTTProtocolOut.h" +#include "StackTrace.h" +#include "Heap.h" + +#if defined(OPENSSL) +#include "SSLSocket.h" +#include +#endif /* defined(OPENSSL) */ +#include "Socket.h" + +/** + * Notify the IP address and port of the endpoint to proxy, and wait connection to endpoint. + * + * @param[in] net network connection to proxy. + * @param[in] ssl enable ssl. + * @param[in] hostname hostname of endpoint. + * + * @retval SOCKET_ERROR failed to network connection + * @retval 0 connection to endpoint + * + */ +int Proxy_connect(networkHandles *net, int ssl, const char *hostname) +{ + int port, i, rc = 0, buf_len=0; + char *buf = NULL; + size_t hostname_len, actual_len = 0; + time_t current, timeout; + PacketBuffers nulbufs = {0, NULL, NULL, NULL, {0, 0, 0, 0}}; + + FUNC_ENTRY; + hostname_len = MQTTProtocol_addressPort(hostname, &port, NULL, PROXY_DEFAULT_PORT); + for ( i = 0; i < 2; ++i ) { +#if defined(OPENSSL) + if(ssl) { + if (net->https_proxy_auth) { + buf_len = snprintf( buf, (size_t)buf_len, "CONNECT %.*s:%d HTTP/1.1\r\n" + "Host: %.*s\r\n" + "Proxy-authorization: Basic %s\r\n" + "\r\n", + (int)hostname_len, hostname, port, + (int)hostname_len, hostname, net->https_proxy_auth); + } + else { + buf_len = snprintf( buf, (size_t)buf_len, "CONNECT %.*s:%d HTTP/1.1\r\n" + "Host: %.*s\r\n" + "\r\n", + (int)hostname_len, hostname, port, + (int)hostname_len, hostname); + } + } + else { +#endif + if (net->http_proxy_auth) { + buf_len = snprintf( buf, (size_t)buf_len, "CONNECT %.*s:%d HTTP/1.1\r\n" + "Host: %.*s\r\n" + "Proxy-authorization: Basic %s\r\n" + "\r\n", + (int)hostname_len, hostname, port, + (int)hostname_len, hostname, net->http_proxy_auth); + } + else { + buf_len = snprintf( buf, (size_t)buf_len, "CONNECT %.*s:%d HTTP/1.1\r\n" + "Host: %.*s\r\n" + "\r\n", + (int)hostname_len, hostname, port, + (int)hostname_len, hostname); + } +#if defined(OPENSSL) + } +#endif + if ( i==0 && buf_len > 0 ) { + ++buf_len; + if ((buf = malloc( buf_len )) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + } + } + Log(TRACE_PROTOCOL, -1, "Proxy_connect: \"%s\"", buf); + + Socket_putdatas(net->socket, buf, buf_len, nulbufs); + free(buf); + buf = NULL; + + time(&timeout); + timeout += (time_t)10; + + while(1) { + buf = Socket_getdata(net->socket, (size_t)12, &actual_len, &rc); + if(actual_len) { + if ( (strncmp( buf, "HTTP/1.0 200", 12 ) != 0) && (strncmp( buf, "HTTP/1.1 200", 12 ) != 0) ) + rc = SOCKET_ERROR; + break; + } + else { + time(¤t); + if(current > timeout) { + rc = SOCKET_ERROR; + break; + } +#if defined(_WIN32) || defined(_WIN64) + Sleep(250); +#else + usleep(250000); +#endif + } + } + + /* flush the SocketBuffer */ + actual_len = 1; + while (actual_len) + { + int rc1; + + buf = Socket_getdata(net->socket, (size_t)1, &actual_len, &rc1); + } + +exit: + FUNC_EXIT_RC(rc); + return rc; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.h new file mode 100644 index 0000000..4d94b2c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Proxy.h @@ -0,0 +1,12 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(PROXY_H) +#define PROXY_H + +#include "Clients.h" + +/* Notify the IP address and port of the endpoint to proxy, and wait connection to endpoint */ +int Proxy_connect(networkHandles *net, int ssl, const char *hostname ); + +#endif /* PROXY_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.c new file mode 100644 index 0000000..083bee2 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.c @@ -0,0 +1,1476 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Socket.h" +#include "Log.h" +#include "SocketBuffer.h" +#include "Messages.h" +#include "StackTrace.h" +#if defined(OPENSSL) +#include "SSLSocket.h" +#endif + +#include +#include +#include +#include + +#include "Heap.h" + +#if defined(USE_SELECT) +int isReady(int socket, fd_set* read_set, fd_set* write_set); +int Socket_continueWrites(fd_set* pwset, SOCKET* socket, mutex_type mutex); +#else +int isReady(int index); +int Socket_continueWrites(SOCKET* socket, mutex_type mutex); +#endif +int Socket_setnonblocking(SOCKET sock); +int Socket_error(char* aString, SOCKET sock); +int Socket_addSocket(SOCKET newSd); +int Socket_writev(SOCKET socket, iobuf* iovecs, int count, unsigned long* bytes); +int Socket_close_only(SOCKET socket); +int Socket_continueWrite(SOCKET socket); +char* Socket_getaddrname(struct sockaddr* sa, SOCKET sock); +int Socket_abortWrite(SOCKET socket); + +#if defined(_WIN32) || defined(_WIN64) +#define iov_len len +#define iov_base buf +#define snprintf _snprintf +#endif + +/** + * Structure to hold all socket data for this module + */ +Sockets mod_s; +#if defined(USE_SELECT) +static fd_set wset; +#endif + +extern mutex_type socket_mutex; + +/** + * Set a socket non-blocking, OS independently + * @param sock the socket to set non-blocking + * @return TCP call error code + */ +int Socket_setnonblocking(SOCKET sock) +{ + int rc; +#if defined(_WIN32) || defined(_WIN64) + u_long flag = 1L; + + FUNC_ENTRY; + rc = ioctl(sock, FIONBIO, &flag); +#else + int flags; + + FUNC_ENTRY; + if ((flags = fcntl(sock, F_GETFL, 0))) + flags = 0; + rc = fcntl(sock, F_SETFL, flags | O_NONBLOCK); +#endif + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Gets the specific error corresponding to SOCKET_ERROR + * @param aString the function that was being used when the error occurred + * @param sock the socket on which the error occurred + * @return the specific TCP error code + */ +int Socket_error(char* aString, SOCKET sock) +{ + int err; + +#if defined(_WIN32) || defined(_WIN64) + err = WSAGetLastError(); +#else + err = errno; +#endif + if (err != EINTR && err != EAGAIN && err != EINPROGRESS && err != EWOULDBLOCK) + { + if (strcmp(aString, "shutdown") != 0 || (err != ENOTCONN && err != ECONNRESET)) + Log(TRACE_MINIMUM, -1, "Socket error %s(%d) in %s for socket %d", strerror(err), err, aString, sock); + } + return err; +} + + +/** + * Initialize the socket module + */ +void Socket_outInitialize(void) +{ +#if defined(_WIN32) || defined(_WIN64) + WORD winsockVer = 0x0202; + WSADATA wsd; + + FUNC_ENTRY; + WSAStartup(winsockVer, &wsd); +#else + FUNC_ENTRY; + signal(SIGPIPE, SIG_IGN); +#endif + + SocketBuffer_initialize(); + mod_s.connect_pending = ListInitialize(); + mod_s.write_pending = ListInitialize(); + +#if defined(USE_SELECT) + mod_s.clientsds = ListInitialize(); + mod_s.cur_clientsds = NULL; + FD_ZERO(&(mod_s.rset)); /* Initialize the descriptor set */ + FD_ZERO(&(mod_s.pending_wset)); + mod_s.maxfdp1 = 0; + memcpy((void*)&(mod_s.rset_saved), (void*)&(mod_s.rset), sizeof(mod_s.rset_saved)); +#else + mod_s.nfds = 0; + mod_s.fds_read = NULL; + mod_s.fds_write = NULL; + + mod_s.saved.cur_fd = -1; + mod_s.saved.fds_write = NULL; + mod_s.saved.fds_read = NULL; + mod_s.saved.nfds = 0; +#endif + FUNC_EXIT; +} + + +/** + * Terminate the socket module + */ +void Socket_outTerminate(void) +{ + FUNC_ENTRY; + ListFree(mod_s.connect_pending); + ListFree(mod_s.write_pending); +#if defined(USE_SELECT) + ListFree(mod_s.clientsds); +#else + if (mod_s.fds_read) + free(mod_s.fds_read); + if (mod_s.fds_write) + free(mod_s.fds_write); + if (mod_s.saved.fds_write) + free(mod_s.saved.fds_write); + if (mod_s.saved.fds_read) + free(mod_s.saved.fds_read); +#endif + SocketBuffer_terminate(); +#if defined(_WIN32) || defined(_WIN64) + WSACleanup(); +#endif + FUNC_EXIT; +} + + +#if defined(USE_SELECT) +/** + * Add a socket to the list of socket to check with select + * @param newSd the new socket to add + */ +int Socket_addSocket(SOCKET newSd) +{ + int rc = 0; + + FUNC_ENTRY; + if (ListFindItem(mod_s.clientsds, &newSd, intcompare) == NULL) /* make sure we don't add the same socket twice */ + { + if (mod_s.clientsds->count >= FD_SETSIZE) + { + Log(LOG_ERROR, -1, "addSocket: exceeded FD_SETSIZE %d", FD_SETSIZE); + rc = SOCKET_ERROR; + } + else + { + SOCKET* pnewSd = (SOCKET*)malloc(sizeof(newSd)); + + if (!pnewSd) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + *pnewSd = newSd; + if (!ListAppend(mod_s.clientsds, pnewSd, sizeof(newSd))) + { + free(pnewSd); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + FD_SET(newSd, &(mod_s.rset_saved)); + mod_s.maxfdp1 = max(mod_s.maxfdp1, (int)newSd + 1); + rc = Socket_setnonblocking(newSd); + if (rc == SOCKET_ERROR) + Log(LOG_ERROR, -1, "addSocket: setnonblocking"); + } + } + else + Log(LOG_ERROR, -1, "addSocket: socket %d already in the list", newSd); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} +#else +static int cmpfds(const void *p1, const void *p2) +{ + SOCKET key1 = ((struct pollfd*)p1)->fd; + SOCKET key2 = ((struct pollfd*)p2)->fd; + + return (key1 == key2) ? 0 : ((key1 < key2) ? -1 : 1); +} + + +static int cmpsockfds(const void *p1, const void *p2) +{ + int key1 = *(int*)p1; + SOCKET key2 = ((struct pollfd*)p2)->fd; + + return (key1 == key2) ? 0 : ((key1 < key2) ? -1 : 1); +} + + +/** + * Add a socket to the list of socket to check with select + * @param newSd the new socket to add + */ +int Socket_addSocket(SOCKET newSd) +{ + int rc = 0; + + FUNC_ENTRY; + Thread_lock_mutex(socket_mutex); + mod_s.nfds++; + if (mod_s.fds_read) + mod_s.fds_read = realloc(mod_s.fds_read, mod_s.nfds * sizeof(mod_s.fds_read[0])); + else + mod_s.fds_read = malloc(mod_s.nfds * sizeof(mod_s.fds_read[0])); + if (!mod_s.fds_read) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + if (mod_s.fds_write) + mod_s.fds_write = realloc(mod_s.fds_write, mod_s.nfds * sizeof(mod_s.fds_write[0])); + else + mod_s.fds_write = malloc(mod_s.nfds * sizeof(mod_s.fds_write[0])); + if (!mod_s.fds_read) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + + mod_s.fds_read[mod_s.nfds - 1].fd = newSd; + mod_s.fds_write[mod_s.nfds - 1].fd = newSd; +#if defined(_WIN32) || defined(_WIN64) + mod_s.fds_read[mod_s.nfds - 1].events = POLLIN; + mod_s.fds_write[mod_s.nfds - 1].events = POLLOUT; +#else + mod_s.fds_read[mod_s.nfds - 1].events = POLLIN | POLLNVAL; + mod_s.fds_write[mod_s.nfds - 1].events = POLLOUT; +#endif + + /* sort the poll fds array by socket number */ + qsort(mod_s.fds_read, (size_t)mod_s.nfds, sizeof(mod_s.fds_read[0]), cmpfds); + qsort(mod_s.fds_write, (size_t)mod_s.nfds, sizeof(mod_s.fds_write[0]), cmpfds); + + rc = Socket_setnonblocking(newSd); + if (rc == SOCKET_ERROR) + Log(LOG_ERROR, -1, "addSocket: setnonblocking"); + +exit: + Thread_unlock_mutex(socket_mutex); + FUNC_EXIT_RC(rc); + return rc; +} +#endif + + +#if defined(USE_SELECT) +/** + * Don't accept work from a client unless it is accepting work back, i.e. its socket is writeable + * this seems like a reasonable form of flow control, and practically, seems to work. + * @param socket the socket to check + * @param read_set the socket read set (see select doc) + * @param write_set the socket write set (see select doc) + * @return boolean - is the socket ready to go? + */ +int isReady(int socket, fd_set* read_set, fd_set* write_set) +{ + int rc = 1; + + FUNC_ENTRY; + if (ListFindItem(mod_s.connect_pending, &socket, intcompare) && FD_ISSET(socket, write_set)) + ListRemoveItem(mod_s.connect_pending, &socket, intcompare); + else + rc = FD_ISSET(socket, read_set) && FD_ISSET(socket, write_set) && Socket_noPendingWrites(socket); + FUNC_EXIT_RC(rc); + return rc; +} +#else +/** + * Don't accept work from a client unless it is accepting work back, i.e. its socket is writeable + * this seems like a reasonable form of flow control, and practically, seems to work. + * @param index the socket index to check + * @return boolean - is the socket ready to go? + */ +int isReady(int index) +{ + int rc = 1; + SOCKET* socket = &mod_s.saved.fds_write[index].fd; + + FUNC_ENTRY; + + if ((mod_s.saved.fds_read[index].revents & POLLHUP) || (mod_s.saved.fds_read[index].revents & POLLNVAL)) + ; /* signal work to be done if there is an error on the socket */ + else if (ListFindItem(mod_s.connect_pending, socket, intcompare) && + (mod_s.saved.fds_write[index].revents & POLLOUT)) + ListRemoveItem(mod_s.connect_pending, socket, intcompare); + else + rc = (mod_s.saved.fds_read[index].revents & POLLIN) && + (mod_s.saved.fds_write[index].revents & POLLOUT) && + Socket_noPendingWrites(*socket); + + FUNC_EXIT_RC(rc); + return rc; +} +#endif + + +#if defined(USE_SELECT) +/** + * Returns the next socket ready for communications as indicated by select + * @param more_work flag to indicate more work is waiting, and thus a timeout value of 0 should + * be used for the select + * @param timeout the timeout to be used for the select, unless overridden + * @param rc a value other than 0 indicates an error of the returned socket + * @return the socket next ready, or 0 if none is ready + */ +SOCKET Socket_getReadySocket(int more_work, int timeout, mutex_type mutex, int* rc) +{ + SOCKET sock = 0; + *rc = 0; + int timeout_ms = 1000; + + FUNC_ENTRY; + Thread_lock_mutex(mutex); + if (mod_s.clientsds->count == 0) + goto exit; + + if (more_work) + timeout_ms = 0; + else if (timeout >= 0) + timeout_ms = timeout; + + while (mod_s.cur_clientsds != NULL) + { + if (isReady(*((int*)(mod_s.cur_clientsds->content)), &(mod_s.rset), &wset)) + break; + ListNextElement(mod_s.clientsds, &mod_s.cur_clientsds); + } + + if (mod_s.cur_clientsds == NULL) + { + static struct timeval zero = {0L, 0L}; /* 0 seconds */ + int rc1, maxfdp1_saved; + fd_set pwset; + struct timeval timeout_tv = {0L, 0L}; + + if (timeout_ms > 0L) + { + timeout_tv.tv_sec = timeout_ms / 1000; + timeout_tv.tv_usec = (timeout_ms % 1000) * 1000; /* this field is microseconds! */ + } + + memcpy((void*)&(mod_s.rset), (void*)&(mod_s.rset_saved), sizeof(mod_s.rset)); + memcpy((void*)&(pwset), (void*)&(mod_s.pending_wset), sizeof(pwset)); + maxfdp1_saved = mod_s.maxfdp1; + + if (maxfdp1_saved == 0) + { + sock = 0; + goto exit; /* no work to do */ + } + /* Prevent performance issue by unlocking the socket_mutex while waiting for a ready socket. */ + Thread_unlock_mutex(mutex); + *rc = select(maxfdp1_saved, &(mod_s.rset), &pwset, NULL, &timeout_tv); + Thread_lock_mutex(mutex); + if (*rc == SOCKET_ERROR) + { + Socket_error("read select", 0); + goto exit; + } + Log(TRACE_MAX, -1, "Return code %d from read select", *rc); + + if (Socket_continueWrites(&pwset, &sock, mutex) == SOCKET_ERROR) + { + *rc = SOCKET_ERROR; + goto exit; + } + + memcpy((void*)&wset, (void*)&(mod_s.rset_saved), sizeof(wset)); + if ((rc1 = select(mod_s.maxfdp1, NULL, &(wset), NULL, &zero)) == SOCKET_ERROR) + { + Socket_error("write select", 0); + *rc = rc1; + goto exit; + } + Log(TRACE_MAX, -1, "Return code %d from write select", rc1); + + if (*rc == 0 && rc1 == 0) + { + sock = 0; + goto exit; /* no work to do */ + } + + mod_s.cur_clientsds = mod_s.clientsds->first; + while (mod_s.cur_clientsds != NULL) + { + int cursock = *((int*)(mod_s.cur_clientsds->content)); + if (isReady(cursock, &(mod_s.rset), &wset)) + break; + ListNextElement(mod_s.clientsds, &mod_s.cur_clientsds); + } + } + + *rc = 0; + if (mod_s.cur_clientsds == NULL) + sock = 0; + else + { + sock = *((int*)(mod_s.cur_clientsds->content)); + ListNextElement(mod_s.clientsds, &mod_s.cur_clientsds); + } +exit: + Thread_unlock_mutex(mutex); + FUNC_EXIT_RC(sock); + return sock; +} /* end getReadySocket */ +#else +/** + * Returns the next socket ready for communications as indicated by select + * @param more_work flag to indicate more work is waiting, and thus a timeout value of 0 should + * be used for the select + * @param timeout the timeout to be used in ms + * @param rc a value other than 0 indicates an error of the returned socket + * @return the socket next ready, or 0 if none is ready + */ +SOCKET Socket_getReadySocket(int more_work, int timeout, mutex_type mutex, int* rc) +{ + SOCKET sock = 0; + *rc = 0; + int timeout_ms = 1000; + + FUNC_ENTRY; + Thread_lock_mutex(mutex); + if (mod_s.nfds == 0 && mod_s.saved.nfds == 0) + goto exit; + + if (more_work) + timeout_ms = 0; + else if (timeout >= 0) + timeout_ms = timeout; + + while (mod_s.saved.cur_fd != -1) + { + if (isReady(mod_s.saved.cur_fd)) + break; + mod_s.saved.cur_fd = (mod_s.saved.cur_fd == mod_s.saved.nfds - 1) ? -1 : mod_s.saved.cur_fd + 1; + } + + if (mod_s.saved.cur_fd == -1) + { + int rc1 = 0; + + if (mod_s.nfds != mod_s.saved.nfds) + { + mod_s.saved.nfds = mod_s.nfds; + if (mod_s.saved.fds_read) + mod_s.saved.fds_read = realloc(mod_s.saved.fds_read, mod_s.nfds * sizeof(struct pollfd)); + else + mod_s.saved.fds_read = malloc(mod_s.nfds * sizeof(struct pollfd)); + if (mod_s.saved.fds_write) + mod_s.saved.fds_write = realloc(mod_s.saved.fds_write, mod_s.nfds * sizeof(struct pollfd)); + else + mod_s.saved.fds_write = malloc(mod_s.nfds * sizeof(struct pollfd)); + } + memcpy(mod_s.saved.fds_read, mod_s.fds_read, mod_s.nfds * sizeof(struct pollfd)); + memcpy(mod_s.saved.fds_write, mod_s.fds_write, mod_s.nfds * sizeof(struct pollfd)); + + if (mod_s.saved.nfds == 0) + { + sock = 0; + goto exit; /* no work to do */ + } + + /* Check pending write set for writeable sockets */ + rc1 = poll(mod_s.saved.fds_write, mod_s.saved.nfds, 0); + if (rc1 > 0 && Socket_continueWrites(&sock, mutex) == SOCKET_ERROR) + { + *rc = SOCKET_ERROR; + goto exit; + } + + /* Prevent performance issue by unlocking the socket_mutex while waiting for a ready socket. */ + Thread_unlock_mutex(mutex); + *rc = poll(mod_s.saved.fds_read, mod_s.saved.nfds, timeout_ms); + Thread_lock_mutex(mutex); + if (*rc == SOCKET_ERROR) + { + Socket_error("poll", 0); + goto exit; + } + Log(TRACE_MAX, -1, "Return code %d from poll", *rc); + + if (rc1 == 0 && *rc == 0) + { + sock = 0; + goto exit; /* no work to do */ + } + + mod_s.saved.cur_fd = 0; + while (mod_s.saved.cur_fd != -1) + { + if (isReady(mod_s.saved.cur_fd)) + break; + mod_s.saved.cur_fd = (mod_s.saved.cur_fd == mod_s.saved.nfds - 1) ? -1 : mod_s.saved.cur_fd + 1; + } + } + + *rc = 0; + if (mod_s.saved.cur_fd == -1) + sock = 0; + else + { + sock = mod_s.saved.fds_read[mod_s.saved.cur_fd].fd; + mod_s.saved.cur_fd = (mod_s.saved.cur_fd == mod_s.saved.nfds - 1) ? -1 : mod_s.saved.cur_fd + 1; + } +exit: + Thread_unlock_mutex(mutex); + FUNC_EXIT_RC(sock); + return sock; +} /* end getReadySocket */ +#endif + + +/** + * Reads one byte from a socket + * @param socket the socket to read from + * @param c the character read, returned + * @return completion code + */ +int Socket_getch(SOCKET socket, char* c) +{ + int rc = SOCKET_ERROR; + + FUNC_ENTRY; + if ((rc = SocketBuffer_getQueuedChar(socket, c)) != SOCKETBUFFER_INTERRUPTED) + goto exit; + + if ((rc = recv(socket, c, (size_t)1, 0)) == SOCKET_ERROR) + { + int err = Socket_error("recv - getch", socket); + if (err == EWOULDBLOCK || err == EAGAIN) + { + rc = TCPSOCKET_INTERRUPTED; + SocketBuffer_interrupted(socket, 0); + } + } + else if (rc == 0) + rc = SOCKET_ERROR; /* The return value from recv is 0 when the peer has performed an orderly shutdown. */ + else if (rc == 1) + { + SocketBuffer_queueChar(socket, *c); + rc = TCPSOCKET_COMPLETE; + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Attempts to read a number of bytes from a socket, non-blocking. If a previous read did not + * finish, then retrieve that data. + * @param socket the socket to read from + * @param bytes the number of bytes to read + * @param actual_len the actual number of bytes read + * @return completion code + */ +char *Socket_getdata(SOCKET socket, size_t bytes, size_t* actual_len, int *rc) +{ + char* buf; + + FUNC_ENTRY; + if (bytes == 0) + { + buf = SocketBuffer_complete(socket); + goto exit; + } + + buf = SocketBuffer_getQueuedData(socket, bytes, actual_len); + + if ((*rc = recv(socket, buf + (*actual_len), (int)(bytes - (*actual_len)), 0)) == SOCKET_ERROR) + { + *rc = Socket_error("recv - getdata", socket); + if (*rc != EAGAIN && *rc != EWOULDBLOCK) + { + buf = NULL; + goto exit; + } + } + else if (*rc == 0) /* rc 0 means the other end closed the socket, albeit "gracefully" */ + { + buf = NULL; + goto exit; + } + else + *actual_len += *rc; + + if (*actual_len == bytes) + SocketBuffer_complete(socket); + else /* we didn't read the whole packet */ + { + SocketBuffer_interrupted(socket, *actual_len); + Log(TRACE_MAX, -1, "%d bytes expected but %d bytes now received", (int)bytes, (int)*actual_len); + } +exit: + FUNC_EXIT; + return buf; +} + + +/** + * Indicate whether any data is pending outbound for a socket. + * @return boolean - true == no pending data. + */ +int Socket_noPendingWrites(SOCKET socket) +{ + SOCKET cursock = socket; + return ListFindItem(mod_s.write_pending, &cursock, intcompare) == NULL; +} + + +/** + * Attempts to write a series of iovec buffers to a socket in *one* system call so that + * they are sent as one packet. + * @param socket the socket to write to + * @param iovecs an array of buffers to write + * @param count number of buffers in iovecs + * @param bytes number of bytes actually written returned + * @return completion code, especially TCPSOCKET_INTERRUPTED + */ +int Socket_writev(SOCKET socket, iobuf* iovecs, int count, unsigned long* bytes) +{ + int rc; + + FUNC_ENTRY; + *bytes = 0L; +#if defined(_WIN32) || defined(_WIN64) + rc = WSASend(socket, iovecs, count, (LPDWORD)bytes, 0, NULL, NULL); + if (rc == SOCKET_ERROR) + { + int err = Socket_error("WSASend - putdatas", socket); + if (err == EWOULDBLOCK || err == EAGAIN) + rc = TCPSOCKET_INTERRUPTED; + } +#else +/*#define TCPSOCKET_INTERRUPTED_TESTING +This section forces the occasional return of TCPSOCKET_INTERRUPTED, +for testing purposes only! +*/ +#if defined(TCPSOCKET_INTERRUPTED_TESTING) + static int i = 0; + if (++i >= 10 && i < 21) + { + if (1) + { + printf("Deliberately simulating TCPSOCKET_INTERRUPTED\n"); + rc = TCPSOCKET_INTERRUPTED; /* simulate a network wait */ + } + else + { + printf("Deliberately simulating SOCKET_ERROR\n"); + rc = SOCKET_ERROR; + } + /* should *bytes always be 0? */ + if (i == 20) + { + printf("Shutdown socket\n"); + shutdown(socket, SHUT_WR); + } + } + else + { +#endif + rc = writev(socket, iovecs, count); + if (rc == SOCKET_ERROR) + { + int err = Socket_error("writev - putdatas", socket); + if (err == EWOULDBLOCK || err == EAGAIN) + rc = TCPSOCKET_INTERRUPTED; + } + else + *bytes = rc; +#if defined(TCPSOCKET_INTERRUPTED_TESTING) + } +#endif +#endif + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Attempts to write a series of buffers to a socket in *one* system call so that they are + * sent as one packet. + * @param socket the socket to write to + * @param buf0 the first buffer + * @param buf0len the length of data in the first buffer + * @param count number of buffers + * @param buffers an array of buffers to write + * @param buflens an array of corresponding buffer lengths + * @return completion code, especially TCPSOCKET_INTERRUPTED + */ +int Socket_putdatas(SOCKET socket, char* buf0, size_t buf0len, PacketBuffers bufs) +{ + unsigned long bytes = 0L; + iobuf iovecs[5]; + int frees1[5]; + int rc = TCPSOCKET_INTERRUPTED, i; + size_t total = buf0len; + + FUNC_ENTRY; + if (!Socket_noPendingWrites(socket)) + { + Log(LOG_SEVERE, -1, "Trying to write to socket %d for which there is already pending output", socket); + rc = SOCKET_ERROR; + goto exit; + } + + for (i = 0; i < bufs.count; i++) + total += bufs.buflens[i]; + + iovecs[0].iov_base = buf0; + iovecs[0].iov_len = (ULONG)buf0len; + frees1[0] = 1; /* this buffer should be freed by SocketBuffer if the write is interrupted */ + for (i = 0; i < bufs.count; i++) + { + iovecs[i+1].iov_base = bufs.buffers[i]; + iovecs[i+1].iov_len = (ULONG)bufs.buflens[i]; + frees1[i+1] = bufs.frees[i]; + } + + if ((rc = Socket_writev(socket, iovecs, bufs.count+1, &bytes)) != SOCKET_ERROR) + { + if (bytes == total) + rc = TCPSOCKET_COMPLETE; + else + { + SOCKET* sockmem = (SOCKET*)malloc(sizeof(SOCKET)); + + if (!sockmem) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + Log(TRACE_MIN, -1, "Partial write: %lu bytes of %lu actually written on socket %d", + bytes, total, socket); +#if defined(OPENSSL) + SocketBuffer_pendingWrite(socket, NULL, bufs.count+1, iovecs, frees1, total, bytes); +#else + SocketBuffer_pendingWrite(socket, bufs.count+1, iovecs, frees1, total, bytes); +#endif + *sockmem = socket; + if (!ListAppend(mod_s.write_pending, sockmem, sizeof(int))) + { + free(sockmem); + rc = PAHO_MEMORY_ERROR; + goto exit; + } +#if defined(USE_SELECT) + FD_SET(socket, &(mod_s.pending_wset)); +#endif + rc = TCPSOCKET_INTERRUPTED; + } + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Add a socket to the pending write list, so that it is checked for writing in select. This is used + * in connect processing when the TCP connect is incomplete, as we need to check the socket for both + * ready to read and write states. + * @param socket the socket to add + */ +void Socket_addPendingWrite(SOCKET socket) +{ +#if defined(USE_SELECT) + FD_SET(socket, &(mod_s.pending_wset)); +#endif +} + + +/** + * Clear a socket from the pending write list - if one was added with Socket_addPendingWrite + * @param socket the socket to remove + */ +void Socket_clearPendingWrite(SOCKET socket) +{ +#if defined(USE_SELECT) + if (FD_ISSET(socket, &(mod_s.pending_wset))) + FD_CLR(socket, &(mod_s.pending_wset)); +#endif +} + + +/** + * Close a socket without removing it from the select list. + * @param socket the socket to close + * @return completion code + */ +int Socket_close_only(SOCKET socket) +{ + int rc; + + FUNC_ENTRY; +#if defined(_WIN32) || defined(_WIN64) + if (shutdown(socket, SD_BOTH) == SOCKET_ERROR) + Socket_error("shutdown", socket); + if ((rc = closesocket(socket)) == SOCKET_ERROR) + Socket_error("close", socket); +#else + if (shutdown(socket, SHUT_WR) == SOCKET_ERROR) + Socket_error("shutdown", socket); + if ((rc = recv(socket, NULL, (size_t)0, 0)) == SOCKET_ERROR) + Socket_error("shutdown", socket); + if ((rc = close(socket)) == SOCKET_ERROR) + Socket_error("close", socket); +#endif + FUNC_EXIT_RC(rc); + return rc; +} + +#if defined(USE_SELECT) +/** + * Close a socket and remove it from the select list. + * @param socket the socket to close + * @return completion code + */ +int Socket_close(SOCKET socket) +{ + int rc = 0; + + FUNC_ENTRY; + Socket_close_only(socket); + FD_CLR(socket, &(mod_s.rset_saved)); + if (FD_ISSET(socket, &(mod_s.pending_wset))) + FD_CLR(socket, &(mod_s.pending_wset)); + if (mod_s.cur_clientsds != NULL && *(int*)(mod_s.cur_clientsds->content) == socket) + mod_s.cur_clientsds = mod_s.cur_clientsds->next; + Socket_abortWrite(socket); + SocketBuffer_cleanup(socket); + ListRemoveItem(mod_s.connect_pending, &socket, intcompare); + ListRemoveItem(mod_s.write_pending, &socket, intcompare); + + if (ListRemoveItem(mod_s.clientsds, &socket, intcompare)) + Log(TRACE_MIN, -1, "Removed socket %d", socket); + else + { + Log(LOG_ERROR, -1, "Failed to remove socket %d", socket); + rc = SOCKET_ERROR; + goto exit; + } + if (socket + 1 >= mod_s.maxfdp1) + { + /* now we have to reset mod_s.maxfdp1 */ + ListElement* cur_clientsds = NULL; + + mod_s.maxfdp1 = 0; + while (ListNextElement(mod_s.clientsds, &cur_clientsds)) + mod_s.maxfdp1 = max(*((int*)(cur_clientsds->content)), mod_s.maxfdp1); + ++(mod_s.maxfdp1); + Log(TRACE_MAX, -1, "Reset max fdp1 to %d", mod_s.maxfdp1); + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} +#else +/** + * Close a socket and remove it from the select list. + * @param socket the socket to close + * @return completion code + */ +int Socket_close(SOCKET socket) +{ + struct pollfd* fd; + int rc = 0; + + FUNC_ENTRY; + Socket_close_only(socket); + Socket_abortWrite(socket); + SocketBuffer_cleanup(socket); + ListRemoveItem(mod_s.connect_pending, &socket, intcompare); + ListRemoveItem(mod_s.write_pending, &socket, intcompare); + + if (mod_s.nfds == 0) + goto exit; + + fd = bsearch(&socket, mod_s.fds_read, (size_t)mod_s.nfds, sizeof(mod_s.fds_read[0]), cmpsockfds); + if (fd) + { + struct pollfd* last_fd = &mod_s.fds_read[mod_s.nfds - 1]; + + if (--mod_s.nfds == 0) + { + free(mod_s.fds_read); + mod_s.fds_read = NULL; + } + else + { + if (fd != last_fd) + { + /* shift array to remove the socket in question */ + memmove(fd, fd + 1, (mod_s.nfds - (fd - mod_s.fds_read)) * sizeof(mod_s.fds_read[0])); + } + mod_s.fds_read = realloc(mod_s.fds_read, sizeof(mod_s.fds_read[0]) * mod_s.nfds); + if (mod_s.fds_read == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + } + Log(TRACE_MIN, -1, "Removed socket %d", socket); + } + else + Log(LOG_ERROR, -1, "Failed to remove socket %d", socket); + + fd = bsearch(&socket, mod_s.fds_write, (size_t)(mod_s.nfds+1), sizeof(mod_s.fds_write[0]), cmpsockfds); + if (fd) + { + struct pollfd* last_fd = &mod_s.fds_write[mod_s.nfds]; + + if (mod_s.nfds == 0) + { + free(mod_s.fds_write); + mod_s.fds_write = NULL; + } + else + { + if (fd != last_fd) + { + /* shift array to remove the socket in question */ + memmove(fd, fd + 1, (mod_s.nfds - (fd - mod_s.fds_write)) * sizeof(mod_s.fds_write[0])); + } + mod_s.fds_write = realloc(mod_s.fds_write, sizeof(mod_s.fds_write[0]) * mod_s.nfds); + if (mod_s.fds_write == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + } + Log(TRACE_MIN, -1, "Removed socket %d", socket); + } + else + Log(LOG_ERROR, -1, "Failed to remove socket %d", socket); +exit: + FUNC_EXIT_RC(rc); + return rc; +} +#endif + + +/** + * Create a new socket and TCP connect to an address/port + * @param addr the address string + * @param port the TCP port + * @param sock returns the new socket + * @param timeout the timeout in milliseconds + * @return completion code 0=good, SOCKET_ERROR=fail + */ +#if defined(__GNUC__) && defined(__linux__) +int Socket_new(const char* addr, size_t addr_len, int port, SOCKET* sock, long timeout) +#else +int Socket_new(const char* addr, size_t addr_len, int port, SOCKET* sock) +#endif +{ + int type = SOCK_STREAM; + char *addr_mem; + struct sockaddr_in address; +#if defined(AF_INET6) + struct sockaddr_in6 address6; +#endif + int rc = SOCKET_ERROR; +#if defined(_WIN32) || defined(_WIN64) + short family; +#else + sa_family_t family = AF_INET; +#endif + struct addrinfo *result = NULL; + struct addrinfo hints = {0, AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP, 0, NULL, NULL, NULL}; + + FUNC_ENTRY; + *sock = SOCKET_ERROR; + memset(&address6, '\0', sizeof(address6)); + + if (addr[0] == '[') + { + ++addr; + --addr_len; + } + + if ((addr_mem = malloc( addr_len + 1u )) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + memcpy( addr_mem, addr, addr_len ); + addr_mem[addr_len] = '\0'; + +#if 0 /*defined(__GNUC__) && defined(__linux__)*/ + /* Commented out because the CI tests get intermittent ECONNABORTED return values + * and I don't know why yet. + */ + /* set getaddrinfo timeout if available */ + struct gaicb ar = {addr_mem, NULL, &hints, NULL}; + struct gaicb *reqs[] = {&ar}; + + unsigned long int seconds = timeout / 1000L; + unsigned long int nanos = (timeout - (seconds * 1000L)) * 1000000L; + struct timespec timeoutspec = {seconds, nanos}; + + rc = getaddrinfo_a(GAI_NOWAIT, reqs, 1, NULL); + if (rc == 0) + rc = gai_suspend((const struct gaicb* const *) reqs, 1, &timeoutspec); + + if (rc == 0) + { + rc = gai_error(reqs[0]); + result = ar.ar_result; + } +#else + rc = getaddrinfo(addr_mem, NULL, &hints, &result); +#endif + + if (rc == 0) + { + struct addrinfo* res = result; + + while (res) + { /* prefer ip4 addresses */ + if (res->ai_family == AF_INET || res->ai_next == NULL) + break; + res = res->ai_next; + } + + if (res == NULL) + rc = SOCKET_ERROR; + else +#if defined(AF_INET6) + if (res->ai_family == AF_INET6) + { + address6.sin6_port = htons(port); + address6.sin6_family = family = AF_INET6; + memcpy(&address6.sin6_addr, &((struct sockaddr_in6*)(res->ai_addr))->sin6_addr, sizeof(address6.sin6_addr)); + } + else +#endif + if (res->ai_family == AF_INET) + { + memset(&address.sin_zero, 0, sizeof(address.sin_zero)); + address.sin_port = htons(port); + address.sin_family = family = AF_INET; + address.sin_addr = ((struct sockaddr_in*)(res->ai_addr))->sin_addr; + } + else + rc = SOCKET_ERROR; + + freeaddrinfo(result); + } + else + { + Log(LOG_ERROR, -1, "getaddrinfo failed for addr %s with rc %d", addr_mem, rc); + rc = SOCKET_ERROR; + } + + if (rc != 0) + Log(LOG_ERROR, -1, "%s is not a valid IP address", addr_mem); + else + { + *sock = socket(family, type, 0); + if (*sock == INVALID_SOCKET) + rc = Socket_error("socket", *sock); + else + { +#if defined(NOSIGPIPE) + int opt = 1; + + if (setsockopt(*sock, SOL_SOCKET, SO_NOSIGPIPE, (void*)&opt, sizeof(opt)) != 0) + Log(LOG_ERROR, -1, "Could not set SO_NOSIGPIPE for socket %d", *sock); +#endif +/*#define SMALL_TCP_BUFFER_TESTING + This section sets the TCP send buffer to a small amount to provoke TCPSOCKET_INTERRUPTED + return codes from send, for testing only! +*/ +#if defined(SMALL_TCP_BUFFER_TESTING) + if (1) + { + int optsend = 100; //2 * 1440; + printf("Setting optsend to %d\n", optsend); + if (setsockopt(*sock, SOL_SOCKET, SO_SNDBUF, (void*)&optsend, sizeof(optsend)) != 0) + Log(LOG_ERROR, -1, "Could not set SO_SNDBUF for socket %d", *sock); + } +#endif + Log(TRACE_MIN, -1, "New socket %d for %s, port %d", *sock, addr, port); + if (Socket_addSocket(*sock) == SOCKET_ERROR) + rc = Socket_error("addSocket", *sock); + else + { + /* this could complete immediately, even though we are non-blocking */ + if (family == AF_INET) + rc = connect(*sock, (struct sockaddr*)&address, sizeof(address)); + #if defined(AF_INET6) + else + rc = connect(*sock, (struct sockaddr*)&address6, sizeof(address6)); + #endif + if (rc == SOCKET_ERROR) + rc = Socket_error("connect", *sock); + if (rc == EINPROGRESS || rc == EWOULDBLOCK) + { + SOCKET* pnewSd = (SOCKET*)malloc(sizeof(SOCKET)); + ListElement* result_t = NULL; + + if (!pnewSd) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + *pnewSd = *sock; + Thread_lock_mutex(socket_mutex); + result_t = ListAppend(mod_s.connect_pending, pnewSd, sizeof(SOCKET)); + Thread_unlock_mutex(socket_mutex); + if (!result_t) + { + free(pnewSd); + rc = PAHO_MEMORY_ERROR; + goto exit; + } + Log(TRACE_MIN, 15, "Connect pending"); + } + } + /* Prevent socket leak by closing unusable sockets, + as reported in https://github.com/eclipse/paho.mqtt.c/issues/135 */ + if (rc != 0 && (rc != EINPROGRESS) && (rc != EWOULDBLOCK)) + { + Thread_lock_mutex(socket_mutex); + Socket_close(*sock); /* close socket and remove from our list of sockets */ + Thread_unlock_mutex(socket_mutex); + *sock = SOCKET_ERROR; /* as initialized before */ + } + } + } + +exit: + if (addr_mem) + free(addr_mem); + + FUNC_EXIT_RC(rc); + return rc; +} + +static Socket_writeContinue* writecontinue = NULL; + +void Socket_setWriteContinueCallback(Socket_writeContinue* mywritecontinue) +{ + writecontinue = mywritecontinue; +} + +static Socket_writeComplete* writecomplete = NULL; + +void Socket_setWriteCompleteCallback(Socket_writeComplete* mywritecomplete) +{ + writecomplete = mywritecomplete; +} + +static Socket_writeAvailable* writeAvailable = NULL; + +void Socket_setWriteAvailableCallback(Socket_writeAvailable* mywriteavailable) +{ + writeAvailable = mywriteavailable; +} + +/** + * Continue an outstanding write for a particular socket + * @param socket that socket + * @return completion code: 0=incomplete, 1=complete, -1=socket error + */ +int Socket_continueWrite(SOCKET socket) +{ + int rc = 0; + pending_writes* pw; + unsigned long curbuflen = 0L, /* cumulative total of buffer lengths */ + bytes = 0L; + int curbuf = -1, i; + iobuf iovecs1[5]; + + FUNC_ENTRY; + pw = SocketBuffer_getWrite(socket); + +#if defined(OPENSSL) + if (pw->ssl) + { + rc = SSLSocket_continueWrite(pw); + goto exit; + } +#endif + + for (i = 0; i < pw->count; ++i) + { + if (pw->bytes <= curbuflen) + { /* if previously written length is less than the buffer we are currently looking at, + add the whole buffer */ + iovecs1[++curbuf].iov_len = pw->iovecs[i].iov_len; + iovecs1[curbuf].iov_base = pw->iovecs[i].iov_base; + } + else if (pw->bytes < curbuflen + pw->iovecs[i].iov_len) + { /* if previously written length is in the middle of the buffer we are currently looking at, + add some of the buffer */ + size_t offset = pw->bytes - curbuflen; + iovecs1[++curbuf].iov_len = pw->iovecs[i].iov_len - (ULONG)offset; + iovecs1[curbuf].iov_base = (char*)pw->iovecs[i].iov_base + offset; + } + curbuflen += pw->iovecs[i].iov_len; + } + + if ((rc = Socket_writev(socket, iovecs1, curbuf+1, &bytes)) != SOCKET_ERROR) + { + pw->bytes += bytes; + if ((rc = (pw->bytes == pw->total))) + { /* topic and payload buffers are freed elsewhere, when all references to them have been removed */ + for (i = 0; i < pw->count; i++) + { + if (pw->frees[i]) + { + free(pw->iovecs[i].iov_base); + pw->iovecs[i].iov_base = NULL; + } + } + rc = 1; /* signal complete */ + Log(TRACE_MIN, -1, "ContinueWrite: partial write now complete for socket %d", socket); + } + else + { + rc = 0; /* signal not complete */ + Log(TRACE_MIN, -1, "ContinueWrite wrote +%lu bytes on socket %d", bytes, socket); + } + } + else /* if we got SOCKET_ERROR we need to clean up anyway - a partial write is no good anymore */ + { + for (i = 0; i < pw->count; i++) + { + if (pw->frees[i]) + { + free(pw->iovecs[i].iov_base); + pw->iovecs[i].iov_base = NULL; + } + } + } +#if defined(OPENSSL) +exit: +#endif + FUNC_EXIT_RC(rc); + return rc; +} + + + +/** + * Continue an outstanding write for a particular socket + * @param socket that socket + * @return completion code: 0=incomplete, 1=complete, -1=socket error + */ +int Socket_abortWrite(SOCKET socket) +{ + int i = -1, rc = 0; + pending_writes* pw; + + FUNC_ENTRY; + if ((pw = SocketBuffer_getWrite(socket)) == NULL) + goto exit; + +#if defined(OPENSSL) + if (pw->ssl) + { + rc = SSLSocket_abortWrite(pw); + goto exit; + } +#endif + + for (i = 0; i < pw->count; i++) + { + if (pw->frees[i]) + { + Log(TRACE_MIN, -1, "Cleaning in abortWrite for socket %d", socket); + free(pw->iovecs[i].iov_base); + } + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +#if defined(USE_SELECT) +/** + * Continue any outstanding writes for a socket set + * @param pwset the set of sockets + * @param sock in case of a socket error contains the affected socket + * @return completion code, 0 or SOCKET_ERROR + */ +int Socket_continueWrites(fd_set* pwset, SOCKET* sock, mutex_type mutex) +#else +/** + * Continue any outstanding socket writes + + * @param sock in case of a socket error contains the affected socket + * @return completion code, 0 or SOCKET_ERROR + */ +int Socket_continueWrites(SOCKET* sock, mutex_type mutex) +#endif +{ + int rc1 = 0; + ListElement* curpending = mod_s.write_pending->first; + + FUNC_ENTRY; + while (curpending && curpending->content) + { + int socket = *(int*)(curpending->content); + int rc = 0; +#if defined(USE_SELECT) + + if (FD_ISSET(socket, pwset) && ((rc = Socket_continueWrite(socket)) != 0)) +#else + struct pollfd* fd; + + /* find the socket in the fds structure */ + fd = bsearch(&socket, mod_s.saved.fds_write, (size_t)mod_s.saved.nfds, sizeof(mod_s.saved.fds_write[0]), cmpsockfds); + + if ((fd->revents & POLLOUT) && ((rc = Socket_continueWrite(socket)) != 0)) +#endif + { + if (!SocketBuffer_writeComplete(socket)) + Log(LOG_SEVERE, -1, "Failed to remove pending write from socket buffer list"); +#if defined(USE_SELECT) + FD_CLR(socket, &(mod_s.pending_wset)); +#endif + if (!ListRemove(mod_s.write_pending, curpending->content)) + { + Log(LOG_SEVERE, -1, "Failed to remove pending write from list"); + ListNextElement(mod_s.write_pending, &curpending); + } + curpending = mod_s.write_pending->current; + + if (writeAvailable && rc > 0) + (*writeAvailable)(socket); + + if (writecomplete) + { + Thread_unlock_mutex(mutex); + (*writecomplete)(socket, rc); + Thread_lock_mutex(mutex); + } + } + else + ListNextElement(mod_s.write_pending, &curpending); + + if (writecontinue && rc == 0) + (*writecontinue)(socket); + + if (rc == SOCKET_ERROR) + { + *sock = socket; + rc1 = SOCKET_ERROR; + } + } + FUNC_EXIT_RC(rc1); + return rc1; +} + + +/** + * Convert a numeric address to character string + * @param sa socket numerical address + * @param sock socket + * @return the peer information + */ +char* Socket_getaddrname(struct sockaddr* sa, SOCKET sock) +{ +/** + * maximum length of the address string + */ +#define ADDRLEN INET6_ADDRSTRLEN+1 +/** + * maximum length of the port string + */ +#define PORTLEN 10 + static char addr_string[ADDRLEN + PORTLEN]; + +#if defined(_WIN32) || defined(_WIN64) + int buflen = ADDRLEN*2; + wchar_t buf[ADDRLEN*2]; + if (WSAAddressToStringW(sa, sizeof(struct sockaddr_in6), NULL, buf, (LPDWORD)&buflen) == SOCKET_ERROR) + Socket_error("WSAAddressToString", sock); + else + wcstombs(addr_string, buf, sizeof(addr_string)); + /* TODO: append the port information - format: [00:00:00::]:port */ + /* strcpy(&addr_string[strlen(addr_string)], "what?"); */ +#else + struct sockaddr_in *sin = (struct sockaddr_in *)sa; + size_t buflen = sizeof(addr_string) - strlen(addr_string); + + inet_ntop(sin->sin_family, &sin->sin_addr, addr_string, ADDRLEN); + if (snprintf(&addr_string[strlen(addr_string)], buflen, ":%d", ntohs(sin->sin_port)) >= buflen) + addr_string[sizeof(addr_string)-1] = '\0'; /* just in case of snprintf buffer filling */ +#endif + return addr_string; +} + + +/** + * Get information about the other end connected to a socket + * @param sock the socket to inquire on + * @return the peer information + */ +char* Socket_getpeer(SOCKET sock) +{ + struct sockaddr_in6 sa; + socklen_t sal = sizeof(sa); + + if (getpeername(sock, (struct sockaddr*)&sa, &sal) == SOCKET_ERROR) + { + Socket_error("getpeername", sock); + return "unknown"; + } + + return Socket_getaddrname((struct sockaddr*)&sa, sock); +} + + +#if defined(Socket_TEST) + +int main(int argc, char *argv[]) +{ + Socket_connect("127.0.0.1", 1883); + Socket_connect("localhost", 1883); + Socket_connect("loadsadsacalhost", 1883); +} + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.h new file mode 100644 index 0000000..58866ed --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Socket.h @@ -0,0 +1,154 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(SOCKET_H) +#define SOCKET_H + +#include +#include + +#if defined(_WIN32) || defined(_WIN64) +#include +#include +#include +#define MAXHOSTNAMELEN 256 +#define poll WSAPoll +#if !defined(SSLSOCKET_H) +#undef EAGAIN +#define EAGAIN WSAEWOULDBLOCK +#undef EINTR +#define EINTR WSAEINTR +#undef EINPROGRESS +#define EINPROGRESS WSAEINPROGRESS +#undef EWOULDBLOCK +#define EWOULDBLOCK WSAEWOULDBLOCK +#undef ENOTCONN +#define ENOTCONN WSAENOTCONN +#undef ECONNRESET +#define ECONNRESET WSAECONNRESET +#undef ETIMEDOUT +#define ETIMEDOUT WAIT_TIMEOUT +#endif +#define ioctl ioctlsocket +#define socklen_t int +#else +#define INVALID_SOCKET SOCKET_ERROR +#include +#if !defined(_WRS_KERNEL) +#include +#include +#include +#include +#include +#else +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#define ULONG size_t +#define SOCKET int +#endif + +#include "mutex_type.h" /* Needed for mutex_type */ + +/** socket operation completed successfully */ +#define TCPSOCKET_COMPLETE 0 +#if !defined(SOCKET_ERROR) + /** error in socket operation */ + #define SOCKET_ERROR -1 +#endif +/** must be the same as SOCKETBUFFER_INTERRUPTED */ +#define TCPSOCKET_INTERRUPTED -22 +#define SSL_FATAL -3 + +#if !defined(INET6_ADDRSTRLEN) +#define INET6_ADDRSTRLEN 46 /** only needed for gcc/cygwin on windows */ +#endif + + +#if !defined(max) +#define max(A,B) ( (A) > (B) ? (A):(B)) +#endif + +#include "LinkedList.h" + +/* + * Network write buffers for an MQTT packet + */ +typedef struct +{ + int count; /**> number of buffers/buflens/frees */ + char** buffers; /**> array of byte buffers */ + size_t* buflens; /**> array of lengths of buffers */ + int* frees; /**> array of flags indicating whether each buffer needs to be freed */ + uint8_t mask[4]; /**> websocket mask used to mask the buffer data, if any */ +} PacketBuffers; + + +/** + * Structure to hold all socket data for the module + */ +typedef struct +{ + List* connect_pending; /**< list of sockets for which a connect is pending */ + List* write_pending; /**< list of sockets for which a write is pending */ + +#if defined(USE_SELECT) + fd_set rset, /**< socket read set (see select doc) */ + rset_saved; /**< saved socket read set */ + int maxfdp1; /**< max descriptor used +1 (again see select doc) */ + List* clientsds; /**< list of client socket descriptors */ + ListElement* cur_clientsds; /**< current client socket descriptor (iterator) */ + fd_set pending_wset; /**< socket pending write set for select */ +#else + unsigned int nfds; /**< no of file descriptors for poll */ + struct pollfd* fds_read; /**< poll read file descriptors */ + struct pollfd* fds_write; + + struct { + int cur_fd; /**< index into the fds_saved array */ + unsigned int nfds; /**< number of fds in the fds_saved array */ + struct pollfd* fds_write; + struct pollfd* fds_read; + } saved; +#endif +} Sockets; + + +void Socket_outInitialize(void); +void Socket_outTerminate(void); +SOCKET Socket_getReadySocket(int more_work, int timeout, mutex_type mutex, int* rc); +int Socket_getch(SOCKET socket, char* c); +char *Socket_getdata(SOCKET socket, size_t bytes, size_t* actual_len, int* rc); +int Socket_putdatas(SOCKET socket, char* buf0, size_t buf0len, PacketBuffers bufs); +int Socket_close(SOCKET socket); +#if defined(__GNUC__) && defined(__linux__) +/* able to use GNU's getaddrinfo_a to make timeouts possible */ +int Socket_new(const char* addr, size_t addr_len, int port, SOCKET* socket, long timeout); +#else +int Socket_new(const char* addr, size_t addr_len, int port, SOCKET* socket); +#endif + +int Socket_noPendingWrites(SOCKET socket); +char* Socket_getpeer(SOCKET sock); + +void Socket_addPendingWrite(SOCKET socket); +void Socket_clearPendingWrite(SOCKET socket); + +typedef void Socket_writeContinue(SOCKET socket); +void Socket_setWriteContinueCallback(Socket_writeContinue*); + +typedef void Socket_writeComplete(SOCKET socket, int rc); +void Socket_setWriteCompleteCallback(Socket_writeComplete*); + +typedef void Socket_writeAvailable(SOCKET socket); +void Socket_setWriteAvailableCallback(Socket_writeAvailable*); + +#endif /* SOCKET_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.c new file mode 100644 index 0000000..8c526bb --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.c @@ -0,0 +1,427 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "SocketBuffer.h" +#include "LinkedList.h" +#include "Log.h" +#include "Messages.h" +#include "StackTrace.h" + +#include +#include +#include + +#include "Heap.h" + +#if defined(_WIN32) || defined(_WIN64) +#define iov_len len +#define iov_base buf +#endif + +/** + * Default input queue buffer + */ +static socket_queue* def_queue; + +/** + * List of queued input buffers + */ +static List* queues; + +/** + * List of queued write buffers + */ +static List writes; + + +int socketcompare(void* a, void* b); +int SocketBuffer_newDefQ(void); +void SocketBuffer_freeDefQ(void); +int pending_socketcompare(void* a, void* b); + + +/** + * List callback function for comparing socket_queues by socket + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int socketcompare(void* a, void* b) +{ + return ((socket_queue*)a)->socket == *(int*)b; +} + + +/** + * Create a new default queue when one has just been used. + */ +int SocketBuffer_newDefQ(void) +{ + int rc = PAHO_MEMORY_ERROR; + + def_queue = malloc(sizeof(socket_queue)); + if (def_queue) + { + def_queue->buflen = 1000; + def_queue->buf = malloc(def_queue->buflen); + if (def_queue->buf) + { + def_queue->socket = def_queue->index = 0; + def_queue->buflen = def_queue->datalen = def_queue->headerlen = 0; + rc = 0; + } + } + return rc; +} + + +/** + * Initialize the socketBuffer module + */ +int SocketBuffer_initialize(void) +{ + int rc = 0; + + FUNC_ENTRY; + rc = SocketBuffer_newDefQ(); + if (rc == 0) + { + if ((queues = ListInitialize()) == NULL) + rc = PAHO_MEMORY_ERROR; + } + ListZero(&writes); + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Free the default queue memory + */ +void SocketBuffer_freeDefQ(void) +{ + free(def_queue->buf); + free(def_queue); + def_queue = NULL; +} + + +/** + * Terminate the socketBuffer module + */ +void SocketBuffer_terminate(void) +{ + ListElement* cur = NULL; + ListEmpty(&writes); + + FUNC_ENTRY; + while (ListNextElement(queues, &cur)) + free(((socket_queue*)(cur->content))->buf); + ListFree(queues); + SocketBuffer_freeDefQ(); + FUNC_EXIT; +} + + +/** + * Cleanup any buffers for a specific socket + * @param socket the socket to clean up + */ +void SocketBuffer_cleanup(SOCKET socket) +{ + FUNC_ENTRY; + SocketBuffer_writeComplete(socket); /* clean up write buffers */ + if (ListFindItem(queues, &socket, socketcompare)) + { + free(((socket_queue*)(queues->current->content))->buf); + ListRemove(queues, queues->current->content); + } + if (def_queue->socket == socket) + { + def_queue->socket = def_queue->index = 0; + def_queue->headerlen = def_queue->datalen = 0; + } + FUNC_EXIT; +} + + +/** + * Get any queued data for a specific socket + * @param socket the socket to get queued data for + * @param bytes the number of bytes of data to retrieve + * @param actual_len the actual length returned + * @return the actual data + */ +char* SocketBuffer_getQueuedData(SOCKET socket, size_t bytes, size_t* actual_len) +{ + socket_queue* queue = NULL; + + FUNC_ENTRY; + if (ListFindItem(queues, &socket, socketcompare)) + { /* if there is queued data for this socket, add any data read to it */ + queue = (socket_queue*)(queues->current->content); + *actual_len = queue->datalen; + } + else + { + *actual_len = 0; + queue = def_queue; + } + if (bytes > queue->buflen) + { + if (queue->datalen > 0) + { + void* newmem = malloc(bytes); + if (newmem) + { + memcpy(newmem, queue->buf, queue->datalen); + free(queue->buf); + queue->buf = newmem; + } + else + { + free(queue->buf); + queue->buf = NULL; + goto exit; + } + } + else + queue->buf = realloc(queue->buf, bytes); + queue->buflen = bytes; + } +exit: + FUNC_EXIT; + return queue->buf; +} + + +/** + * Get any queued character for a specific socket + * @param socket the socket to get queued data for + * @param c the character returned if any + * @return completion code + */ +int SocketBuffer_getQueuedChar(SOCKET socket, char* c) +{ + int rc = SOCKETBUFFER_INTERRUPTED; + + FUNC_ENTRY; + if (ListFindItem(queues, &socket, socketcompare)) + { /* if there is queued data for this socket, read that first */ + socket_queue* queue = (socket_queue*)(queues->current->content); + if (queue->index < queue->headerlen) + { + *c = queue->fixed_header[(queue->index)++]; + Log(TRACE_MAX, -1, "index is now %d, headerlen %d", queue->index, (int)queue->headerlen); + rc = SOCKETBUFFER_COMPLETE; + goto exit; + } + else if (queue->index > 4) + { + Log(LOG_FATAL, -1, "header is already at full length"); + rc = SOCKET_ERROR; + goto exit; + } + } +exit: + FUNC_EXIT_RC(rc); + return rc; /* there was no queued char if rc is SOCKETBUFFER_INTERRUPTED*/ +} + + +/** + * A socket read was interrupted so we need to queue data + * @param socket the socket to get queued data for + * @param actual_len the actual length of data that was read + */ +void SocketBuffer_interrupted(SOCKET socket, size_t actual_len) +{ + socket_queue* queue = NULL; + + FUNC_ENTRY; + if (ListFindItem(queues, &socket, socketcompare)) + queue = (socket_queue*)(queues->current->content); + else /* new saved queue */ + { + queue = def_queue; + /* if SocketBuffer_queueChar() has not yet been called, then the socket number + in def_queue will not have been set. Issue #244. + If actual_len == 0 then we may not need to do anything - I'll leave that + optimization for another time. */ + queue->socket = socket; + ListAppend(queues, def_queue, sizeof(socket_queue)+def_queue->buflen); + SocketBuffer_newDefQ(); + } + queue->index = 0; + queue->datalen = actual_len; + FUNC_EXIT; +} + + +/** + * A socket read has now completed so we can get rid of the queue + * @param socket the socket for which the operation is now complete + * @return pointer to the default queue data + */ +char* SocketBuffer_complete(SOCKET socket) +{ + FUNC_ENTRY; + if (ListFindItem(queues, &socket, socketcompare)) + { + socket_queue* queue = (socket_queue*)(queues->current->content); + SocketBuffer_freeDefQ(); + def_queue = queue; + ListDetach(queues, queue); + } + def_queue->socket = def_queue->index = 0; + def_queue->headerlen = def_queue->datalen = 0; + FUNC_EXIT; + return def_queue->buf; +} + + +/** + * Queued a Charactor to a specific socket + * @param socket the socket for which to queue char for + * @param c the character to queue + */ +void SocketBuffer_queueChar(SOCKET socket, char c) +{ + int error = 0; + socket_queue* curq = def_queue; + + FUNC_ENTRY; + if (ListFindItem(queues, &socket, socketcompare)) + curq = (socket_queue*)(queues->current->content); + else if (def_queue->socket == 0) + { + def_queue->socket = socket; + def_queue->index = 0; + def_queue->datalen = 0; + } + else if (def_queue->socket != socket) + { + Log(LOG_FATAL, -1, "attempt to reuse socket queue"); + error = 1; + } + if (curq->index > 4) + { + Log(LOG_FATAL, -1, "socket queue fixed_header field full"); + error = 1; + } + if (!error) + { + curq->fixed_header[(curq->index)++] = c; + curq->headerlen = curq->index; + } + Log(TRACE_MAX, -1, "queueChar: index is now %d, headerlen %d", curq->index, (int)curq->headerlen); + FUNC_EXIT; +} + + +/** + * A socket write was interrupted so store the remaining data + * @param socket the socket for which the write was interrupted + * @param count the number of iovec buffers + * @param iovecs buffer array + * @param frees a set of flags indicating which of the iovecs array should be freed + * @param total total data length to be written + * @param bytes actual data length that was written + */ +#if defined(OPENSSL) +int SocketBuffer_pendingWrite(SOCKET socket, SSL* ssl, int count, iobuf* iovecs, int* frees, size_t total, size_t bytes) +#else +int SocketBuffer_pendingWrite(SOCKET socket, int count, iobuf* iovecs, int* frees, size_t total, size_t bytes) +#endif +{ + int i = 0; + pending_writes* pw = NULL; + int rc = 0; + + FUNC_ENTRY; + /* store the buffers until the whole packet is written */ + if ((pw = malloc(sizeof(pending_writes))) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + pw->socket = socket; +#if defined(OPENSSL) + pw->ssl = ssl; +#endif + pw->bytes = bytes; + pw->total = total; + pw->count = count; + for (i = 0; i < count; i++) + { + pw->iovecs[i] = iovecs[i]; + pw->frees[i] = frees[i]; + } + ListAppend(&writes, pw, sizeof(pw) + total); +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * List callback function for comparing pending_writes by socket + * @param a first integer value + * @param b second integer value + * @return boolean indicating whether a and b are equal + */ +int pending_socketcompare(void* a, void* b) +{ + return ((pending_writes*)a)->socket == *(int*)b; +} + + +/** + * Get any queued write data for a specific socket + * @param socket the socket to get queued data for + * @return pointer to the queued data or NULL + */ +pending_writes* SocketBuffer_getWrite(SOCKET socket) +{ + ListElement* le = ListFindItem(&writes, &socket, pending_socketcompare); + return (le) ? (pending_writes*)(le->content) : NULL; +} + + +/** + * A socket write has now completed so we can get rid of the queue + * @param socket the socket for which the operation is now complete + * @return completion code, boolean - was the queue removed? + */ +int SocketBuffer_writeComplete(SOCKET socket) +{ + return ListRemoveItem(&writes, &socket, pending_socketcompare); +} + + +/** + * Update the queued write data for a socket in the case of QoS 0 messages. + * @param socket the socket for which the operation is now complete + * @param topic the topic of the QoS 0 write + * @param payload the payload of the QoS 0 write + * @return pointer to the updated queued data structure, or NULL + */ +pending_writes* SocketBuffer_updateWrite(SOCKET socket, char* topic, char* payload) +{ + pending_writes* pw = NULL; + ListElement* le = NULL; + + FUNC_ENTRY; + if ((le = ListFindItem(&writes, &socket, pending_socketcompare)) != NULL) + { + pw = (pending_writes*)(le->content); + if (pw->count == 4) + { + pw->iovecs[2].iov_base = topic; + pw->iovecs[3].iov_base = payload; + } + } + + FUNC_EXIT; + return pw; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.h new file mode 100644 index 0000000..6027217 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/SocketBuffer.h @@ -0,0 +1,67 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(SOCKETBUFFER_H) +#define SOCKETBUFFER_H + +#include "Socket.h" + +#if defined(OPENSSL) +#include +#endif + +#if defined(_WIN32) || defined(_WIN64) + typedef WSABUF iobuf; +#else + typedef struct iovec iobuf; +#endif + +typedef struct +{ + SOCKET socket; + unsigned int index; + size_t headerlen; + char fixed_header[5]; /**< header plus up to 4 length bytes */ + size_t buflen, /**< total length of the buffer */ + datalen; /**< current length of data in buf */ + char* buf; +} socket_queue; + +typedef struct +{ + SOCKET socket; + int count; + size_t total; +#if defined(OPENSSL) + SSL* ssl; +#endif + size_t bytes; + iobuf iovecs[5]; + int frees[5]; +} pending_writes; + +#define SOCKETBUFFER_COMPLETE 0 +#if !defined(SOCKET_ERROR) + #define SOCKET_ERROR -1 +#endif +#define SOCKETBUFFER_INTERRUPTED -22 /* must be the same value as TCPSOCKET_INTERRUPTED */ + +int SocketBuffer_initialize(void); +void SocketBuffer_terminate(void); +void SocketBuffer_cleanup(SOCKET socket); +char* SocketBuffer_getQueuedData(SOCKET socket, size_t bytes, size_t* actual_len); +int SocketBuffer_getQueuedChar(SOCKET socket, char* c); +void SocketBuffer_interrupted(SOCKET socket, size_t actual_len); +char* SocketBuffer_complete(SOCKET socket); +void SocketBuffer_queueChar(SOCKET socket, char c); + +#if defined(OPENSSL) +int SocketBuffer_pendingWrite(SOCKET socket, SSL* ssl, int count, iobuf* iovecs, int* frees, size_t total, size_t bytes); +#else +int SocketBuffer_pendingWrite(SOCKET socket, int count, iobuf* iovecs, int* frees, size_t total, size_t bytes); +#endif +pending_writes* SocketBuffer_getWrite(SOCKET socket); +int SocketBuffer_writeComplete(SOCKET socket); +pending_writes* SocketBuffer_updateWrite(SOCKET socket, char* topic, char* payload); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.c new file mode 100644 index 0000000..3d474b5 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.c @@ -0,0 +1,195 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "StackTrace.h" +#include "Log.h" +#include "LinkedList.h" + +#include "Clients.h" +#include "Thread.h" + +#include +#include +#include + +#if defined(_WIN32) || defined(_WIN64) +#define snprintf _snprintf +#endif + +/*BE +def STACKENTRY +{ + n32 ptr STRING open "name" + n32 dec "line" +} + +defList(STACKENTRY) +BE*/ + +#define MAX_STACK_DEPTH 50 +#define MAX_FUNCTION_NAME_LENGTH 30 +#define MAX_THREADS 255 + +typedef struct +{ + thread_id_type threadid; + char name[MAX_FUNCTION_NAME_LENGTH]; + int line; +} stackEntry; + +typedef struct +{ + thread_id_type id; + int maxdepth; + int current_depth; + stackEntry callstack[MAX_STACK_DEPTH]; +} threadEntry; + +#include "StackTrace.h" + +#if !defined(NOSTACKTRACE) + +static int thread_count = 0; +static threadEntry threads[MAX_THREADS]; +static threadEntry *my_thread = NULL; + +#if defined(_WIN32) || defined(_WIN64) +mutex_type stack_mutex; +#else +static pthread_mutex_t stack_mutex_store = PTHREAD_MUTEX_INITIALIZER; +static mutex_type stack_mutex = &stack_mutex_store; +#endif + + +int setStack(int create); + + +int setStack(int create) +{ + int i = -1; + thread_id_type curid = Thread_getid(); + + my_thread = NULL; + for (i = 0; i < MAX_THREADS && i < thread_count; ++i) + { + if (threads[i].id == curid) + { + my_thread = &threads[i]; + break; + } + } + + if (my_thread == NULL && create && thread_count < MAX_THREADS) + { + my_thread = &threads[thread_count]; + my_thread->id = curid; + my_thread->maxdepth = 0; + my_thread->current_depth = 0; + ++thread_count; + } + return my_thread != NULL; /* good == 1 */ +} + +void StackTrace_entry(const char* name, int line, enum LOG_LEVELS trace_level) +{ + Thread_lock_mutex(stack_mutex); + if (!setStack(1)) + goto exit; + if (trace_level != -1) + Log_stackTrace(trace_level, 9, my_thread->id, my_thread->current_depth, name, line, NULL); + strncpy(my_thread->callstack[my_thread->current_depth].name, name, sizeof(my_thread->callstack[0].name)-1); + my_thread->callstack[(my_thread->current_depth)++].line = line; + if (my_thread->current_depth > my_thread->maxdepth) + my_thread->maxdepth = my_thread->current_depth; + if (my_thread->current_depth >= MAX_STACK_DEPTH) + Log(LOG_FATAL, -1, "Max stack depth exceeded"); +exit: + Thread_unlock_mutex(stack_mutex); +} + + +void StackTrace_exit(const char* name, int line, void* rc, enum LOG_LEVELS trace_level) +{ + Thread_lock_mutex(stack_mutex); + if (!setStack(0)) + goto exit; + if (--(my_thread->current_depth) < 0) + Log(LOG_FATAL, -1, "Minimum stack depth exceeded for thread %lu", my_thread->id); + if (strncmp(my_thread->callstack[my_thread->current_depth].name, name, sizeof(my_thread->callstack[0].name)-1) != 0) + Log(LOG_FATAL, -1, "Stack mismatch. Entry:%s Exit:%s\n", my_thread->callstack[my_thread->current_depth].name, name); + if (trace_level != -1) + { + if (rc == NULL) + Log_stackTrace(trace_level, 10, my_thread->id, my_thread->current_depth, name, line, NULL); + else + Log_stackTrace(trace_level, 11, my_thread->id, my_thread->current_depth, name, line, (int*)rc); + } +exit: + Thread_unlock_mutex(stack_mutex); +} + + +void StackTrace_printStack(FILE* dest) +{ + FILE* file = stdout; + int t = 0; + + if (dest) + file = dest; + for (t = 0; t < thread_count; ++t) + { + threadEntry *cur_thread = &threads[t]; + + if (cur_thread->id > 0) + { + int i = cur_thread->current_depth - 1; + + fprintf(file, "=========== Start of stack trace for thread %lu ==========\n", (unsigned long)cur_thread->id); + if (i >= 0) + { + fprintf(file, "%s (%d)\n", cur_thread->callstack[i].name, cur_thread->callstack[i].line); + while (--i >= 0) + fprintf(file, " at %s (%d)\n", cur_thread->callstack[i].name, cur_thread->callstack[i].line); + } + fprintf(file, "=========== End of stack trace for thread %lu ==========\n\n", (unsigned long)cur_thread->id); + } + } + if (file != stdout && file != stderr && file != NULL) + fclose(file); +} + + +char* StackTrace_get(thread_id_type threadid, char* buf, int bufsize) +{ + int t = 0; + + if (bufsize < 100) + goto exit; + buf[0] = '\0'; + for (t = 0; t < thread_count; ++t) + { + threadEntry *cur_thread = &threads[t]; + + if (cur_thread->id == threadid) + { + int i = cur_thread->current_depth - 1; + int curpos = 0; + + if (i >= 0) + { + curpos += snprintf(&buf[curpos], bufsize - curpos -1, + "%s (%d)\n", cur_thread->callstack[i].name, cur_thread->callstack[i].line); + while (--i >= 0) + curpos += snprintf(&buf[curpos], bufsize - curpos -1, /* lgtm [cpp/overflowing-snprintf] */ + " at %s (%d)\n", cur_thread->callstack[i].name, cur_thread->callstack[i].line); + if (buf[--curpos] == '\n') + buf[curpos] = '\0'; + } + break; + } + } +exit: + return buf; +} + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.h new file mode 100644 index 0000000..b93ce6f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/StackTrace.h @@ -0,0 +1,62 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef STACKTRACE_H_ +#define STACKTRACE_H_ + +#if defined(HIGH_PERFORMANCE) +#define NOSTACKTRACE 1 +#endif + +#include +#include "Log.h" +#include "Thread.h" + +#if defined(NOSTACKTRACE) +#define FUNC_ENTRY +#define FUNC_ENTRY_NOLOG +#define FUNC_ENTRY_MED +#define FUNC_ENTRY_MAX +#define FUNC_EXIT +#define FUNC_EXIT_NOLOG +#define FUNC_EXIT_MED +#define FUNC_EXIT_MAX +#define FUNC_EXIT_RC(x) +#define FUNC_EXIT_MED_RC(x) +#define FUNC_EXIT_MAX_RC(x) +#else +#if defined(_WIN32) || defined(_WIN64) +#define inline __inline +#define FUNC_ENTRY StackTrace_entry(__FUNCTION__, __LINE__, TRACE_MINIMUM) +#define FUNC_ENTRY_NOLOG StackTrace_entry(__FUNCTION__, __LINE__, -1) +#define FUNC_ENTRY_MED StackTrace_entry(__FUNCTION__, __LINE__, TRACE_MEDIUM) +#define FUNC_ENTRY_MAX StackTrace_entry(__FUNCTION__, __LINE__, TRACE_MAXIMUM) +#define FUNC_EXIT StackTrace_exit(__FUNCTION__, __LINE__, NULL, TRACE_MINIMUM) +#define FUNC_EXIT_NOLOG StackTrace_exit(__FUNCTION__, __LINE__, NULL, -1) +#define FUNC_EXIT_MED StackTrace_exit(__FUNCTION__, __LINE__, NULL, TRACE_MEDIUM) +#define FUNC_EXIT_MAX StackTrace_exit(__FUNCTION__, __LINE__, NULL, TRACE_MAXIMUM) +#define FUNC_EXIT_RC(x) StackTrace_exit(__FUNCTION__, __LINE__, &x, TRACE_MINIMUM) +#define FUNC_EXIT_MED_RC(x) StackTrace_exit(__FUNCTION__, __LINE__, &x, TRACE_MEDIUM) +#define FUNC_EXIT_MAX_RC(x) StackTrace_exit(__FUNCTION__, __LINE__, &x, TRACE_MAXIMUM) +#else +#define FUNC_ENTRY StackTrace_entry(__func__, __LINE__, TRACE_MINIMUM) +#define FUNC_ENTRY_NOLOG StackTrace_entry(__func__, __LINE__, -1) +#define FUNC_ENTRY_MED StackTrace_entry(__func__, __LINE__, TRACE_MEDIUM) +#define FUNC_ENTRY_MAX StackTrace_entry(__func__, __LINE__, TRACE_MAXIMUM) +#define FUNC_EXIT StackTrace_exit(__func__, __LINE__, NULL, TRACE_MINIMUM) +#define FUNC_EXIT_NOLOG StackTrace_exit(__func__, __LINE__, NULL, -1) +#define FUNC_EXIT_MED StackTrace_exit(__func__, __LINE__, NULL, TRACE_MEDIUM) +#define FUNC_EXIT_MAX StackTrace_exit(__func__, __LINE__, NULL, TRACE_MAXIMUM) +#define FUNC_EXIT_RC(x) StackTrace_exit(__func__, __LINE__, &x, TRACE_MINIMUM) +#define FUNC_EXIT_MED_RC(x) StackTrace_exit(__func__, __LINE__, &x, TRACE_MEDIUM) +#define FUNC_EXIT_MAX_RC(x) StackTrace_exit(__func__, __LINE__, &x, TRACE_MAXIMUM) +#endif +#endif + +void StackTrace_entry(const char* name, int line, enum LOG_LEVELS trace); +void StackTrace_exit(const char* name, int line, void* return_value, enum LOG_LEVELS trace); + +void StackTrace_printStack(FILE* dest); +char* StackTrace_get(thread_id_type, char* buf, int bufsize); + +#endif /* STACKTRACE_H_ */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.c new file mode 100644 index 0000000..0c2b173 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.c @@ -0,0 +1,666 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "Thread.h" +#if defined(THREAD_UNIT_TESTS) +#define NOSTACKTRACE +#endif +#include "Log.h" +#include "StackTrace.h" + +#undef malloc +#undef realloc +#undef free + +#if !defined(_WIN32) && !defined(_WIN64) +#include +#include +#include +#include +#include +#include +#include +#endif +#include + +#include "OsWrapper.h" + +/** + * Start a new thread + * @param fn the function to run, must be of the correct signature + * @param parameter pointer to the function parameter, can be NULL + */ +void Thread_start(thread_fn fn, void* parameter) +{ +#if defined(_WIN32) || defined(_WIN64) + thread_type thread = NULL; +#else + thread_type thread = 0; + pthread_attr_t attr; +#endif + + FUNC_ENTRY; +#if defined(_WIN32) || defined(_WIN64) + thread = CreateThread(NULL, 0, fn, parameter, 0, NULL); + CloseHandle(thread); +#else + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + if (pthread_create(&thread, &attr, fn, parameter) != 0) + thread = 0; + pthread_attr_destroy(&attr); +#endif + FUNC_EXIT; +} + + +int Thread_set_name(const char* thread_name) +{ + int rc = 0; +#if defined(_WIN32) || defined(_WIN64) +#define MAX_THREAD_NAME_LENGTH 30 + wchar_t wchars[MAX_THREAD_NAME_LENGTH]; +#endif + FUNC_ENTRY; + +#if defined(_WIN32) || defined(_WIN64) +/* Using NTDDI_VERSION rather than WINVER for more detailed version targeting */ +/* Can't get this conditional compilation to work so remove it for now */ +/*#if NTDDI_VERSION >= NTDDI_WIN10_RS1 + mbstowcs(wchars, thread_name, MAX_THREAD_NAME_LENGTH); + rc = (int)SetThreadDescription(GetCurrentThread(), wchars); +#endif*/ +#elif defined(OSX) + /* pthread_setname_np __API_AVAILABLE(macos(10.6), ios(3.2)) */ +#if defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 + rc = pthread_setname_np(thread_name); +#endif +#else +#if defined(__GNUC__) && defined(__linux__) +#if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 12 + rc = pthread_setname_np(Thread_getid(), thread_name); +#endif +#endif +#endif + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Create a new mutex + * @param rc return code: 0 for success, negative otherwise + * @return the new mutex + */ +mutex_type Thread_create_mutex(int* rc) +{ + mutex_type mutex = NULL; + + FUNC_ENTRY; + *rc = -1; + #if defined(_WIN32) || defined(_WIN64) + mutex = CreateMutex(NULL, 0, NULL); + *rc = (mutex == NULL) ? GetLastError() : 0; + #else + mutex = malloc(sizeof(pthread_mutex_t)); + if (mutex) + *rc = pthread_mutex_init(mutex, NULL); + #endif + FUNC_EXIT_RC(*rc); + return mutex; +} + + +/** + * Lock a mutex which has alrea + * @return completion code, 0 is success + */ +int Thread_lock_mutex(mutex_type mutex) +{ + int rc = -1; + + /* don't add entry/exit trace points as the stack log uses mutexes - recursion beckons */ + #if defined(_WIN32) || defined(_WIN64) + /* WaitForSingleObject returns WAIT_OBJECT_0 (0), on success */ + rc = WaitForSingleObject(mutex, INFINITE); + #else + rc = pthread_mutex_lock(mutex); + #endif + + return rc; +} + + +/** + * Unlock a mutex which has already been locked + * @param mutex the mutex + * @return completion code, 0 is success + */ +int Thread_unlock_mutex(mutex_type mutex) +{ + int rc = -1; + + /* don't add entry/exit trace points as the stack log uses mutexes - recursion beckons */ + #if defined(_WIN32) || defined(_WIN64) + /* if ReleaseMutex fails, the return value is 0 */ + if (ReleaseMutex(mutex) == 0) + rc = GetLastError(); + else + rc = 0; + #else + rc = pthread_mutex_unlock(mutex); + #endif + + return rc; +} + + +/** + * Destroy a mutex which has already been created + * @param mutex the mutex + */ +int Thread_destroy_mutex(mutex_type mutex) +{ + int rc = 0; + + FUNC_ENTRY; + #if defined(_WIN32) || defined(_WIN64) + rc = CloseHandle(mutex); + #else + rc = pthread_mutex_destroy(mutex); + free(mutex); + #endif + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Get the thread id of the thread from which this function is called + * @return thread id, type varying according to OS + */ +thread_id_type Thread_getid(void) +{ + #if defined(_WIN32) || defined(_WIN64) + return GetCurrentThreadId(); + #else + return pthread_self(); + #endif +} + + +/** + * Create a new semaphore + * @param rc return code: 0 for success, negative otherwise + * @return the new condition variable + */ +sem_type Thread_create_sem(int *rc) +{ + sem_type sem = NULL; + + FUNC_ENTRY; + *rc = -1; + #if defined(_WIN32) || defined(_WIN64) + sem = CreateEvent( + NULL, /* default security attributes */ + FALSE, /* manual-reset event? */ + FALSE, /* initial state is nonsignaled */ + NULL /* object name */ + ); + *rc = (sem == NULL) ? GetLastError() : 0; + #elif defined(OSX) + sem = dispatch_semaphore_create(0L); + *rc = (sem == NULL) ? -1 : 0; + #else + sem = malloc(sizeof(sem_t)); + if (sem) + *rc = sem_init(sem, 0, 0); + #endif + FUNC_EXIT_RC(*rc); + return sem; +} + + +/** + * Wait for a semaphore to be posted, or timeout. + * @param sem the semaphore + * @param timeout the maximum time to wait, in milliseconds + * @return completion code + */ +int Thread_wait_sem(sem_type sem, int timeout) +{ +/* sem_timedwait is the obvious call to use, but seemed not to work on the Viper, + * so I've used trywait in a loop instead. Ian Craggs 23/7/2010 + */ + int rc = -1; +#if !defined(_WIN32) && !defined(_WIN64) && !defined(OSX) +#define USE_TRYWAIT +#if defined(USE_TRYWAIT) + int i = 0; + useconds_t interval = 10000; /* 10000 microseconds: 10 milliseconds */ + int count = (1000 * timeout) / interval; /* how many intervals in timeout period */ +#else + struct timespec ts; +#endif +#endif + + FUNC_ENTRY; + #if defined(_WIN32) || defined(_WIN64) + /* returns 0 (WAIT_OBJECT_0) on success, non-zero (WAIT_TIMEOUT) if timeout occurred */ + rc = WaitForSingleObject(sem, timeout < 0 ? 0 : timeout); + if (rc == WAIT_TIMEOUT) + rc = ETIMEDOUT; + #elif defined(OSX) + /* returns 0 on success, non-zero if timeout occurred */ + rc = (int)dispatch_semaphore_wait(sem, dispatch_time(DISPATCH_TIME_NOW, (int64_t)timeout*1000000L)); + if (rc != 0) + rc = ETIMEDOUT; + #elif defined(USE_TRYWAIT) + while (++i < count && (rc = sem_trywait(sem)) != 0) + { + if (rc == -1 && ((rc = errno) != EAGAIN)) + { + rc = 0; + break; + } + usleep(interval); /* microseconds - .1 of a second */ + } + #else + /* We have to use CLOCK_REALTIME rather than MONOTONIC for sem_timedwait interval. + * Does this make it susceptible to system clock changes? + * The intervals are small enough, and repeated, that I think it's not an issue. + */ + if (clock_gettime(CLOCK_REALTIME, &ts) != -1) + { + ts.tv_sec += timeout; + rc = sem_timedwait(sem, &ts); + } + #endif + + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Check to see if a semaphore has been posted, without waiting + * The semaphore will be unchanged, if the return value is false. + * The semaphore will have been decremented, if the return value is true. + * @param sem the semaphore + * @return 0 (false) or 1 (true) + */ +int Thread_check_sem(sem_type sem) +{ +#if defined(_WIN32) || defined(_WIN64) + /* if the return value is not 0, the semaphore will not have been decremented */ + return WaitForSingleObject(sem, 0) == WAIT_OBJECT_0; +#elif defined(OSX) + /* if the return value is not 0, the semaphore will not have been decremented */ + return dispatch_semaphore_wait(sem, DISPATCH_TIME_NOW) == 0; +#else + /* If the call was unsuccessful, the state of the semaphore shall be unchanged, + * and the function shall return a value of -1 */ + return sem_trywait(sem) == 0; +#endif +} + + +/** + * Post a semaphore + * @param sem the semaphore + * @return 0 on success + */ +int Thread_post_sem(sem_type sem) +{ + int rc = 0; + + FUNC_ENTRY; + #if defined(_WIN32) || defined(_WIN64) + if (SetEvent(sem) == 0) + rc = GetLastError(); + #elif defined(OSX) + rc = (int)dispatch_semaphore_signal(sem); + #else + int val; + int rc1 = sem_getvalue(sem, &val); + if (rc1 != 0) + rc = errno; + else if (val == 0 && sem_post(sem) == -1) + rc = errno; + #endif + + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Destroy a semaphore which has already been created + * @param sem the semaphore + */ +int Thread_destroy_sem(sem_type sem) +{ + int rc = 0; + + FUNC_ENTRY; + #if defined(_WIN32) || defined(_WIN64) + rc = CloseHandle(sem); + #elif defined(OSX) + dispatch_release(sem); + #else + rc = sem_destroy(sem); + free(sem); + #endif + FUNC_EXIT_RC(rc); + return rc; +} + + +#if !defined(_WIN32) && !defined(_WIN64) + +/** + * Create a new condition variable + * @return the condition variable struct + */ +cond_type Thread_create_cond(int *rc) +{ + cond_type condvar = NULL; + pthread_condattr_t attr; + + FUNC_ENTRY; + *rc = -1; + pthread_condattr_init(&attr); + +#if 0 + /* in theory, a monotonic clock should be able to be used. However on at least + * one system reported, even though setclock() reported success, it didn't work. + */ + if ((rc = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC)) == 0) + use_clock_monotonic = 1; + else + Log(LOG_ERROR, -1, "Error %d calling pthread_condattr_setclock(CLOCK_MONOTONIC)", rc); +#endif + + condvar = malloc(sizeof(cond_type_struct)); + if (condvar) + { + *rc = pthread_cond_init(&condvar->cond, &attr); + *rc = pthread_mutex_init(&condvar->mutex, NULL); + } + + FUNC_EXIT_RC(*rc); + return condvar; +} + +/** + * Signal a condition variable + * @return completion code + */ +int Thread_signal_cond(cond_type condvar) +{ + int rc = 0; + + FUNC_ENTRY; + pthread_mutex_lock(&condvar->mutex); + rc = pthread_cond_signal(&condvar->cond); + pthread_mutex_unlock(&condvar->mutex); + + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * Wait with a timeout (ms) for condition variable + * @return 0 for success, ETIMEDOUT otherwise + */ +int Thread_wait_cond(cond_type condvar, int timeout_ms) +{ + int rc = 0; + struct timespec cond_timeout; + struct timespec interval; + + FUNC_ENTRY; + interval.tv_sec = timeout_ms / 1000; + interval.tv_nsec = (timeout_ms % 1000) * 1000000L; + +#if defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 /* for older versions of MacOS */ + struct timeval cur_time; + gettimeofday(&cur_time, NULL); + cond_timeout.tv_sec = cur_time.tv_sec; + cond_timeout.tv_nsec = cur_time.tv_usec * 1000; +#else + clock_gettime(CLOCK_REALTIME, &cond_timeout); +#endif + + cond_timeout.tv_sec += interval.tv_sec; + cond_timeout.tv_nsec += (timeout_ms % 1000) * 1000000L; + + if (cond_timeout.tv_nsec >= 1000000000L) + { + cond_timeout.tv_sec++; + cond_timeout.tv_nsec += (cond_timeout.tv_nsec - 1000000000L); + } + + pthread_mutex_lock(&condvar->mutex); + rc = pthread_cond_timedwait(&condvar->cond, &condvar->mutex, &cond_timeout); + pthread_mutex_unlock(&condvar->mutex); + + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * Destroy a condition variable + * @return completion code + */ +int Thread_destroy_cond(cond_type condvar) +{ + int rc = 0; + + rc = pthread_mutex_destroy(&condvar->mutex); + rc = pthread_cond_destroy(&condvar->cond); + free(condvar); + + return rc; +} +#endif + + +#if defined(THREAD_UNIT_TESTS) + +#if defined(_WIN32) || defined(_WINDOWS) +#define mqsleep(A) Sleep(1000*A) +#define START_TIME_TYPE DWORD +static DWORD start_time = 0; +START_TIME_TYPE start_clock(void) +{ + return GetTickCount(); +} +#elif defined(AIX) +#define mqsleep sleep +#define START_TIME_TYPE struct timespec +START_TIME_TYPE start_clock(void) +{ + static struct timespec start; + clock_gettime(CLOCK_REALTIME, &start); + return start; +} +#else +#define mqsleep sleep +#define START_TIME_TYPE struct timeval +/* TODO - unused - remove? static struct timeval start_time; */ +START_TIME_TYPE start_clock(void) +{ + struct timeval start_time; + gettimeofday(&start_time, NULL); + return start_time; +} +#endif + + +#if defined(_WIN32) +long elapsed(START_TIME_TYPE start_time) +{ + return GetTickCount() - start_time; +} +#elif defined(AIX) +#define assert(a) +long elapsed(struct timespec start) +{ + struct timespec now, res; + + clock_gettime(CLOCK_REALTIME, &now); + ntimersub(now, start, res); + return (res.tv_sec)*1000L + (res.tv_nsec)/1000000L; +} +#else +long elapsed(START_TIME_TYPE start_time) +{ + struct timeval now, res; + + gettimeofday(&now, NULL); + timersub(&now, &start_time, &res); + return (res.tv_sec)*1000 + (res.tv_usec)/1000; +} +#endif + + +int tests = 0, failures = 0; + +void myassert(char* filename, int lineno, char* description, int value, char* format, ...) +{ + ++tests; + if (!value) + { + va_list args; + + ++failures; + printf("Assertion failed, file %s, line %d, description: %s\n", filename, lineno, description); + + va_start(args, format); + vprintf(format, args); + va_end(args); + + //cur_output += sprintf(cur_output, "file %s, line %d \n", + // description, filename, lineno); + } + else + printf("Assertion succeeded, file %s, line %d, description: %s\n", filename, lineno, description); +} + +#define assert(a, b, c, d) myassert(__FILE__, __LINE__, a, b, c, d) +#define assert1(a, b, c, d, e) myassert(__FILE__, __LINE__, a, b, c, d, e) + +#include + +thread_return_type cond_secondary(void* n) +{ + int rc = 0; + cond_type cond = n; + + printf("This should return immediately as it was posted already\n"); + rc = Thread_wait_cond(cond, 99999); + assert("rc 1 from wait_cond", rc == 1, "rc was %d", rc); + + printf("This should hang around a few seconds\n"); + rc = Thread_wait_cond(cond, 99999); + assert("rc 1 from wait_cond", rc == 1, "rc was %d", rc); + + printf("Secondary cond thread ending\n"); + return 0; +} + + +int cond_test() +{ + int rc = 0; + cond_type cond = Thread_create_cond(); + + printf("Post secondary so it should return immediately\n"); + rc = Thread_signal_cond(cond); + assert("rc 0 from signal cond", rc == 0, "rc was %d", rc); + + printf("Starting secondary thread\n"); + Thread_start(cond_secondary, (void*)cond); + + sleep(3); + + printf("post secondary\n"); + rc = Thread_signal_cond(cond); + assert("rc 1 from signal cond", rc == 1, "rc was %d", rc); + + sleep(3); + + printf("Main thread ending\n"); + + return failures; +} + + +thread_return_type sem_secondary(void* n) +{ + int rc = 0; + sem_type sem = n; + + printf("Secondary semaphore pointer %p\n", sem); + + rc = Thread_check_sem(sem); + assert("rc 1 from check_sem", rc == 1, "rc was %d", rc); + + printf("Secondary thread about to wait\n"); + rc = Thread_wait_sem(sem, 99999); + printf("Secondary thread returned from wait %d\n", rc); + + printf("Secondary thread about to wait\n"); + rc = Thread_wait_sem(sem, 99999); + printf("Secondary thread returned from wait %d\n", rc); + printf("Secondary check sem %d\n", Thread_check_sem(sem)); + + printf("Secondary thread ending\n"); + return 0; +} + + +int sem_test() +{ + int rc = 0; + sem_type sem = Thread_create_sem(); + + printf("Primary semaphore pointer %p\n", sem); + + rc = Thread_check_sem(sem); + assert("rc 0 from check_sem", rc == 0, "rc was %d\n", rc); + + printf("post secondary so then check should be 1\n"); + rc = Thread_post_sem(sem); + assert("rc 0 from post_sem", rc == 0, "rc was %d\n", rc); + + rc = Thread_check_sem(sem); + assert("rc 1 from check_sem", rc == 1, "rc was %d", rc); + + printf("Starting secondary thread\n"); + Thread_start(sem_secondary, (void*)sem); + + sleep(3); + rc = Thread_check_sem(sem); + assert("rc 1 from check_sem", rc == 1, "rc was %d", rc); + + printf("post secondary\n"); + rc = Thread_post_sem(sem); + assert("rc 1 from post_sem", rc == 1, "rc was %d", rc); + + sleep(3); + + printf("Main thread ending\n"); + + return failures; +} + + +int main(int argc, char *argv[]) +{ + sem_test(); + //cond_test(); +} + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.h new file mode 100644 index 0000000..7773ede --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/Thread.h @@ -0,0 +1,72 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(THREAD_H) +#define THREAD_H + +#if !defined(_WIN32) && !defined(_WIN64) +#if defined(__GNUC__) && defined(__linux__) +#if !defined(_GNU_SOURCE) +// for pthread_setname + #define _GNU_SOURCE +#endif +#endif +#endif + +#include "MQTTExportDeclarations.h" + +#include "MQTTClient.h" + +#include "mutex_type.h" /* Needed for mutex_type */ + +#if defined(_WIN32) || defined(_WIN64) + #include + #define thread_type HANDLE + #define thread_id_type DWORD + #define thread_return_type DWORD + #define thread_fn LPTHREAD_START_ROUTINE + #define cond_type HANDLE + #define sem_type HANDLE + #undef ETIMEDOUT + #define ETIMEDOUT WSAETIMEDOUT +#else + #include + + #define thread_type pthread_t + #define thread_id_type pthread_t + #define thread_return_type void* + typedef thread_return_type (*thread_fn)(void*); + typedef struct { pthread_cond_t cond; pthread_mutex_t mutex; } cond_type_struct; + typedef cond_type_struct *cond_type; + #if defined(OSX) + #include + typedef dispatch_semaphore_t sem_type; + #else + #include + typedef sem_t *sem_type; + #endif + + cond_type Thread_create_cond(int*); + int Thread_signal_cond(cond_type); + int Thread_wait_cond(cond_type condvar, int timeout); + int Thread_destroy_cond(cond_type); +#endif + +LIBMQTT_API void Thread_start(thread_fn, void*); +int Thread_set_name(const char* thread_name); + +LIBMQTT_API mutex_type Thread_create_mutex(int*); +LIBMQTT_API int Thread_lock_mutex(mutex_type); +LIBMQTT_API int Thread_unlock_mutex(mutex_type); +int Thread_destroy_mutex(mutex_type); + +LIBMQTT_API thread_id_type Thread_getid(); + +sem_type Thread_create_sem(int*); +int Thread_wait_sem(sem_type sem, int timeout); +int Thread_check_sem(sem_type sem); +int Thread_post_sem(sem_type sem); +int Thread_destroy_sem(sem_type sem); + + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/VersionInfo.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/VersionInfo.h new file mode 100644 index 0000000..4f3cfd6 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/VersionInfo.h @@ -0,0 +1,10 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef VERSIONINFO_H +#define VERSIONINFO_H + +#define BUILD_TIMESTAMP "@BUILD_TIMESTAMP@" +#define CLIENT_VERSION "@CLIENT_VERSION@" + +#endif /* VERSIONINFO_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.c new file mode 100644 index 0000000..1dcfdf3 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.c @@ -0,0 +1,1423 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include +#include +#include + +#include "WebSocket.h" + +#include "Base64.h" +#include "Log.h" +#include "MQTTSHA1.h" +#include "LinkedList.h" +#include "MQTTProtocolOut.h" +#include "SocketBuffer.h" +#include "StackTrace.h" + +#if defined(__linux__) +# include +#elif defined(__APPLE__) +# include +# define htobe16(x) OSSwapHostToBigInt16(x) +# define htobe32(x) OSSwapHostToBigInt32(x) +# define htobe64(x) OSSwapHostToBigInt64(x) +# define be16toh(x) OSSwapBigToHostInt16(x) +# define be32toh(x) OSSwapBigToHostInt32(x) +# define be64toh(x) OSSwapBigToHostInt64(x) +#elif defined(__FreeBSD__) || defined(__NetBSD__) +# include +#elif defined(_WIN32) || defined(_WIN64) +# pragma comment(lib, "rpcrt4.lib") +# include +# if !(defined(__MINGW32__)) +# define strncasecmp(s1,s2,c) _strnicmp(s1,s2,c) +# endif +# if defined(__MINGW32__) +# define htonll __builtin_bswap64 +# define ntohll __builtin_bswap64 +# else +# define htonll(x) _byteswap_uint64(x) +# define ntohll(x) _byteswap_uint64(x) +# endif + +# if BYTE_ORDER == LITTLE_ENDIAN +# define htobe16(x) htons(x) +# define htobe32(x) htonl(x) +# define htobe64(x) htonll(x) +# define be16toh(x) ntohs(x) +# define be32toh(x) ntohl(x) +# define be64toh(x) ntohll(x) +# elif BYTE_ORDER == BIG_ENDIAN +# define htobe16(x) (x) +# define htobe32(x) (x) +# define htobe64(x) (x) +# define be16toh(x) (x) +# define be32toh(x) (x) +# define be64toh(x) (x) +# else +# error "unknown endian" +# endif + /* For Microsoft Visual Studio < 2015 */ +# if defined(_MSC_VER) && _MSC_VER < 1900 +# define snprintf _snprintf +# endif +#endif + +#if defined(OPENSSL) +#include "SSLSocket.h" +#include +#endif /* defined(OPENSSL) */ +#include "Socket.h" + +#define HTTP_PROTOCOL(x) x ? "https" : "http" + +#if !(defined(_WIN32) || defined(_WIN64)) +#if defined(LIBUUID) +#include +#else /* if defined(USE_LIBUUID) */ +#include +#include +#include + +/** @brief raw uuid type */ +typedef unsigned char uuid_t[16]; + +/** + * @brief generates a uuid, compatible with RFC 4122, version 4 (random) + * @note Uses a very insecure algorithm but no external dependencies + */ +void uuid_generate( uuid_t out ) +{ +#if defined(OPENSSL) + int rc = RAND_bytes( out, sizeof(uuid_t)); + if ( !rc ) +#endif /* defined (OPENSSL) */ + { + /* very insecure, but generates a random uuid */ + int i; + srand(time(NULL)); + for ( i = 0; i < 16; ++i ) + out[i] = (unsigned char)(rand() % UCHAR_MAX); + out[6] = (out[6] & 0x0f) | 0x40; + out[8] = (out[8] & 0x3F) | 0x80; + } +} + +/** @brief converts a uuid to a string */ +void uuid_unparse( uuid_t uu, char *out ) +{ + int i; + for ( i = 0; i < 16; ++i ) + { + if ( i == 4 || i == 6 || i == 8 || i == 10 ) + { + *out = '-'; + ++out; + } + out += sprintf( out, "%02x", uu[i] ); + } + *out = '\0'; +} +#endif /* else if defined(LIBUUID) */ +#endif /* if !(defined(_WIN32) || defined(_WIN64)) */ + +#include "Heap.h" + +/** raw websocket frame data */ +struct ws_frame +{ + size_t len; /**< length of frame */ + size_t pos; /**< current position within the buffer */ +}; + +/** Current frame being processed */ +struct ws_frame *last_frame = NULL; + +/** Holds any received websocket frames, to be process */ +static List* in_frames = NULL; + +static char * frame_buffer = NULL; +static size_t frame_buffer_len = 0; +static size_t frame_buffer_index = 0; +static size_t frame_buffer_data_len = 0; + +/* static function declarations */ +static const char *WebSocket_strcasefind( + const char *buf, const char *str, size_t len); + +static char *WebSocket_getRawSocketData( + networkHandles *net, size_t bytes, size_t* actual_len, int* rc); + +static void WebSocket_rewindData( void ); + +static void WebSocket_pong( + networkHandles *net, char *app_data, size_t app_data_len); + +static int WebSocket_receiveFrame(networkHandles *net, size_t *actual_len); + + +/** + * calculates the amount of data required for the websocket header + * + * this function is used to calculate how much offset is required before calling + * @p WebSocket_putdatas, as that function will write data before the passed in + * buffer + * + * @param[in,out] net network connection + * @param[in] mask_data whether to mask the data + * @param[in] data_len amount of data in the payload + * + * @return the size in bytes of the websocket header required + * + * @see WebSocket_putdatas + */ +size_t WebSocket_calculateFrameHeaderSize(networkHandles *net, int mask_data, size_t data_len) +{ + int ret = 0; + if ( net && net->websocket ) + { + if ( data_len < 126u) + ret = 2; /* header 2 bytes */ + else if ( data_len < 65536u ) + ret = 4; /* for extra 2-bytes for payload length */ + else if ( data_len < 0xFFFFFFFFFFFFFFFF ) + ret = 10; /* for extra 8-bytes for payload length */ + if ( mask_data & 0x1 ) + ret += sizeof(uint32_t); /* for mask */ + } + return ret; +} + + +/** + * @brief builds a websocket frame for data transmission + * + * write a websocket header and will mask the payload in all the passed in + * buffers + * + * @param[in,out] net network connection + * @param[in] opcode websocket opcode for the packet + * @param[in] mask_data whether to mask the data + * @param[in,out] buf0 first buffer, will write before this + * @param[in] buf0len size of first buffer + * @param[in] count number of payload buffers + * @param[in,out] buffers array of payload buffers + * @param[in] buflens array of payload buffer sizes + * @param[in] freeData array indicating to free payload buffers + * + * @return amount of data to write to socket + */ +struct frameData { + char* wsbuf0; + size_t wsbuf0len; +}; + +static struct frameData WebSocket_buildFrame(networkHandles* net, int opcode, int mask_data, + char** pbuf0, size_t* pbuf0len, PacketBuffers* bufs) +{ + int buf_len = 0u; + struct frameData rc; + int new_mask = 0; + + FUNC_ENTRY; + memset(&rc, '\0', sizeof(rc)); + if ( net->websocket ) + { + size_t ws_header_size = 0u; + size_t data_len = 0L; + int i; + + /* Calculate total length of MQTT buffers */ + data_len = *pbuf0len; + for (i = 0; i < bufs->count; ++i) + data_len += bufs->buflens[i]; + + /* add space for websocket frame header */ + ws_header_size = WebSocket_calculateFrameHeaderSize(net, mask_data, data_len); + if (*pbuf0) + { + rc.wsbuf0len = *pbuf0len + ws_header_size; + rc.wsbuf0 = malloc(rc.wsbuf0len); + if (rc.wsbuf0 == NULL) + goto exit; + memcpy(&rc.wsbuf0[ws_header_size], *pbuf0, *pbuf0len); + } + else + { + rc.wsbuf0 = malloc(ws_header_size); + if (rc.wsbuf0 == NULL) + goto exit; + rc.wsbuf0len = ws_header_size; + } + + if (mask_data && (bufs->mask[0] == 0)) + { + /* generate mask, since we are a client */ +#if defined(OPENSSL) + RAND_bytes(&bufs->mask[0], sizeof(bufs->mask)); +#else /* if defined(OPENSSL) */ + bufs->mask[0] = (rand() % UINT8_MAX); + bufs->mask[1] = (rand() % UINT8_MAX); + bufs->mask[2] = (rand() % UINT8_MAX); + bufs->mask[3] = (rand() % UINT8_MAX); +#endif /* else if defined(OPENSSL) */ + new_mask = 1; + } + + /* 1st byte */ + rc.wsbuf0[buf_len] = (char)(1 << 7); /* final flag */ + /* 3 bits reserved for negotiation of protocol */ + rc.wsbuf0[buf_len] |= (char)(opcode & 0x0F); /* op code */ + ++buf_len; + + /* 2nd byte */ + rc.wsbuf0[buf_len] = (char)((mask_data & 0x1) << 7); /* masking bit */ + + /* payload length */ + if ( data_len < 126u ) + rc.wsbuf0[buf_len++] |= data_len & 0x7F; + + /* 3rd byte & 4th bytes - extended payload length */ + else if ( data_len < 65536u ) + { + uint16_t len = htobe16((uint16_t)data_len); + rc.wsbuf0[buf_len++] |= (126u & 0x7F); + memcpy( &rc.wsbuf0[buf_len], &len, 2u ); + buf_len += 2; + } + else if ( data_len < 0xFFFFFFFFFFFFFFFF ) + { + uint64_t len = htobe64((uint64_t)data_len); + rc.wsbuf0[buf_len++] |= (127u & 0x7F); + memcpy( &rc.wsbuf0[buf_len], &len, 8 ); + buf_len += 8; + } + else + { + Log(TRACE_PROTOCOL, 1, "Data too large for websocket frame" ); + buf_len = -1; + } + + if (mask_data) + { + size_t idx = 0u; + + /* copy masking key into ws header */ + memcpy( &rc.wsbuf0[buf_len], &bufs->mask, sizeof(uint32_t)); + buf_len += sizeof(uint32_t); + + /* mask packet fixed header */ + for (i = (int)ws_header_size; i < (int)rc.wsbuf0len; ++i, ++idx) + rc.wsbuf0[i] ^= bufs->mask[idx % 4]; + + /* variable data buffers */ + for (i = 0; i < bufs->count; ++i) + { + size_t j; + + if (new_mask == 0 && (i == 2 || i == bufs->count-1)) + /* topic (2) and payload (last) buffers are already masked */ + break; + for ( j = 0u; j < bufs->buflens[i]; ++j, ++idx ) + { + bufs->buffers[i][j] ^= bufs->mask[idx % 4]; + } + } + } + } +exit: + FUNC_EXIT_RC(buf_len); + return rc; +} + + +static void WebSocket_unmaskData(size_t idx, PacketBuffers* bufs) +{ + int i; + + FUNC_ENTRY; + for (i = 0; i < bufs->count; ++i) + { + size_t j; + for (j = 0u; j < bufs->buflens[i]; ++j, ++idx) + bufs->buffers[i][j] ^= bufs->mask[idx % 4]; + } + /* show that the mask has been removed */ + bufs->mask[0] = bufs->mask[1] = bufs->mask[2] = bufs->mask[3] = 0; + FUNC_EXIT; +} + + +/** + * sends out a websocket request on the given uri + * + * @param[in] net network connection + * @param[in] ssl ssl flag + * @param[in] uri uri to connect to + * + * @retval SOCKET_ERROR on failure + * @retval 1 on success + * + * @see WebSocket_upgrade + */ +int WebSocket_connect( networkHandles *net, int ssl, const char *uri) +{ + int rc; + char *buf = NULL; + char *headers_buf = NULL; + const MQTTClient_nameValue *headers = net->httpHeaders; + int i, buf_len = 0; + int headers_buf_len = 0; + size_t hostname_len; + int port = 80; + const char *topic = NULL; +#if defined(_WIN32) || defined(_WIN64) + UUID uuid; +#else /* if defined(_WIN32) || defined(_WIN64) */ + uuid_t uuid; +#endif /* else if defined(_WIN32) || defined(_WIN64) */ + + FUNC_ENTRY; + /* Generate UUID */ + if (net->websocket_key == NULL) + net->websocket_key = malloc(25u); + else + net->websocket_key = realloc(net->websocket_key, 25u); + if (net->websocket_key == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } +#if defined(_WIN32) || defined(_WIN64) + ZeroMemory( &uuid, sizeof(UUID) ); + UuidCreate( &uuid ); + Base64_encode( net->websocket_key, 25u, (const b64_data_t*)&uuid, sizeof(UUID) ); +#else /* if defined(_WIN32) || defined(_WIN64) */ + uuid_generate( uuid ); + Base64_encode( net->websocket_key, 25u, uuid, sizeof(uuid_t) ); +#endif /* else if defined(_WIN32) || defined(_WIN64) */ + + hostname_len = MQTTProtocol_addressPort(uri, &port, &topic, ssl ? WSS_DEFAULT_PORT : WS_DEFAULT_PORT); + + /* if no topic, use default */ + if ( !topic ) + topic = "/mqtt"; + + if ( headers ) + { + char *headers_buf_cur = NULL; + while ( headers->name != NULL && headers->value != NULL ) + { + headers_buf_len += (int)(strlen(headers->name) + strlen(headers->value) + 4); + headers++; + } + headers_buf_len++; + + if ((headers_buf = malloc(headers_buf_len)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + headers = net->httpHeaders; + headers_buf_cur = headers_buf; + + while ( headers->name != NULL && headers->value != NULL ) + { + headers_buf_cur += snprintf(headers_buf_cur, headers_buf_len - (headers_buf_cur - headers_buf), + "%s: %s\r\n", headers->name, headers->value); + headers++; + } + *headers_buf_cur = '\0'; + } + + for ( i = 0; i < 2; ++i ) + { + buf_len = snprintf( buf, (size_t)buf_len, + "GET %s HTTP/1.1\r\n" + "Host: %.*s:%d\r\n" + "Upgrade: websocket\r\n" + "Connection: Upgrade\r\n" + "Origin: %s://%.*s:%d\r\n" + "Sec-WebSocket-Key: %s\r\n" + "Sec-WebSocket-Version: 13\r\n" + "Sec-WebSocket-Protocol: mqtt\r\n" + "%s" + "\r\n", topic, + (int)hostname_len, uri, port, +#if defined(OPENSSL) + HTTP_PROTOCOL(net->ssl), +#else + HTTP_PROTOCOL(0), +#endif + + (int)hostname_len, uri, port, + net->websocket_key, + headers_buf ? headers_buf : ""); + + if ( i == 0 && buf_len > 0 ) + { + ++buf_len; /* need 1 extra byte for ending '\0' */ + if ((buf = malloc( buf_len )) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + } + } + + if (headers_buf) + free( headers_buf ); + + if ( buf ) + { + PacketBuffers nulbufs = {0, NULL, NULL, NULL, {0, 0, 0, 0}}; + +#if defined(OPENSSL) + if (net->ssl) + SSLSocket_putdatas(net->ssl, net->socket, buf, buf_len, nulbufs); + else +#endif + Socket_putdatas(net->socket, buf, buf_len, nulbufs); + free( buf ); + rc = 1; + } + else + { + free(net->websocket_key); + net->websocket_key = NULL; + rc = SOCKET_ERROR; + } +exit: + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * closes a websocket connection + * + * @param[in,out] net structure containing network connection + * @param[in] status_code websocket close status code + * @param[in] reason reason for closing connection (optional) + */ +void WebSocket_close(networkHandles *net, int status_code, const char *reason) +{ + struct frameData fd; + PacketBuffers nulbufs = {0, NULL, NULL, NULL, {0, 0, 0, 0}}; + + FUNC_ENTRY; + if ( net->websocket ) + { + char *buf0; + size_t buf0len = sizeof(uint16_t); + uint16_t status_code_be; + const int mask_data = 1; /* all frames from client must be masked */ + + if ( status_code < WebSocket_CLOSE_NORMAL || + status_code > WebSocket_CLOSE_TLS_FAIL ) + status_code = WebSocket_CLOSE_GOING_AWAY; + + if ( reason ) + buf0len += strlen(reason); + + buf0 = malloc(buf0len); + if ( !buf0 ) + goto exit; + + /* encode status code */ + status_code_be = htobe16((uint16_t)status_code); + memcpy(buf0, &status_code_be, sizeof(uint16_t)); + + /* encode reason, if provided */ + if ( reason ) + strcpy( &buf0[sizeof(uint16_t)], reason ); + + fd = WebSocket_buildFrame( net, WebSocket_OP_CLOSE, mask_data, &buf0, &buf0len, &nulbufs); + +#if defined(OPENSSL) + if (net->ssl) + SSLSocket_putdatas(net->ssl, net->socket, fd.wsbuf0, fd.wsbuf0len, nulbufs); + else +#endif + Socket_putdatas(net->socket, fd.wsbuf0, fd.wsbuf0len, nulbufs); + + free(fd.wsbuf0); /* free temporary ws header */ + + /* websocket connection is now closed */ + net->websocket = 0; + free( buf0 ); + } + if ( net->websocket_key ) + { + free( net->websocket_key ); + net->websocket_key = NULL; + } +exit: + FUNC_EXIT; +} + +/** + * @brief receives 1 byte from a socket + * + * @param[in,out] net network connection + * @param[out] c byte that was read + * + * @retval SOCKET_ERROR on error + * @retval TCPSOCKET_INTERRUPTED no data available + * @retval TCPSOCKET_COMPLETE on success + * + * @see WebSocket_getdata + */ +int WebSocket_getch(networkHandles *net, char* c) +{ + int rc = SOCKET_ERROR; + + FUNC_ENTRY; + if ( net->websocket ) + { + struct ws_frame *frame = NULL; + + if ( in_frames && in_frames->first ) + frame = in_frames->first->content; + + if ( !frame || frame->len == frame->pos ) + { + size_t actual_len = 0u; + rc = WebSocket_receiveFrame( net, &actual_len); + if ( rc != TCPSOCKET_COMPLETE ) + goto exit; + + /* we got a frame, let take off the top of queue */ + if ( in_frames->first ) + frame = in_frames->first->content; + } + + /* set current working frame */ + if (frame && frame->len > frame->pos) + { + unsigned char *buf = + (unsigned char *)frame + sizeof(struct ws_frame); + *c = buf[frame->pos++]; + rc = TCPSOCKET_COMPLETE; + } + } +#if defined(OPENSSL) + else if ( net->ssl ) + rc = SSLSocket_getch(net->ssl, net->socket, c); +#endif + else + rc = Socket_getch(net->socket, c); + +exit: + FUNC_EXIT_RC(rc); + return rc; +} + +size_t WebSocket_framePos() +{ + if ( in_frames && in_frames->first ) + { + struct ws_frame *frame = in_frames->first->content; + return frame->pos; + } + else + { + return 0; + } +} + +void WebSocket_framePosSeekTo(size_t pos) +{ + if ( in_frames && in_frames->first ) + { + struct ws_frame *frame = in_frames->first->content; + frame->pos = pos; + } +} + +/** + * @brief receives data from a socket. + * It should receive all data from the socket that is immediately available. + * Because it is encapsulated in websocket frames which cannot be + * + * @param[in,out] net network connection + * @param[in] bytes amount of data to get (0 if last packet) + * @param[out] actual_len amount of data read + * + * @return a pointer to the read data + * + * @see WebSocket_getch + */ +char *WebSocket_getdata(networkHandles *net, size_t bytes, size_t* actual_len) +{ + char *rv = NULL; + int rc; + + FUNC_ENTRY; + if ( net->websocket ) + { + struct ws_frame *frame = NULL; + + if ( bytes == 0u ) + { + /* done with current frame, move it to last frame */ + if ( in_frames && in_frames->first ) + frame = in_frames->first->content; + + /* return the data from the next frame, if we have one */ + if ( frame && frame->pos == frame->len ) + { + rv = (char *)frame + + sizeof(struct ws_frame) + frame->pos; + *actual_len = frame->len - frame->pos; + + if ( last_frame ) + free( last_frame ); + last_frame = ListDetachHead(in_frames); + } + goto exit; + } + + /* look at the first websocket frame */ + if ( in_frames && in_frames->first ) + frame = in_frames->first->content; + + /* no current frame, so let's go receive one for the network */ + if ( !frame ) + { + const int rc_t = + WebSocket_receiveFrame( net, actual_len ); + + if ( rc_t == TCPSOCKET_COMPLETE && in_frames && in_frames->first) + frame = in_frames->first->content; + } + + if ( frame ) + { + rv = (char *)frame + sizeof(struct ws_frame) + frame->pos; + *actual_len = frame->len - frame->pos; /* use the rest of the frame */ + + + while (*actual_len < bytes) { + const int rc_t = WebSocket_receiveFrame(net, actual_len); + + if (rc_t != TCPSOCKET_COMPLETE) { + goto exit; + } + + /* refresh pointers */ + frame = in_frames->first->content; + rv = (char *)frame + sizeof(struct ws_frame) + frame->pos; + *actual_len = frame->len - frame->pos; /* use the rest of the frame */ + + } /* end while */ + + if (*actual_len > bytes) + { + frame->pos += bytes; + } + else if (*actual_len == bytes && in_frames) + { + if ( last_frame ) + free( last_frame ); + last_frame = ListDetachHead(in_frames); + } + } + } +#if defined(OPENSSL) + else if ( net->ssl ) + rv = SSLSocket_getdata(net->ssl, net->socket, bytes, actual_len, &rc); +#endif + else + rv = Socket_getdata(net->socket, bytes, actual_len, &rc); + +exit: + FUNC_EXIT_RC(rv); + return rv; +} + +void WebSocket_rewindData( void ) +{ + frame_buffer_index = 0; +} + +/** + * reads raw socket data for underlying layers + * + * @param[in] net network connection + * @param[in] bytes number of bytes to read, 0 to complete packet + * @param[in] actual_len amount of data read + * + * @return a buffer containing raw data + */ +char *WebSocket_getRawSocketData(networkHandles *net, size_t bytes, size_t* actual_len, int* rc) +{ + char *rv = NULL; + + size_t bytes_requested = bytes; + + FUNC_ENTRY; + if (bytes > 0) + { + if (frame_buffer_data_len - frame_buffer_index >= bytes) + { + *actual_len = bytes; + rv = frame_buffer + frame_buffer_index; + frame_buffer_index += bytes; + *rc = (int)bytes; + goto exit; + } + else + { + bytes = bytes - (frame_buffer_data_len - frame_buffer_index); + } + } + + *actual_len = 0; + + // not enough data in the buffer, get data from socket +#if defined(OPENSSL) + if ( net->ssl ) + rv = SSLSocket_getdata(net->ssl, net->socket, bytes, actual_len, rc); + else +#endif + rv = Socket_getdata(net->socket, bytes, actual_len, rc); + + if (*rc == 0) + { + *rc = SOCKET_ERROR; + goto exit; + } + + // clear buffer + if (bytes == 0) + { + frame_buffer_index = 0; + frame_buffer_data_len = 0; + frame_buffer_len = 0; + + if (frame_buffer) + { + free (frame_buffer); + frame_buffer = NULL; + } + } + // append data to the buffer + else if (rv != NULL && *actual_len != 0U) + { + // no buffer allocated + if (!frame_buffer) + { + if ((frame_buffer = (char *)malloc(*actual_len)) == NULL) + { + rv = NULL; + goto exit; + } + memcpy(frame_buffer, rv, *actual_len); + + frame_buffer_index = 0; + frame_buffer_data_len = *actual_len; + frame_buffer_len = *actual_len; + } + // buffer size is big enough + else if (frame_buffer_data_len + *actual_len < frame_buffer_len) + { + memcpy(frame_buffer + frame_buffer_data_len, rv, *actual_len); + frame_buffer_data_len += *actual_len; + } + // resize buffer + else + { + frame_buffer = realloc(frame_buffer, frame_buffer_data_len + *actual_len); + frame_buffer_len = frame_buffer_data_len + *actual_len; + + memcpy(frame_buffer + frame_buffer_data_len, rv, *actual_len); + frame_buffer_data_len += *actual_len; + } + + SocketBuffer_complete(net->socket); + } + else + goto exit; + + bytes = bytes_requested; + + // if possible, return data from the buffer + if (bytes > 0) + { + if (frame_buffer_data_len - frame_buffer_index >= bytes) + { + *actual_len = bytes; + rv = frame_buffer + frame_buffer_index; + frame_buffer_index += bytes; + } + else + { + *actual_len = frame_buffer_data_len - frame_buffer_index; + rv = frame_buffer + frame_buffer_index; + frame_buffer_index += *actual_len; + } + } + +exit: + FUNC_EXIT; + return rv; +} + +/** + * sends a "websocket pong" message + * + * @param[in] net network connection + * @param[in] app_data application data to put in payload + * @param[in] app_data_len application data length + */ +void WebSocket_pong(networkHandles *net, char *app_data, size_t app_data_len) +{ + FUNC_ENTRY; + if ( net->websocket ) + { + char *buf0 = NULL; + size_t buf0len = 0; + int freeData = 0; + struct frameData fd; + const int mask_data = 1; /* all frames from client must be masked */ + PacketBuffers appbuf = {1, &app_data, &app_data_len, &freeData, {0, 0, 0, 0}}; + + fd = WebSocket_buildFrame( net, WebSocket_OP_PONG, mask_data, &buf0, &buf0len, &appbuf); + + Log(TRACE_PROTOCOL, 1, "Sending WebSocket PONG" ); + +#if defined(OPENSSL) + if (net->ssl) + SSLSocket_putdatas(net->ssl, net->socket, fd.wsbuf0, fd.wsbuf0len /*header_len + app_data_len*/, appbuf); + else +#endif + Socket_putdatas(net->socket, fd.wsbuf0, fd.wsbuf0len /*header_len + app_data_len*/, appbuf); + + free(fd.wsbuf0); + free(buf0); + } + FUNC_EXIT; +} + +/** + * writes data to a socket (websocket header will be prepended if required) + * + * @warning buf0 will be expanded (backwords before @p buf0 buffer, to add a + * websocket frame header to the data if required). So use + * @p WebSocket_calculateFrameHeader, to determine if extra space is needed + * before the @p buf0 pointer. + * + * @param[in,out] net network connection + * @param[in,out] buf0 first buffer + * @param[in] buf0len size of first buffer + * @param[in] count number of payload buffers + * @param[in,out] buffers array of paylaod buffers + * @param[in] buflens array of payload buffer sizes + * @param[in] freeData array indicating to free payload buffers + * + * @return amount of data wrote to socket + * + * @see WebSocket_calculateFrameHeaderSize + */ +int WebSocket_putdatas(networkHandles* net, char** buf0, size_t* buf0len, PacketBuffers* bufs) +{ + const int mask_data = 1; /* must mask websocket data from client */ + int rc; + + FUNC_ENTRY; + if (net->websocket) + { + struct frameData wsdata; + + wsdata = WebSocket_buildFrame(net, WebSocket_OP_BINARY, mask_data, buf0, buf0len, bufs); + +#if defined(OPENSSL) + if (net->ssl) + rc = SSLSocket_putdatas(net->ssl, net->socket, wsdata.wsbuf0, wsdata.wsbuf0len, *bufs); + else +#endif + rc = Socket_putdatas(net->socket, wsdata.wsbuf0, wsdata.wsbuf0len, *bufs); + + if (rc != TCPSOCKET_INTERRUPTED) + { + if (mask_data) + WebSocket_unmaskData(*buf0len, bufs); + free(wsdata.wsbuf0); /* free temporary ws header */ + } + } + else + { +#if defined(OPENSSL) + if (net->ssl) + rc = SSLSocket_putdatas(net->ssl, net->socket, *buf0, *buf0len, *bufs); + else +#endif + rc = Socket_putdatas(net->socket, *buf0, *buf0len, *bufs); + } + + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * receives incoming socket data and parses websocket frames + * Copes with socket reads returning partial websocket frames by using the + * SocketBuffer mechanism. + * + * @param[in] net network connection + * @param[out] actual_len amount of data actually read + * + * @retval TCPSOCKET_COMPLETE packet received + * @retval TCPSOCKET_INTERRUPTED incomplete packet received + * @retval SOCKET_ERROR an error was encountered + */ +int WebSocket_receiveFrame(networkHandles *net, size_t *actual_len) +{ + struct ws_frame *res = NULL; + int rc = TCPSOCKET_COMPLETE; + int opcode = 0; + + FUNC_ENTRY; + if (!in_frames) + { + in_frames = ListInitialize(); + } + + + /* see if there is frame currently on queue */ + if ( in_frames->first ) + { + res = in_frames->first->content; + } + + + //while( !res ) + //{ + opcode = WebSocket_OP_BINARY; + do + { + /* obtain all frames in the sequence */ + int is_final = 0; + while ( is_final == 0 ) + { + char *b; + size_t len = 0u; + int tmp_opcode; + int has_mask; + size_t cur_len = 0u; + uint8_t mask[4] = { 0u, 0u, 0u, 0u }; + size_t payload_len; + int rcs; /* socket return code */ + + b = WebSocket_getRawSocketData(net, 2u, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + if ( !b ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + else if (len < 2u ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + + /* 1st byte */ + is_final = (b[0] & 0xFF) >> 7; + tmp_opcode = (b[0] & 0x0F); + + if ( tmp_opcode ) /* not a continuation frame */ + opcode = tmp_opcode; + + /* invalid websocket packet must return error */ + if ( opcode < WebSocket_OP_CONTINUE || + opcode > WebSocket_OP_PONG || + ( opcode > WebSocket_OP_BINARY && + opcode < WebSocket_OP_CLOSE ) ) + { + rc = SOCKET_ERROR; + goto exit; + } + + /* 2nd byte */ + has_mask = (b[1] & 0xFF) >> 7; + payload_len = (b[1] & 0x7F); + + /* determine payload length */ + if ( payload_len == 126 ) + { + /* If 126, the following 2 bytes interpreted as a + 16-bit unsigned integer are the payload length. */ + b = WebSocket_getRawSocketData(net, 2u, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + if ( !b ) + { + rc = SOCKET_ERROR; + goto exit; + } + else if (len < 2u ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + /* convert from big endian 16 to host */ + payload_len = be16toh(*(uint16_t*)b); + } + else if ( payload_len == 127 ) + { + /* If 127, the following 8 bytes interpreted as a 64-bit unsigned integer (the + most significant bit MUST be 0) are the payload length */ + b = WebSocket_getRawSocketData(net, 8u, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + if ( !b ) + { + rc = SOCKET_ERROR; + goto exit; + } + else if (len < 8u ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + /* convert from big-endian 64 to host */ + payload_len = (size_t)be64toh(*(uint64_t*)b); + } + + if ( has_mask ) + { + uint8_t mask_t[4]; + b = WebSocket_getRawSocketData(net, 4u, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + if ( !b ) + { + rc = SOCKET_ERROR; + goto exit; + } + if (len < 4u ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + memcpy( &mask_t[0], b, sizeof(uint32_t)); + } + + /* use the socket buffer to read in the whole websocket frame */ + b = WebSocket_getRawSocketData(net, payload_len, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + if (!b) + { + rc = SOCKET_ERROR; + goto exit; + } + if (len < payload_len ) + { + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + + /* unmask data */ + if ( has_mask ) + { + size_t i; + for ( i = 0u; i < payload_len; ++i ) + b[i] ^= mask[i % 4]; + } + + if ( res ) + cur_len = res->len; + + if (res == NULL) + { + if ((res = malloc( sizeof(struct ws_frame) + cur_len + len)) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + res->pos = 0u; + } else + { + if ((res = realloc( res, sizeof(struct ws_frame) + cur_len + len )) == NULL) + { + rc = PAHO_MEMORY_ERROR; + goto exit; + } + } + if (in_frames && in_frames->first) + in_frames->first->content = res; /* realloc moves the data */ + memcpy( (unsigned char *)res + sizeof(struct ws_frame) + cur_len, b, len ); + res->len = cur_len + len; + + WebSocket_getRawSocketData(net, 0u, &len, &rcs); + if (rcs == SOCKET_ERROR) + { + rc = rcs; + goto exit; + } + } + + if ( opcode == WebSocket_OP_PING || opcode == WebSocket_OP_PONG ) + { + /* respond to a "ping" with a "pong" */ + if ( opcode == WebSocket_OP_PING ) + WebSocket_pong( net, + (char *)res + sizeof(struct ws_frame), + res->len ); + + /* discard message */ + free( res ); + res = NULL; + } + else if ( opcode == WebSocket_OP_CLOSE ) + { + /* server end closed websocket connection */ + free( res ); + WebSocket_close( net, WebSocket_CLOSE_GOING_AWAY, NULL ); + rc = SOCKET_ERROR; /* closes socket */ + goto exit; + } + } while ( opcode == WebSocket_OP_PING || opcode == WebSocket_OP_PONG ); + //} + + if (in_frames->count == 0) + ListAppend( in_frames, res, sizeof(struct ws_frame) + res->len); + *actual_len = res->len - res->pos; + +exit: + if (rc == TCPSOCKET_INTERRUPTED) + { + WebSocket_rewindData(); + } + + FUNC_EXIT_RC(rc); + return rc; +} + +/** + * case-insensitive string search + * + * similar to @p strcase, but takes a maximum length + * + * @param[in] buf buffer to search + * @param[in] str string to find + * @param[in] len length of the buffer + * + * @retval !NULL location of string found + * @retval NULL string not found + */ +const char *WebSocket_strcasefind(const char *buf, const char *str, size_t len) +{ + const char *res = NULL; + if ( buf && len > 0u && str ) + { + const size_t str_len = strlen( str ); + while ( len >= str_len && !res ) + { + if ( strncasecmp( buf, str, str_len ) == 0 ) + res = buf; + ++buf; + --len; + } + } + return res; +} + +/** + * releases resources used by the websocket sub-system + */ +void WebSocket_terminate( void ) +{ + FUNC_ENTRY; + /* clean up and un-processed websocket frames */ + if ( in_frames ) + { + struct ws_frame *f = ListDetachHead( in_frames ); + while ( f ) + { + free( f ); + f = ListDetachHead( in_frames ); + } + ListFree( in_frames ); + in_frames = NULL; + } + if ( last_frame ) + { + free( last_frame ); + last_frame = NULL; + } + + if ( frame_buffer ) + { + free( frame_buffer ); + frame_buffer = NULL; + } + + frame_buffer_len = 0; + frame_buffer_index = 0; + frame_buffer_data_len = 0; + + Socket_outTerminate(); +#if defined(OPENSSL) + SSLSocket_terminate(); +#endif + FUNC_EXIT; +} + +/** + * handles the websocket upgrade response + * + * @param[in,out] net network connection to upgrade + * + * @retval SOCKET_ERROR failed to upgrade network connection + * @retval TCPSOCKET_INTERRUPTED upgrade not complete, but not failed. Try again + * @retval 1 socket upgraded to use websockets + * + * @see WebSocket_connect + */ +int WebSocket_upgrade( networkHandles *net ) +{ + static const char *const ws_guid = + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + int rc = SOCKET_ERROR; + + FUNC_ENTRY; + if ( net->websocket_key ) + { + SHA_CTX ctx; + char ws_key[62u] = { 0 }; + unsigned char sha_hash[SHA1_DIGEST_LENGTH]; + size_t rcv = 0u; + char *read_buf; + + /* calculate the expected websocket key, expected from server */ + snprintf( ws_key, sizeof(ws_key), "%s%s", net->websocket_key, ws_guid ); + MQTT_SHA1_Init( &ctx ); + MQTT_SHA1_Update( &ctx, ws_key, strlen(ws_key)); + MQTT_SHA1_Final( sha_hash, &ctx ); + Base64_encode( ws_key, sizeof(ws_key), sha_hash, SHA1_DIGEST_LENGTH ); + + read_buf = WebSocket_getRawSocketData( net, 12u, &rcv, &rc); + if (rc == SOCKET_ERROR) + goto exit; + + if ((read_buf == NULL) || rcv < 12u) { + Log(TRACE_PROTOCOL, 1, "WebSocket upgrade read not complete %lu", rcv ); + rc = TCPSOCKET_INTERRUPTED; + goto exit; + } + + if (strncmp( read_buf, "HTTP/1.1", 8u ) == 0) + { + if (strncmp( &read_buf[9], "101", 3u ) != 0) + { + Log(TRACE_PROTOCOL, 1, "WebSocket HTTP rc %.3s", &read_buf[9]); + rc = SOCKET_ERROR; + goto exit; + } + } + + if (strncmp( read_buf, "HTTP/1.1 101", 12u ) == 0) + { + const char *p; + + read_buf = WebSocket_getRawSocketData(net, 1024u, &rcv, &rc); + if (rc == SOCKET_ERROR) + goto exit; + + /* Did we read the whole response? */ + if (read_buf && rcv > 4 && memcmp(&read_buf[rcv-4], "\r\n\r\n", 4) != 0) + { + Log(TRACE_PROTOCOL, -1, "WebSocket HTTP upgrade response read not complete %lu", rcv); + rc = SOCKET_ERROR; + goto exit; + } + + /* check for upgrade */ + p = WebSocket_strcasefind( + read_buf, "Connection", rcv ); + if ( p ) + { + const char *eol; + eol = memchr( p, '\n', rcv-(read_buf-p) ); + if ( eol ) + p = WebSocket_strcasefind( + p, "Upgrade", eol - p); + else + p = NULL; + } + + /* check key hash */ + if ( p ) + p = WebSocket_strcasefind( read_buf, + "sec-websocket-accept", rcv ); + if ( p ) + { + const char *eol; + eol = memchr( p, '\n', rcv-(read_buf-p) ); + if ( eol ) + { + p = memchr( p, ':', eol-p ); + if ( p ) + { + size_t hash_len = eol-p-1; + while ( *p == ':' || *p == ' ' ) + { + ++p; + --hash_len; + } + + if ( strncmp( p, ws_key, hash_len ) != 0 ) + p = NULL; + } + } + else + p = NULL; + } + + if ( p ) + { + net->websocket = 1; + Log(TRACE_PROTOCOL, 1, "WebSocket connection upgraded" ); + rc = 1; + } + else + { + Log(TRACE_PROTOCOL, 1, "WebSocket failed to upgrade connection" ); + rc = SOCKET_ERROR; + } + + if ( net->websocket_key ) + { + free(net->websocket_key); + net->websocket_key = NULL; + } + + /* indicate that we done with the packet */ + WebSocket_getRawSocketData( net, 0u, &rcv, &rc); + } + } + +exit: + FUNC_EXIT_RC(rc); + return rc; +} diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.h new file mode 100644 index 0000000..ed9ac53 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/WebSocket.h @@ -0,0 +1,61 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(WEBSOCKET_H) +#define WEBSOCKET_H + +#include "MQTTPacket.h" + +/** + * WebSocket op codes + * @{ + */ +#define WebSocket_OP_CONTINUE 0x0 /* 0000 - continue frame */ +#define WebSocket_OP_TEXT 0x1 /* 0001 - text frame */ +#define WebSocket_OP_BINARY 0x2 /* 0010 - binary frame */ +#define WebSocket_OP_CLOSE 0x8 /* 1000 - close frame */ +#define WebSocket_OP_PING 0x9 /* 1001 - ping frame */ +#define WebSocket_OP_PONG 0xA /* 1010 - pong frame */ +/** @} */ + +/** + * Various close status codes + * @{ + */ +#define WebSocket_CLOSE_NORMAL 1000 +#define WebSocket_CLOSE_GOING_AWAY 1001 +#define WebSocket_CLOSE_PROTOCOL_ERROR 1002 +#define WebSocket_CLOSE_UNKNOWN_DATA 1003 +#define WebSocket_CLOSE_RESERVED 1004 +#define WebSocket_CLOSE_NO_STATUS_CODE 1005 /* reserved: not to be used */ +#define WebSocket_CLOSE_ABNORMAL 1006 /* reserved: not to be used */ +#define WebSocket_CLOSE_BAD_DATA 1007 +#define WebSocket_CLOSE_POLICY 1008 +#define WebSocket_CLOSE_MSG_TOO_BIG 1009 +#define WebSocket_CLOSE_NO_EXTENSION 1010 +#define WebScoket_CLOSE_UNEXPECTED 1011 +#define WebSocket_CLOSE_TLS_FAIL 1015 /* reserved: not be used */ +/** @} */ + +/* closes a websocket connection */ +void WebSocket_close(networkHandles *net, int status_code, const char *reason); + +/* sends upgrade request */ +int WebSocket_connect(networkHandles *net, int ssl, const char *uri); + +/* obtain data from network socket */ +int WebSocket_getch(networkHandles *net, char* c); +char *WebSocket_getdata(networkHandles *net, size_t bytes, size_t* actual_len); +size_t WebSocket_framePos(); +void WebSocket_framePosSeekTo(size_t); + +/* send data out, in websocket format only if required */ +int WebSocket_putdatas(networkHandles* net, char** buf0, size_t* buf0len, PacketBuffers* bufs); + +/* releases any resources used by the websocket system */ +void WebSocket_terminate(void); + +/* handles websocket upgrade request */ +int WebSocket_upgrade(networkHandles *net); + +#endif /* WEBSOCKET_H */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/mutex_type.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/mutex_type.h new file mode 100644 index 0000000..978a2d1 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/mutex_type.h @@ -0,0 +1,15 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(_MUTEX_TYPE_H_) +#define _MUTEX_TYPE_H_ + +#if defined(_WIN32) || defined(_WIN64) + #include + #define mutex_type HANDLE +#else + #include + #define mutex_type pthread_mutex_t* +#endif + +#endif /* _MUTEX_TYPE_H_ */ diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.c b/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.c new file mode 100644 index 0000000..12fd081 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.c @@ -0,0 +1,217 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "utf-8.h" + +#include +#include + +#include "StackTrace.h" + +/** + * Macro to determine the number of elements in a single-dimension array + */ +#if !defined(ARRAY_SIZE) +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) +#endif + + +/** + * Structure to hold the valid ranges of UTF-8 characters, for each byte up to 4 + */ +struct +{ + int len; /**< number of elements in the following array (1 to 4) */ + struct + { + char lower; /**< lower limit of valid range */ + char upper; /**< upper limit of valid range */ + } bytes[4]; /**< up to 4 bytes can be used per character */ +} +valid_ranges[] = +{ + {1, { {00, 0x7F} } }, + {2, { {0xC2, 0xDF}, {0x80, 0xBF} } }, + {3, { {0xE0, 0xE0}, {0xA0, 0xBF}, {0x80, 0xBF} } }, + {3, { {0xE1, 0xEC}, {0x80, 0xBF}, {0x80, 0xBF} } }, + {3, { {0xED, 0xED}, {0x80, 0x9F}, {0x80, 0xBF} } }, + {3, { {0xEE, 0xEF}, {0x80, 0xBF}, {0x80, 0xBF} } }, + {4, { {0xF0, 0xF0}, {0x90, 0xBF}, {0x80, 0xBF}, {0x80, 0xBF} } }, + {4, { {0xF1, 0xF3}, {0x80, 0xBF}, {0x80, 0xBF}, {0x80, 0xBF} } }, + {4, { {0xF4, 0xF4}, {0x80, 0x8F}, {0x80, 0xBF}, {0x80, 0xBF} } }, +}; + + +static const char* UTF8_char_validate(int len, const char* data); + + +/** + * Validate a single UTF-8 character + * @param len the length of the string in "data" + * @param data the bytes to check for a valid UTF-8 char + * @return pointer to the start of the next UTF-8 character in "data" + */ +static const char* UTF8_char_validate(int len, const char* data) +{ + int good = 0; + int charlen = 2; + int i, j; + const char *rc = NULL; + + if (data == NULL) + goto exit; /* don't have data, can't continue */ + + /* first work out how many bytes this char is encoded in */ + if ((data[0] & 128) == 0) + charlen = 1; + else if ((data[0] & 0xF0) == 0xF0) + charlen = 4; + else if ((data[0] & 0xE0) == 0xE0) + charlen = 3; + + if (charlen > len) + goto exit; /* not enough characters in the string we were given */ + + for (i = 0; i < ARRAY_SIZE(valid_ranges); ++i) + { /* just has to match one of these rows */ + if (valid_ranges[i].len == charlen) + { + good = 1; + for (j = 0; j < charlen; ++j) + { + if (data[j] < valid_ranges[i].bytes[j].lower || + data[j] > valid_ranges[i].bytes[j].upper) + { + good = 0; /* failed the check */ + break; + } + } + if (good) + break; + } + } + + if (good) + rc = data + charlen; + exit: + return rc; +} + + +/** + * Validate a length-delimited string has only UTF-8 characters + * @param len the length of the string in "data" + * @param data the bytes to check for valid UTF-8 characters + * @return 1 (true) if the string has only UTF-8 characters, 0 (false) otherwise + */ +int MQTT_UTF8_validate(int len, const char* data) +{ + const char* curdata = NULL; + int rc = 0; + + FUNC_ENTRY; + if (len == 0 || data == NULL) + { + rc = 1; + goto exit; + } + curdata = UTF8_char_validate(len, data); + while (curdata && (curdata < data + len)) + curdata = UTF8_char_validate((int)(data + len - curdata), curdata); + + rc = curdata != NULL; +exit: + FUNC_EXIT_RC(rc); + return rc; +} + + +/** + * Validate a null-terminated string has only UTF-8 characters + * @param string the string to check for valid UTF-8 characters + * @return 1 (true) if the string has only UTF-8 characters, 0 (false) otherwise + */ +int MQTT_UTF8_validateString(const char* string) +{ + int rc = 0; + + FUNC_ENTRY; + if (string != NULL) + { + rc = MQTT_UTF8_validate((int)strlen(string), string); + } + FUNC_EXIT_RC(rc); + return rc; +} + + + +#if defined(UNIT_TESTS) +#include + +typedef struct +{ + int len; + char data[20]; +} tests; + +tests valid_strings[] = +{ + {3, "hjk" }, + {7, {0x41, 0xE2, 0x89, 0xA2, 0xCE, 0x91, 0x2E} }, + {3, {'f', 0xC9, 0xB1 } }, + {9, {0xED, 0x95, 0x9C, 0xEA, 0xB5, 0xAD, 0xEC, 0x96, 0xB4} }, + {9, {0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E} }, + {4, {0x2F, 0x2E, 0x2E, 0x2F} }, + {7, {0xEF, 0xBB, 0xBF, 0xF0, 0xA3, 0x8E, 0xB4} }, +}; + +tests invalid_strings[] = +{ + {2, {0xC0, 0x80} }, + {5, {0x2F, 0xC0, 0xAE, 0x2E, 0x2F} }, + {6, {0xED, 0xA1, 0x8C, 0xED, 0xBE, 0xB4} }, + {1, {0xF4} }, +}; + +int main (int argc, char *argv[]) +{ + int i, failed = 0; + + for (i = 0; i < ARRAY_SIZE(valid_strings); ++i) + { + if (!MQTT_UTF8_validate(valid_strings[i].len, valid_strings[i].data)) + { + printf("valid test %d failed\n", i); + failed = 1; + } + else + printf("valid test %d passed\n", i); + } + + for (i = 0; i < ARRAY_SIZE(invalid_strings); ++i) + { + if (MQTT_UTF8_validate(invalid_strings[i].len, invalid_strings[i].data)) + { + printf("invalid test %d failed\n", i); + failed = 1; + } + else + printf("invalid test %d passed\n", i); + } + + if (failed) + printf("Failed\n"); + else + printf("Passed\n"); + + //Don't crash on null data + MQTT_UTF8_validateString(NULL); + MQTT_UTF8_validate(1, NULL); + UTF8_char_validate(1, NULL); + + return 0; +} /* End of main function*/ + +#endif + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.h b/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.h new file mode 100644 index 0000000..12850f9 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttC/utf-8.h @@ -0,0 +1,10 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#if !defined(UTF8_H) +#define UTF8_H + +int MQTT_UTF8_validate(int len, const char *data); +int MQTT_UTF8_validateString(const char* string); + +#endif diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.cpp new file mode 100644 index 0000000..658e4aa --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.cpp @@ -0,0 +1,903 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "async_client.h" +#include "token.h" +#include "message.h" +#include "response_options.h" +#include "disconnect_options.h" +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable:4996) +#endif + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// +// Constructors + +async_client::async_client(const string& serverURI, const string& clientId, + const string& persistDir) + : async_client(serverURI, clientId, 0, persistDir) +{ +} + +async_client::async_client(const string& serverURI, const string& clientId, + iclient_persistence* persistence /*=nullptr*/) + : async_client(serverURI, clientId, 0, persistence) +{ +} + +async_client::async_client(const string& serverURI, const string& clientId, + int maxBufferedMessages, const string& persistDir) + : serverURI_(serverURI), clientId_(clientId), + mqttVersion_(MQTTVERSION_DEFAULT), userCallback_(nullptr) +{ + create_options opts(MQTTVERSION_DEFAULT, maxBufferedMessages); + + int rc = MQTTAsync_createWithOptions(&cli_, serverURI.c_str(), clientId.c_str(), + MQTTCLIENT_PERSISTENCE_DEFAULT, + const_cast(persistDir.c_str()), + &opts.opts_); + if (rc != 0) + throw exception(rc); +} + +async_client::async_client(const string& serverURI, const string& clientId, + int maxBufferedMessages, + iclient_persistence* persistence /*=nullptr*/) + : async_client(serverURI, clientId, + create_options(MQTTVERSION_DEFAULT, maxBufferedMessages), + persistence) +{ +} + +async_client::async_client(const string& serverURI, const string& clientId, + const create_options& opts, + const string& persistDir) + : serverURI_(serverURI), clientId_(clientId), + mqttVersion_(opts.opts_.MQTTVersion), userCallback_(nullptr) +{ + int rc = MQTTAsync_createWithOptions(&cli_, serverURI.c_str(), clientId.c_str(), + MQTTCLIENT_PERSISTENCE_DEFAULT, + const_cast(persistDir.c_str()), + const_cast(&opts.opts_)); + if (rc != 0) + throw exception(rc); +} + +async_client::async_client(const string& serverURI, const string& clientId, + const create_options& opts, + iclient_persistence* persistence /*=nullptr*/) + : serverURI_(serverURI), clientId_(clientId), + mqttVersion_(opts.opts_.MQTTVersion), userCallback_(nullptr) +{ + int rc = MQTTASYNC_SUCCESS; + + if (!persistence) { + rc = MQTTAsync_createWithOptions(&cli_, serverURI.c_str(), clientId.c_str(), + MQTTCLIENT_PERSISTENCE_NONE, nullptr, + const_cast(&opts.opts_)); + } + else { + persist_.reset(new MQTTClient_persistence { + persistence, + &iclient_persistence::persistence_open, + &iclient_persistence::persistence_close, + &iclient_persistence::persistence_put, + &iclient_persistence::persistence_get, + &iclient_persistence::persistence_remove, + &iclient_persistence::persistence_keys, + &iclient_persistence::persistence_clear, + &iclient_persistence::persistence_containskey + }); + + rc = MQTTAsync_createWithOptions(&cli_, serverURI.c_str(), clientId.c_str(), + MQTTCLIENT_PERSISTENCE_USER, persist_.get(), + const_cast(&opts.opts_)); + } + if (rc != 0) + throw exception(rc); +} + +async_client::~async_client() +{ + MQTTAsync_destroy(&cli_); +} + +// -------------------------------------------------------------------------- +// Class static callbacks. +// These are the callbacks directly from the C-lib. In each case the +// 'context' should be the address of the async_client object that +// registered the callback. + + +// Callback for MQTTAsync_setConnected() +// This is installed with the normall callbacks and with a call to +// reconnect() to indicate that it succeeded. It signals the client's +// connect token then calls any registered callbacks. +void async_client::on_connected(void* context, char* cause) +{ + if (context) { + async_client* cli = static_cast(context); + string cause_str = cause ? string(cause) : string(); + + auto tok = cli->connTok_; + if (tok) + tok->on_success(nullptr); + + callback* cb = cli->userCallback_; + if (cb) + cb->connected(cause_str); + + auto& connHandler = cli->connHandler_; + if (connHandler) + connHandler(cause_str); + } +} + +// Callback for when the connection is lost. +// This is called from the MQTTAsync_connectionLost registered via +// MQTTAsync_setCallbacks(). +// It calls the registered handlers then, if there's a consumer queue, it +// places a null pointer in the queue to alert the consumer to a closed +// connection. +void async_client::on_connection_lost(void *context, char *cause) +{ + if (context) { + async_client* cli = static_cast(context); + string cause_str = cause ? string(cause) : string(); + + callback* cb = cli->userCallback_; + if (cb) + cb->connection_lost(cause_str); + + auto& connLostHandler = cli->connLostHandler_; + if (connLostHandler) + connLostHandler(cause_str); + + consumer_queue_type& que = cli->que_; + if (que) + que->put(const_message_ptr{}); + } +} + +// Callback from the C lib for when a disconnect packet is received from +// the server. +void async_client::on_disconnected(void* context, MQTTProperties* cprops, + MQTTReasonCodes reasonCode) +{ + if (context) { + async_client* cli = static_cast(context); + + auto& disconnectedHandler = cli->disconnectedHandler_; + if (disconnectedHandler) { + properties props(*cprops); + disconnectedHandler(props, ReasonCode(reasonCode)); + } + } +} + +// Callback for when a subscribed message arrives. +// This is called from the MQTTAsync_messageArrived registered via +// MQTTAsync_setCallbacks(). +int async_client::on_message_arrived(void* context, char* topicName, int topicLen, + MQTTAsync_message* msg) +{ + if (context) { + async_client* cli = static_cast(context); + callback* cb = cli->userCallback_; + consumer_queue_type& que = cli->que_; + message_handler& msgHandler = cli->msgHandler_; + + if (cb || que || msgHandler) { + size_t len = (topicLen == 0) ? strlen(topicName) : size_t(topicLen); + + string topic { topicName, len }; + auto m = message::create(std::move(topic), *msg); + + if (msgHandler) + msgHandler(m); + + if (cb) + cb->message_arrived(m); + + if (que) + que->put(m); + } + } + + MQTTAsync_freeMessage(&msg); + MQTTAsync_free(topicName); + + // TODO: Should the user code determine the return value? + // The Java version does doesn't seem to... + return to_int(true); +} + +// Callback to indicate that a message was delivered to the server. +// It is called for a message with a QOS >= 1, but it happens before the +// on_success() call for the token. Thus we don't have the underlying +// MQTTAsync_token of the outgoing message at the time of this callback. +// +// *** So using the Async C library we have no way to match this msgID with +// a delivery_token object. So this is useless to us. +// +// So, all in all, this callback in it's current implementation seems rather +// redundant. +// +#if 0 +void async_client::on_delivery_complete(void* context, MQTTAsync_token msgID) +{ + if (context) { + async_client* m = static_cast(context); + callback* cb = m->get_callback(); + if (cb) { + delivery_token_ptr tok = m->get_pending_delivery_token(msgID); + cb->delivery_complete(tok); + } + } +} +#endif + + +// Callback from the C lib for when a registered updateConnectOptions +// needs to be called. +int async_client::on_update_connection(void* context, + MQTTAsync_connectData* cdata) +{ + if (context) { + async_client* cli = static_cast(context); + auto& updateConnection = cli->updateConnectionHandler_; + + if (updateConnection) { + connect_data data(*cdata); + if (updateConnection(data)) { + // Copy username and password into newly allocated buffers. + // The C lib will take ownership of the memory + auto n = data.get_user_name().length(); + if (n > 0) { + char* username = static_cast(MQTTAsync_malloc(n+1)); + strncpy(username, data.get_user_name().c_str(), n+1); + username[n] = '\0'; + cdata->username = username; + } + else + cdata->username = nullptr; + + n = data.get_password().length(); + if (n > 0) { + char* passwd = static_cast(MQTTAsync_malloc(n)); + memcpy(passwd, data.get_password().data(), n); + cdata->binarypwd.data = passwd; + } + else + cdata->binarypwd.data = nullptr; + cdata->binarypwd.len = int(n); + + return to_int(true); + } + } + } + return 0; // false +} + + +// -------------------------------------------------------------------------- +// Private methods + +void async_client::add_token(token_ptr tok) +{ + if (tok) { + guard g(lock_); + pendingTokens_.push_back(tok); + } +} + +void async_client::add_token(delivery_token_ptr tok) +{ + if (tok) { + guard g(lock_); + pendingDeliveryTokens_.push_back(tok); + } +} + +// Note that we uniquely identify a token by the address of its raw pointer, +// since the message ID is not unique. + +void async_client::remove_token(token* tok) +{ + if (!tok) + return; + + guard g(lock_); + for (auto p=pendingDeliveryTokens_.begin(); + p!=pendingDeliveryTokens_.end(); ++p) { + if (p->get() == tok) { + delivery_token_ptr dtok = *p; + pendingDeliveryTokens_.erase(p); + + // If there's a user callback registered, we can now call + // delivery_complete() + + if (userCallback_) { + const_message_ptr msg = dtok->get_message(); + if (msg && msg->get_qos() > 0) { + callback* cb = userCallback_; + g.unlock(); + cb->delivery_complete(dtok); + } + } + return; + } + } + for (auto p=pendingTokens_.begin(); p!=pendingTokens_.end(); ++p) { + if (p->get() == tok) { + pendingTokens_.erase(p); + return; + } + } +} + +// -------------------------------------------------------------------------- +// Callback management + +void async_client::set_callback(callback& cb) +{ + guard g(lock_); + userCallback_ = &cb; + + int rc = MQTTAsync_setConnected(cli_, this, &async_client::on_connected); + + if (rc == MQTTASYNC_SUCCESS) { + rc = MQTTAsync_setCallbacks(cli_, this, + &async_client::on_connection_lost, + &async_client::on_message_arrived, + nullptr /*&async_client::on_delivery_complete*/); + } + else + MQTTAsync_setConnected(cli_, nullptr, nullptr); + + if (rc != MQTTASYNC_SUCCESS) { + userCallback_ = nullptr; + throw exception(rc); + } +} + +void async_client::disable_callbacks() +{ + // TODO: It would be nice to disable callbacks at the C library level, + // but the setCallback function currently does not accept a nullptr for + // the "message arrived" parameter. So, for now we send it an empty + // lambda function. + int rc = MQTTAsync_setCallbacks(cli_, this, nullptr, + [](void*,char*,int,MQTTAsync_message*) -> int {return to_int(true);}, + nullptr); + + if (rc != MQTTASYNC_SUCCESS) + throw exception(rc); +} + +void async_client::set_connected_handler(connection_handler cb) +{ + connHandler_ = cb; + check_ret(::MQTTAsync_setConnected(cli_, this, + &async_client::on_connected)); +} + +void async_client::set_connection_lost_handler(connection_handler cb) +{ + connLostHandler_ = cb; + check_ret(::MQTTAsync_setConnectionLostCallback(cli_, this, + &async_client::on_connection_lost)); +} + +void async_client::set_disconnected_handler(disconnected_handler cb) +{ + disconnectedHandler_ = cb; + check_ret(::MQTTAsync_setDisconnected(cli_, this, + &async_client::on_disconnected)); +} + +void async_client::set_message_callback(message_handler cb) +{ + msgHandler_ = cb; + check_ret(::MQTTAsync_setMessageArrivedCallback(cli_, this, + &async_client::on_message_arrived)); +} + +void async_client::set_update_connection_handler(update_connection_handler cb) +{ + updateConnectionHandler_ = cb; + check_ret(::MQTTAsync_setUpdateConnectOptions(cli_, this, + &async_client::on_update_connection)); +} + + +// -------------------------------------------------------------------------- +// Connect + +token_ptr async_client::connect() +{ + return connect(connect_options()); +} + +token_ptr async_client::connect(connect_options opts) +{ + // TODO: We really should get (or update) this value from the response + // (when the server confirms the requested version) + mqttVersion_ = opts.opts_.MQTTVersion; + + // TODO: If connTok_ is non-null, there could be a pending connect + // which might complete after creating/assigning a new one. If that + // happened, the callback would have the context address of the previous + // token which was destroyed. So for now, keep the old one alive within + // this function, and check the behavior of the C library... + auto tmpTok = connTok_; + connTok_ = token::create(token::Type::CONNECT, *this); + add_token(connTok_); + + opts.set_token(connTok_); + + int rc = MQTTAsync_connect(cli_, &opts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(connTok_); + connTok_.reset(); + throw exception(rc); + } + + return connTok_; +} + +token_ptr async_client::connect(connect_options opts, void* userContext, + iaction_listener& cb) +{ + // TODO: We really should get this value from the response (when + // the server confirms the requested version) + mqttVersion_ = opts.opts_.MQTTVersion; + + auto tmpTok = connTok_; + connTok_ = token::create(token::Type::CONNECT, *this, userContext, cb); + add_token(connTok_); + + opts.set_token(connTok_); + + int rc = MQTTAsync_connect(cli_, &opts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(connTok_); + connTok_.reset(); + throw exception(rc); + } + + return connTok_; +} + +// -------------------------------------------------------------------------- +// Re-connect + +token_ptr async_client::reconnect() +{ + auto tok = connTok_; + + if (!tok) + throw exception(MQTTASYNC_FAILURE, "Can't reconnect before a successful connect"); + + tok->reset(); + add_token(tok); + + int rc = MQTTAsync_setConnected(cli_, this, &async_client::on_connected); + + if (rc == MQTTASYNC_SUCCESS) + rc = MQTTAsync_reconnect(cli_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +// -------------------------------------------------------------------------- +// Disconnect + +token_ptr async_client::disconnect(disconnect_options opts) +{ + auto tok = token::create(token::Type::DISCONNECT, *this); + add_token(tok); + + opts.set_token(tok, mqttVersion_); + + int rc = MQTTAsync_disconnect(cli_, &opts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::disconnect(int timeout, void* userContext, iaction_listener& cb) +{ + auto tok = token::create(token::Type::DISCONNECT, *this, userContext, cb); + add_token(tok); + + disconnect_options opts(timeout); + opts.set_token(tok, mqttVersion_); + + int rc = MQTTAsync_disconnect(cli_, &opts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +// -------------------------------------------------------------------------- +// Queries + +delivery_token_ptr async_client::get_pending_delivery_token(int msgID) const +{ + // Messages with QOS=1 or QOS=2 that require a response/acknowledge should + // have a non-zero 16-bit message ID. The library keeps the token objects + // for all of these messages that are in flight. When the acknowledge comes + // back from the broker, the C++ library can look up the token from the + // msgID and signal it, indicating completion. + + if (msgID > 0) { + guard g(lock_); + for (const auto& t : pendingDeliveryTokens_) { + if (t->get_message_id() == msgID) + return t; + } + } + return delivery_token_ptr(); +} + +std::vector async_client::get_pending_delivery_tokens() const +{ + std::vector toks; + guard g(lock_); + for (const auto& t : pendingDeliveryTokens_) { + if (t->get_message_id() > 0) { + toks.push_back(t); + } + } + return toks; +} + +// -------------------------------------------------------------------------- +// Publish + +delivery_token_ptr async_client::publish(string_ref topic, const void* payload, + size_t n, int qos, bool retained) +{ + auto msg = message::create(std::move(topic), payload, n, qos, retained); + return publish(std::move(msg)); +} + +delivery_token_ptr async_client::publish(string_ref topic, binary_ref payload, + int qos, bool retained) +{ + auto msg = message::create(std::move(topic), std::move(payload), qos, retained); + return publish(std::move(msg)); +} + +delivery_token_ptr async_client::publish(string_ref topic, + const void* payload, size_t n, + int qos, bool retained, void* userContext, + iaction_listener& cb) +{ + auto msg = message::create(std::move(topic), payload, n, qos, retained); + return publish(std::move(msg), userContext, cb); +} + +delivery_token_ptr async_client::publish(const_message_ptr msg) +{ + auto tok = delivery_token::create(*this, msg); + add_token(tok); + + delivery_response_options rspOpts(tok, mqttVersion_); + + int rc = MQTTAsync_sendMessage(cli_, msg->get_topic().c_str(), + &(msg->msg_), &rspOpts.opts_); + + if (rc == MQTTASYNC_SUCCESS) { + tok->set_message_id(rspOpts.opts_.token); + } + else { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +delivery_token_ptr async_client::publish(const_message_ptr msg, + void* userContext, iaction_listener& cb) +{ + delivery_token_ptr tok = delivery_token::create(*this, msg, userContext, cb); + add_token(tok); + + delivery_response_options rspOpts(tok, mqttVersion_); + + int rc = MQTTAsync_sendMessage(cli_, msg->get_topic().c_str(), + &(msg->msg_), &rspOpts.opts_); + + if (rc == MQTTASYNC_SUCCESS) { + tok->set_message_id(rspOpts.opts_.token); + } + else { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +// -------------------------------------------------------------------------- +// Subscribe + +token_ptr async_client::subscribe(const string& topicFilter, int qos, + const subscribe_options& opts /*=subscribe_options()*/, + const properties& props /*=properties()*/) +{ + auto tok = token::create(token::Type::SUBSCRIBE, *this, topicFilter); + tok->set_num_expected(0); // Indicates non-array response for single val + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .subscribe_opts(opts) + .properties(props) + .finalize(); + + int rc = MQTTAsync_subscribe(cli_, topicFilter.c_str(), qos, &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::subscribe(const string& topicFilter, int qos, + void* userContext, iaction_listener& cb, + const subscribe_options& opts /*=subscribe_options()*/, + const properties& props /*=properties()*/) +{ + auto tok = token::create(token::Type::SUBSCRIBE, *this, topicFilter, + userContext, cb); + tok->set_num_expected(0); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .subscribe_opts(opts) + .properties(props) + .finalize(); + + int rc = MQTTAsync_subscribe(cli_, topicFilter.c_str(), qos, &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + const std::vector& opts + /*=std::vector()*/, + const properties& props /*=properties()*/) +{ + size_t n = topicFilters->size(); + + if (n != qos.size()) + throw std::invalid_argument("Collection sizes don't match"); + + auto tok = token::create(token::Type::SUBSCRIBE, *this, topicFilters); + tok->set_num_expected(n); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .subscribe_opts(opts) + .properties(props) + .finalize(); + + int rc = MQTTAsync_subscribeMany(cli_, int(n), topicFilters->c_arr(), + const_cast(qos.data()), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + void* userContext, iaction_listener& cb, + const std::vector& opts + /*=std::vector()*/, + const properties& props /*=properties()*/) +{ + size_t n = topicFilters->size(); + + if (n != qos.size()) + throw std::invalid_argument("Collection sizes don't match"); + + auto tok = token::create(token::Type::SUBSCRIBE, *this, + topicFilters, userContext, cb); + tok->set_num_expected(n); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .subscribe_opts(opts) + .properties(props) + .finalize(); + + int rc = MQTTAsync_subscribeMany(cli_, int(n), topicFilters->c_arr(), + const_cast(qos.data()), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +// -------------------------------------------------------------------------- +// Unsubscribe + +token_ptr async_client::unsubscribe(const string& topicFilter, + const properties& props /*=properties()*/) +{ + auto tok = token::create(token::Type::UNSUBSCRIBE, *this, topicFilter); + tok->set_num_expected(0); // Indicates non-array response for single val + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .properties(props) + .finalize(); + + int rc = MQTTAsync_unsubscribe(cli_, topicFilter.c_str(), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::unsubscribe(const_string_collection_ptr topicFilters, + const properties& props /*=properties()*/) +{ + size_t n = topicFilters->size(); + + auto tok = token::create(token::Type::UNSUBSCRIBE, *this, topicFilters); + tok->set_num_expected(n); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .properties(props) + .finalize(); + + int rc = MQTTAsync_unsubscribeMany(cli_, int(n), + topicFilters->c_arr(), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::unsubscribe(const_string_collection_ptr topicFilters, + void* userContext, iaction_listener& cb, + const properties& props /*=properties()*/) +{ + size_t n = topicFilters->size(); + + auto tok = token::create(token::Type::UNSUBSCRIBE, *this, topicFilters, + userContext, cb); + tok->set_num_expected(n); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .properties(props) + .finalize(); + + int rc = MQTTAsync_unsubscribeMany(cli_, int(n), topicFilters->c_arr(), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +token_ptr async_client::unsubscribe(const string& topicFilter, + void* userContext, iaction_listener& cb, + const properties& props /*=properties()*/) +{ + auto tok = token::create(token::Type::UNSUBSCRIBE , *this, topicFilter, + userContext, cb); + add_token(tok); + + auto rspOpts = response_options_builder(mqttVersion_) + .token(tok) + .properties(props) + .finalize(); + + int rc = MQTTAsync_unsubscribe(cli_, topicFilter.c_str(), &rspOpts.opts_); + + if (rc != MQTTASYNC_SUCCESS) { + remove_token(tok); + throw exception(rc); + } + + return tok; +} + +// -------------------------------------------------------------------------- + +void async_client::start_consuming() +{ + // Make sure callbacks don't happen while we update the que, etc + disable_callbacks(); + + // TODO: Should we replace user callback? + //userCallback_ = nullptr; + + que_.reset(new thread_queue); + + int rc = MQTTAsync_setCallbacks(cli_, this, + &async_client::on_connection_lost, + &async_client::on_message_arrived, + nullptr); + + if (rc != MQTTASYNC_SUCCESS) + throw exception(rc); +} + +void async_client::stop_consuming() +{ + try { + disable_callbacks(); + que_.reset(); + } + catch (...) { + que_.reset(); + throw; + } +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.h new file mode 100644 index 0000000..e2f728b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/async_client.h @@ -0,0 +1,752 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_async_client_h +#define __mqtt_async_client_h + +#include "MQTTAsync.h" +#include "throw_.h" +#include "types.h" +#include "token.h" +#include "create_options.h" +#include "string_collection.h" +#include "delivery_token.h" +#include "iclient_persistence.h" +#include "iaction_listener.h" +#include "properties.h" +#include "exception.h" +#include "message.h" +#include "callback.h" +#include "thread_queue.h" +#include "iasync_client.h" +#include +#include +#include +#include +#include +#include + +namespace mqtt { + +// OBSOLETE: The legacy constants that lacked the "PAHO_MQTTPP_" prefix +// clashed with #define's from other libraries and will be removed at the +// next major version upgrade. + +#if defined(PAHO_MQTTPP_VERSIONS) + /** The version number for the client library. */ + const uint32_t PAHO_MQTTPP_VERSION = 0x01020000; + /** The version string for the client library */ + const string PAHO_MQTTPP_VERSION_STR("Paho MQTT C++ (mqttpp) v. 1.2"); + /** Copyright notice for the client library */ + const string PAHO_MQTTPP_COPYRIGHT("Copyright (c) 2013-2020 Frank Pagliughi"); +#else + /** The version number for the client library. */ + const uint32_t VERSION = 0x01020000; + /** The version string for the client library */ + const string VERSION_STR("Paho MQTT C++ (mqttpp) v. 1.2"); + /** Copyright notice for the client library */ + const string COPYRIGHT("Copyright (c) 2013-2020 Frank Pagliughi"); +#endif + +///////////////////////////////////////////////////////////////////////////// + +/** + * Lightweight client for talking to an MQTT server using non-blocking + * methods that allow an operation to run in the background. + */ +class async_client : public virtual iasync_client +{ +public: + /** Smart/shared pointer for an object of this class */ + using ptr_t = std::shared_ptr; + /** Type for a thread-safe queue to consume messages synchronously */ + using consumer_queue_type = std::unique_ptr>; + + /** Handler type for registering an individual message callback */ + using message_handler = std::function; + /** Handler type for when a connecion is made or lost */ + using connection_handler = std::function; + /** Handler type for when a disconnect packet is received */ + using disconnected_handler = std::function; + /** Handler for updaing connection data before an auto-reconnect. */ + using update_connection_handler = std::function; + +private: + /** Lock guard type for this class */ + using guard = std::unique_lock; + /** Unique lock type for this class */ + using unique_lock = std::unique_lock; + + /** Object monitor mutex */ + mutable std::mutex lock_; + /** The underlying C-lib client. */ + MQTTAsync cli_; + /** The server URI string. */ + string serverURI_; + /** The client ID string that we provided to the server. */ + string clientId_; + /** The MQTT protocol version we're connected at */ + int mqttVersion_; + /** A user persistence wrapper (if any) */ + std::unique_ptr persist_; + /** Callback supplied by the user (if any) */ + callback* userCallback_; + /** Connection handler */ + connection_handler connHandler_; + /** Connection lost handler */ + connection_handler connLostHandler_; + /** Disconnected handler */ + disconnected_handler disconnectedHandler_; + /** Update connect data/options */ + update_connection_handler updateConnectionHandler_; + /** Message handler */ + message_handler msgHandler_; + /** Copy of connect token (for re-connects) */ + token_ptr connTok_; + /** A list of tokens that are in play */ + std::list pendingTokens_; + /** A list of delivery tokens that are in play */ + std::list pendingDeliveryTokens_; + /** A queue of messages for consumer API */ + consumer_queue_type que_; + + /** Callbacks from the C library */ + static void on_connected(void* context, char* cause); + static void on_connection_lost(void *context, char *cause); + static void on_disconnected(void* context, MQTTProperties* cprops, + MQTTReasonCodes reasonCode); + static int on_message_arrived(void* context, char* topicName, int topicLen, + MQTTAsync_message* msg); + static void on_delivery_complete(void* context, MQTTAsync_token tok); + static int on_update_connection(void* context, MQTTAsync_connectData* cdata); + + /** Manage internal list of active tokens */ + friend class token; + virtual void add_token(token_ptr tok); + virtual void add_token(delivery_token_ptr tok); + virtual void remove_token(token* tok) override; + virtual void remove_token(token_ptr tok) { remove_token(tok.get()); } + void remove_token(delivery_token_ptr tok) { remove_token(tok.get()); } + + /** Non-copyable */ + async_client() =delete; + async_client(const async_client&) =delete; + async_client& operator=(const async_client&) =delete; + + /** Checks a function return code and throws on error. */ + static void check_ret(int rc) { + if (rc != MQTTASYNC_SUCCESS) + { + throw_::exception(rc); + } + } + +public: + /** + * Create an async_client that can be used to communicate with an MQTT + * server. + * This uses file-based persistence in the specified directory. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param persistDir The directory to use for persistence data + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + const string& persistDir); + /** + * Create an async_client that can be used to communicate with an MQTT + * server. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + iclient_persistence* persistence=nullptr); + /** + * Create an async_client that can be used to communicate with an MQTT + * server, which allows for off-line message buffering. + * This uses file-based persistence in the specified directory. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param maxBufferedMessages the maximum number of messages allowed to + * be buffered while not connected + * @param persistDir The directory to use for persistence data + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + int maxBufferedMessages, const string& persistDir); + /** + * Create an async_client that can be used to communicate with an MQTT + * server, which allows for off-line message buffering. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param maxBufferedMessages the maximum number of messages allowed to + * be buffered while not connected + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + int maxBufferedMessages, + iclient_persistence* persistence=nullptr); + /** + * Create an async_client that can be used to communicate with an MQTT + * server, which allows for off-line message buffering. + * This uses file-based persistence in the specified directory. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param opts The create options + * @param persistDir The directory to use for persistence data + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + const create_options& opts, const string& persistDir); + /** + * Create an async_client that can be used to communicate with an MQTT + * server, which allows for off-line message buffering. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param opts The create options + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + * @throw exception if an argument is invalid + */ + async_client(const string& serverURI, const string& clientId, + const create_options& opts, + iclient_persistence* persistence=nullptr); + /** + * Destructor + */ + ~async_client() override; + /** + * Sets a callback listener to use for events that happen + * asynchronously. + * @param cb callback receiver which will be invoked for certain + * asynchronous events + */ + void set_callback(callback& cb) override; + /** + * Stops callbacks. + * This is not normally called by the application. It should be used + * cautiously as it may cause the application to lose messages. + */ + void disable_callbacks() override; + /** + * Callback for when a connection is made. + * @param cb Callback functor for when the connection is made. + */ + void set_connected_handler(connection_handler cb) /*override*/; + /** + * Callback for when a connection is lost. + * @param cb Callback functor for when the connection is lost. + */ + void set_connection_lost_handler(connection_handler cb) /*override*/; + /** + * Callback for when a disconnect packet is received from the server. + * @param cb Callback for when the disconnect packet is received. + */ + void set_disconnected_handler(disconnected_handler cb) /*override*/; + /** + * Sets the callback for when a message arrives from the broker. + * Note that the application can only have one message handler which can + * be installed individually using this method, or installled as a + * listener object. + * @param cb The callback functor to register with the library. + */ + void set_message_callback(message_handler cb) /*override*/; + /** + * Sets a callback to allow the application to update the connection + * data on automatic reconnects. + * @param cb The callback functor to register with the library. + */ + void set_update_connection_handler(update_connection_handler cb); + /** + * Connects to an MQTT server using the default options. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + token_ptr connect() override; + /** + * Connects to an MQTT server using the provided connect options. + * @param options a set of connection parameters that override the + * defaults. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + token_ptr connect(connect_options options) override; + /** + * Connects to an MQTT server using the specified options. + * @param options a set of connection parameters that override the + * defaults. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the connect + * completes. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + token_ptr connect(connect_options options, void* userContext, + iaction_listener& cb) override; + /** + * + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the connect + * completes. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + token_ptr connect(void* userContext, iaction_listener& cb) override { + return connect(connect_options{}, userContext, cb); + } + /** + * Reconnects the client using options from the previous connect. + * The client must have previously called connect() for this to work. + * @return token used to track the progress of the reconnect. + */ + token_ptr reconnect() override; + /** + * Disconnects from the server. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + token_ptr disconnect() override { return disconnect(disconnect_options()); } + /** + * Disconnects from the server. + * @param opts Options for disconnecting. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + token_ptr disconnect(disconnect_options opts) override; + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @return Token used to track and wait for disconnect to complete. The + * token will be passed to the callback methods if a callback is + * set. + * @throw exception for problems encountered while disconnecting + */ + token_ptr disconnect(int timeout) override { + return disconnect(disconnect_options(timeout)); + } + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @return Token used to track and wait for disconnect to complete. The + * token will be passed to the callback methods if a callback is + * set. + * @throw exception for problems encountered while disconnecting + */ + template + token_ptr disconnect(const std::chrono::duration& timeout) { + // TODO: check range + return disconnect((int) to_milliseconds_count(timeout)); + } + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the disconnect + * completes. + * @return token_ptr Token used to track and wait for disconnect to + * complete. The token will be passed to the callback methods if + * a callback is set. + * @throw exception for problems encountered while disconnecting + */ + token_ptr disconnect(int timeout, void* userContext, + iaction_listener& cb) override; + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the disconnect + * completes. + * @return token_ptr Token used to track and wait for disconnect to + * complete. The token will be passed to the callback methods if + * a callback is set. + * @throw exception for problems encountered while disconnecting + */ + template + token_ptr disconnect(const std::chrono::duration& timeout, + void* userContext, iaction_listener& cb) { + // TODO: check range + return disconnect((int) to_milliseconds_count(timeout), userContext, cb); + } + /** + * Disconnects from the server. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the disconnect + * completes. + * @return token_ptr Token used to track and wait for disconnect to + * complete. The token will be passed to the callback methods if + * a callback is set. + * @throw exception for problems encountered while disconnecting + */ + token_ptr disconnect(void* userContext, iaction_listener& cb) override { + return disconnect(0L, userContext, cb); + } + /** + * Returns the delivery token for the specified message ID. + * @return delivery_token + */ + delivery_token_ptr get_pending_delivery_token(int msgID) const override; + /** + * Returns the delivery tokens for any outstanding publish operations. + * @return delivery_token[] + */ + std::vector get_pending_delivery_tokens() const override; + /** + * Returns the client ID used by this client. + * @return The client ID used by this client. + */ + string get_client_id() const override { return clientId_; } + /** + * Returns the address of the server used by this client. + * @return The server's address, as a URI String. + */ + string get_server_uri() const override { return serverURI_; } + /** + * Determines if this client is currently connected to the server. + * @return true if connected, false otherwise. + */ + bool is_connected() const override { return to_bool(MQTTAsync_isConnected(cli_)); } + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(string_ref topic, const void* payload, size_t n, + int qos, bool retained) override; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(string_ref topic, const void* payload, size_t n) override { + return publish(std::move(topic), payload, n, + message::DFLT_QOS, message::DFLT_RETAINED); + } + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(string_ref topic, binary_ref payload, + int qos, bool retained) override; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(string_ref topic, binary_ref payload) override { + return publish(std::move(topic), std::move(payload), + message::DFLT_QOS, message::DFLT_RETAINED); + } + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(string_ref topic, + const void* payload, size_t n, + int qos, bool retained, + void* userContext, iaction_listener& cb) override; + /** + * Publishes a message to a topic on the server Takes an Message + * message and delivers it to the server at the requested quality of + * service. + * @param msg the message to deliver to the server + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(const_message_ptr msg) override; + /** + * Publishes a message to a topic on the server. + * @param msg the message to deliver to the server + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback optional listener that will be notified when message + * delivery has completed to the requested quality of + * service + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + delivery_token_ptr publish(const_message_ptr msg, + void* userContext, iaction_listener& cb) override; + /** + * Subscribe to a topic, which may include wildcards. + * @param topicFilter the topic to subscribe to, which can include + * wildcards. + * @param qos The quality of service for the subscription + * @param opts The MQTT v5 subscribe options for the topic + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr subscribe(const string& topicFilter, int qos, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()) override; + /** + * Subscribe to a topic, which may include wildcards. + * @param topicFilter the topic to subscribe to, which can include + * wildcards. + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when subscribe has completed + * @param opts The MQTT v5 subscribe options for the topic + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr subscribe(const string& topicFilter, int qos, + void* userContext, iaction_listener& cb, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()) override; + /** + * Subscribe to multiple topics, each of which may include wildcards. + * @param topicFilters + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param opts The MQTT v5 subscribe options (one for each topic) + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + const std::vector& opts=std::vector(), + const properties& props=properties()) override; + /** + * Subscribes to multiple topics, each of which may include wildcards. + * @param topicFilters + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when subscribe has completed + * @param opts The MQTT v5 subscribe options (one for each topic) + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + void* userContext, iaction_listener& cb, + const std::vector& opts=std::vector(), + const properties& props=properties()) override; + /** + * Requests the server unsubscribe the client from a topic. + * @param topicFilter the topic to unsubscribe from. It must match a + * topicFilter specified on an earlier subscribe. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr unsubscribe(const string& topicFilter, + const properties& props=properties()) override; + /** + * Requests the server unsubscribe the client from one or more topics. + * @param topicFilters one or more topics to unsubscribe from. Each + * topicFilter must match one specified on an + * earlier subscribe. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr unsubscribe(const_string_collection_ptr topicFilters, + const properties& props=properties()) override; + /** + * Requests the server unsubscribe the client from one or more topics. + * @param topicFilters + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when unsubscribe has + * completed + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr unsubscribe(const_string_collection_ptr topicFilters, + void* userContext, iaction_listener& cb, + const properties& props=properties()) override; + /** + * Requests the server unsubscribe the client from a topics. + * @param topicFilter the topic to unsubscribe from. It must match a + * topicFilter specified on an earlier subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when unsubscribe has + * completed + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + token_ptr unsubscribe(const string& topicFilter, + void* userContext, iaction_listener& cb, + const properties& props=properties()) override; + /** + * Start consuming messages. + * This initializes the client to receive messages through a queue that + * can be read synchronously. + */ + void start_consuming(); + /** + * Stop consuming messages. + * This shuts down the internal callback and discards any unread + * messages. + */ + void stop_consuming(); + /** + * Read the next message from the queue. + * This blocks until a new message arrives. + * @return The message and topic. + */ + const_message_ptr consume_message() { return que_->get(); } + /** + * Try to read the next message from the queue without blocking. + * @param msg Pointer to the value to receive the message + * @return @em true is a message was read, @em false if no message was + * available. + */ + bool try_consume_message(const_message_ptr* msg) { + return que_->try_get(msg); + } + /** + * Waits a limited time for a message to arrive. + * @param msg Pointer to the value to receive the message + * @param relTime The maximum amount of time to wait for a message. + * @return @em true if a message was read, @em false if a timeout + * occurred. + */ + template + bool try_consume_message_for(const_message_ptr* msg, + const std::chrono::duration& relTime) { + return que_->try_get_for(msg, relTime); + } + /** + * Waits a limited time for a message to arrive. + * @param relTime The maximum amount of time to wait for a message. + * @return A shared pointer to the message that was received. It will be + * empty on timeout. + */ + template + const_message_ptr try_consume_message_for(const std::chrono::duration& relTime) { + const_message_ptr msg; + que_->try_get_for(&msg, relTime); + return msg; + } + /** + * Waits until a specific time for a message to appear. + * @param msg Pointer to the value to receive the message + * @param absTime The time point to wait until, before timing out. + * @return @em true if a message was read, @em false if a timeout + * occurred. + */ + template + bool try_consume_message_until(const_message_ptr* msg, + const std::chrono::time_point& absTime) { + return que_->try_get_until(msg, absTime); + } + /** + * Waits until a specific time for a message to appear. + * @param absTime The time point to wait until, before timing out. + * @return The message, if read, an empty pointer if not. + */ + template + const_message_ptr try_consume_message_until(const std::chrono::time_point& absTime) { + const_message_ptr msg; + que_->try_get_until(msg, absTime); + return msg; + } + +}; + +/** Smart/shared pointer to an asynchronous MQTT client object */ +using async_client_ptr = async_client::ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_async_client_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_ref.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_ref.h new file mode 100644 index 0000000..0ead4ac --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_ref.h @@ -0,0 +1,285 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_buffer_ref_h +#define __mqtt_buffer_ref_h + +#include "types.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * A reference object for holding immutable data buffers, with cheap copy + * semantics and lifetime management. + * + * Each object of this class contains a reference-counted pointer to an + * immutable data buffer. Objects can be copied freely and easily, even + * across threads, since all instances promise not to modify the contents + * of the buffer. + * + * The buffer is immutable but the reference itself acts like a normal + * variable. It can be reassigned to point to a different buffer. + * + * If no value has been assigned to a reference, then it is in a default + * "null" state. It is not safe to call any member functions on a null + * reference, other than to check if the object is null or empty. + * @verbatim + * string_ref sr; + * if (!sr) + * cout << "null reference" << endl; + * else + * cout.write(sr.data(), sr.size()); + * @endverbatim + */ +template +class buffer_ref +{ +public: + /** + * The underlying type for the buffer. + * Normally byte-wide data (char or uint8_t) for Paho. + */ + using value_type = T; + /** + * The type for the buffer. + * We use basic_string for compatibility with string data. + */ + using blob = std::basic_string; + /** + * The pointer we use. + * Note that it is a pointer to a _const_ blob. + */ + using pointer_type = std::shared_ptr; + +private: + /** Our data is a shared pointer to a const buffer */ + pointer_type data_; + +public: + /** + * Default constructor creates a null reference. + */ + buffer_ref() =default; + /** + * Copy constructor only copies a shared pointer. + * @param buf Another buffer reference. + */ + buffer_ref(const buffer_ref& buf) =default; + /** + * Move constructor only moves a shared pointer. + * @param buf Another buffer reference. + */ + buffer_ref(buffer_ref&& buf) =default; + /** + * Creates a reference to a new buffer by copying data. + * @param b A string from which to create a new buffer. + */ + buffer_ref(const blob& b) : data_{std::make_shared(b)} {} + /** + * Creates a reference to a new buffer by moving a string into the + * buffer. + * @param b A string from which to create a new buffer. + */ + buffer_ref(blob&& b) : data_{std::make_shared(std::move(b))} {} + /** + * Creates a reference to an existing buffer by copying the shared + * pointer. + * Note that it is up to the caller to insure that there are no mutable + * references to the buffer. + * @param p A shared pointer to a string. + */ + buffer_ref(const pointer_type& p) : data_(p) {} + /** + * Creates a reference to an existing buffer by moving the shared + * pointer. + * Note that it is up to the caller to insure that there are no mutable + * references to the buffer. + * @param p A shared pointer to a string. + */ + buffer_ref(pointer_type&& p) : data_(std::move(p)) {} + /** + * Creates a reference to a new buffer containing a copy of the data. + * @param buf The memory to copy + * @param n The number of bytes to copy. + */ + buffer_ref(const value_type* buf, size_t n) : data_{std::make_shared(buf,n)} {} + /** + * Creates a reference to a new buffer containing a copy of the + * NUL-terminated char array. + * @param buf A NUL-terminated char array (C string). + */ + buffer_ref(const char* buf) : buffer_ref(reinterpret_cast(buf), + std::strlen(buf)) { + static_assert(sizeof(char) == sizeof(T), "can only use C arr with char or byte buffers"); + } + + /** + * Copy the reference to the buffer. + * @param rhs Another buffer + * @return A reference to this object + */ + buffer_ref& operator=(const buffer_ref& rhs) =default; + /** + * Move a reference to a buffer. + * @param rhs The other reference to move. + * @return A reference to this object. + */ + buffer_ref& operator=(buffer_ref&& rhs) =default; + /** + * Copy a string into this object, creating a new buffer. + * Modifies the reference for this object, pointing it to a + * newly-created buffer. Other references to the old object remain + * unchanges, so this follows copy-on-write semantics. + * @param b A new blob/string to copy. + * @return A reference to this object. + */ + buffer_ref& operator=(const blob& b) { + data_.reset(new blob(b)); + return *this; + } + /** + * Move a string into this object, creating a new buffer. + * Modifies the reference for this object, pointing it to a + * newly-created buffer. Other references to the old object remain + * unchanges, so this follows copy-on-write semantics. + * @param b A new blob/string to move. + * @return A reference to this object. + */ + buffer_ref& operator=(blob&& b) { + data_.reset(new blob(std::move(b))); + return *this; + } + /** + * Copy a NUL-terminated C char array into a new buffer + * @param cstr A NUL-terminated C string. + * @return A reference to this object + */ + buffer_ref& operator=(const char* cstr) { + static_assert(sizeof(char) == sizeof(T), "can only use C arr with char or byte buffers"); + data_.reset(new blob(reinterpret_cast(cstr), strlen(cstr))); + return *this; + } + /** + * Copy another type of buffer reference to this one. + * This can copy a buffer of different types, provided that the size of + * the data elements are the same. This is typically used to convert + * from char to byte, where the data is the same, but the interpretation + * is different. Note that this copies the underlying buffer. + * @param rhs A reference to a different type of buffer. + * @return A reference to this object. + */ + template + buffer_ref& operator=(const buffer_ref& rhs) { + static_assert(sizeof(OT) == sizeof(T), "Can only assign buffers if values the same size"); + data_.reset(new blob(reinterpret_cast(rhs.data()), rhs.size())); + return *this; + } + /** + * Clears the reference to nil. + */ + void reset() { data_.reset(); } + /** + * Determines if the reference is valid. + * If the reference is invalid then it is not safe to call @em any + * member functions other than @ref is_null() and @ref empty() + * @return @em true if referring to a valid buffer, @em false if the + * reference (pointer) is null. + */ + explicit operator bool() const { return bool(data_); } + /** + * Determines if the reference is invalid. + * If the reference is invalid then it is not safe to call @em any + * member functions other than @ref is_null() and @ref empty() + * @return @em true if the reference is null, @em false if it is + * referring to a valid buffer, + */ + bool is_null() const { return !data_; } + /** + * Determines if the buffer is empty. + * @return @em true if the buffer is empty or thr reference is null, @em + * false if the buffer contains data. + */ + bool empty() const { return !data_ || data_->empty(); } + /** + * Gets a const pointer to the data buffer. + * @return A pointer to the data buffer. + */ + const value_type* data() const { return data_->data(); } + /** + * Gets the size of the data buffer. + * @return The size of the data buffer. + */ + size_t size() const { return data_->size(); } + /** + * Gets the size of the data buffer. + * @return The size of the data buffer. + */ + size_t length() const { return data_->length(); } + /** + * Gets the data buffer as a string. + * @return The data buffer as a string. + */ + const blob& str() const { return *data_; } + /** + * Gets the data buffer as a string. + * @return The data buffer as a string. + */ + const blob& to_string() const { return str(); } + /** + * Gets the data buffer as NUL-terminated C string. + * Note that the reference must be set to call this function. + * @return The data buffer as a string. + */ + const char* c_str() const { return data_->c_str(); } + /** + * Gets a shared pointer to the (const) data buffer. + * @return A shared pointer to the (const) data buffer. + */ + const pointer_type& ptr() const { return data_; } + /** + * Gets elemental access to the data buffer (read only) + * @param i The index into the buffer. + * @return The value at the specified index. + */ + const value_type& operator[](size_t i) const { return (*data_)[i]; } +}; + +/** + * Stream inserter for a buffer reference. + * This does a binary write of the data in the buffer. + * @param os The output stream. + * @param buf The buffer reference to write. + * @return A reference to the output stream. + */ +template +std::ostream& operator<<(std::ostream& os, const buffer_ref& buf) { + if (!buf.empty()) + os.write(buf.data(), buf.size()); + return os; +} + +///////////////////////////////////////////////////////////////////////////// + +/** + * A refernce to a text buffer. + */ +using string_ref = buffer_ref; + +/** + * A reference to a binary buffer. + * Note that we're using char for the underlying data type to allow + * efficient moves to and from std::string's. Using a separate type + * indicates that the data may be arbitrary binary. + */ +using binary_ref = buffer_ref; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_buffer_ref_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_view.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_view.h new file mode 100644 index 0000000..28029dd --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/buffer_view.h @@ -0,0 +1,115 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_buffer_view_h +#define __mqtt_buffer_view_h + +#include "types.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * A reference to a contiguous sequence of items, with no ownership. + * This simply contains a pointer to a const array of items, and a size. + * This is a similar, but simplified version of the std::string_view + * class(es) in the C++17 standard. + */ +template +class buffer_view +{ +public: + /** The type of items to be held in the queue. */ + using value_type = T; + /** The type used to specify number of items in the container. */ + using size_type = size_t; + +private: + /** Const pointer to the data array */ + const value_type* data_; + /** The size of the array */ + size_type sz_; + +public: + /** + * Constructs a buffer view. + * @param data The data pointer + * @param n The number of items + */ + buffer_view(const value_type* data, size_type n) + : data_(data), sz_(n) {} + /** + * Constructs a buffer view to a whole string. + * This the starting pointer and length of the whole string. + * @param str The string. + */ + buffer_view(const std::basic_string& str) + : data_(str.data()), sz_(str.size()) {} + /** + * Gets a pointer the first item in the view. + * @return A const pointer the first item in the view. + */ + const value_type* data() const { return data_; } + /** + * Gets the number of items in the view. + * @return The number of items in the view. + */ + size_type size() const { return sz_; } + /** + * Gets the number of items in the view. + * @return The number of items in the view. + */ + size_type length() const { return sz_; } + /** + * Access an item in the view. + * @param i The index of the item. + * @return A const reference to the requested item. + */ + const value_type& operator[](size_t i) const { return data_[i]; } + /** + * Gets a copy of the view as a string. + * @return A copy of the view as a string. + */ + std::basic_string str() const { + return std::basic_string(data_, sz_); + } + /** + * Gets a copy of the view as a string. + * @return A copy of the view as a string. + */ + string to_string() const { + static_assert(sizeof(char) == sizeof(T), "can only get string for char or byte buffers"); + return string(reinterpret_cast(data_), sz_); + } +}; + + +/** + * Stream inserter for a buffer view. + * This does a binary write of the data in the buffer. + * @param os The output stream. + * @param buf The buffer reference to write. + * @return A reference to the output stream. + */ +template +std::ostream& operator<<(std::ostream& os, const buffer_view& buf) { + if (buf.size() > 0) + os.write(buf.data(), sizeof(T)*buf.size()); + return os; +} + +/** A buffer view for character string data. */ +using string_view = buffer_view; + +/** A buffer view for binary data */ +using binary_view = buffer_view; + + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_buffer_view_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/callback.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/callback.h new file mode 100644 index 0000000..9e76b1f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/callback.h @@ -0,0 +1,67 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_callback_h +#define __mqtt_callback_h + +#include "MQTTAsync.h" +#include "delivery_token.h" +#include "types.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Provides a mechanism for tracking the completion of an asynchronous + * action. + */ +class callback +{ +public: + /** Smart/shared pointer to an object of this type */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this type */ + using const_ptr_t = std::shared_ptr; + + /** + * Virtual destructor. + */ + virtual ~callback() {} + + /** + * This method is called when the client is connected. + * Note that, in response to an initial connect(), the token from the + * connect call is also signaled with an on_success(). That occurs just + * before this is called. + */ + virtual void connected(const string& /*cause*/) {} + /** + * This method is called when the connection to the server is lost. + */ + virtual void connection_lost(const string& /*cause*/) {} + /** + * This method is called when a message arrives from the server. + */ + virtual void message_arrived(const_message_ptr /*msg*/) {} + /** + * Called when delivery for a message has been completed, and all + * acknowledgments have been received. + */ + virtual void delivery_complete(delivery_token_ptr /*tok*/) {} +}; + +/** Smart/shared pointer to a callback object */ +using callback_ptr = callback::ptr_t; + +/** Smart/shared pointer to a const callback object */ +using const_callback_ptr = callback::const_ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_callback_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.cpp new file mode 100644 index 0000000..f17b6ff --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.cpp @@ -0,0 +1,169 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "client.h" +#include +#include + +namespace mqtt { + +const std::chrono::seconds client::DFLT_TIMEOUT = std::chrono::seconds(30); + +#if __cplusplus < 201703L + constexpr int client::DFLT_QOS; +#endif + +///////////////////////////////////////////////////////////////////////////// + +client::client(const string& serverURI, const string& clientId, + iclient_persistence* persistence /*=nullptr*/) + : cli_(serverURI, clientId, persistence), + timeout_(DFLT_TIMEOUT), userCallback_(nullptr) +{ +} + +client::client(const string& serverURI, const string& clientId, + const string& persistDir) + : cli_(serverURI, clientId, persistDir), + timeout_(DFLT_TIMEOUT), userCallback_(nullptr) +{ +} + +client::client(const string& serverURI, const string& clientId, + int maxBufferedMessages, + iclient_persistence* persistence /*=nullptr*/) + : cli_(serverURI, clientId, maxBufferedMessages, persistence), + timeout_(DFLT_TIMEOUT), userCallback_(nullptr) +{ +} + +client::client(const string& serverURI, const string& clientId, + int maxBufferedMessages, const string& persistDir) + : cli_(serverURI, clientId, maxBufferedMessages, persistDir), + timeout_(DFLT_TIMEOUT), userCallback_(nullptr) +{ +} + +client::client(const string& serverURI, const string& clientId, + const create_options& opts, + iclient_persistence* persistence /*=nullptr*/) + : cli_(serverURI, clientId, opts, persistence), + timeout_(DFLT_TIMEOUT), userCallback_(nullptr) +{ +} + +// -------------------------------------------------------------------------- + +void client::set_callback(callback& cb) +{ + userCallback_ = &cb; + cli_.set_callback(*this); +} + +connect_response client::connect() +{ + cli_.start_consuming(); + auto tok = cli_.connect(); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_connect_response(); +} + +connect_response client::connect(connect_options opts) +{ + cli_.start_consuming(); + auto tok = cli_.connect(std::move(opts)); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_connect_response(); +} + +connect_response client::reconnect() +{ + auto tok = cli_.reconnect(); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_connect_response(); +} + +subscribe_response client::subscribe(const string& topicFilter, + const subscribe_options& opts /*=subscribe_options()*/, + const properties& props /*=properties()*/) +{ + auto tok = cli_.subscribe(topicFilter, DFLT_QOS, opts, props); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_subscribe_response(); +} + +subscribe_response client::subscribe(const string& topicFilter, int qos, + const subscribe_options& opts /*=subscribe_options()*/, + const properties& props /*=properties()*/) +{ + auto tok = cli_.subscribe(topicFilter, qos, opts, props); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_subscribe_response(); +} + +subscribe_response client::subscribe(const string_collection& topicFilters, + const std::vector& opts /*=std::vector()*/, + const properties& props /*=properties()*/) +{ + qos_collection qos; + for (size_t i=0; iwait_for(timeout_)) + throw timeout_error(); + return tok->get_subscribe_response(); +} + +subscribe_response client::subscribe(const string_collection& topicFilters, + const qos_collection& qos, + const std::vector& opts /*=std::vector()*/, + const properties& props /*=properties()*/) +{ + auto tok = cli_.subscribe(ptr(topicFilters), qos, opts, props); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_subscribe_response(); +} + +unsubscribe_response client::unsubscribe(const string& topicFilter, + const properties& props /*=properties()*/) +{ + auto tok = cli_.unsubscribe(topicFilter, props); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_unsubscribe_response(); +} + +unsubscribe_response client::unsubscribe(const string_collection& topicFilters, + const properties& props /*=properties()*/) +{ + auto tok = cli_.unsubscribe(ptr(topicFilters), props); + if (!tok->wait_for(timeout_)) + throw timeout_error(); + return tok->get_unsubscribe_response(); +} + +void client::disconnect() +{ + cli_.stop_consuming(); + if (!cli_.disconnect()->wait_for(timeout_)) + throw timeout_error(); +} + +void client::disconnect(int timeoutMS) +{ + cli_.stop_consuming(); + if (!cli_.disconnect(timeoutMS)->wait_for(timeout_)) + throw timeout_error(); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.h new file mode 100644 index 0000000..1608fce --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/client.h @@ -0,0 +1,416 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_client_h +#define __mqtt_client_h + +#include "async_client.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Lightweight client for talking to an MQTT server using methods that block + * until an operation completes. + */ +class client : private callback +{ + /** An arbitrary, but relatively long timeout */ + static const std::chrono::seconds DFLT_TIMEOUT; + /** The default quality of service */ + static constexpr int DFLT_QOS = 1; + + /** The actual client */ + async_client cli_; + /** The longest time to wait for an operation to complete. */ + std::chrono::milliseconds timeout_; + /** Callback supplied by the user (if any) */ + callback* userCallback_; + + /** + * Creates a shared pointer to an existing non-heap object. + * The shared pointer is given a no-op deleter, so it will not try to + * destroy the object when it goes out of scope. It is up to the caller + * to ensure that the object remains in memory for as long as there may + * be pointers to it. + * @param val A value which may live anywhere in memory (stack, + * file-scope, etc). + * @return A shared pointer to the object. + */ + template + std::shared_ptr ptr(const T& val) { + return std::shared_ptr(const_cast(&val), [](T*){}); + } + + // User callbacks + // Most are launched in a separate thread, for convenience, except + // message_arrived, for performance. + void connected(const string& cause) override { + auto r = std::async(std::launch::async, &callback::connected, userCallback_, cause); + } + void connection_lost(const string& cause) override { + auto r = std::async(std::launch::async, + &callback::connection_lost, userCallback_, cause); + } + void message_arrived(const_message_ptr msg) override { + userCallback_->message_arrived(msg); + } + void delivery_complete(delivery_token_ptr tok) override { + auto r = std::async(std::launch::async, &callback::delivery_complete, userCallback_, tok); + } + + /** Non-copyable */ + client() =delete; + client(const async_client&) =delete; + client& operator=(const async_client&) =delete; + +public: + /** Smart pointer type for this object */ + using ptr_t = std::shared_ptr; + /** Type for a collection of QOS values */ + using qos_collection = async_client::qos_collection; + + /** Handler for updating connection data before an auto-reconnect. */ + using update_connection_handler = async_client::update_connection_handler; + + /** + * Create a client that can be used to communicate with an MQTT server. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + */ + client(const string& serverURI, const string& clientId, + iclient_persistence* persistence=nullptr); + /** + * Create an async_client that can be used to communicate with an MQTT + * server. + * This uses file-based persistence in the specified directory. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param persistDir The directory to use for persistence data + */ + client(const string& serverURI, const string& clientId, + const string& persistDir); + /** + * Create a client that can be used to communicate with an MQTT server, + * which allows for off-line message buffering. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param maxBufferedMessages the maximum number of messages allowed to + * be buffered while not connected + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + */ + client(const string& serverURI, const string& clientId, + int maxBufferedMessages, + iclient_persistence* persistence=nullptr); + /** + * Create a client that can be used to communicate with an MQTT server, + * which allows for off-line message buffering. + * This uses file-based persistence in the specified directory. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param maxBufferedMessages the maximum number of messages allowed to + * be buffered while not connected + * @param persistDir The directory to use for persistence data + */ + client(const string& serverURI, const string& clientId, + int maxBufferedMessages, const string& persistDir); + /** + * Create an async_client that can be used to communicate with an MQTT + * server, which allows for off-line message buffering. + * This allows the caller to specify a user-defined persistence object, + * or use no persistence. + * @param serverURI the address of the server to connect to, specified + * as a URI. + * @param clientId a client identifier that is unique on the server + * being connected to + * @param opts The create options + * @param persistence The user persistence structure. If this is null, + * then no persistence is used. + */ + client(const string& serverURI, const string& clientId, + const create_options& opts, + iclient_persistence* persistence=nullptr); + /** + * Virtual destructor + */ + virtual ~client() {} + /** + * Connects to an MQTT server using the default options. + */ + virtual connect_response connect(); + /** + * Connects to an MQTT server using the specified options. + * @param opts + */ + virtual connect_response connect(connect_options opts); + /** + * Reconnects the client using options from the previous connect. + * The client must have previously called connect() for this to work. + */ + virtual connect_response reconnect(); + /** + * Disconnects from the server. + */ + virtual void disconnect(); + /** + * Disconnects from the server. + * @param timeoutMS the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + */ + virtual void disconnect(int timeoutMS); + /** + * Disconnects from the server. + * @param to the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + */ + template + void disconnect(const std::chrono::duration& to) { + disconnect((int) to_milliseconds_count(to)); + } + /** + * Gets the client ID used by this client. + * @return The client ID used by this client. + */ + virtual string get_client_id() const { return cli_.get_client_id(); } + /** + * Gets the address of the server used by this client. + * @return The address of the server used by this client, as a URI. + */ + virtual string get_server_uri() const { return cli_.get_server_uri(); } + /** + * Return the maximum time to wait for an action to complete. + * @return int + */ + virtual std::chrono::milliseconds get_timeout() const { return timeout_; } + /** + * Get a topic object which can be used to publish messages on this + * client. + * @param top The topic name + * @param qos The Quality of Service for the topic + * @param retained Whether the published messages set the retain flag. + * @return A topic attached to this client. + */ + virtual topic get_topic(const string& top, int qos=message::DFLT_QOS, + bool retained=message::DFLT_RETAINED) { + return topic(cli_, top); + } + /** + * Determines if this client is currently connected to the server. + * @return @em true if the client is currently connected, @em false if + * not. + */ + virtual bool is_connected() const { return cli_.is_connected(); } + /** + * Sets a callback to allow the application to update the connection + * data on automatic reconnects. + * @param cb The callback functor to register with the library. + */ + void set_update_connection_handler(update_connection_handler cb) { + cli_.set_update_connection_handler(cb); + } + + /** + * Publishes a message to a topic on the server and return once it is + * delivered. + * @param top The topic to publish + * @param payload The data to publish + * @param n The size in bytes of the data + * @param qos The QoS for message delivery + * @param retained Whether the broker should retain the message + */ + virtual void publish(string_ref top, const void* payload, size_t n, + int qos, bool retained) { + if (!cli_.publish(std::move(top), payload, n, qos, retained)->wait_for(timeout_)) + throw timeout_error(); + } + /** + * Publishes a message to a topic on the server and return once it is + * delivered. + * @param top The topic to publish + * @param payload The data to publish + * @param n The size in bytes of the data + */ + virtual void publish(string_ref top, const void* payload, size_t n) { + if (!cli_.publish(std::move(top), payload, n)->wait_for(timeout_)) + throw timeout_error(); + } + /** + * Publishes a message to a topic on the server. + * @param msg The message + */ + virtual void publish(const_message_ptr msg) { + if (!cli_.publish(msg)->wait_for(timeout_)) + throw timeout_error(); + } + /** + * Publishes a message to a topic on the server. + * This version will not timeout since that could leave the library with + * a reference to memory that could disappear while the library is still + * using it. + * @param msg The message + */ + virtual void publish(const message& msg) { + cli_.publish(ptr(msg))->wait(); + } + /** + * Sets the callback listener to use for events that happen + * asynchronously. + * @param cb The callback functions + */ + virtual void set_callback(callback& cb); + /** + * Set the maximum time to wait for an action to complete. + * @param timeoutMS The timeout in milliseconds + */ + virtual void set_timeout(int timeoutMS) { + timeout_ = std::chrono::milliseconds(timeoutMS); + } + /** + * Set the maximum time to wait for an action to complete. + * @param to The timeout as a std::chrono duration. + */ + template + void set_timeout(const std::chrono::duration& to) { + timeout_ = to_milliseconds(to); + } + /** + * Subscribe to a topic, which may include wildcards using a QoS of 1. + * @param topicFilter + * @param props The MQTT v5 properties. + * @param opts The MQTT v5 subscribe options for the topic + * @return The "subscribe" response from the server. + */ + virtual subscribe_response subscribe(const string& topicFilter, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()); + /** + * Subscribe to a topic, which may include wildcards. + * @param topicFilter A single topic to subscribe + * @param qos The QoS of the subscription + * @param opts The MQTT v5 subscribe options for the topic + * @param props The MQTT v5 properties. + * @return The "subscribe" response from the server. + */ + virtual subscribe_response subscribe(const string& topicFilter, int qos, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()); + /** + * Subscribes to a one or more topics, which may include wildcards using + * a QoS of 1. + * @param topicFilters A set of topics to subscribe + * @param opts The MQTT v5 subscribe options (one for each topic) + * @param props The MQTT v5 properties. + * @return The "subscribe" response from the server. + */ + virtual subscribe_response subscribe(const string_collection& topicFilters, + const std::vector& opts=std::vector(), + const properties& props=properties()); + /** + * Subscribes to multiple topics, each of which may include wildcards. + * @param topicFilters A collection of topics to subscribe + * @param qos A collection of QoS for each topic + * @param opts The MQTT v5 subscribe options (one for each topic) + * @param props The MQTT v5 properties. + * @return The "subscribe" response from the server. + */ + virtual subscribe_response subscribe(const string_collection& topicFilters, + const qos_collection& qos, + const std::vector& opts=std::vector(), + const properties& props=properties()); + /** + * Requests the server unsubscribe the client from a topic. + * @param topicFilter A single topic to unsubscribe. + * @param props The MQTT v5 properties. + * @return The "unsubscribe" response from the server. + */ + virtual unsubscribe_response unsubscribe(const string& topicFilter, + const properties& props=properties()); + /** + * Requests the server unsubscribe the client from one or more topics. + * @param topicFilters A collection of topics to unsubscribe. + * @param props The MQTT v5 properties. + * @return The "unsubscribe" response from the server. + */ + virtual unsubscribe_response unsubscribe(const string_collection& topicFilters, + const properties& props=properties()); + /** + * Start consuming messages. + * This initializes the client to receive messages through a queue that + * can be read synchronously. + */ + void start_consuming() { cli_.start_consuming(); } + /** + * Stop consuming messages. + * This shuts down the internal callback and discards any unread + * messages. + */ + void stop_consuming() { cli_.stop_consuming(); } + /** + * Read the next message from the queue. + * This blocks until a new message arrives. + * @return The message and topic. + */ + const_message_ptr consume_message() { return cli_.consume_message(); } + /** + * Try to read the next message from the queue without blocking. + * @param msg Pointer to the value to receive the message + * @return @em true is a message was read, @em false if no message was + * available. + */ + bool try_consume_message(const_message_ptr* msg) { + return cli_.try_consume_message(msg); + } + /** + * Waits a limited time for a message to arrive. + * @param msg Pointer to the value to receive the message + * @param relTime The maximum amount of time to wait for a message. + * @return @em true if a message was read, @em false if a timeout + * occurred. + */ + template + bool try_consume_message_for(const_message_ptr* msg, + const std::chrono::duration& relTime) { + return cli_.try_consume_message_for(msg, relTime); + } + /** + * Waits until a specific time for a message to occur. + * @param msg Pointer to the value to receive the message + * @param absTime The time point to wait until, before timing out. + * @return @em true if a message was read, @em false if a timeout + * occurred. + */ + template + bool try_consume_message_until(const_message_ptr* msg, + const std::chrono::time_point& absTime) { + return cli_.try_consume_message_until(msg, absTime); + } +}; + +/** Smart/shared pointer to an MQTT synchronous client object */ +using client_ptr = client::ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_client_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.cpp new file mode 100644 index 0000000..d1ac146 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.cpp @@ -0,0 +1,359 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "connect_options.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +const MQTTAsync_connectOptions connect_options::DFLT_C_STRUCT = + MQTTAsync_connectOptions_initializer; + +connect_options::connect_options() : opts_(DFLT_C_STRUCT) +{ +} + +connect_options::connect_options(string_ref userName, binary_ref password) + : connect_options() +{ + set_user_name(userName); + set_password(password); +} + +connect_options::connect_options(const connect_options& opt) : opts_(opt.opts_), + userName_(opt.userName_), + password_(opt.password_), + tok_(opt.tok_), + serverURIs_(opt.serverURIs_), + props_(opt.props_), + httpHeaders_(opt.httpHeaders_), + httpProxy_(opt.httpProxy_), + httpsProxy_(opt.httpsProxy_) +{ + if (opts_.will) + set_will(opt.will_); + + if (opts_.ssl) + set_ssl(opt.ssl_); + + update_c_struct(); +} + +connect_options::connect_options(connect_options&& opt) : opts_(opt.opts_), + will_(std::move(opt.will_)), + ssl_(std::move(opt.ssl_)), + userName_(std::move(opt.userName_)), + password_(std::move(opt.password_)), + tok_(std::move(opt.tok_)), + serverURIs_(std::move(opt.serverURIs_)), + props_(std::move(opt.props_)), + httpHeaders_(std::move(opt.httpHeaders_)), + httpProxy_(std::move(opt.httpProxy_)), + httpsProxy_(std::move(opt.httpsProxy_)) +{ + if (opts_.will) + opts_.will = &will_.opts_; + + if (opts_.willProperties) + opts_.willProperties = const_cast(&will_.props_.c_struct()); + + if (opts_.ssl) + opts_.ssl = &ssl_.opts_; + + update_c_struct(); +} + +// Unfortunately, with the existing implementation, there's no way to know +// if the will and ssl options were set by looking at the C++ structs. +// In a major update, we can consider using a pointer or optional<> to +// indicate that they were set. +// But, for now, the copy and assignment operations must handle it manually +// by looking to see if the source C options pointer was set. +void connect_options::update_c_struct() +{ + opts_.username = c_str(userName_); + + // Password + + if (password_.empty()) { + opts_.binarypwd.len = 0; + opts_.binarypwd.data = nullptr; + } + else { + opts_.binarypwd.len = (int) password_.size(); + opts_.binarypwd.data = password_.data(); + } + + // Token + + opts_.onSuccess = nullptr; + opts_.onFailure = nullptr; + + opts_.onSuccess5 = nullptr; + opts_.onFailure5 = nullptr; + + if (tok_) { + if (opts_.MQTTVersion < MQTTVERSION_5) { + opts_.onSuccess = &token::on_success; + opts_.onFailure = &token::on_failure; + } + else { + opts_.onSuccess5 = &token::on_success5; + opts_.onFailure5 = &token::on_failure5; + } + } + + // Server URIs + + if (!serverURIs_ || serverURIs_->empty()) { + opts_.serverURIcount = 0; + opts_.serverURIs = nullptr; + } + else { + opts_. serverURIcount = (int) serverURIs_->size(); + opts_.serverURIs = serverURIs_->c_arr(); + } + + // HTTP & Proxy + + opts_.httpProxy = c_str(httpProxy_); + opts_.httpsProxy = c_str(httpsProxy_); +} + +connect_options& connect_options::operator=(const connect_options& opt) +{ + opts_ = opt.opts_; + + if (opts_.will) + set_will(opt.will_); + + if (opts_.ssl) + set_ssl(opt.ssl_); + + userName_ = opt.userName_; + password_ = opt.password_; + + tok_ = opt.tok_; + serverURIs_ = opt.serverURIs_; + props_ = opt.props_; + + httpHeaders_ = opt.httpHeaders_; + httpProxy_ = opt.httpProxy_; + httpsProxy_ = opt.httpsProxy_; + + update_c_struct(); + return *this; +} + +connect_options& connect_options::operator=(connect_options&& opt) +{ + opts_ = opt.opts_; + + if (opts_.will) + set_will(std::move(opt.will_)); + + if (opts_.ssl) + set_ssl(std::move(opt.ssl_)); + + userName_ = std::move(opt.userName_); + password_ = std::move(opt.password_); + + tok_ = std::move(opt.tok_); + serverURIs_ = std::move(opt.serverURIs_); + props_ = std::move(opt.props_); + + httpHeaders_ = std::move(opt.httpHeaders_); + httpProxy_ = std::move(opt.httpProxy_); + httpsProxy_ = std::move(opt.httpsProxy_); + + update_c_struct(); + return *this; +} + +void connect_options::set_will(const will_options& will) +{ + will_ = will; + opts_.will = &will_.opts_; + opts_.willProperties = will_.get_properties().empty() + ? nullptr : const_cast(&will_.props_.c_struct()); +} + +void connect_options::set_will(will_options&& will) +{ + will_ = will; + opts_.will = &will_.opts_; + opts_.willProperties = will_.get_properties().empty() + ? nullptr : const_cast(&will_.props_.c_struct()); +} + +void connect_options::set_user_name(string_ref userName) +{ + userName_ = std::move(userName); + opts_.username = c_str(userName_); +} + +void connect_options::set_password(binary_ref password) +{ + password_ = std::move(password); + + if (password_.empty()) { + opts_.binarypwd.len = 0; + opts_.binarypwd.data = nullptr; + } + else { + opts_.binarypwd.len = (int) password_.size(); + opts_.binarypwd.data = password_.data(); + } +} + +void connect_options::set_ssl(const ssl_options& ssl) +{ + ssl_ = ssl; + opts_.ssl = &ssl_.opts_; +} + +void connect_options::set_ssl(ssl_options&& ssl) +{ + ssl_ = ssl; + opts_.ssl = &ssl_.opts_; +} + +void connect_options::set_token(const token_ptr& tok) +{ + tok_ = tok; + opts_.context = tok_.get(); + + opts_.onSuccess = nullptr; + opts_.onFailure = nullptr; + + opts_.onSuccess5 = nullptr; + opts_.onFailure5 = nullptr; + + if (tok) { + if (opts_.MQTTVersion < MQTTVERSION_5) { + opts_.onSuccess = &token::on_success; + opts_.onFailure = &token::on_failure; + } + else { + opts_.onSuccess5 = &token::on_success5; + opts_.onFailure5 = &token::on_failure5; + } + } +} + +void connect_options::set_servers(const_string_collection_ptr serverURIs) +{ + if (serverURIs) { + serverURIs_ = std::move(serverURIs); + opts_. serverURIcount = (int) serverURIs_->size(); + opts_.serverURIs = serverURIs_->c_arr(); + } + else { + serverURIs_.reset(); + opts_.serverURIcount = 0; + opts_.serverURIs = nullptr; + } +} + +void connect_options::set_mqtt_version(int mqttVersion) { + opts_.MQTTVersion = mqttVersion; + + if (mqttVersion < MQTTVERSION_5) + opts_.cleanstart = 0; + else + opts_.cleansession = 0; +} + +void connect_options::set_automatic_reconnect(int minRetryInterval, + int maxRetryInterval) +{ + opts_.automaticReconnect = to_int(true); + opts_.minRetryInterval = minRetryInterval; + opts_.maxRetryInterval = maxRetryInterval; +} + +void connect_options::set_http_proxy(const string& httpProxy) +{ + httpProxy_ = httpProxy; + opts_.httpProxy = c_str(httpProxy_); +} + +void connect_options::set_https_proxy(const string& httpsProxy) +{ + httpsProxy_ = httpsProxy; + opts_.httpsProxy = c_str(httpsProxy_); +} + +///////////////////////////////////////////////////////////////////////////// +// connect_data + +const MQTTAsync_connectData connect_data::DFLT_C_STRUCT = + MQTTAsync_connectData_initializer; + +connect_data::connect_data() : data_(DFLT_C_STRUCT) +{ +} + +connect_data::connect_data(string_ref userName) + : data_(DFLT_C_STRUCT), userName_(userName) +{ + update_c_struct(); +} + +connect_data::connect_data(string_ref userName, binary_ref password) + : data_(DFLT_C_STRUCT), userName_(userName), password_(password) +{ + update_c_struct(); +} + +connect_data::connect_data(const MQTTAsync_connectData& cdata) + : data_(DFLT_C_STRUCT), + password_((char*)cdata.binarypwd.data, size_t(cdata.binarypwd.len)) +{ + if (cdata.username) + userName_ = string_ref(cdata.username, strlen(cdata.username)); + update_c_struct(); +} + +void connect_data::update_c_struct() +{ + data_.username = userName_.empty() ? nullptr : userName_.c_str(); + + if (password_.empty()) { + data_.binarypwd.len = 0; + data_.binarypwd.data = nullptr; + } + else { + data_.binarypwd.len = (int) password_.size(); + data_.binarypwd.data = password_.data(); + } +} + +connect_data& connect_data::operator=(const connect_data& rhs) +{ + if (&rhs != this) { + userName_ = rhs.userName_; + password_ = rhs.password_; + update_c_struct(); + } + return *this; +} + +void connect_data::set_user_name(string_ref userName) +{ + userName_ = std::move(userName); + update_c_struct(); +} + +void connect_data::set_password(binary_ref password) +{ + password_ = std::move(password); + update_c_struct(); +} + +///////////////////////////////////////////////////////////////////////////// + +} // end namespace mqtt + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.h new file mode 100644 index 0000000..7577e2d --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/connect_options.h @@ -0,0 +1,834 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_connect_options_h +#define __mqtt_connect_options_h + +#include "MQTTAsync.h" +#include "types.h" +#include "message.h" +#include "topic.h" +#include "token.h" +#include "string_collection.h" +#include "will_options.h" +#include "ssl_options.h" +#include +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Holds the set of options that control how the client connects to a + * server. + */ +class connect_options +{ + /** The default C struct */ + static const MQTTAsync_connectOptions DFLT_C_STRUCT; + + /** The underlying C connection options */ + MQTTAsync_connectOptions opts_; + + /** The LWT options */ + will_options will_; + + /** The SSL options */ + ssl_options ssl_; + + /** The user name to use for the connection. */ + string_ref userName_; + + /** The password to use for the connection. */ + binary_ref password_; + + /** Shared token pointer for context, if any */ + token_ptr tok_; + + /** Collection of server URIs, if any */ + const_string_collection_ptr serverURIs_; + + /** The connect properties */ + properties props_; + + /** HTTP Headers */ + name_value_collection httpHeaders_; + + /** HTTP proxy for websockets */ + string httpProxy_; + + /** Secure HTTPS proxy for websockets */ + string httpsProxy_; + + /** The client has special access */ + friend class async_client; + + /** + * Gets a pointer to the C-language NUL-terminated strings for the + * struct. + * @note In the connect options, by default, the Paho C treats + * nullptr char arrays as unset values, so we keep that semantic and + * only set those char arrays if the string is non-empty. + * @param str The C++ string object. + * @return Pointer to a NUL terminated string. This is only valid until + * the next time the string is updated. + */ + const char* c_str(const string_ref& sr) { + return sr.empty() ? nullptr : sr.c_str(); + } + const char* c_str(const string& s) { + return s.empty() ? nullptr : s.c_str(); + } + /** + * Updates the underlying C structure to match our strings. + */ + void update_c_struct(); + +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Constructs a new object using the default values. + */ + connect_options(); + /** + * Constructs a new object using the specified user name and password. + * @param userName The name of the user for connecting to the server + * @param password The password for connecting to the server + */ + connect_options(string_ref userName, binary_ref password); + /** + * Copy constructor. + * @param opt Another object to copy. + */ + connect_options(const connect_options& opt); + /** + * Move constructor. + * @param opt Another object to move into this new one. + */ + connect_options(connect_options&& opt); + /** + * Copy assignment. + * @param opt Another object to copy. + */ + connect_options& operator=(const connect_options& opt); + /** + * Move assignment. + * @param opt Another object to move into this new one. + */ + connect_options& operator=(connect_options&& opt); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_connectOptions& c_struct() const { return opts_; } + #endif + /** + * Gets the "keep alive" interval. + * @return The keep alive interval in seconds. + */ + std::chrono::seconds get_keep_alive_interval() const { + return std::chrono::seconds(opts_.keepAliveInterval); + } + /** + * Gets the connection timeout. + * This is the amount of time the underlying library will wait for a + * timeout before failing. + * @return The connect timeout in seconds. + */ + std::chrono::seconds get_connect_timeout() const { + return std::chrono::seconds(opts_.connectTimeout); + } + /** + * Gets the user name to use for the connection. + * @return The user name to use for the connection. + */ + string get_user_name() const { return userName_ ? userName_.to_string() : string(); } + /** + * Gets the password to use for the connection. + * @return The password to use for the connection. + */ + binary_ref get_password() const { return password_; } + /** + * Gets the password to use for the connection. + * @return The password to use for the connection. + */ + string get_password_str() const { + return password_ ? password_.to_string() : string(); + } + /** + * Gets the maximum number of messages that can be in-flight + * simultaneously. + * @return The maximum number of inflight messages. + */ + int get_max_inflight() const { return opts_.maxInflight; } + /** + * Gets the topic to be used for last will and testament (LWT). + * @return The topic to be used for last will and testament (LWT). + */ + string get_will_topic() const { + return will_.get_topic(); + } + /** + * Gets the message to be sent as last will and testament (LWT). + * @return The message to be sent as last will and testament (LWT). + */ + const_message_ptr get_will_message() const { + return will_.get_message(); + } + /** + * Get the LWT options to use for the connection. + * @return The LWT options to use for the connection. + */ + const will_options& get_will_options() const { return will_; } + /** + * Get the SSL options to use for the connection. + * @return The SSL options to use for the connection. + */ + const ssl_options& get_ssl_options() const { return ssl_; } + /** + * Sets the SSL for the connection. + * These will only have an effect if compiled against the SSL version of + * the Paho C library, and using a secure connection, "ssl://" or + * "wss://". + * @param ssl The SSL options. + */ + void set_ssl(const ssl_options& ssl); + /** + * Sets the SSL for the connection. + * These will only have an effect if compiled against the SSL version of + * the Paho C library, and using a secure connection, "ssl://" or + * "wss://". + * @param ssl The SSL options. + */ + void set_ssl(ssl_options&& ssl); + /** + * Returns whether the server should remember state for the client + * across reconnects. + * @return @em true if requesting a clean session, @em false if not. + */ + bool is_clean_session() const { return to_bool(opts_.cleansession); } + /** + * Gets the token used as the callback context. + * @return The delivery token used as the callback context. + */ + token_ptr get_token() const { return tok_; } + /** + * Gets the list of servers to which the client will connect. + * @return A collection of server URI's. Each entry should be of the + * form @em protocol://host:port where @em protocol must be tcp + * or @em ssl. For @em host, you can specify either an IP + * address or a domain name. + */ + const_string_collection_ptr get_servers() const { return serverURIs_; } + /** + * Gets the version of MQTT to be used on the connect. + * @return + * @li MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if that + * fails, fall back to 3.1 + * @li MQTTVERSION_3_1 (3) = only try version 3.1 + * @li MQTTVERSION_3_1_1 (4) = only try version 3.1.1 + */ + int get_mqtt_version() const { return opts_.MQTTVersion; } + /** + * Determines if the options have been configured for automatic + * reconnect. + * @return @em true if configured for automatic reconnect, @em false if + * not. + */ + bool get_automatic_reconnect() const { return to_bool(opts_.automaticReconnect); } + /** + * Gets the minimum retry interval for automatic reconnect. + * @return The minimum retry interval for automatic reconnect, in + * seconds. + */ + std::chrono::seconds get_min_retry_interval() const { + return std::chrono::seconds(opts_.minRetryInterval); + } + /** + * Gets the maximum retry interval for automatic reconnect. + * @return The maximum retry interval for automatic reconnect, in + * seconds. + */ + std::chrono::seconds get_max_retry_interval() const { + return std::chrono::seconds(opts_.maxRetryInterval); + } + + /** + * Sets whether the server should remember state for the client across + * reconnects. (MQTT v3.x only) + * @param cleanSession @em true if the server should remember state for + * the client across reconnects, @em false + * othherwise. + */ + void set_clean_session(bool cleanSession) { + opts_.cleansession = to_int(cleanSession); + } + /** + * Sets the "keep alive" interval. + * This is the maximum time that should pass without communications + * between client and server. If no massages pass in this time, the + * client will ping the broker. + * @param keepAliveInterval The keep alive interval in seconds. + */ + void set_keep_alive_interval(int keepAliveInterval) { + opts_.keepAliveInterval = keepAliveInterval; + } + /** + * Sets the "keep alive" interval with a chrono duration. + * This is the maximum time that should pass without communications + * between client and server. If no massages pass in this time, the + * client will ping the broker. + * @param interval The keep alive interval. + */ + template + void set_keep_alive_interval(const std::chrono::duration& interval) { + // TODO: Check range + set_keep_alive_interval((int) to_seconds_count(interval)); + } + /** + * Sets the connect timeout in seconds. + * This is the maximum time that the underlying library will wait for a + * connection before failing. + * @param timeout The connect timeout in seconds. + */ + void set_connect_timeout(int timeout) { + opts_.connectTimeout = timeout; + } + /** + * Sets the connect timeout with a chrono duration. + * This is the maximum time that the underlying library will wait for a + * connection before failing. + * @param timeout The connect timeout in seconds. + */ + template + void set_connect_timeout(const std::chrono::duration& timeout) { + // TODO: check range + set_connect_timeout((int) to_seconds_count(timeout)); + } + /** + * Sets the user name to use for the connection. + * @param userName The user name for connecting to the MQTT broker. + */ + void set_user_name(string_ref userName); + /** + * Sets the password to use for the connection. + * @param password The password for connecting to the MQTT broker. + */ + void set_password(binary_ref password); + /** + * Sets the maximum number of messages that can be in-flight + * simultaneously. + * @param n The maximum number of inflight messages. + */ + void set_max_inflight(int n) { opts_.maxInflight = n; } + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param will The LWT options. + */ + void set_will(const will_options& will); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param will The LWT options. + */ + void set_will(will_options&& will); + /** + * Sets the "Last Will and Testament" (LWT) as a message + * @param msg The LWT message + */ + void set_will_message(const message& msg) { + set_will(will_options(msg)); + } + /** + * Sets the "Last Will and Testament" (LWT) as a message + * @param msg Pointer to a LWT message + */ + void set_will_message(const_message_ptr msg) { + if (msg) set_will(will_options(*msg)); + } + /** + * Sets the callback context to a delivery token. + * @param tok The delivery token to be used as the callback context. + */ + void set_token(const token_ptr& tok); + /** + * Sets the list of servers to which the client will connect. + * @param serverURIs A pointer to a collection of server URI's. Each + * entry should be of the form @em + * protocol://host:port where @em protocol must be + * @em tcp or @em ssl. For @em host, you can specify + * either an IP address or a domain name. + */ + void set_servers(const_string_collection_ptr serverURIs); + /** + * Sets the version of MQTT to be used on the connect. + * + * This will also set other connect options to legal values dependent on + * the selected version. + * + * @param mqttVersion The MQTT version to use for the connection: + * @li MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if + * that fails, fall back to 3.1 + * @li MQTTVERSION_3_1 (3) = only try version 3.1 + * @li MQTTVERSION_3_1_1 (4) = only try version 3.1.1 + * @li MQTTVERSION_5 (5) = only try version 5 + */ + void set_mqtt_version(int mqttVersion); + /** + * Enable or disable automatic reconnects. + * The retry intervals are not affected. + * @param on Whether to turn reconnects on or off + */ + void set_automatic_reconnect(bool on) { + opts_.automaticReconnect = to_int(on); + } + /** + * Enable or disable automatic reconnects. + * @param minRetryInterval Minimum retry interval in seconds. Doubled + * on each failed retry. + * @param maxRetryInterval Maximum retry interval in seconds. The + * doubling stops here on failed retries. + */ + void set_automatic_reconnect(int minRetryInterval, int maxRetryInterval); + /** + * Enable or disable automatic reconnects. + * @param minRetryInterval Minimum retry interval. Doubled on each + * failed retry. + * @param maxRetryInterval Maximum retry interval. The doubling stops + * here on failed retries. + */ + template + void set_automatic_reconnect(const std::chrono::duration& minRetryInterval, + const std::chrono::duration& maxRetryInterval) { + set_automatic_reconnect((int) to_seconds_count(minRetryInterval), + (int) to_seconds_count(maxRetryInterval)); + } + /** + * Determines if the 'clean start' flag is set for the connect. + * @return @em true if the 'clean start' flag is set for the connect, @em + * false if not. + */ + bool is_clean_start() const { + return to_bool(opts_.cleanstart); + } + /** + * Sets the 'clean start' flag for the connection. + * @param cleanStart Whether to set the 'clean start' flag for the connect. + */ + void set_clean_start(bool cleanStart) { + opts_.cleanstart = to_int(cleanStart); + } + /** + * Gets the connect properties. + * @return A const reference to the properties for the connect. + */ + const properties& get_properties() const { + return props_; + } + /** + * Sets the properties for the connect. + * @param props The properties to place into the message. + */ + void set_properties(const properties& props) { + props_ = props; + opts_.connectProperties = const_cast(&props_.c_struct()); + } + /** + * Moves the properties for the connect. + * @param props The properties to move into the connect object. + */ + void set_properties(properties&& props) { + props_ = std::move(props); + opts_.connectProperties = const_cast(&props_.c_struct()); + } + /** + * Gets the HTTP headers + * @return A const reference to the HTTP headers name/value collection. + */ + const name_value_collection& get_http_headers() const { + return httpHeaders_; + } + /** + * Sets the HTTP headers for the connection. + * @param httpHeaders The header nam/value collection. + */ + void set_http_headers(const name_value_collection& httpHeaders) { + httpHeaders_ = httpHeaders; + opts_.httpHeaders = httpHeaders_.empty() ? nullptr : httpHeaders_.c_arr(); + } + /** + * Sets the HTTP headers for the connection. + * @param httpHeaders The header nam/value collection. + */ + void set_http_headers(name_value_collection&& httpHeaders) { + httpHeaders_ = std::move(httpHeaders); + opts_.httpHeaders = httpHeaders_.empty() ? nullptr : httpHeaders_.c_arr(); + } + /** + * Gets the HTTP proxy setting. + * @return The HTTP proxy setting. An empty string means no proxy. + */ + string get_http_proxy() const { return httpProxy_; } + /** + * Sets the HTTP proxy setting. + * @param httpProxy The HTTP proxy setting. An empty string means no + * proxy. + */ + void set_http_proxy(const string& httpProxy); + /** + * Gets the secure HTTPS proxy setting. + * @return The HTTPS proxy setting. An empty string means no proxy. + */ + string get_https_proxy() const { return httpsProxy_; } + /** + * Sets the secure HTTPS proxy setting. + * @param httpsProxy The HTTPS proxy setting. An empty string means no + * proxy. + */ + void set_https_proxy(const string& httpsProxy); + /** + * Gets a string representation of the object. + * @return A string representation of the object. + */ + string to_string() const; +}; + +/** Smart/shared pointer to a connection options object. */ +using connect_options_ptr = connect_options::ptr_t; + +///////////////////////////////////////////////////////////////////////////// + +/** + * The connect options that can be updated before an automatic reconnect. + */ +class connect_data +{ + /** The default C struct */ + static const MQTTAsync_connectData DFLT_C_STRUCT; + + /** The underlying C connect data */ + MQTTAsync_connectData data_; + + /** The user name to use for the connection. */ + string_ref userName_; + + /** The password to use for the connection. (Optional) */ + binary_ref password_; + + /** The client has special access */ + friend class async_client; + + /** + * Updates the underlying C structure to match our strings. + */ + void update_c_struct(); + + /** + * Create data from a C struct + * This is a deep copy of the data from the C struct. + * @param cdata The C connect data. + */ + connect_data(const MQTTAsync_connectData& cdata); + +public: + /** + * Creates an empty set of connection data. + */ + connect_data(); + /** + * Creates connection data with a user name, but no password. + * @param userName The user name fopr reconnecting to the MQTT broker. + */ + explicit connect_data(string_ref userName); + /** + * Creates connection data with a user name and password. + * @param userName The user name fopr reconnecting to the MQTT broker. + * @param password The password for connecting to the MQTT broker. + */ + connect_data(string_ref userName, binary_ref password); + /** + * Copy constructor + * @param other Another data struct to copy into this one. + */ + connect_data(const connect_data& other); + /** + * Copy the connection data. + * @param rhs Another data struct to copy into this one. + * @return A reference to this data + */ + connect_data& operator=(const connect_data& rhs); + /** + * Gets the user name to use for the connection. + * @return The user name to use for the connection. + */ + string get_user_name() const { return userName_ ? userName_.to_string() : string(); } + /** + * Gets the password to use for the connection. + * @return The password to use for the connection. + */ + binary_ref get_password() const { return password_; } + /** + * Sets the user name to use for the connection. + * @param userName The user name for connecting to the MQTT broker. + */ + void set_user_name(string_ref userName); + /** + * Sets the password to use for the connection. + * @param password The password for connecting to the MQTT broker. + */ + void set_password(binary_ref password); +}; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Class to build connect options. + */ +class connect_options_builder +{ + connect_options opts_; + +public: + /** This class */ + using self = connect_options_builder; + /** + * Default constructor. + */ + connect_options_builder() {} + /** + * Sets whether the server should remember state for the client across + * reconnects. (MQTT v3.x only) + * @param on @em true if the server should remember state for the client + * across reconnects, @em false othherwise. + */ + auto clean_session(bool on=true) -> self& { + opts_.set_clean_session(on); + return *this; + } + /** + * Sets the "keep alive" interval with a chrono duration. + * This is the maximum time that should pass without communications + * between client and server. If no massages pass in this time, the + * client will ping the broker. + * @param interval The keep alive interval. + */ + template + auto keep_alive_interval(const std::chrono::duration& interval) -> self& { + opts_.set_keep_alive_interval(interval); + return *this; + } + /** + * Sets the connect timeout with a chrono duration. + * This is the maximum time that the underlying library will wait for a + * connection before failing. + * @param timeout The connect timeout in seconds. + */ + template + auto connect_timeout(const std::chrono::duration& timeout) -> self& { + opts_.set_connect_timeout(timeout); + return *this; + } + /** + * Sets the user name to use for the connection. + * @param userName + */ + auto user_name(string_ref userName) -> self& { + opts_.set_user_name(userName); + return *this; + } + /** + * Sets the password to use for the connection. + */ + auto password(binary_ref password) -> self& { + opts_.set_password(password); + return *this; + } + /** + * Sets the maximum number of messages that can be in-flight + * simultaneously. + * @param n The maximum number of inflight messages. + */ + auto max_inflight(int n) -> self& { + opts_.set_max_inflight(n); + return *this; + } + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param will The LWT options. + */ + auto will(const will_options& will) -> self& { + opts_.set_will(will); + return *this; + } + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param will The LWT options. + */ + auto will(will_options&& will) -> self& { + opts_.set_will(std::move(will)); + return *this; + } + /** + * Sets the "Last Will and Testament" (LWT) as a message + * @param msg The LWT message + */ + auto will(const message& msg) -> self& { + opts_.set_will_message(msg); + return *this; + } + /** + * Sets the SSL options for the connection. + * These will only have an effect if compiled against the SSL version of + * the Paho C library, and connecting with a secure URI. + * @param ssl The SSL options. + */ + auto ssl(const ssl_options& ssl) -> self& { + opts_.set_ssl(ssl); + return *this; + } + /** + * Sets the SSL options for the connection. + * These will only have an effect if compiled against the SSL version of + * the Paho C library, and connecting with a secure URI. + * @param ssl The SSL options. + */ + auto ssl(ssl_options&& ssl) -> self& { + opts_.set_ssl(std::move(ssl)); + return *this; + } + /** + * Sets the callback context to a delivery token. + * @param tok The delivery token to be used as the callback context. + */ + auto token(const token_ptr& tok) -> self& { + opts_.set_token(tok); + return *this; + } + /** + * Sets the list of servers to which the client will connect. + * @param serverURIs A pointer to a collection of server URI's. Each + * entry should be of the form @em + * protocol://host:port where @em protocol must be + * @em tcp or @em ssl. For @em host, you can specify + * either an IP address or a domain name. + */ + auto servers(const_string_collection_ptr serverURIs) -> self& { + opts_.set_servers(serverURIs); + return *this; + } + /** + * Sets the version of MQTT to be used on the connect. + * + * This will also set other connect options to legal values dependent on + * the selected version. + * + * @param ver The MQTT version to use for the connection: + * @li MQTTVERSION_DEFAULT (0) = default: start with 3.1.1, and if + * that fails, fall back to 3.1 + * @li MQTTVERSION_3_1 (3) = only try version 3.1 + * @li MQTTVERSION_3_1_1 (4) = only try version 3.1.1 + * @li MQTTVERSION_5 (5) = only try version 5 + */ + auto mqtt_version(int ver) -> self& { + opts_.set_mqtt_version(ver); + return *this; + } + /** + * Enable or disable automatic reconnects. + * The retry intervals are not affected. + * @param on Whether to turn reconnects on or off + */ + auto automatic_reconnect(bool on=true) -> self& { + opts_.set_automatic_reconnect(on); + return *this; + } + /** + * Enable or disable automatic reconnects. + * @param minRetryInterval Minimum retry interval. Doubled on each + * failed retry. + * @param maxRetryInterval Maximum retry interval. The doubling stops + * here on failed retries. + */ + template + auto automatic_reconnect(const std::chrono::duration& minRetryInterval, + const std::chrono::duration& maxRetryInterval) -> self& { + opts_.set_automatic_reconnect(minRetryInterval, maxRetryInterval); + return *this; + } + /** + * Sets the 'clean start' flag for the connection. (MQTT v5 only) + * @param on @em true to set the 'clean start' flag for the connect, + * @em false otherwise. + */ + auto clean_start(bool on=true) -> self& { + opts_.set_clean_start(on); + return *this; + } + /** + * Sets the properties for the connect message. + * @param props The properties for the connect message. + */ + auto properties(const mqtt::properties& props) -> self& { + opts_.set_properties(props); + return *this; + } + /** + * Sets the properties for the connect message. + * @param props The properties for the connect message. + */ + auto properties(mqtt::properties&& props) -> self& { + opts_.set_properties(std::move(props)); + return *this; + } + /** + * Sets the HTTP headers for the connection. + * @param headers The header nam/value collection. + */ + auto http_headers(const name_value_collection& headers) -> self& { + opts_.set_http_headers(headers); + return *this; + } + /** + * Sets the HTTP headers for the connection. + * @param headers The header nam/value collection. + */ + auto http_headers(name_value_collection&& headers) -> self& { + opts_.set_http_headers(std::move(headers)); + return *this; + } + /** + * Sets the HTTP proxy setting. + * @param httpProxy The HTTP proxy setting. An empty string means no + * proxy. + */ + auto http_proxy(const string& httpProxy) -> self& { + opts_.set_http_proxy(httpProxy); + return *this; + } + /** + * Sets the secure HTTPS proxy setting. + * @param httpsProxy The HTTPS proxy setting. An empty string means no + * proxy. + */ + auto https_proxy(const string& httpsProxy) -> self& { + opts_.set_https_proxy(httpsProxy); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + connect_options finalize() { return opts_; } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_connect_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.cpp new file mode 100644 index 0000000..b32a9df --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.cpp @@ -0,0 +1,33 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "create_options.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +const MQTTAsync_createOptions create_options::DFLT_C_STRUCT = + MQTTAsync_createOptions_initializer; + + +create_options::create_options(int mqttVersion) : create_options() +{ + opts_.MQTTVersion = mqttVersion; +} + +create_options::create_options(int mqttVersion, int maxBufferedMessages) : create_options() +{ + opts_.MQTTVersion = mqttVersion; + + if (maxBufferedMessages != 0) { + opts_.sendWhileDisconnected = to_int(true); + opts_.maxBufferedMessages = maxBufferedMessages; + } +} + +///////////////////////////////////////////////////////////////////////////// + +} // end namespace mqtt + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.h new file mode 100644 index 0000000..b51fdc6 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/create_options.h @@ -0,0 +1,251 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_create_options_h +#define __mqtt_create_options_h + +#include "MQTTAsync.h" +#include "types.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Options for creating a client object. + */ +class create_options +{ + /** The default C struct */ + static const MQTTAsync_createOptions DFLT_C_STRUCT; + + /** The underlying C options */ + MQTTAsync_createOptions opts_; + + /** The client and tests have special access */ + friend class async_client; + friend class create_options_builder; + +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Default set of client create options. + */ + create_options() : opts_(DFLT_C_STRUCT) {} + /** + * Default create optionsfor the specified version of MQTT. + * @param mqttVersion The MQTT version used to create the client. + */ + explicit create_options(int mqttVersion); + /** + * Default create options, but with off-line buffering enabled. + * @param mqttVersion The MQTT version used to create the client. + * @param maxBufferedMessages the maximum number of messages allowed to + * be buffered while not connected + */ + create_options(int mqttVersion, int maxBufferedMessages); + /** + * Gets whether the client will accept message to publish while + * disconnected. + */ + bool get_send_while_disconnected() const { + return to_bool(opts_.sendWhileDisconnected); + } + /** + * Sets whether the client will accept message to publish while + * disconnected. + * + * @param on @em true to allow the application to publish messages while + * disconnected, @em false returns an error on publish if + * disconnected. + * @param anyTime If @em true, allows you to publish messages before the + * first successful connection. + */ + void set_send_while_disconnected(bool on, bool anyTime=false) { + opts_.sendWhileDisconnected = to_int(on); + opts_.allowDisconnectedSendAtAnyTime = to_int(anyTime); + } + /** + * Gets the maximum number of offline buffered messages. + * @return The maximum number of offline buffered messages. + */ + int get_max_buffered_messages() const { + return opts_.maxBufferedMessages; + } + /** + * Sets the maximum number of offline buffered messages. + * @param n The maximum number of offline buffered messages. + */ + void set_max_buffered_messages(int n) { + opts_.maxBufferedMessages = n; + } + /** + * Gets the MQTT version used to create the client. + * @return The MQTT version used to create the client. + */ + int mqtt_version() const { return opts_.MQTTVersion; } + /** + * Sets the MQTT version used to create the client. + * @param ver The MQTT version used to create the client. + */ + void set_mqtt_verison(int ver) { opts_.MQTTVersion = ver; } + /** + * Whether the oldest messages are deleted when the output buffer is + * full. + * + * @return @em true if the oldest messages should be deleted when the + * output buffer is full, @em false if the new messages should + * be dropped when the buffer is full. + */ + bool get_delete_oldest_messages() const { + return to_bool(opts_.deleteOldestMessages); + } + /** + * Determines what to do when the maximum number of buffered messages is + * reached: delete the oldest messages rather than the newest + * @param on @em true When the output queue is full, delete the oldest + * message, @em false drop the newest message being added. + */ + void set_delete_oldest_messages(bool on) { + opts_.deleteOldestMessages = to_int(on); + } + /** + * Whether the messages will be restored from persistence or the store + * will be cleared. + * @return @em true if the messages will be restored from persistence, + * @em false if the persistence store will be cleared. + */ + bool get_restore_messages() const { + return to_bool(opts_.restoreMessages); + } + /** + * Determine whether to restore messages from persistence or clear the + * persistence store. + * @param on @em true to restore messages from persistence, @em false to + * clear the persistence store. + */ + void set_restore_messages(bool on) { + opts_.restoreMessages = to_int(on); + } + /** + * Whether to persist QoS 0 messages. + * + * @return @em true if QoS 0 messages are persisted, @em false if not. + */ + bool get_persist_qos0() const { + return to_bool(opts_.persistQoS0); + } + /** + * Determeine whether to persist QoS 0 messages. + * + * @param on @em true if QoS 0 messages are persisted, @em false if not. + */ + void set_persist_qos0(bool on) { + opts_.persistQoS0 = to_int(on); + } +}; + +/** Smart/shared pointer to a connection options object. */ +using create_options_ptr = create_options::ptr_t; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Builder class to generate the create options. + */ +class create_options_builder +{ + /** The underlying options */ + create_options opts_; + +public: + /** This class */ + using self = create_options_builder; + /** + * Default constructor. + */ + create_options_builder() {} + /** + * + * Sets whether the client will accept message to publish while + * disconnected. + * + * @param on @em true to allow the application to publish messages while + * disconnected, @em false returns an error on publish if + * disconnected. + * @param anyTime If @em true, allows you to publish messages before the + * first successful connection. + * @return A reference to this object. + */ + auto send_while_disconnected(bool on=true, bool anyTime=false) -> self& { + opts_.opts_.sendWhileDisconnected = to_int(on); + opts_.opts_.allowDisconnectedSendAtAnyTime = to_int(anyTime); + return *this; + } + /** + * Sets the maximum number of offline buffered messages. + * @param n The maximum number of offline buffered messages. + * @return A reference to this object. + */ + auto max_buffered_messages(int n) -> self& { + opts_.opts_.maxBufferedMessages = n; + return *this; + } + /** + * Sets the MQTT version used to create the client. + * @param ver The MQTT version used to create the client. + */ + auto mqtt_version(int ver) -> self& { + opts_.opts_.MQTTVersion = ver; + return *this; + } + /** + * Determines what to do when the maximum number of buffered messages is + * reached: delete the oldest messages rather than the newest. + * @param on @em true When the output queue is full, delete the oldest + * message, @em false drop the newest message being added. + * @return A reference to this object. + */ + auto delete_oldest_messages(bool on=true) -> self& { + opts_.opts_.deleteOldestMessages = to_int(on); + return *this; + } + /** + * Determines whether to restore persisted messsages or clear the + * persistence store. (Defaults true) + * + * @param on @em true to retore persisted messages, @em false to clear + * the persistence store. + * @return A reference to this object. + */ + auto restore_messages(bool on=true) -> self& { + opts_.opts_.restoreMessages = to_int(on); + return *this; + } + /** + * Whether to persist QoS 0 messages. (Defaults true) + * + * @param on @em true persist QoS 0 messages, @em false, don't. + * @return A reference to this object + */ + auto persist_qos0(bool on=true) -> self& { + opts_.opts_.persistQoS0 = to_int(on); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + create_options finalize() { return opts_; } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_create_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/delivery_token.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/delivery_token.h new file mode 100644 index 0000000..be7708c --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/delivery_token.h @@ -0,0 +1,115 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_delivery_token_h +#define __mqtt_delivery_token_h + +#include "MQTTAsync.h" +#include "token.h" +#include "message.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Provides a mechanism to track the delivery progress of a message. + * Used to track the the delivery progress of a message when a publish is + * executed in a non-blocking manner (run in the background) action. + */ +class delivery_token : public token +{ + /** The message being tracked. */ + const_message_ptr msg_; + + /** Client has special access. */ + friend class async_client; + + /** + * Sets the message to which this token corresponds. + * @param msg + */ + void set_message(const_message_ptr msg) { msg_ = msg; } + +public: + /** Smart/shared pointer to an object of this class */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class */ + using const_ptr_t = std::shared_ptr; + /** Weak pointer to an object of this class */ + using weak_ptr_t = std::weak_ptr; + + /** + * Creates an empty delivery token connected to a particular client. + * @param cli The asynchronous client object. + */ + delivery_token(iasync_client& cli) : token(token::Type::PUBLISH, cli) {} + /** + * Creates a delivery token connected to a particular client. + * @param cli The asynchronous client object. + * @param msg The message being tracked. + */ + delivery_token(iasync_client& cli, const_message_ptr msg) + : token(token::Type::PUBLISH, cli, msg->get_topic()), msg_(std::move(msg)) {} + /** + * Creates a delivery token connected to a particular client. + * @param cli The asynchronous client object. + * @param msg The message data. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback optional listener that will be notified when message + * delivery has completed to the requested quality of + * service + */ + delivery_token(iasync_client& cli, const_message_ptr msg, + void* userContext, iaction_listener& cb) + : token(token::Type::PUBLISH, cli, msg->get_topic(), userContext, cb), msg_(std::move(msg)) {} + /** + * Creates an empty delivery token connected to a particular client. + * @param cli The asynchronous client object. + */ + static ptr_t create(iasync_client& cli) { + return std::make_shared(cli); + } + /** + * Creates a delivery token connected to a particular client. + * @param cli The asynchronous client object. + * @param msg The message data. + */ + static ptr_t create(iasync_client& cli, const_message_ptr msg) { + return std::make_shared(cli, msg); + } + /** + * Creates a delivery token connected to a particular client. + * @param cli The asynchronous client object. + * @param msg The message data. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback optional listener that will be notified when message + * delivery has completed to the requested quality of + * service + */ + static ptr_t create(iasync_client& cli, const_message_ptr msg, + void* userContext, iaction_listener& cb) { + return std::make_shared(cli, msg, userContext, cb); + } + /** + * Gets the message associated with this token. + * @return The message associated with this token. + */ + virtual const_message_ptr get_message() const { return msg_; } +}; + +/** Smart/shared pointer to a delivery_token */ +using delivery_token_ptr = delivery_token::ptr_t; + +/** Smart/shared pointer to a const delivery_token */ +using const_delivery_token_ptr = delivery_token::const_ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_delivery_token_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.cpp new file mode 100644 index 0000000..b68c823 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.cpp @@ -0,0 +1,68 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "disconnect_options.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +const MQTTAsync_disconnectOptions disconnect_options::DFLT_C_STRUCT = MQTTAsync_disconnectOptions_initializer; + +disconnect_options::disconnect_options() : opts_(DFLT_C_STRUCT) +{ +} + +disconnect_options::disconnect_options(const disconnect_options& opt) + : opts_(opt.opts_), tok_(opt.tok_) +{ +} + +disconnect_options::disconnect_options(disconnect_options&& opt) + : opts_(opt.opts_), tok_(std::move(opt.tok_)) +{ +} + +disconnect_options& disconnect_options::operator=(const disconnect_options& opt) +{ + opts_ = opt.opts_; + tok_ = opt.tok_; + return *this; +} + +disconnect_options& disconnect_options::operator=(disconnect_options&& opt) +{ + opts_ = opt.opts_; + tok_ = std::move(opt.tok_); + return *this; +} + +void disconnect_options::set_token(const token_ptr& tok, int mqttVersion) +{ + tok_ = tok; + opts_.context = tok_.get(); + + opts_.onSuccess = nullptr; + opts_.onFailure = nullptr; + + opts_.onSuccess5 = nullptr; + opts_.onFailure5 = nullptr; + + if (tok) { + if (mqttVersion >= MQTTVERSION_5) { + opts_.onSuccess5 = &token::on_success5; + opts_.onFailure5 = &token::on_failure5; + } + else { + opts_.onSuccess = &token::on_success; + opts_.onFailure = &token::on_failure; + } + } +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.h new file mode 100644 index 0000000..20ea27f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/disconnect_options.h @@ -0,0 +1,223 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_disconnect_options_h +#define __mqtt_disconnect_options_h + +#include "MQTTAsync.h" +#include "types.h" +#include "token.h" +#include "properties.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Options for disconnecting from an MQTT broker. + */ +class disconnect_options +{ + /** The default C struct */ + static const MQTTAsync_disconnectOptions DFLT_C_STRUCT; + + /** The underlying C disconnect options */ + MQTTAsync_disconnectOptions opts_; + + /** Shared token pointer for context, if any */ + token_ptr tok_; + + /** Disconnect message properties */ + properties props_; + + /** The client has special access */ + friend class async_client; + +public: + /** + * Create an empty delivery response object. + */ + disconnect_options(); + /** + * Creates disconnect options tied to the specific token. + * @param timeout The timeout (in milliseconds). + */ + disconnect_options(int timeout) : disconnect_options() { + set_timeout(timeout); + } + /** + * Creates disconnect options tied to the specific token. + * @param to The timeout. + */ + template + disconnect_options(const std::chrono::duration& to) + : disconnect_options() { + set_timeout(to); + } + /** + * Copy constructor. + * @param opt Another object to copy. + */ + disconnect_options(const disconnect_options& opt); + /** + * Move constructor. + * @param opt Another object to move into this new one. + */ + disconnect_options(disconnect_options&& opt); + /** + * Copy assignment. + * @param opt Another object to copy. + */ + disconnect_options& operator=(const disconnect_options& opt); + /** + * Move assignment. + * @param opt Another object to move into this new one. + */ + disconnect_options& operator=(disconnect_options&& opt); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_disconnectOptions& c_struct() const { return opts_; } + #endif + /** + * Gets the timeout used for disconnecting. + * @return The timeout for disconnecting (in milliseconds). + */ + std::chrono::milliseconds get_timeout() const { + return std::chrono::milliseconds(opts_.timeout); + } + /** + * Sets the timeout for disconnecting. + * This allows for any remaining in-flight messages to be delivered. + * @param timeout The timeout (in milliseconds). + */ + void set_timeout(int timeout) { opts_.timeout = timeout; } + /** + * Sets the connect timeout with a chrono duration. + * This is the maximum time that the underlying library will wait for a + * connection before failing. + * @param to The connect timeout in seconds. + */ + template + void set_timeout(const std::chrono::duration& to) { + // TODO: check range + set_timeout((int) to_milliseconds_count(to)); + } + /** + * Sets the callback context to a delivery token. + * @param tok The delivery token to be used as the callback context. + * @param mqttVersion The version of MQTT we're using for the + * connection. + */ + void set_token(const token_ptr& tok, int mqttVersion); + /** + * Gets the callback context to a delivery token. + * @return The delivery token to be used as the callback context. + */ + token_ptr get_token() const { return tok_; } + /** + * Gets the connect properties. + * @return A const reference to the properties for the connect. + */ + const properties& get_properties() const { return props_; } + /** + * Sets the properties for the connect. + * @param props The properties to place into the message. + */ + void set_properties(const properties& props) { + props_ = props; + opts_.properties = props_.c_struct(); + } + /** + * Moves the properties for the connect. + * @param props The properties to move into the connect object. + */ + void set_properties(properties&& props) { + props_ = std::move(props); + opts_.properties = props_.c_struct(); + } + /** + * Gets the reason code for the disconnect. + * @return The reason code for the disconnect. + */ + ReasonCode get_reason_code() const { + return ReasonCode(opts_.reasonCode); + } + /** + * Sets the reason code for the disconnect. + * @param code The reason code for the disconnect. + */ + void set_reason_code(ReasonCode code) { + opts_.reasonCode = MQTTReasonCodes(code); + } +}; + + +///////////////////////////////////////////////////////////////////////////// + +/** + * Class to build connect options. + */ +class disconnect_options_builder +{ + /** The underlying options */ + disconnect_options opts_; + +public: + /** This class */ + using self = disconnect_options_builder; + /** + * Default constructor. + */ + disconnect_options_builder() {} + /** + * Sets the properties for the disconnect message. + * @param props The properties for the disconnect message. + */ + auto properties(mqtt::properties&& props) -> self& { + opts_.set_properties(std::move(props)); + return *this; + } + /** + * Sets the properties for the disconnect message. + * @param props The properties for the disconnect message. + */ + auto properties(const mqtt::properties& props) -> self& { + opts_.set_properties(props); + return *this; + } + /** + * Sets the connect timeout with a chrono duration. + * This is the maximum time that the underlying library will wait for a + * connection before failing. + * @param to The connect timeout in seconds. + */ + template + auto timeout(const std::chrono::duration& to) -> self&{ + opts_.set_timeout(to); + return *this; + } + /** + * Sets the reason code for the disconnect. + * @param code The reason code for the disconnect. + */ + auto reason_code(ReasonCode code) -> self& { + opts_.set_reason_code(code); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + disconnect_options finalize() { return opts_; } +}; + + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + +#endif // __mqtt_disconnect_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/exception.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/exception.h new file mode 100644 index 0000000..f002800 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/exception.h @@ -0,0 +1,241 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_exception_h +#define __mqtt_exception_h + +#include "MQTTAsync.h" +#include "types.h" +#include +#include +#include +#include +#include + +namespace mqtt { + +/** Bring std::bad_cast into the mqtt namespace */ +using bad_cast = std::bad_cast; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Base mqtt::exception. + * This wraps the error codes which originate from the underlying C library. + */ +class exception : public std::runtime_error +{ +protected: + /** The error return code from the C library */ + int rc_; + /** The reason code from the server */ + ReasonCode reasonCode_; + /** The error message from the C library */ + string msg_; + +public: + /** + * Creates an MQTT exception. + * @param rc The error return code from the C library. + */ + explicit exception(int rc) + : exception(rc, error_str(rc)) {} + /** + * Creates an MQTT exception. + * @param rc The error return code from the C library. + * @param reasonCode The reason code from the server response. + */ + explicit exception(int rc, ReasonCode reasonCode) + : exception(rc, reasonCode, error_str(rc)) {} + /** + * Creates an MQTT exception. + * @param rc The error return code from the C library. + * @param msg The text message for the error. + */ + exception(int rc, const string& msg) + : std::runtime_error(printable_error(rc, ReasonCode::SUCCESS, msg)), + rc_(rc), reasonCode_(ReasonCode::SUCCESS), msg_(msg) {} + /** + * Creates an MQTT exception. + * @param rc The error return code from the C library. + * @param reasonCode The reason code from the server + * @param msg The text message for the error. + */ + exception(int rc, ReasonCode reasonCode, const string& msg) + : std::runtime_error(printable_error(rc, reasonCode, msg)), + rc_(rc), reasonCode_(reasonCode), msg_(msg) {} + /** + * Gets an error message from an error code. + * @param rc The error code from the C lib + * @return A string explanation of the error + */ + static string error_str(int rc) { + const char *msg = ::MQTTAsync_strerror(rc); + return msg ? string(msg) : string(); + } + /** + * Gets a string describing the MQTT v5 reason code. + * @param reasonCode The MQTT v5 reason code. + * @return A string describing the reason code. + */ + static string reason_code_str(int reasonCode) { + if (reasonCode != MQTTPP_V3_CODE) { + auto msg = ::MQTTReasonCode_toString(MQTTReasonCodes(reasonCode)); + if (msg) return string(msg); + } + return string(); + } + /** + * Gets a detailed error message for an error code. + * @param rc The error code from the C lib + * @param reasonCode The MQTT v5 reason code + * @param msg An optional additional message. If none is provided, the + * error_str message is used. + * @return A string error message that includes the error code and an + * explanation message. + */ + static string printable_error(int rc, int reasonCode=ReasonCode::SUCCESS, + const string& msg=string()) { + string s = "MQTT error [" + std::to_string(rc) + "]"; + if (!msg.empty()) + s += string(": ") + msg; + if (reasonCode != MQTTPP_V3_CODE && reasonCode != ReasonCode::SUCCESS) + s += string(". Reason: ") + reason_code_str(reasonCode); + return s; + } + /** + * Returns the return code for this exception. + */ + int get_return_code() const { return rc_; } + /** + * Gets a string of the error code. + * @return A string of the error code. + */ + string get_error_str() const { return error_str(rc_); } + /** + * Returns the reason code for this exception. + * For MQTT v3 connections, this is actually the return code. + */ + int get_reason_code() const { + return reasonCode_ == MQTTPP_V3_CODE ? rc_ : reasonCode_; + } + /** + * Gets a string for the reason code. + * @return A string for the reason code. + */ + string get_reason_code_str() const { + return reason_code_str(reasonCode_); + } + /** + * Returns the error message for this exception. + */ + string get_message() const { return msg_; } + /** + * Gets a string representation of this exception. + * @return A string representation of this exception. + */ + string to_string() const { return string(what()); } +}; + +/** + * Stream inserter writes a fairly verbose message + * @param os The stream. + * @param exc The exception to write. + * @return A reference to the stream. + */ +inline std::ostream& operator<<(std::ostream& os, const exception& exc) { + os << exc.what(); + return os; +} + +///////////////////////////////////////////////////////////////////////////// + +/** + * Exception thrown when an expected server response is missing. + */ +class missing_response : public exception +{ +public: + /** + * Create a missing response error. + * @param rsp A string for the type of response expected. + */ + missing_response(const string& rsp) + : exception(MQTTASYNC_FAILURE, "Missing "+rsp+" response") {} +}; + + +///////////////////////////////////////////////////////////////////////////// + +/** + * A timeout exception, particularly from the synchronous client. + */ +class timeout_error : public exception +{ +public: + /** + * Create a timeout error. + */ + timeout_error() : exception(MQTTASYNC_FAILURE, "Timeout") {} +}; + +///////////////////////////////////////////////////////////////////////////// + +/** + * This exception is thrown by the implementor of the persistence interface + * if there is a problem reading or writing persistent data. + */ +class persistence_exception : public exception +{ +public: + /** + * Creates an MQTT persistence exception. + */ + persistence_exception() : exception(MQTTCLIENT_PERSISTENCE_ERROR) {} + /** + * Creates an MQTT persistence exception. + * @param code The error code from the C library. + */ + explicit persistence_exception(int code) : exception(code) {} + /** + * Creates an MQTT persistence exception. + * @param msg The text message for the error. + */ + explicit persistence_exception(const string& msg) + : exception(MQTTCLIENT_PERSISTENCE_ERROR, msg) {} + /** + * Creates an MQTT persistence exception. + * @param code The error code + * @param msg The text message for the error. + */ + persistence_exception(int code, const string& msg) + : exception(code, msg) {} +}; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Thrown when a client is not authorized to perform an operation, or if + * there is a problem with the security configuration. + */ +class security_exception : public exception +{ +public: + /** + * Creates an MQTT security exception + * @param code The error code. + */ + explicit security_exception(int code) : exception(code) {} + /** + * Creates an MQTT security exception + * @param code The error code. + * @param msg The text message for the error. + */ + security_exception(int code, const string& msg) : exception(code, msg) {} +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_token_h diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iaction_listener.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iaction_listener.h new file mode 100644 index 0000000..70c336f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iaction_listener.h @@ -0,0 +1,64 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_iaction_listener_h +#define __mqtt_iaction_listener_h + +#include "MQTTAsync.h" +#include "types.h" +#include + +namespace mqtt { + +class token; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Provides a mechanism for tracking the completion of an asynchronous + * action. + * + * A listener is registered on a token and that token is associated with + * an action like connect or publish. When used with tokens on the + * async_client the listener will be called back on the MQTT client's + * thread. The listener will be informed if the action succeeds or fails. It + * is important that the listener returns control quickly otherwise the + * operation of the MQTT client will be stalled. + */ +class iaction_listener +{ +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Virtual base destructor. + */ + virtual ~iaction_listener() {} + /** + * This method is invoked when an action fails. + * @param asyncActionToken + */ + virtual void on_failure(const token& asyncActionToken) =0; + /** + * This method is invoked when an action has completed successfully. + * @param asyncActionToken + */ + virtual void on_success(const token& asyncActionToken) =0; +}; + +/** Smart/shared pointer to an action listener */ +using iaction_listener_ptr = iaction_listener::ptr_t; + +/** Smart/shared pointer to a const action listener */ +using const_iaction_listener_ptr = iaction_listener::const_ptr_t; + + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_iaction_listener_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iasync_client.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iasync_client.h new file mode 100644 index 0000000..3964ca6 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iasync_client.h @@ -0,0 +1,415 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + + +#ifndef __mqtt_iasync_client_h +#define __mqtt_iasync_client_h + +#include "types.h" +#include "token.h" +#include "delivery_token.h" +#include "iclient_persistence.h" +#include "iaction_listener.h" +#include "connect_options.h" +#include "disconnect_options.h" +#include "subscribe_options.h" +#include "exception.h" +#include "message.h" +#include "callback.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Enables an application to communicate with an MQTT server using + * non-blocking methods. + * + * It provides applications a simple programming interface to all features + * of the MQTT version 3.1 specification including: + * + * @li connect + * @li publish + * @li subscribe + * @li unsubscribe + * @li disconnect + */ +class iasync_client +{ + friend class token; + virtual void remove_token(token* tok) =0; + +public: + /** Type for a collection of QOS values */ + using qos_collection = std::vector; + + /** + * Virtual destructor + */ + virtual ~iasync_client() {} + /** + * Connects to an MQTT server using the default options. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + virtual token_ptr connect() =0; + /** + * Connects to an MQTT server using the provided connect options. + * @param options a set of connection parameters that override the + * defaults. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + virtual token_ptr connect(connect_options options) =0; + /** + * Connects to an MQTT server using the specified options. + * + * @param options a set of connection parameters that override the + * defaults. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when the connect + * completes. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + virtual token_ptr connect(connect_options options, void* userContext, + iaction_listener& cb) =0; + /** + * + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when the connect completes. + * @return token used to track and wait for the connect to complete. The + * token will be passed to any callback that has been set. + * @throw exception for non security related problems + * @throw security_exception for security related problems + */ + virtual token_ptr connect(void* userContext, iaction_listener& cb) =0; + /** + * Reconnects the client using options from the previous connect. + * The client must have previously called connect() for this to work. + * @return token used to track the progress of the reconnect. + */ + virtual token_ptr reconnect() =0; + /** + * Disconnects from the server. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + virtual token_ptr disconnect() =0; + /** + * Disconnects from the server. + * @param opts Options for disconnecting. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + virtual token_ptr disconnect(disconnect_options opts) =0; + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + virtual token_ptr disconnect(int timeout) =0; + /** + * Disconnects from the server. + * @param timeout the amount of time in milliseconds to allow for + * existing work to finish before disconnecting. A value + * of zero or less means the client will not quiesce. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when the disconnect + * completes. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + virtual token_ptr disconnect(int timeout, void* userContext, iaction_listener& cb) =0; + /** + * Disconnects from the server. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when the disconnect + * completes. + * @return token used to track and wait for the disconnect to complete. + * The token will be passed to any callback that has been set. + * @throw exception for problems encountered while disconnecting + */ + virtual token_ptr disconnect(void* userContext, iaction_listener& cb) =0; + /** + * Returns the delivery token for the specified message ID. + * @return delivery_token + */ + virtual delivery_token_ptr get_pending_delivery_token(int msgID) const =0; + /** + * Returns the delivery tokens for any outstanding publish operations. + * @return delivery_token[] + */ + virtual std::vector get_pending_delivery_tokens() const =0; + /** + * Returns the client ID used by this client. + * @return string + */ + virtual string get_client_id() const =0; + /** + * Returns the address of the server used by this client. + */ + virtual string get_server_uri() const =0; + /** + * Determines if this client is currently connected to the server. + */ + virtual bool is_connected() const =0; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(string_ref topic, + const void* payload, size_t n, + int qos, bool retained) =0; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(string_ref topic, + const void* payload, size_t n) =0; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(string_ref topic, + const void* payload, size_t n, + int qos, bool retained, + void* userContext, iaction_listener& cb) =0; + /** + * Publishes a message to a topic on the server + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(string_ref topic, binary_ref payload, + int qos, bool retained) =0; + /** + * Publishes a message to a topic on the server. + * @param topic The topic to deliver the message to + * @param payload the bytes to use as the message payload + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(string_ref topic, binary_ref payload) =0; + /** + * Publishes a message to a topic on the server Takes an Message + * message and delivers it to the server at the requested quality of + * service. + * @param msg the message to deliver to the server + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(const_message_ptr msg) =0; + /** + * Publishes a message to a topic on the server. + * @param msg the message to deliver to the server + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb optional listener that will be notified when message + * delivery has completed to the requested quality of service + * @return token used to track and wait for the publish to complete. The + * token will be passed to callback methods if set. + */ + virtual delivery_token_ptr publish(const_message_ptr msg, + void* userContext, iaction_listener& cb) =0; + /** + * Sets a callback listener to use for events that happen + * asynchronously. + * @param cb callback which will be invoked for certain asynchronous + * events + */ + virtual void set_callback(callback& cb) =0; + /** + * Stops the callbacks. + */ + virtual void disable_callbacks() =0; + /** + * Subscribe to a topic, which may include wildcards. + * @param topicFilter the topic to subscribe to, which can include + * wildcards. + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param opts The options for the subscription. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr subscribe(const string& topicFilter, int qos, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()) =0; + /** + * Subscribe to a topic, which may include wildcards. + * @param topicFilter the topic to subscribe to, which can include + * wildcards. + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param callback listener that will be notified when subscribe has + * completed + * @param opts The options for the subscription. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr subscribe(const string& topicFilter, int qos, + void* userContext, iaction_listener& callback, + const subscribe_options& opts=subscribe_options(), + const properties& props=properties()) =0; + /** + * Subscribe to multiple topics, each of which may include wildcards. + * Provides an optimized way to subscribe to multiple topics compared to + * subscribing to each one individually. + * @param topicFilters one or more topics to subscribe to, which can + * include wildcards + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param opts A collection of subscription optsions (one for each + * topic) + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + const std::vector& opts=std::vector(), + const properties& props=properties()) =0; + /** + * Subscribes to multiple topics, each of which may include wildcards. + * @param topicFilters one or more topics to subscribe to, which can + * include wildcards + * @param qos the maximum quality of service at which to subscribe. + * Messages published at a lower quality of service will be + * received at the published QoS. Messages published at a + * higher quality of service will be received using the QoS + * specified on the subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param callback listener that will be notified when subscribe has + * completed + * @param opts A collection of subscription optsions (one for each + * topic) + * @param props The MQTT v5 properties. + * @return token used to track and wait for the subscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr subscribe(const_string_collection_ptr topicFilters, + const qos_collection& qos, + void* userContext, iaction_listener& callback, + const std::vector& opts=std::vector(), + const properties& props=properties()) =0; + /** + * Requests the server unsubscribe the client from a topic. + * @param topicFilter the topic to unsubscribe from. It must match a + * topicFilter specified on an earlier subscribe. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr unsubscribe(const string& topicFilter, + const properties& props=properties()) =0; + /** + * Requests the server unsubscribe the client from one or more topics. + * @param topicFilters one or more topics to unsubscribe from. Each + * topicFilter must match one specified on an + * earlier subscribe. + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr unsubscribe(const_string_collection_ptr topicFilters, + const properties& props=properties()) =0; + /** + * Requests the server unsubscribe the client from one or more topics. + * @param topicFilters one or more topics to unsubscribe from. Each + * topicFilter must match one specified on an + * earlier subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when unsubscribe has + * completed + * @param props The MQTT v5 properties. + * @return token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr unsubscribe(const_string_collection_ptr topicFilters, + void* userContext, iaction_listener& cb, + const properties& props=properties()) =0; + /** + * Requests the server unsubscribe the client from a topics. + * @param topicFilter the topic to unsubscribe from. It must match a + * topicFilter specified on an earlier subscribe. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb listener that will be notified when unsubscribe has + * completed. + * @param props The MQTT v5 properties. + * @return Token used to track and wait for the unsubscribe to complete. + * The token will be passed to callback methods if set. + */ + virtual token_ptr unsubscribe(const string& topicFilter, + void* userContext, iaction_listener& cb, + const properties& props=properties()) =0; +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + +#endif // __mqtt_iasync_client_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.cpp new file mode 100644 index 0000000..f4e41d8 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.cpp @@ -0,0 +1,157 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "iclient_persistence.h" +#include "types.h" +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable:4996) +#endif + +using namespace std; + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// +// Functions to transition C persistence calls to the C++ persistence object. + +// Upon the call to persistence_open(), the 'context' has the address of the +// C++ persistence object, which is reassigned to the 'handle'. Subsequent +// calls have the object address as the handle. + +int iclient_persistence::persistence_open(void** handle, const char* clientID, + const char* serverURI, void* context) +{ + try { + if (handle && clientID && serverURI && context) { + static_cast(context)->open(clientID, serverURI); + *handle = context; + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_close(void* handle) +{ + try { + if (handle) { + static_cast(handle)->close(); + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_put(void* handle, char* key, int bufcount, + char* buffers[], int buflens[]) +{ + try { + if (handle && bufcount > 0 && buffers && buflens) { + std::vector vec; + for (int i=0; i(handle)->put(key, vec); + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_get(void* handle, char* key, + char** buffer, int* buflen) +{ + try { + if (handle && key && buffer && buflen) { + auto s = static_cast(handle)->get(key); + size_t n = s.length(); + *buffer = static_cast(MQTTAsync_malloc(n)); + memcpy(*buffer, s.data(), n); + *buflen = int(n); + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_remove(void* handle, char* key) +{ + try { + if (handle && key) { + static_cast(handle)->remove(key); + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_keys(void* handle, char*** keys, int* nkeys) +{ + try { + if (handle && keys && nkeys) { + auto k = static_cast(handle)->keys(); + size_t n = k.size(); + *nkeys = int(n); + if (n == 0) { + *keys = nullptr; + } + else { + *keys = static_cast(MQTTAsync_malloc(n*sizeof(char*))); + for (size_t i=0; i(MQTTAsync_malloc(sz+1)); + strncpy(buf, k[i].c_str(), sz+1); + buf[sz] = '\0'; + (*keys)[i] = buf; + } + } + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_clear(void* handle) +{ + try { + if (handle) { + static_cast(handle)->clear(); + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +int iclient_persistence::persistence_containskey(void* handle, char* key) +{ + try { + if (handle && key && + static_cast(handle)->contains_key(key)) + return MQTTASYNC_SUCCESS; + } + catch (...) {} + + return MQTTCLIENT_PERSISTENCE_ERROR; +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.h new file mode 100644 index 0000000..1a92953 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/iclient_persistence.h @@ -0,0 +1,134 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_iclient_persistence_h +#define __mqtt_iclient_persistence_h + +#include "MQTTAsync.h" +#include "types.h" +#include "buffer_view.h" +#include "string_collection.h" +#include + +namespace mqtt { + +/** + * Allocate memory for use with user persistence. + * + * @param n The number of bytes for the buffer. + * @return A pointer to the allocated memory + */ +inline void* persistence_malloc(size_t n) { + return MQTTAsync_malloc(n); +} + +/** + * Frees memory allocated with @ref persistence_malloc(). + * @param p Pointer to a buffer obtained by persistence_malloc. + */ +inline void persistence_free(void* p) { + MQTTAsync_free(p); +} + +///////////////////////////////////////////////////////////////////////////// + +/** + * Represents a persistent data store, used to store outbound and inbound + * messages while they are in flight, enabling delivery to the QoS + * specified. You can specify an implementation of this interface using + * client::client(string, string, iclient_persistence), which the + * client will use to persist QoS 1 and 2 messages. + * + * If the methods defined throw the MqttPersistenceException then the state + * of the data persisted should remain as prior to the method being called. + * For example, if put(string, persistable) throws an exception at any + * point then the data will be assumed to not be in the persistent store. + * Similarly if remove(string) throws an exception then the data will be + * assumed to still be held in the persistent store. + * + * It is up to the persistence interface to log any exceptions or error + * information which may be required when diagnosing a persistence failure. + */ +class iclient_persistence +{ + friend class async_client; + friend class mock_persistence; + + /** Callbacks from the C library */ + static int persistence_open(void** handle, const char* clientID, const char* serverURI, void* context); + static int persistence_close(void* handle); + static int persistence_put(void* handle, char* key, int bufcount, char* buffers[], int buflens[]); + static int persistence_get(void* handle, char* key, char** buffer, int* buflen); + static int persistence_remove(void* handle, char* key); + static int persistence_keys(void* handle, char*** keys, int* nkeys); + static int persistence_clear(void* handle); + static int persistence_containskey(void* handle, char* key); + +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Virtual destructor. + */ + virtual ~iclient_persistence() {} + /** + * Initialize the persistent store. + * This uses the client ID and server name to create a unique location + * for the data store. + * @param clientId The identifier string for the client. + * @param serverURI The server to which the client is connected. + */ + virtual void open(const string& clientId, const string& serverURI) =0; + /** + * Close the persistent store that was previously opened. + */ + virtual void close() =0; + /** + * Clears persistence, so that it no longer contains any persisted data. + */ + virtual void clear() =0; + /** + * Returns whether or not data is persisted using the specified key. + * @param key The key to find + * @return @em true if the key exists, @em false if not. + */ + virtual bool contains_key(const string& key) =0; + /** + * Returns a collection of keys in this persistent data store. + * @return A collection of strings representing the keys in the store. + */ + virtual string_collection keys() const =0; + /** + * Puts the specified data into the persistent store. + * @param key The key. + * @param bufs The data to store + */ + virtual void put(const string& key, const std::vector& bufs) =0; + /** + * Gets the specified data out of the persistent store. + * @param key The key + * @return A const view of the data associated with the key. + */ + virtual string get(const string& key) const =0; + /** + * Remove the data for the specified key. + * @param key The key + */ + virtual void remove(const string& key) =0; +}; + +/** Smart/shared pointer to a persistence client */ +using iclient_persistence_ptr = iclient_persistence::ptr_t; + +/** Smart/shared pointer to a persistence client */ +using const_iclient_persistence_ptr = iclient_persistence::const_ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_iclient_persistence_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.cpp new file mode 100644 index 0000000..d3b6dfc --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.cpp @@ -0,0 +1,117 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "message.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +#if __cplusplus < 201703L + constexpr int message::DFLT_QOS; + constexpr bool message::DFLT_RETAINED; +#endif + +const MQTTAsync_message message::DFLT_C_STRUCT = MQTTAsync_message_initializer; + +// -------------------------------------------------------------------------- + +message::message() : msg_(DFLT_C_STRUCT) +{ +} + +message::message(string_ref topic, const void* payload, size_t len, int qos, bool retained, + const properties& props /*=properties()*/) + : msg_(DFLT_C_STRUCT), topic_(std::move(topic)) +{ + set_payload(payload, len); + set_qos(qos); + set_retained(retained); + set_properties(props); +} + +message::message(string_ref topic, binary_ref payload, int qos, bool retained, + const properties& props /*=properties()*/) + : msg_(DFLT_C_STRUCT), topic_(std::move(topic)) +{ + set_payload(std::move(payload)); + set_qos(qos); + set_retained(retained); + set_properties(props); +} + +message::message(string_ref topic, const MQTTAsync_message& cmsg) + : msg_(cmsg), topic_(std::move(topic)), props_(cmsg.properties) +{ + set_payload(cmsg.payload, cmsg.payloadlen); + msg_.properties = props_.c_struct(); +} + +message::message(const message& other) + : msg_(other.msg_), topic_(other.topic_), props_(other.props_) +{ + set_payload(other.payload_); + msg_.properties = props_.c_struct(); +} + +message::message(message&& other) + : msg_(other.msg_), topic_(std::move(other.topic_)), + props_(std::move(other.props_)) +{ + set_payload(std::move(other.payload_)); + other.msg_.payloadlen = 0; + other.msg_.payload = nullptr; + msg_.properties = props_.c_struct(); +} + +message& message::operator=(const message& rhs) +{ + if (&rhs != this) { + msg_ = rhs.msg_; + topic_ = rhs.topic_; + set_payload(rhs.payload_); + set_properties(rhs.props_); + } + return *this; +} + +message& message::operator=(message&& rhs) +{ + if (&rhs != this) { + msg_ = rhs.msg_; + topic_ = std::move(rhs.topic_); + set_payload(std::move(rhs.payload_)); + set_properties(std::move(rhs.props_)); + + rhs.msg_ = DFLT_C_STRUCT; + } + return *this; +} + +void message::clear_payload() +{ + payload_.reset(); + msg_.payload = nullptr; + msg_.payloadlen = 0; +} + +void message::set_payload(binary_ref payload) +{ + payload_ = std::move(payload); + + if (payload_.empty()) { + msg_.payload = nullptr; + msg_.payloadlen = 0; + } + else { + msg_.payload = const_cast(payload_.data()); + msg_.payloadlen = int(payload_.length()); + } +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.h new file mode 100644 index 0000000..7e6c160 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/message.h @@ -0,0 +1,487 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_message_h +#define __mqtt_message_h + +#include "MQTTAsync.h" +#include "buffer_ref.h" +#include "properties.h" +#include "exception.h" +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * An MQTT message holds everything required for an MQTT PUBLISH message. + * This holds the binary message payload, topic string, and all the + * additional meta-data for an MQTT message. + * + * The topic and payload buffers are kept as references to const data, so + * they can be reassigned as needed, but the buffers can not be updated + * in-place. Normally they would be created externally then copied or moved + * into the message. The library to transport the messages never touchec the + * payloads or topics. + * + * This also means that message objects are farily cheap to copy, since they + * don't copy the payloads. They simply copy the reference to the buffers. + * It is safe to pass these buffer references across threads since all + * references promise not to update the contents of the buffer. + */ +class message +{ +public: + /** The default QoS for a message */ + static constexpr int DFLT_QOS = 0; + /** The default retained flag */ + static constexpr bool DFLT_RETAINED = false; + +private: + /** Initializer for the C struct (from the C library) */ + static const MQTTAsync_message DFLT_C_STRUCT; + + /** The underlying C message struct */ + MQTTAsync_message msg_; + /** The topic that the message was (or should be) sent on. */ + string_ref topic_; + /** The message payload - an arbitrary binary blob. */ + binary_ref payload_; + /** The properties for the message */ + properties props_; + + /** The client has special access. */ + friend class async_client; + + /** + * Set the dup flag in the underlying message + * @param dup + */ + void set_duplicate(bool dup) { msg_.dup = to_int(dup); } + +public: + /** Smart/shared pointer to this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Constructs a message with an empty payload, and all other values set + * to defaults. + */ + message(); + /** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + * @param props The MQTT v5 properties for the message. + */ + message(string_ref topic, const void* payload, size_t len, + int qos, bool retained, + const properties& props=properties()); + /** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + */ + message(string_ref topic, const void* payload, size_t len) + : message(std::move(topic), payload, len, DFLT_QOS, DFLT_RETAINED) {} + /** + * Constructs a message from a byte buffer. + * Note that the payload accepts copy or move semantics. + * @param topic The message topic + * @param payload A byte buffer to use as the message payload. + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + * @param props The MQTT v5 properties for the message. + */ + message(string_ref topic, binary_ref payload, int qos, bool retained, + const properties& props=properties()); + /** + * Constructs a message from a byte buffer. + * Note that the payload accepts copy or move semantics. + * @param topic The message topic + * @param payload A byte buffer to use as the message payload. + */ + message(string_ref topic, binary_ref payload) + : message(std::move(topic), std::move(payload), DFLT_QOS, DFLT_RETAINED) {} + /** + * Constructs a message as a copy of the message structure. + * @param topic The message topic + * @param cmsg A "C" MQTTAsync_message structure. + */ + message(string_ref topic, const MQTTAsync_message& cmsg); + /** + * Constructs a message as a copy of the other message. + * @param other The message to copy into this one. + */ + message(const message& other); + /** + * Moves the other message to this one. + * @param other The message to move into this one. + */ + message(message&& other); + /** + * Destroys a message and frees all associated resources. + */ + ~message() {} + + /** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + * @param props The MQTT v5 properties for the message. + */ + static ptr_t create(string_ref topic, const void* payload, size_t len, + int qos, bool retained, const properties& props=properties()) { + return std::make_shared(std::move(topic), payload, len, + qos, retained, props); + } + /** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + */ + static ptr_t create(string_ref topic, const void* payload, size_t len) { + return std::make_shared(std::move(topic), payload, len, + DFLT_QOS, DFLT_RETAINED); + } + /** + * Constructs a message from a byte buffer. + * Note that the payload accepts copy or move semantics. + * @param topic The message topic + * @param payload A byte buffer to use as the message payload. + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + * @param props The MQTT v5 properties for the message. + */ + static ptr_t create(string_ref topic, binary_ref payload, int qos, bool retained, + const properties& props=properties()) { + return std::make_shared(std::move(topic), std::move(payload), + qos, retained, props); + } + /** + * Constructs a message from a byte buffer. + * Note that the payload accepts copy or move semantics. + * @param topic The message topic + * @param payload A byte buffer to use as the message payload. + */ + static ptr_t create(string_ref topic, binary_ref payload) { + return std::make_shared(std::move(topic), std::move(payload), + DFLT_QOS, DFLT_RETAINED); + } + /** + * Constructs a message as a copy of the C message struct. + * @param topic The message topic + * @param msg A "C" MQTTAsync_message structure. + */ + static ptr_t create(string_ref topic, const MQTTAsync_message& msg) { + return std::make_shared(std::move(topic), msg); + } + /** + * Copies another message to this one. + * @param rhs The other message. + * @return A reference to this message. + */ + message& operator=(const message& rhs); + /** + * Moves another message to this one. + * @param rhs The other message. + * @return A reference to this message. + */ + message& operator=(message&& rhs); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_message& c_struct() const { return msg_; } + #endif + /** + * Sets the topic string. + * @param topic The topic on which the message is published. + */ + void set_topic(string_ref topic) { + topic_ = topic ? std::move(topic) : string_ref(string()); + } + /** + * Gets the topic reference for the message. + * @return The topic reference for the message. + */ + const string_ref& get_topic_ref() const { return topic_; } + /** + * Gets the topic for the message. + * @return The topic string for the message. + */ + const string& get_topic() const { + static const string EMPTY_STR; + return topic_ ? topic_.str() : EMPTY_STR; + } + /** + * Clears the payload, resetting it to be empty. + */ + void clear_payload(); + /** + * Gets the payload reference. + */ + const binary_ref& get_payload_ref() const { return payload_; } + /** + * Gets the payload + */ + const binary& get_payload() const { + static const binary EMPTY_BIN; + return payload_ ? payload_.str() : EMPTY_BIN; + } + /** + * Gets the payload as a string + */ + const string& get_payload_str() const { + static const string EMPTY_STR; + return payload_ ? payload_.str() : EMPTY_STR; + } + /** + * Returns the quality of service for this message. + * @return The quality of service for this message. + */ + int get_qos() const { return msg_.qos; } + /** + * Returns whether or not this message might be a duplicate of one which + * has already been received. + * @return true this message might be a duplicate of one which + * has already been received, false otherwise + */ + bool is_duplicate() const { return to_bool(msg_.dup); } + /** + * Returns whether or not this message should be/was retained by the + * server. + * @return true if this message should be/was retained by the + * server, false otherwise. + */ + bool is_retained() const { return to_bool(msg_.retained); } + /** + * Sets the payload of this message to be the specified buffer. + * Note that this accepts copy or move operations: + * set_payload(buf); + * set_payload(std::move(buf)); + * @param payload A buffer to use as the message payload. + */ + void set_payload(binary_ref payload); + /** + * Sets the payload of this message to be the specified byte array. + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + */ + void set_payload(const void* payload, size_t n) { + set_payload(binary_ref(static_cast(payload), n)); + } + /** + * Sets the quality of service for this message. + * @param qos The integer Quality of Service for the message + */ + void set_qos(int qos) { + validate_qos(qos); + msg_.qos = qos; + } + /** + * Determines if the QOS value is a valid one. + * @param qos The QOS value. + * @throw std::invalid_argument If the qos value is invalid. + */ + static void validate_qos(int qos) { + if (qos < 0 || qos > 2) + { + throw_::exception(MQTTASYNC_BAD_QOS, "Bad QoS"); + } + } + /** + * Whether or not the publish message should be retained by the broker. + * @param retained @em true if the message should be retained by the + * broker, @em false if not. + */ + void set_retained(bool retained) { msg_.retained = to_int(retained); } + /** + * Gets the properties in the message. + * @return A const reference to the properties in the message. + */ + const properties& get_properties() const { + return props_; + } + /** + * Sets the properties in the message. + * @param props The properties to place into the message. + */ + void set_properties(const properties& props) { + props_ = props; + msg_.properties = props_.c_struct(); + } + /** + * Moves the properties into the message. + * @param props The properties to move into the message. + */ + void set_properties(properties&& props) { + props_ = std::move(props); + msg_.properties = props_.c_struct(); + } + /** + * Returns a string representation of this messages payload. + * @return A string representation of this messages payload. + */ + string to_string() const { return get_payload_str(); } +}; + +/** Smart/shared pointer to a message */ +using message_ptr = message::ptr_t; + +/** Smart/shared pointer to a const message */ +using const_message_ptr = message::const_ptr_t; + +/** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + */ +inline message_ptr make_message(string_ref topic, const void* payload, size_t len) { + return mqtt::message::create(std::move(topic), payload, len); +} + +/** + * Constructs a message with the specified array as a payload, and all + * other values set to defaults. + * @param topic The message topic + * @param payload the bytes to use as the message payload + * @param len the number of bytes in the payload + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + */ +inline message_ptr make_message(string_ref topic, const void* payload, size_t len, + int qos, bool retained) { + return mqtt::message::create(std::move(topic), payload, len, qos, retained); +} + +/** + * Constructs a message with the specified buffer as a payload, and + * all other values set to defaults. + * @param topic The message topic + * @param payload A string to use as the message payload. + */ +inline message_ptr make_message(string_ref topic, binary_ref payload) { + return mqtt::message::create(std::move(topic), std::move(payload)); +} + +/** + * Constructs a message with the specified values. + * @param topic The message topic + * @param payload A buffer to use as the message payload. + * @param qos The quality of service for the message. + * @param retained Whether the message should be retained by the broker. + */ +inline message_ptr make_message(string_ref topic, binary_ref payload, + int qos, bool retained) { + return mqtt::message::create(std::move(topic), std::move(payload), qos, retained); +} + +///////////////////////////////////////////////////////////////////////////// + +/** + * Class to build messages. + */ +class message_ptr_builder +{ + /** The underlying message */ + message_ptr msg_; + +public: + /** This class */ + using self = message_ptr_builder; + /** + * Default constructor. + */ + message_ptr_builder() : msg_{ std::make_shared() } {} + /** + * Sets the topic string. + * @param topic The topic on which the message is published. + */ + auto topic(string_ref topic) -> self& { + msg_->set_topic(topic); + return *this; + } + /** + * Sets the payload of this message to be the specified buffer. + * Note that this accepts copy or move operations: + * set_payload(buf); + * set_payload(std::move(buf)); + * @param payload A buffer to use as the message payload. + */ + auto payload(binary_ref payload) -> self& { + msg_->set_payload(payload); + return *this; + } + /** + * Sets the payload of this message to be the specified byte array. + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + */ + auto payload(const void* payload, size_t n) -> self& { + msg_->set_payload(payload, n); + return *this; + } + /** + * Sets the quality of service for this message. + * @param qos The integer Quality of Service for the message + */ + auto qos(int qos) -> self& { + msg_->set_qos(qos); + return *this; + } + /** + * Whether or not the publish message should be retained by the broker. + * @param on @em true if the message should be retained by the broker, @em + * false if not. + */ + auto retained(bool on) -> self& { + msg_->set_retained(on); + return *this; + } + /** + * Sets the properties for the disconnect message. + * @param props The properties for the disconnect message. + */ + auto properties(mqtt::properties&& props) -> self& { + msg_->set_properties(std::move(props)); + return *this; + } + /** + * Sets the properties for the disconnect message. + * @param props The properties for the disconnect message. + */ + auto properties(const mqtt::properties& props) -> self& { + msg_->set_properties(props); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + message_ptr finalize() { return msg_; } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_message_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.cpp new file mode 100644 index 0000000..4d4bdb6 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.cpp @@ -0,0 +1,168 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "properties.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +property::property(code c, int32_t val) +{ + prop_.identifier = ::MQTTPropertyCodes(c); + + switch (::MQTTProperty_getType(prop_.identifier)) { + case MQTTPROPERTY_TYPE_BYTE: + prop_.value.cbByte = uint8_t(val); + break; + case MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER: + prop_.value.integer2 = int16_t(val); + break; + case MQTTPROPERTY_TYPE_FOUR_BYTE_INTEGER: + case MQTTPROPERTY_TYPE_VARIABLE_BYTE_INTEGER: + prop_.value.integer4 = val; + break; + default: + // TODO: Throw an exception + break; + } +} + +property::property(code c, string_ref val) +{ + prop_.identifier = ::MQTTPropertyCodes(c); + + size_t n = val.size(); + prop_.value.data.len = int(n); + prop_.value.data.data = (char*) malloc(n); + std::memcpy(prop_.value.data.data, val.data(), n); +} + +property::property(code c, string_ref name, string_ref val) +{ + prop_.identifier = MQTTPropertyCodes(c); + + size_t n = name.size(); + prop_.value.data.len = int(n); + prop_.value.data.data = (char*) malloc(n); + std::memcpy(prop_.value.data.data, name.data(), n); + + n = val.size(); + prop_.value.value.len = int(n); + prop_.value.value.data = (char*) malloc(n); + std::memcpy(prop_.value.value.data, val.data(), n); +} + +property::property(const MQTTProperty& cprop) +{ + copy(cprop); +} + +property::property(MQTTProperty&& cprop) + :prop_(cprop) +{ + memset(&cprop, 0, sizeof(MQTTProperty)); +} + + +property::property(const property& other) +{ + copy(other.prop_); +} + +property::property(property&& other) +{ + std::memcpy(&prop_, &other.prop_, sizeof(MQTTProperty)); + memset(&other.prop_, 0, sizeof(MQTTProperty)); +} + +property::~property() +{ + switch (::MQTTProperty_getType(prop_.identifier)) { + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + free(prop_.value.value.data); + // Fall-through + + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + free(prop_.value.data.data); + break; + + default: + // Nothing necessary + break; + } +} + +void property::copy(const MQTTProperty& cprop) +{ + size_t n; + + std::memcpy(&prop_, &cprop, sizeof(MQTTProperty)); + + switch (::MQTTProperty_getType(prop_.identifier)) { + case MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR: + n = prop_.value.value.len; + prop_.value.value.data = (char*) malloc(n); + memcpy(prop_.value.value.data, cprop.value.value.data, n); + // Fall-through + + case MQTTPROPERTY_TYPE_BINARY_DATA: + case MQTTPROPERTY_TYPE_UTF_8_ENCODED_STRING: + n = prop_.value.data.len; + prop_.value.data.data = (char*) malloc(n); + memcpy(prop_.value.data.data, cprop.value.data.data, n); + break; + + default: + // Nothing necessary + break; + } +} + +property& property::operator=(const property& rhs) +{ + if (&rhs != this) + copy(rhs.prop_); + + return *this; +} + +property& property::operator=(property&& rhs) +{ + if (&rhs != this) { + std::memcpy(&prop_, &rhs.prop_, sizeof(MQTTProperty)); + memset(&rhs.prop_, 0, sizeof(MQTTProperty)); + } + return *this; +} + +///////////////////////////////////////////////////////////////////////////// + +properties::properties(std::initializer_list props) +{ + std::memset(&props_, 0, sizeof(properties)); + for (const auto& prop : props) + ::MQTTProperties_add(&props_, &prop.c_struct()); +} + +void properties::clear() +{ + ::MQTTProperties_free(&props_); + memset(&props_, 0, sizeof(MQTTProperties)); +} + +property properties::get(property::code propid, size_t idx /*=0*/) +{ + MQTTProperty* prop = MQTTProperties_getPropertyAt(&props_, + MQTTPropertyCodes(propid), int(idx)); + if (!prop) + throw bad_cast(); + + return property(*prop); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.h new file mode 100644 index 0000000..08cdb91 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/properties.h @@ -0,0 +1,425 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_properties_h +#define __mqtt_properties_h + +extern "C" { + #include "MQTTProperties.h" +} + +#include "types.h" +#include "throw_.h" +#include "buffer_ref.h" +#include "exception.h" +#include +#include + +#include + +namespace mqtt { + +/** A pair of strings as a tuple. */ +using string_pair = std::tuple; + +///////////////////////////////////////////////////////////////////////////// + +/** + * A single MQTT v5 property. + */ +class property +{ + /** The underlying Paho C property struct. */ + MQTTProperty prop_; + + // Make a deep copy of the property struct into this one. + // For string properties, this allocates memory and copied the string(s) + void copy(const MQTTProperty& other); + +public: + /** + * The integer codes for the different v5 properties. + */ + enum code { + PAYLOAD_FORMAT_INDICATOR = 1, + MESSAGE_EXPIRY_INTERVAL = 2, + CONTENT_TYPE = 3, + RESPONSE_TOPIC = 8, + CORRELATION_DATA = 9, + SUBSCRIPTION_IDENTIFIER = 11, + SESSION_EXPIRY_INTERVAL = 17, + ASSIGNED_CLIENT_IDENTIFER = 18, + SERVER_KEEP_ALIVE = 19, + AUTHENTICATION_METHOD = 21, + AUTHENTICATION_DATA = 22, + REQUEST_PROBLEM_INFORMATION = 23, + WILL_DELAY_INTERVAL = 24, + REQUEST_RESPONSE_INFORMATION = 25, + RESPONSE_INFORMATION = 26, + SERVER_REFERENCE = 28, + REASON_STRING = 31, + RECEIVE_MAXIMUM = 33, + TOPIC_ALIAS_MAXIMUM = 34, + TOPIC_ALIAS = 35, + MAXIMUM_QOS = 36, + RETAIN_AVAILABLE = 37, + USER_PROPERTY = 38, + MAXIMUM_PACKET_SIZE = 39, + WILDCARD_SUBSCRIPTION_AVAILABLE = 40, + SUBSCRIPTION_IDENTIFIERS_AVAILABLE = 41, + SHARED_SUBSCRIPTION_AVAILABLE = 42 + }; + + /** + * Create a numeric property. + * This can be a byte, or 2-byte, 4-byte, or variable byte integer. + * @param c The property code + * @param val The integer value for the property + */ + property(code c, int32_t val); + /** + * Create a string or binary property. + * @param c The property code + * @param val The value for the property + */ + property(code c, string_ref val); + /** + * Create a string pair property. + * @param c The property code + * @param name The string name for the property + * @param val The string value for the property + */ + property(code c, string_ref name, string_ref val); + /** + * Creates a property list from an C struct. + * @param cprop A C struct for a property list. + */ + explicit property(const MQTTProperty& cprop); + /** + * Moves a C struct into this property list. + * This takes ownership of any memory that the C struct is holding. + * @param cprop A C struct for a property list. + */ + explicit property(MQTTProperty&& cprop); + /** + * Copy constructor + * @param other The other property to copy into this one. + */ + property(const property& other); + /** + * Move constructor. + * @param other The other property that is moved into this one. + */ + property(property&& other); + /** + * Destructor + */ + ~property(); + /** + * Copy assignment. + * @param rhs Another property list to copy into this one. + * @return A reference to this object. + */ + property& operator=(const property& rhs); + /** + * Move assignment. + * @param rhs Another property list to move into this one. + * @return A reference to this object. + */ + property& operator=(property&& rhs); + /** + * Gets the underlying C property struct. + * @return A const reference to the underlying C property + * struct. + */ + const MQTTProperty& c_struct() const { return prop_; } + /** + * Gets the property type (identifier). + * @return The code for the property type. + */ + code type() const { return code(prop_.identifier); } + /** + * Gets a printable name for the property type. + * @return A printable name for the property type. + */ + const char* type_name() const { + return ::MQTTPropertyName(prop_.identifier); + } +}; + +/** + * Extracts the value from the property as the specitied type. + * @return The value from the property as the specitied type. + */ +template +inline T get(const property&) { throw_::badcast(); } + +/** + * Extracts the value from the property as an unsigned 8-bit integer. + * @return The value from the property as an unsigned 8-bit integer. + */ +template <> +inline uint8_t get(const property& prop) { + return (uint8_t) prop.c_struct().value.cbByte; +} + +/** + * Extracts the value from the property as an unsigned 16-bit integer. + * @return The value from the property as an unsigned 16-bit integer. + */ +template <> +inline uint16_t get(const property& prop) { + return (uint16_t) prop.c_struct().value.integer2; +} + +/** + * Extracts the value from the property as a signed 16-bit integer. + * @return The value from the property as a signed 16-bit integer. + */ +template <> +inline int16_t get(const property& prop) { + return (int16_t) prop.c_struct().value.integer2; +} + +/** + * Extracts the value from the property as an unsigned 32-bit integer. + * @return The value from the property as an unsigned 32-bit integer. + */ +template <> +inline uint32_t get(const property& prop) { + return (uint32_t) prop.c_struct().value.integer4; +} + +/** + * Extracts the value from the property as a signed 32-bit integer. + * @return The value from the property as a signed 32-bit integer. + */ +template <> +inline int32_t get(const property& prop) { + return (int32_t) prop.c_struct().value.integer4; +} + +/** + * Extracts the value from the property as a string. + * @return The value from the property as a string. + */ +template <> +inline string get(const property& prop) { + return (!prop.c_struct().value.data.data) ? string() + : string(prop.c_struct().value.data.data, prop.c_struct().value.data.len); +} + +/** + * Extracts the value from the property as a pair of strings. + * @return The value from the property as a pair of strings. + */ +template <> +inline string_pair get(const property& prop) { + string name = (!prop.c_struct().value.data.data) ? string() + : string(prop.c_struct().value.data.data, prop.c_struct().value.data.len); + + string value = (!prop.c_struct().value.value.data) ? string() + : string(prop.c_struct().value.value.data, prop.c_struct().value.value.len); + + return std::make_tuple(std::move(name), std::move(value)); +} + +///////////////////////////////////////////////////////////////////////////// + +/** + * MQTT v5 property list. + * + * A collection of properties that can be added to outgoing packets or + * retrieved from incoming packets. + */ +class properties +{ + /** The underlying C properties struct */ + MQTTProperties props_; + + template + friend T get(const properties& props, property::code propid, size_t idx); + + template + friend T get(const properties& props, property::code propid); + +public: + /** + * Default constructor. + * Creates an empty properties list. + */ + properties() { + std::memset(&props_, 0, sizeof(MQTTProperties)); + } + /** + * Copy constructor. + * @param other The property list to copy. + */ + properties(const properties& other) + : props_(::MQTTProperties_copy(&other.props_)) {} + /** + * Move constructor. + * @param other The property list to move to this one. + */ + properties(properties&& other) : props_(other.props_) { + std::memset(&other.props_, 0, sizeof(MQTTProperties)); + } + /** + * Creates a list of properties from a C struct. + * @param cprops The c struct of properties + */ + properties(const MQTTProperties& cprops) { + props_ = ::MQTTProperties_copy(&cprops); + } + /** + * Constructs from a list of property objects. + * @param props An initializer list of property objects. + */ + properties(std::initializer_list props); + /** + * Destructor. + */ + ~properties() { ::MQTTProperties_free(&props_); } + /** + * Gets a reference to the underlying C properties structure. + * @return A const reference to the underlying C properties structure. + */ + const MQTTProperties& c_struct() const { return props_; } + /** + * Copy assignment. + * @param rhs The other property list to copy into this one + * @return A reference to this object. + */ + properties& operator=(const properties& rhs) { + if (&rhs != this) { + ::MQTTProperties_free(&props_); + props_ = ::MQTTProperties_copy(&rhs.props_); + } + return *this; + } + /** + * Move assignment. + * @param rhs The property list to move to this one. + * @return A reference to this object. + */ + properties& operator=(properties&& rhs) { + if (&rhs != this) { + ::MQTTProperties_free(&props_); + props_ = rhs.props_; + std::memset(&rhs.props_, 0, sizeof(MQTTProperties)); + } + return *this; + } + /** + * Determines if the property list is empty. + * @return @em true if there are no properties in the list, @em false if + * the list contains any items. + */ + bool empty() const { return props_.count == 0; } + /** + * Gets the numbers of property items in the list. + * @return The number of property items in the list. + */ + size_t size() const { return size_t(props_.count); } + /** + * Gets the number of bytes required for the serialized + * structure on the wire. + * @return The number of bytes required for the serialized + * struct. + */ + #if 0 + // Note: This isn't exported by the shared library. Perhaps we can change + // that in the upstream C lib. + size_t byte_length() const { + return (size_t) ::MQTTProperties_len(const_cast(&props_)); + } + #endif + /** + * Adds a property to the list. + * @param prop The property to add to the list. + */ + void add(const property& prop) { + ::MQTTProperties_add(&props_, &prop.c_struct()); + } + /** + * Removes all the items from the property list. + */ + void clear(); + /** + * Determines if the list contains a specific property. + * @param propid The property ID (code). + * @return @em true if the list contains the property, @em false if not. + */ + bool contains(property::code propid) const { + return ::MQTTProperties_hasProperty(const_cast(&props_), + MQTTPropertyCodes(propid)) != 0; + } + /** + * Get the number of properties in the list with the specified property + * ID. + * + * Most properties can exist only once. User properties and subscription + * ID's can exist more than once. + * + * @param propid The property ID (code). + * @return The number of properties in the list with the specified ID. + */ + size_t count(property::code propid) const { + return size_t(::MQTTProperties_propertyCount( + const_cast(&props_), MQTTPropertyCodes(propid))); + } + /** + * Gets the property with the specified ID. + * + * @param propid The property ID (code). + * @param idx Which instance of the property to retrieve, if there are + * more than one. + * @return The requested property + */ + property get(property::code propid, size_t idx=0); +}; + +// -------------------------------------------------------------------------- + +/** + * Retrieves a single value from a property list for when there may be + * multiple identical propert ID's. + * @tparam T The type of the value to retrieve + * @param props The property list + * @param propid The property ID code for the desired value. + * @param idx Index of the desired property ID + * @return The requested value of type T + */ +template +inline T get(const properties& props, property::code propid, size_t idx) +{ + MQTTProperty* prop = MQTTProperties_getPropertyAt( + const_cast(&props.c_struct()), + MQTTPropertyCodes(propid), int(idx)); + if (!prop) + { + throw_::badcast(); + } + + return get(property(*prop)); +} + +/** + * Retrieves a single value from a property list. + * @tparam T The type of the value to retrieve + * @param props The property list + * @param propid The property ID code for the desired value. + * @return The requested value of type T + */ +template +inline T get(const properties& props, property::code propid) +{ + return get(props, propid, 0); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_properties_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.cpp new file mode 100644 index 0000000..4471c84 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.cpp @@ -0,0 +1,110 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "response_options.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +response_options::response_options(int mqttVersion /*=MQTTVERSION_DEFAULT*/) + : opts_(MQTTAsync_responseOptions_initializer) +{ + set_mqtt_version(mqttVersion); +} + +response_options::response_options(const token_ptr& tok, + int mqttVersion /*=MQTTVERSION_DEFAULT*/) + : response_options(mqttVersion) +{ + set_token(tok); +} + +response_options::response_options(const response_options& other) + : opts_(other.opts_), tok_(other.tok_), props_(other.props_) +{ + update_c_struct(); +} + +response_options& response_options::operator=(const response_options& rhs) +{ + opts_ = rhs.opts_; + tok_ = rhs.tok_; + props_ = rhs.props_; + + update_c_struct(); + return *this; +} + + +void response_options::update_c_struct() +{ + opts_.properties = props_.c_struct(); + + if (opts_.subscribeOptionsCount != 0) + opts_.subscribeOptionsList = const_cast(subOpts_.data()); +} + +void response_options::set_mqtt_version(int mqttVersion) +{ + if (mqttVersion < MQTTVERSION_5) { + opts_.onSuccess = &token::on_success; + opts_.onFailure = &token::on_failure; + opts_.onSuccess5 = nullptr; + opts_.onFailure5 = nullptr; + } + else { + opts_.onSuccess5 = &token::on_success5; + opts_.onFailure5 = &token::on_failure5; + opts_.onSuccess = nullptr; + opts_.onFailure = nullptr; + } +} + +void response_options::set_token(const token_ptr& tok) +{ + tok_ = tok; + opts_.context = tok.get(); +} + +void response_options::set_subscribe_options(const subscribe_options& opts) +{ + opts_.subscribeOptions = opts.opts_; +} + +void response_options::set_subscribe_options(const std::vector& opts) +{ + subOpts_.clear(); + for (const auto& opt : opts) + subOpts_.push_back(opt.opts_); + + opts_.subscribeOptionsCount = int(opts.size()); + opts_.subscribeOptionsList = const_cast(subOpts_.data()); +} + +///////////////////////////////////////////////////////////////////////////// + +delivery_response_options::delivery_response_options(int mqttVersion /*=MQTTVERSION_DEFAULT*/) + : opts_(MQTTAsync_responseOptions_initializer) +{ + if (mqttVersion < MQTTVERSION_5) { + opts_.onSuccess = &delivery_token::on_success; + opts_.onFailure = &delivery_token::on_failure; + } + else { + opts_.onSuccess5 = &delivery_token::on_success5; + opts_.onFailure5 = &delivery_token::on_failure5; + } +} + +delivery_response_options::delivery_response_options(const delivery_token_ptr& tok, + int mqttVersion /*=MQTTVERSION_DEFAULT*/) + : delivery_response_options(mqttVersion) +{ + set_token(tok); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.h new file mode 100644 index 0000000..1e70a05 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/response_options.h @@ -0,0 +1,244 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_response_options_h +#define __mqtt_response_options_h + +#include "MQTTAsync.h" +#include "token.h" +#include "delivery_token.h" +#include "subscribe_options.h" + +namespace mqtt { + +class token_test; + +///////////////////////////////////////////////////////////////////////////// +// response_options +///////////////////////////////////////////////////////////////////////////// + +/** + * The response options for various asynchronous calls. + * + * This is an internal data structure, only used within the library. + * Therefore it is not totally fleshed out, but rather only exposes the + * functionality currently required by the library. + * + * Note, too, in the C lib, this became a place to add MQTT v5 options for + * the outgoing calls without breaking the API, so is also refered to as the + * "call options". + */ +class response_options +{ + /** The underlying C structure */ + MQTTAsync_responseOptions opts_; + + /** The token to which we are connected */ + token::weak_ptr_t tok_; + + /** Packet Properties (Subscribe/Unsubscribe) */ + properties props_; + + /** A list of subscription options for subscribe-many */ + std::vector subOpts_; + + /** The client has special access */ + friend class async_client; + + /** Update the underlying C struct to match our data */ + void update_c_struct(); + +public: + /** + * Create an empty response object. + * @param mqttVersion The MQTT versoion for the response. + */ + explicit response_options(int mqttVersion=MQTTVERSION_DEFAULT); + /** + * Creates a response object with the specified callbacks. + * @param tok A token to be used as the context. + * @param mqttVersion The MQTT versoion for the response. + */ + response_options(const token_ptr& tok, int mqttVersion=MQTTVERSION_DEFAULT); + /** + * Copy constructor. + * @param other The other options to copy to this one. + */ + response_options(const response_options& other); + /** + * Copy operator. + * @param rhs The other options to copy to this one. + */ + response_options& operator=(const response_options& rhs); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_responseOptions& c_struct() const { return opts_; } + #endif + /** + * Sets the MQTT protocol version used for the response. + * This sets up proper callbacks for MQTT v5 or versions prior to that. + * @param mqttVersion The MQTT version used by the connection. + */ + void set_mqtt_version(int mqttVersion); + /** + * Sets the callback context to a generic token. + * @param tok The token to be used as the callback context. + */ + void set_token(const token_ptr& tok); + /** + * Sets the properties for the connect. + * @param props The properties to place into the message. + */ + void set_properties(const properties& props) { + props_ = props; + opts_.properties = props_.c_struct(); + } + /** + * Moves the properties for the connect. + * @param props The properties to move into the connect object. + */ + void set_properties(properties&& props) { + props_ = std::move(props); + opts_.properties = props_.c_struct(); + } + /** + * Sets the options for a single topic subscription. + * @param opts The subscribe options. + */ + void set_subscribe_options(const subscribe_options& opts); + /** + * Sets the options for a multi-topic subscription. + * @param opts A vector of the subscribe options. + */ + void set_subscribe_options(const std::vector& opts); +}; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Class to build response options. + */ +class response_options_builder +{ + /** The underlying options */ + response_options opts_; + +public: + /** This class */ + using self = response_options_builder; + /** + * Default constructor. + */ + explicit response_options_builder(int mqttVersion=MQTTVERSION_DEFAULT) + : opts_(mqttVersion) {} + /** + * Sets the MQTT protocol version used for the response. + * This sets up proper callbacks for MQTT v5 or versions prior to that. + * @param mqttVersion The MQTT version used by the connection. + */ + auto mqtt_version(int mqttVersion) -> self& { + opts_.set_mqtt_version(mqttVersion); + return *this; + } + /** + * Sets the callback context to a generic token. + * @param tok The token to be used as the callback context. + */ + auto token(const token_ptr& tok) -> self& { + opts_.set_token(tok); + return *this; + } + /** + * Sets the properties for the response options. + * @param props The properties for the response options. + */ + auto properties(mqtt::properties&& props) -> self& { + opts_.set_properties(std::move(props)); + return *this; + } + /** + * Sets the properties for the disconnect message. + * @param props The properties for the disconnect message. + */ + auto properties(const mqtt::properties& props) -> self& { + opts_.set_properties(props); + return *this; + } + /** + * Sets the options for a single topic subscription. + * @param opts The subscribe options. + */ + auto subscribe_opts(const subscribe_options& opts) -> self& { + opts_.set_subscribe_options(opts); + return *this; + } + /** + * Sets the options for a multi-topic subscription. + * @param opts A vector of the subscribe options. + */ + auto subscribe_opts(const std::vector& opts) -> self& { + opts_.set_subscribe_options(opts); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + response_options finalize() { return opts_; } +}; + +///////////////////////////////////////////////////////////////////////////// +// delivery_response_options +///////////////////////////////////////////////////////////////////////////// + +/** + * The response options for asynchronous calls targeted at delivery. + * Each of these objects is tied to a specific delivery_token. + */ +class delivery_response_options +{ + /** The underlying C structure */ + MQTTAsync_responseOptions opts_; + + /** The delivery token to which we are connected */ + delivery_token::weak_ptr_t dtok_; + + /** The client has special access */ + friend class async_client; + +public: + /** + * Create an empty delivery response object. + */ + delivery_response_options(int mqttVersion=MQTTVERSION_DEFAULT); + /** + * Creates a response object tied to the specific delivery token. + * @param dtok A delivery token to be used as the context. + * @param mqttVersion The MQTT version for the response + */ + delivery_response_options(const delivery_token_ptr& dtok, + int mqttVersion=MQTTVERSION_DEFAULT); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_responseOptions& c_struct() const { return opts_; } + #endif + /** + * Sets the callback context to a delivery token. + * @param dtok The delivery token to be used as the callback context. + */ + void set_token(const delivery_token_ptr& dtok) { + dtok_ = dtok; + opts_.context = dtok.get(); + } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + +#endif // __mqtt_response_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/server_response.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/server_response.h new file mode 100644 index 0000000..e3956ec --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/server_response.h @@ -0,0 +1,194 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_server_response_h +#define __mqtt_server_response_h + +#include "MQTTAsync.h" +#include "types.h" +#include "properties.h" + +#include + +namespace mqtt { + +/** + * Base class for responses from the server. + */ +class server_response +{ + /** The properties from the acknowledge */ + properties props_; + +public: + /** + * Creates a response with empty property list. + */ + server_response() {} + /** + * Creates a server response with the specified properties. + * @param props The properties in the response. + */ + server_response(const properties& props) + : props_(props) {} + /** + * Creates a server response with the specified properties. + * @param props The properties in the response. + */ + server_response(properties&& props) + : props_(std::move(props)) {} + /** + * Virtual destructor. + */ + virtual ~server_response() {} + /** + * Gets the properties from the response. + * @return The properties from the response. + */ + const properties& get_properties() const { return props_; } +}; + +/** + * Response for a connect request + */ +class connect_response : public server_response +{ + /** The connection string of the server */ + string serverURI_; + /** The version of MQTT being used */ + int mqttVersion_; + /** The session present flag returned from the server */ + bool sessionPresent_; + + friend class token; + + connect_response(const MQTTAsync_successData5* rsp) : + server_response(properties(rsp->properties)), + serverURI_(string(rsp->alt.connect.serverURI)), + mqttVersion_(rsp->alt.connect.MQTTVersion), + sessionPresent_(to_bool(rsp->alt.connect.sessionPresent)) { + } + + connect_response(const MQTTAsync_successData* rsp) : + serverURI_(string(rsp->alt.connect.serverURI)), + mqttVersion_(rsp->alt.connect.MQTTVersion), + sessionPresent_(to_bool(rsp->alt.connect.sessionPresent)) { + } + +public: + /** + * Gets the URI of the broker to which we connected. + * @return The URI of the broker. + */ + string get_server_uri() const { return serverURI_; } + /** + * Gets the MQTT version for the connection. + * @return The MQTT version for the connection. + */ + int get_mqtt_version() const { return mqttVersion_; } + /** + * Determines whether a session already existed for this client on the + * server. + * This tells whether the server has a persistent session stored for the + * client, given the ClientID specified in the connect message. + * @return Whether a session already existed for this client on the server. + */ + bool is_session_present() const { return sessionPresent_; } +}; + +/** + * Response for subscribe messages + */ +struct subscribe_response : public server_response +{ + /** The reason/result code for each topic request. */ + std::vector reasonCodes_; + + friend class token; + + /** + * Create v5 subscribe response. + * @param rsp The v5 response struct from the C lib + */ + subscribe_response(MQTTAsync_successData5* rsp) + : server_response(properties(rsp->properties)) { + if (rsp->alt.sub.reasonCodeCount < 2) + reasonCodes_.push_back(ReasonCode(rsp->reasonCode)); + else if (rsp->alt.sub.reasonCodes) { + for (int i=0; ialt.sub.reasonCodeCount; ++i) + reasonCodes_.push_back(ReasonCode(rsp->alt.sub.reasonCodes[i])); + } + } + + /** + * Create v3 subscribe response. + * @param n The number of subscription topics + * @param rsp The v3 response struct from the C lib + */ + subscribe_response(size_t n, MQTTAsync_successData* rsp) { + if (n < 2) + reasonCodes_.push_back(ReasonCode(rsp->alt.qos)); + else if (rsp->alt.qosList) { + for (size_t i=0; ialt.qosList[i])); + } + } + +public: + /** + * Gets the reason codes from the server response. + * On a subscribe ack there is a reason code for each topic that + * was sent in the subscribe packet. Each tells the granted QoS + * for the corresponding topic. + * @return A collection of return codes corresponding to + * subscribing each topic. On success, this is the + * granted QoS for each topic. On failure it is the + * reason for the failure. + */ + const std::vector& get_reason_codes() const { + return reasonCodes_; + } +}; + +/** + * Response for unsubscribe messages. + */ +class unsubscribe_response : public server_response +{ + /** The reason/result code for each topic request. */ + std::vector reasonCodes_; + + friend class token; + + unsubscribe_response(MQTTAsync_successData5* rsp) + : server_response(properties(rsp->properties)) { + if (rsp->alt.unsub.reasonCodeCount < 2) + reasonCodes_.push_back(ReasonCode(rsp->reasonCode)); + else if (rsp->alt.unsub.reasonCodes) { + for (int i=0; ialt.unsub.reasonCodeCount; ++i) + reasonCodes_.push_back(ReasonCode(rsp->alt.unsub.reasonCodes[i])); + } + } + + unsubscribe_response(MQTTAsync_successData*) {} + +public: + /** + * Gets the reason codes from the server response. + * On an unsubscribe ack there is a reason code for each topic + * that was sent in the unsubscribe packet. Each tells the + * result of unsubscribing to the corresponding topic. + * @return A collection of return codes corresponding to + * unsubscribing each topic. + */ + const std::vector& get_reason_codes() const { + return reasonCodes_; + } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_server_response_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.cpp new file mode 100644 index 0000000..23e9cb9 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.cpp @@ -0,0 +1,334 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "ssl_options.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +const MQTTAsync_SSLOptions ssl_options::DFLT_C_STRUCT = MQTTAsync_SSLOptions_initializer; + +ssl_options::ssl_options() : opts_(DFLT_C_STRUCT) +{ +} + +ssl_options::ssl_options(const string& trustStore, const string& keyStore, + const string& privateKey, const string& privateKeyPassword, + const string& enabledCipherSuites, bool enableServerCertAuth, + const std::vector alpnProtos /*=std::vector()*/) + : opts_(DFLT_C_STRUCT), + trustStore_(trustStore), + keyStore_(keyStore), + privateKey_(privateKey), + privateKeyPassword_(privateKeyPassword), + enabledCipherSuites_(enabledCipherSuites) +{ + set_alpn_protos(alpnProtos); + update_c_struct(); + opts_.enableServerCertAuth = enableServerCertAuth; +} + +ssl_options::ssl_options(const string& trustStore, const string& keyStore, + const string& privateKey, const string& privateKeyPassword, + const string& caPath, + const string& enabledCipherSuites, bool enableServerCertAuth, + const std::vector alpnProtos /*=std::vector()*/) + : opts_(DFLT_C_STRUCT), + trustStore_(trustStore), + keyStore_(keyStore), + privateKey_(privateKey), + privateKeyPassword_(privateKeyPassword), + caPath_(caPath), + enabledCipherSuites_(enabledCipherSuites) +{ + set_alpn_protos(alpnProtos); + update_c_struct(); + opts_.enableServerCertAuth = enableServerCertAuth; +} + +ssl_options::ssl_options(const ssl_options& other) + : opts_(other.opts_), + trustStore_(other.trustStore_), + keyStore_(other.keyStore_), + privateKey_(other.privateKey_), + privateKeyPassword_(other.privateKeyPassword_), + caPath_(other.caPath_), + enabledCipherSuites_(other.enabledCipherSuites_), + errHandler_(other.errHandler_), + pskHandler_(other.pskHandler_), + protos_(other.protos_) +{ + update_c_struct(); +} + +ssl_options::ssl_options(ssl_options&& other) + : opts_(other.opts_), + trustStore_(std::move(other.trustStore_)), + keyStore_(std::move(other.keyStore_)), + privateKey_(std::move(other.privateKey_)), + privateKeyPassword_(std::move(other.privateKeyPassword_)), + caPath_(std::move(other.caPath_)), + enabledCipherSuites_(std::move(other.enabledCipherSuites_)), + errHandler_(std::move(other.errHandler_)), + pskHandler_(std::move(other.pskHandler_)), + protos_(std::move(other.protos_)) +{ + update_c_struct(); +} + +void ssl_options::update_c_struct() +{ + opts_.trustStore = c_str(trustStore_); + opts_.keyStore = c_str(keyStore_); + opts_.privateKey = c_str(privateKey_); + opts_.privateKeyPassword = c_str(privateKeyPassword_); + opts_.CApath = c_str(caPath_); + opts_.enabledCipherSuites = c_str(enabledCipherSuites_); + + if (errHandler_) { + opts_.ssl_error_cb = &ssl_options::on_error; + opts_.ssl_error_context = this; + } + else { + opts_.ssl_error_cb = nullptr; + opts_.ssl_error_context = nullptr; + } + + if (pskHandler_) { + opts_.ssl_psk_cb = &ssl_options::on_psk; + opts_.ssl_psk_context = this; + } + else { + opts_.ssl_psk_cb = nullptr; + opts_.ssl_psk_context = nullptr; + } + + if (!protos_.empty()) { + opts_.protos = protos_.data(); + opts_.protos_len = unsigned(protos_.length()); + } + else { + opts_.protos = nullptr; + opts_.protos_len = 0; + } +} + +// -------------------------------------------------------------------------- + +int ssl_options::on_error(const char *str, size_t len, void *context) +{ + try { + if (context && str && len > 0) { + string errMsg { str, len }; + + ssl_options* opts = static_cast(context); + auto& errHandler = opts->errHandler_; + + if (errHandler) + errHandler(errMsg); + + return MQTTASYNC_SUCCESS; + } + } + catch (...) {} + + return MQTTASYNC_FAILURE; +} + +unsigned ssl_options::on_psk(const char *hint, char *identity, unsigned max_identity_len, + unsigned char *psk, unsigned max_psk_len, void *context) +{ + unsigned ret = 0; + + try { + if (context) { + auto hintStr = (hint) ? string(hint) : string(); + + ssl_options* opts = static_cast(context); + auto& pskHandler = opts->pskHandler_; + + if (pskHandler) { + ret = pskHandler(hintStr, identity, size_t(max_identity_len), + psk, size_t(max_psk_len)); + } + } + } + catch (...) {} + + return ret; +} + +// -------------------------------------------------------------------------- + +ssl_options& ssl_options::operator=(const ssl_options& rhs) +{ + if (&rhs == this) + return *this; + + opts_ = rhs.opts_; + + trustStore_ = rhs.trustStore_; + keyStore_ = rhs.keyStore_; + privateKey_ = rhs.privateKey_; + privateKeyPassword_ = rhs.privateKeyPassword_; + caPath_ = rhs.caPath_; + enabledCipherSuites_ = rhs.enabledCipherSuites_; + + errHandler_ = rhs.errHandler_; + pskHandler_ = rhs.pskHandler_; + + protos_ = rhs.protos_; + + update_c_struct(); + return *this; +} + +ssl_options& ssl_options::operator=(ssl_options&& rhs) +{ + if (&rhs == this) + return *this; + + opts_ = rhs.opts_; + + trustStore_ = std::move(rhs.trustStore_); + keyStore_ = std::move(rhs.keyStore_); + privateKey_ = std::move(rhs.privateKey_); + privateKeyPassword_ = std::move(rhs.privateKeyPassword_); + caPath_ = std::move(rhs.caPath_); + enabledCipherSuites_ = std::move(rhs.enabledCipherSuites_); + + errHandler_ = std::move(rhs.errHandler_); + pskHandler_ = std::move(rhs.pskHandler_); + + protos_ = std::move(rhs.protos_); + + update_c_struct(); + return *this; +} + +// -------------------------------------------------------------------------- + +void ssl_options::set_trust_store(const string& trustStore) +{ + trustStore_ = trustStore; + opts_.trustStore = c_str(trustStore_); +} + +void ssl_options::set_key_store(const string& keyStore) +{ + keyStore_ = keyStore; + opts_.keyStore = c_str(keyStore_); +} + +void ssl_options::set_private_key(const string& privateKey) +{ + privateKey_ = privateKey; + opts_.privateKey = c_str(privateKey_); +} + +void ssl_options::set_private_key_password(const string& privateKeyPassword) +{ + privateKeyPassword_ = privateKeyPassword; + opts_.privateKeyPassword = c_str(privateKeyPassword_); +} + +void ssl_options::set_enabled_cipher_suites(const string& enabledCipherSuites) +{ + enabledCipherSuites_ = enabledCipherSuites; + opts_.enabledCipherSuites = c_str(enabledCipherSuites_); +} + +void ssl_options::set_enable_server_cert_auth(bool enableServerCertAuth) +{ + opts_.enableServerCertAuth = to_int(enableServerCertAuth); +} + +void ssl_options::set_ca_path(const string& path) +{ + caPath_ = path; + opts_.CApath = c_str(caPath_); +} + +void ssl_options::set_error_handler(error_handler cb) +{ + errHandler_ = cb; + + if (errHandler_) { + opts_.ssl_error_cb = &ssl_options::on_error; + opts_.ssl_error_context = this; + } + else { + opts_.ssl_error_cb = nullptr; + opts_.ssl_error_context = nullptr; + } +} + +void ssl_options::set_psk_handler(psk_handler cb) +{ + pskHandler_ = cb; + + if (pskHandler_) { + opts_.ssl_psk_cb = &ssl_options::on_psk; + opts_.ssl_psk_context = this; + } + else { + opts_.ssl_psk_cb = nullptr; + opts_.ssl_psk_context = nullptr; + } +} + +// Gets the list of ALPN protocols. +// To do so, it must recover the strings from the wire format. +std::vector ssl_options::get_alpn_protos() const +{ + std::vector protos; + size_t i = 0, n = protos_.length(); + + while (i < n) { + size_t sn = protos_[i++]; + if (i+sn > n) break; + + string s; + s.reserve(sn); + + sn += i; + while (i < sn) + s.push_back(char(protos_[i++])); + protos.push_back(std::move(s)); + } + return protos; +} + +// Converts the vector of names into the binary string in wire format. +// This is a single string uf unsigned characters with each protocol +// prepended by a byte of its length. +void ssl_options::set_alpn_protos(const std::vector& protos) +{ + using uchar = unsigned char; + + if (!protos.empty()) { + std::basic_string protoBin; + for (const auto& proto : protos) { + protoBin.push_back(uchar(proto.length())); + for (const char c : proto) + protoBin.push_back(uchar(c)); + } + protos_ = std::move(protoBin); + + opts_.protos = protos_.data(); + opts_.protos_len = unsigned(protos_.length()); + } + else { + protos_ = std::basic_string(); + opts_.protos = nullptr; + opts_.protos_len = 0; + } +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.h new file mode 100644 index 0000000..3d3c5a7 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/ssl_options.h @@ -0,0 +1,496 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_ssl_options_h +#define __mqtt_ssl_options_h + +#include "MQTTAsync.h" +#include "message.h" +#include "topic.h" +#include "types.h" +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Holds the set of SSL options for connection. + */ +class ssl_options +{ +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + /** Unique pointer to an object of this class. */ + using unique_ptr_t = std::unique_ptr; + + /** Handler type for error message callbacks */ + using error_handler = std::function; + /** + * Handler type for TLS-PSK option callback. + * On success, the callback should return the length of the PSK (in + * bytes). On failure, it should throw or return zero. + */ + using psk_handler = std::function; + +private: + /** The default C struct */ + static const MQTTAsync_SSLOptions DFLT_C_STRUCT ; + + /** The underlying C SSL options */ + MQTTAsync_SSLOptions opts_; + + /** + * The file containing the public digital certificates trusted by + * the client. + */ + string trustStore_; + + /** The file containing the public certificate chain of the client. */ + string keyStore_; + + /** The file containing the client's private key. */ + string privateKey_; + + /** The password to load the client's privateKey if encrypted. */ + string privateKeyPassword_; + + /** Path to a directory containing CA certificates in PEM format */ + string caPath_; + + /** + * The list of cipher suites that the client will present to the + * server during the SSL handshake. + */ + string enabledCipherSuites_; + + /** Error message callback handler */ + error_handler errHandler_; + + /** PSK callback handler */ + psk_handler pskHandler_; + + /** ALPN protocol list, in wire format */ + std::basic_string protos_; + + /** Callbacks from the C library */ + static int on_error(const char *str, size_t len, void *context); + static unsigned on_psk(const char *hint, char *identity, unsigned int max_identity_len, + unsigned char *psk, unsigned int max_psk_len, void *context); + + /** The connect options has special access */ + friend class connect_options; + + /** + * Gets a pointer to the C-language NUL-terminated strings for the + * struct. + * @note In the SSL options, by default, the Paho C treats nullptr char + * arrays as unset values, so we keep that semantic and only set those + * char arrays if the string is non-empty. + * @param str The C++ string object. + * @return Pointer to a NUL terminated string. This is only valid until + * the next time the string is updated. + */ + const char* c_str(const string& str) { + return str.empty() ? nullptr : str.c_str(); + } + /** + * Updates the underlying C structure to match our strings. + */ + void update_c_struct(); + +public: + /** + * Constructs a new MqttConnectOptions object using the default values. + */ + ssl_options(); + /** + * Argument constructor. + * @param trustStore The file containing the public digital certificates + * trusted by the client. + * @param keyStore The file containing the public certificate chain of the + * client. + * @param privateKey The file containing the client's private key. + * @param privateKeyPassword The password to load the client's privateKey + * if encrypted. + * @param enabledCipherSuites The list of cipher suites that the client + * will present to the server during the SSL handshake. + * @param enableServerCertAuth True/False option to enable verification of + * the server certificate + * @param alpnProtos The ALPN protocols to try. + */ + ssl_options(const string& trustStore, const string& keyStore, + const string& privateKey, const string& privateKeyPassword, + const string& enabledCipherSuites, bool enableServerCertAuth, + const std::vector alpnProtos=std::vector()); + /** + * Argument constructor. + * @param trustStore The file containing the public digital certificates + * trusted by the client. + * @param keyStore The file containing the public certificate chain of + * the client. + * @param privateKey The file containing the client's private key. + * @param privateKeyPassword The password to load the client's + * privateKey if encrypted. + * @param caPath The name of a directory containing CA certificates in + * PEM format. + * @param enabledCipherSuites The list of cipher suites that the client + * will present to the server during the SSL + * handshake. + * @param enableServerCertAuth True/False option to enable verification + * of the server certificate + * @param alpnProtos The ALPN protocols to try. + */ + ssl_options(const string& trustStore, const string& keyStore, + const string& privateKey, const string& privateKeyPassword, + const string& caPath, + const string& enabledCipherSuites, bool enableServerCertAuth, + const std::vector alpnProtos=std::vector()); + /** + * Copy constructor. + * @param opt The other options to copy. + */ + ssl_options(const ssl_options& opt); + /** + * Move constructor. + * @param opt The other options to move to this one. + */ + ssl_options(ssl_options&& opt); + /** + * Copy assignment. + * @param opt The other options to copy. + * @return A reference to this object. + */ + ssl_options& operator=(const ssl_options& opt); + /** + * Move assignment. + * @param opt The other options to move to this one. + * @return A reference to this object. + */ + ssl_options& operator=(ssl_options&& opt); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_SSLOptions& c_struct() const { return opts_; } + #endif + /** + * Returns the file containing the public digital certificates trusted by + * the client. + * @return string + */ + string get_trust_store() const { return trustStore_; } + /** + * Returns the file containing the public certificate chain of the client. + * @return string + */ + string get_key_store() const { return keyStore_; } + /** + * Gets the name of file containing the client's private key. + * @return The name of file containing the client's private key. + */ + string get_private_key() const { return privateKey_; } + /** + * Gets the password to load the client's privateKey if encrypted. + * @return The password to load the client's privateKey if encrypted. + */ + string get_private_key_password() const { return privateKeyPassword_; } + /** + * Returns the list of cipher suites that the client will present to the + * server during the SSL handshake. + * @return string + */ + string get_enabled_cipher_suites() const { return enabledCipherSuites_; } + /** + * Returns the true/false to enable verification of the server certificate . + * @return bool + */ + bool get_enable_server_cert_auth() const { + return to_bool(opts_.enableServerCertAuth); + } + /** + * Sets the file containing the public digital certificates trusted by + * the client. + * @param trustStore The file in PEM format containing the public + * digital certificates trusted by the client. + */ + void set_trust_store(const string& trustStore); + /** + * Sets the file containing the public certificate chain of the client. + * @param keyStore The file in PEM format containing the public + * certificate chain of the client. It may also include + * the client's private key. + */ + void set_key_store(const string& keyStore); + /** + * Sets the file containing the client's private key. + * @param privateKey If not included in the sslKeyStore, this is the + * file in PEM format containing the client's private + * key. + */ + void set_private_key(const string& privateKey); + /** + * Sets the password to load the client's privateKey if encrypted. + * @param privateKeyPassword The password to load the privateKey if + * encrypted. + */ + void set_private_key_password(const string& privateKeyPassword); + /** + * Sets the list of cipher suites that the client will present to the server + * during the SSL handshake. + * @param enabledCipherSuites The list of cipher suites that the client + * will present to the server during the SSL + * handshake. For a full explanation of the + * cipher list format, please see the OpenSSL + * on-line documentation: + * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT + * If this setting is ommitted, its default + * value will be "ALL", that is, all the + * cipher suites -excluding those offering no + * encryption- will be considered. This + * setting can be used to set an SSL + * anonymous connection (empty string value, + * for instance). + */ + void set_enabled_cipher_suites(const string& enabledCipherSuites); + /** + * Enables or disables verification of the server certificate. + * @param enablServerCertAuth enable/disable verification of the server + * certificate + */ + void set_enable_server_cert_auth(bool enablServerCertAuth); + /** + * Gets the requested SSL/TLS version. + * @return The requested SSL/TLS version. + */ + int get_ssl_version() const { return opts_.sslVersion; } + /** + * Set the SSL/TLS version to use. + * + * @param ver The desired SSL/TLS version. Specify one of: + * @li MQTT_SSL_VERSION_DEFAULT (0) + * @li MQTT_SSL_VERSION_TLS_1_0 (1) + * @li MQTT_SSL_VERSION_TLS_1_1 (2) + * @li MQTT_SSL_VERSION_TLS_1_2 (3) + */ + void set_ssl_version(int ver) { opts_.sslVersion = ver; } + /** + * Determines whether it will carry out post-connect checks, including + * that a certificate matches the given host name. + * @return Whether it will carry out post-connect checks. + */ + bool get_verify() const { return to_bool(opts_.verify); } + /** + * Sets whether it should carry out post-connect checks, including that + * a certificate matches the given host name. + * @param v Whether it should carry out post-connect checks. + */ + void set_verify(bool v) { opts_.verify = to_int(v); } + /** + * Gets the path to a directory containing CA certificates in PEM + * format. + * + * @return Path to a directory containing CA certificates in PEM format, + * if set. If this isn't set, returns an empty string. + */ + string get_ca_path() const { return caPath_; } + string ca_path() const { return caPath_; } + /** + * Sets the path to a directory containing CA certificates in PEM + * format. + * + * @param path Path to a directory containing CA certificates in PEM + * format. + */ + void set_ca_path(const string& path); + void ca_path(const string& path) { set_ca_path(path); } + /** + * Registers the error message callback handler. + * @param cb The callback to receive error messages. + */ + void set_error_handler(error_handler cb); + /** + * Registers a callback handler to set the TLS-PSK options. + * See: OpenSSL SSL_CTX_set_psk_client_callback() + * @param cb The callback. + */ + void set_psk_handler(psk_handler cb); + /** + * Gets the list of supported ALPN protocols. + * @return A vector containing the supported ALPN protocols. + */ + std::vector get_alpn_protos() const; + /** + * Sets the list of supported ALPN protolols. + * See: + * https://www.openssl.org/docs/man1.1.0/man3/SSL_CTX_set_alpn_protos.html + * @param protos The list of ALPN protocols to be negotiated. + */ + void set_alpn_protos(const std::vector& protos); +}; + +/** + * Shared pointer to the ssl options class. + */ +using ssl_options_ptr = ssl_options::ptr_t; +/** + * Unique pointer to the ssl options class. + */ +using ssl_options_unique_ptr = ssl_options::unique_ptr_t; + + +///////////////////////////////////////////////////////////////////////////// + +/** + * Class to build the SSL options for connections. + */ +class ssl_options_builder +{ + /** The underlying options */ + ssl_options opts_; + +public: + /** This class */ + using self = ssl_options_builder; + /** + * Default constructor. + */ + ssl_options_builder() {} + /** + * Sets the file containing the public digital certificates trusted by + * the client. + * @param store The file in PEM format containing the public digital + * certificates trusted by the client. + */ + auto trust_store(const string& store) -> self& { + opts_.set_trust_store(store); + return *this; + } + /** + * Sets the file containing the public certificate chain of the client. + * @param store The file in PEM format containing the public certificate + * chain of the client. It may also include the client's + * private key. + */ + auto key_store(const string& store) -> self& { + opts_.set_key_store(store); + return *this; + } + /** + * Sets the file containing the client's private key. + * @param key If not included in the sslKeyStore, this is the file in + * PEM format containing the client's private key. + */ + auto private_key(const string& key) -> self& { + opts_.set_private_key(key); + return *this; + } + /** + * Sets the password to load the client's privateKey if encrypted. + * @param passwd The password to load the privateKey if encrypted. + */ + auto private_keypassword(const string& passwd) -> self& { + opts_.set_private_key_password(passwd); + return *this; + } + /** + * Sets the list of cipher suites that the client will present to the server + * during the SSL handshake. + * @param suites The list of cipher suites that the client will present to + * the server during the SSL handshake. For a full + * explanation of the cipher list format, please see the + * OpenSSL on-line documentation: + * http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT + * If this setting is ommitted, its default value will be + * "ALL", that is, all the cipher suites -excluding those + * offering no encryption- will be considered. This setting + * can be used to set an SSL anonymous connection (empty + * string value, for instance). + */ + auto enabled_cipher_suites(const string& suites) -> self& { + opts_.set_enabled_cipher_suites(suites); + return *this; + } + /** + * Enables or disables verification of the server certificate. + * @param on enable/disable verification of the server certificate + */ + auto enable_server_cert_auth(bool on) -> self& { + opts_.set_enable_server_cert_auth(on); + return *this; + } + /** + * Set the SSL/TLS version to use. + * + * @param ver The desired SSL/TLS version. Specify one of: + * @li MQTT_SSL_VERSION_DEFAULT (0) + * @li MQTT_SSL_VERSION_TLS_1_0 (1) + * @li MQTT_SSL_VERSION_TLS_1_1 (2) + * @li MQTT_SSL_VERSION_TLS_1_2 (3) + */ + auto ssl_version(int ver) -> self& { + opts_.set_ssl_version(ver); + return *this; + } + /** + * Sets whether it should carry out post-connect checks, including that + * a certificate matches the given host name. + * @param on Whether it should carry out post-connect checks. + */ + auto verify_t(bool on=true) -> self& { + opts_.set_verify(on); + return *this; + } + /** + * Sets the path to a directory containing CA certificates in PEM format. + * @param path Path to a directory containing CA certificates in PEM + * format. + */ + auto ca_path(const string& path) -> self& { + opts_.ca_path(path); + return *this; + } + /** + * Registers an error callback handler. + * @param cb The callback to receive error messages. + */ + auto error_handler(ssl_options::error_handler cb) -> self& { + opts_.set_error_handler(cb); + return *this; + } + /** + * Registers a callback handler to set the TLS-PSK options. + * See: OpenSSL SSL_CTX_set_psk_client_callback() + * @param cb The callback. + */ + auto psk_handler(ssl_options::psk_handler cb) -> self& { + opts_.set_psk_handler(cb); + return *this; + } + /** + * Sets the list of supported ALPN protocols. + * @param protos The list of ALPN protocols to be negotiated. + */ + auto alpn_protos(const std::vector& protos) -> self& { + opts_.set_alpn_protos(protos); + return *this; + } + /** + * Finish building the options and return them. + * @return The option struct as built. + */ + ssl_options finalize() { return opts_; } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_ssl_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.cpp new file mode 100644 index 0000000..b6cf525 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.cpp @@ -0,0 +1,101 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "string_collection.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +string_collection::string_collection(const string& str) : coll_{ str } +{ + update_c_arr(); +} + +string_collection::string_collection(string&& str) : coll_{ std::move(str) } +{ + update_c_arr(); +} + +string_collection::string_collection(const collection_type& vec) : coll_{ vec } +{ + update_c_arr(); +} + +string_collection::string_collection(collection_type&& vec) : coll_{ std::move(vec) } +{ + update_c_arr(); +} + +string_collection::string_collection(const string_collection& coll) : coll_ { coll.coll_ } +{ + update_c_arr(); +} + +string_collection::string_collection(std::initializer_list sl) +{ + for (const auto& s : sl) + coll_.push_back(s); + update_c_arr(); +} + +string_collection::string_collection(std::initializer_list sl) +{ + for (const auto& s : sl) + coll_.push_back(string(s)); + update_c_arr(); +} + +void string_collection::update_c_arr() +{ + cArr_.clear(); + cArr_.reserve(coll_.size()); + for (const auto& s : coll_) + cArr_.push_back(s.c_str()); +} + +string_collection& string_collection::operator=(const string_collection& coll) +{ + coll_ = coll.coll_; + update_c_arr(); + return *this; +} + +void string_collection::push_back(const string& str) +{ + coll_.push_back(str); + update_c_arr(); +} + +void string_collection::push_back(string&& str) +{ + coll_.push_back(str); + update_c_arr(); +} + +void string_collection::clear() +{ + coll_.clear(); + cArr_.clear(); +} + +///////////////////////////////////////////////////////////////////////////// + +void name_value_collection::update_c_arr() +{ + cArr_.clear(); + cArr_.reserve(map_.size()+1); + for (const auto& m : map_) { + cArr_.push_back( + MQTTAsync_nameValue{ m.first.c_str(), m.second.c_str() } + ); + } + cArr_.push_back(MQTTAsync_nameValue{ nullptr, nullptr }); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.h new file mode 100644 index 0000000..d428db1 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/string_collection.h @@ -0,0 +1,357 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_string_collection_h +#define __mqtt_string_collection_h + +#include "MQTTAsync.h" +#include "types.h" +#include +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * Type for a collection of topics. + * This acts like a collection of strings but carries an array of pointers + * to the C strings for easy interactions with the Paho C library. + */ +class string_collection +{ + /** The type for the collection of strings */ + using collection_type = std::vector; + /** The type for the array of C pointers */ + using c_arr_type = std::vector; + + /** + * The collection of strings for the topics. + */ + collection_type coll_; + /** + * A colleciton of pointers to NUL-terminated C strings for the topics. + * This is what is required by the Paho C library, and thus the lifetime + * of the pointers will remain consistent with the lifetime of the + * object. The value is kept consistent with the current topics and + * updated whenever topics are added or removed. + */ + c_arr_type cArr_; + /** + * Updated the cArr_ object to agree with the values in coll_ + * This should be called any time the coll_ variable is modified + * in any way. + */ + void update_c_arr(); + +public: + /** Smart/shared pointer to an object of this type */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this type */ + using const_ptr_t = std::shared_ptr; + + /** + * Construct an empty string collection. + */ + string_collection() =default; + /** + * Construct a collection initially containing a single string. + * @param str The string + */ + string_collection(const string& str); + /** + * Construct a collection initially containing a single string. + * @param str The string + */ + string_collection(string&& str); + /** + * Constructs a string collection by copying a vector of strings. + * @param vec A vector of strings. + */ + string_collection(const collection_type& vec); + /** + * Constructs a string collection by moving a vector of strings. + * @param vec A vector of strings. + */ + string_collection(collection_type&& vec); + /** + * Copy constructor. + * @param coll An existing string collection. + */ + string_collection(const string_collection& coll); + /** + * Move constructor. + * @param coll An existing string collection. + */ + string_collection(string_collection&& coll) = default; + /** + * Construct a string collection from an initialization list of strings. + * @param sl An initialization list of strings. + */ + string_collection(std::initializer_list sl); + /** + * Construct a string collection from an initialization list of C string + * pointers. + * @param sl An initialization list of C character arrays. + */ + string_collection(std::initializer_list sl); + /** + * Create an empty string collection on the heap. + * @return A smart/shared pointer to a string collection. + */ + static ptr_t create(const string& str) { + return std::make_shared(str); + } + /** + * Create a string collection on the heap, initially containing a single + * string. + * @param str The string + * @return A smart/shared pointer to a string collection. + */ + static ptr_t create(string&& str) { + return std::make_shared(str); + } + /** + * Creates a string collection on the heap by copying a vector of + * strings. + * @param vec A vector of strings. + */ + static ptr_t create(const collection_type& vec) { + return std::make_shared(vec); + } + /** + * Creates a string collection on the heap by copying a vector of + * strings. + * @param vec A vector of strings. + * @return A smart/shared pointer to a string collection. + */ + static ptr_t create(collection_type&& vec) { + return std::make_shared(vec); + } + /** + * Create a string collection on the heap from an initialization list of + * strings. + * @param sl An initialization list of strings. + * @return A smart/shared pointer to a string collection. + */ + static ptr_t create(std::initializer_list sl) { + return std::make_shared(sl); + } + /** + * Create a string collection on the heap from an initialization list of + * C string pointers. + * @param sl An initialization list of C character arrays. + * @return A smart/shared pointer to a string collection. + */ + static ptr_t create(std::initializer_list sl) { + return std::make_shared(sl); + } + /** + * Copy assignment. + * Copy another string collection to this one. + * @param coll A string collection + * @return A reference to this collection. + */ + string_collection& operator=(const string_collection& coll); + /** + * Move assignment. + * Move another string collection to this one. + * @param coll A string collection + * @return A reference to this collection. + */ + string_collection& operator=(string_collection&& coll) = default; + /** + * Determines if the collection is empty. + * @return @em true if the collection is empty, @em false if not. + */ + bool empty() const { return coll_.empty(); } + /** + * Gets the number of strings in the collection. + * @return The number of strings in the collection. + */ + size_t size() const { return coll_.size(); } + /** + * Copies a string to the back of the collection. + * @param str A string. + */ + void push_back(const string& str); + /** + * Moves a string to the back of the collection. + * @param str A string. + */ + void push_back(string&& str); + /** + * Removes all the strings from the collection. + */ + void clear(); + /** + * Gets the n'th string in the collection. + * @param i Index to the desired string. + * @return A const reference to the string. + */ + const string& operator[](size_t i) const { return coll_[i]; } + /** + * Gets a pointer to an array of NUL-terminated C string pointers. + * This is the collection type supported by the underlying Paho C + * library. The returned pointer is guaranteed valid so long as the + * object is not updated. The return value may change if the object is + * modified, so the application should not cache the return value, but + * rather request the value when needed. + * @return pointer to an array of NUL-terminated C string pointers of + * the topics in the object. + * + */ + char* const* c_arr() const { return (char* const *) cArr_.data(); } +}; + +///////////////////////////////////////////////////////////////////////////// + +/** Smart/shared pointer to a topic collection */ +using string_collection_ptr = string_collection::ptr_t; + +/** Smart/shared pointer to a const string_collection */ +using const_string_collection_ptr = string_collection::const_ptr_t; + +///////////////////////////////////////////////////////////////////////////// + +/** + * A colleciton of name/value string pairs. + */ +class name_value_collection +{ + /** The type for the collection of name/value pairs */ + using collection_type = std::map; + /** The type for the C pointers to pass to Paho C */ + using c_arr_type = std::vector; + + /** + * The name/value pairs. + */ + collection_type map_; + /** + * A collection of pairs of NUL-terminated C strings. + */ + c_arr_type cArr_; + /** + * Updated the cArr_ object to agree with the values in coll_ + * This should be called any time the coll_ variable is modified + * in any way. + */ + void update_c_arr(); + +public: + /** Smart/shared pointer to an object of this type */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this type */ + using const_ptr_t = std::shared_ptr; + /** The type of the string/string pair of values */ + using value_type = collection_type::value_type; + /** + * Default construtor for an empty collection. + */ + name_value_collection() =default; + /** + * Creates a name/value collection from an underlying STL collection. + * @param map The collection of name/value pairs. + */ + name_value_collection(const collection_type& map) : map_(map) { + update_c_arr(); + } + /** + * Creates a name/value collection from an underlying STL collection. + * @param map The collection of name/value pairs. + */ + name_value_collection(collection_type&& map) : map_(std::move(map)) { + update_c_arr(); + } + /** + * Copy constructor. + * @param other Another collection of name/value pairs. + */ + name_value_collection(const name_value_collection& other) + : map_(other.map_) { + update_c_arr(); + } + /** + * Move constructor. + * @param other Another collection of name/value pairs + */ + name_value_collection(name_value_collection&& other) = default; + /** + * Constructs the collection with an initializer list. + * + * This works identically to initializing a std::map<> with string/tring + * pairs. + * + * @param init Initializer list to construct the members of the + * collection. + */ + name_value_collection(std::initializer_list init) + : map_{ init } { + update_c_arr(); + } + /** + * Copy assignment. + * @param other Another collection of name/value pairs. + */ + name_value_collection& operator=(const name_value_collection& other) { + map_ = other.map_; + update_c_arr(); + return *this; + } + /** + * Move constructor. + * @param other Another collection of name/value pairs + */ + name_value_collection& operator=(name_value_collection&& other) = default; + /** + * Determines if the collection is empty. + * @return @em true if the container is empty, @em false if it contains + * one or more items. + */ + bool empty() const { return map_.empty(); } + /** + * Gets the number of name/value pairs in the collection. + * @return The number of name/value pairs in the collection. + */ + size_t size() const { return map_.size(); } + /** + * Removes all items from the collection. + */ + void clear() { + map_.clear(); + update_c_arr(); + } + /** + * Inserts a name/value pair into the collection. + * @param nvpair The name/value string pair. + * @return @em true if the inert happened, @em false if not. + */ + bool insert(const value_type& nvpair) { + if (map_.insert(nvpair).second) { + update_c_arr(); + return true; + } + return false; + } + /** + * Gets a pointer to an array of NUL-terminated C string pointer pairs. + * This is a collection type supported by the underlying Paho C + * library. The returned pointer is guaranteed valid so long as the + * object is not updated. The return value may change if the object is + * modified, so the application should not cache the return value, but + * rather request the value when needed. + * @return pointer to an array of NUL-terminated C string pointer pairs + * for name/values. The array is terminated by a NULL/NULL pair. + */ + const MQTTAsync_nameValue* c_arr() const { return cArr_.data(); } +}; + + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_string_collection_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.cpp new file mode 100644 index 0000000..09aeebe --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.cpp @@ -0,0 +1,21 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "subscribe_options.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +#if __cplusplus < 201703L + constexpr bool subscribe_options::SUBSCRIBE_NO_LOCAL; + constexpr bool subscribe_options::SUBSCRIBE_LOCAL; + + constexpr bool subscribe_options::NO_RETAIN_AS_PUBLISHED; + constexpr bool subscribe_options::RETAIN_AS_PUBLISHED; +#endif + +///////////////////////////////////////////////////////////////////////////// +// end namespace 'mqtt' +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.h new file mode 100644 index 0000000..d9e3aee --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/subscribe_options.h @@ -0,0 +1,150 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_subscribe_options_h +#define __mqtt_subscribe_options_h + +#include "MQTTAsync.h" +#include "MQTTSubscribeOpts.h" +#include "types.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * The MQTT v5 subscription options. + * These are defined in section 3.8.3.1 of the MQTT v5 spec. + * The defaults use the behavior that was present in MQTT v3.1.1. + */ +class subscribe_options +{ + /** The underlying C structure */ + MQTTSubscribe_options opts_; + + /** The client and response have special access */ + friend class async_client; + friend class response_options; + +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + + /** Don't receive our own publications */ + static constexpr bool SUBSCRIBE_NO_LOCAL = true; + /** Receive our own publications */ + static constexpr bool SUBSCRIBE_LOCAL = false; + + /** + * Retain flag is only set on publications sent by a broker if in + * response to a subscribe request + */ + static constexpr bool NO_RETAIN_AS_PUBLISHED = false; + /** Keep the retain flag as on the original publish message */ + static constexpr bool RETAIN_AS_PUBLISHED = true; + + /** The options for subscription retain handling */ + enum RetainHandling { + /** Send retained messages at the time of the subscribe */ + SEND_RETAINED_ON_SUBSCRIBE = 0, + /** Send retained messages on subscribe only if subscription is new */ + SEND_RETAINED_ON_NEW = 1, + /** Do not send retained messages at all */ + DONT_SEND_RETAINED = 2 + }; + + /** + * Create default subscription options. + * These are the default options corresponding to the original MQTT (v3) + * behaviors. + */ + subscribe_options() + : opts_(MQTTSubscribe_options_initializer) {} + /** + * Creates a set of subscription options. + * + * @param noLocal Whether the server should send back our own + * publications, if subscribed. + * @param retainAsPublished Whether to keep the retained flag as in the + * original published message (true). + * @param retainHandling When to send retained messages: + * @li (SEND_RETAINED_ON_SUBSCRIBE, 0) At the time of the subscribe + * @li (SEND_RETAINED_ON_NEW, 1) Only at the time of a new + * subscribe + * @li (DONT_SEND_RETAINED, 2) Not at the time of subscribe + */ + explicit subscribe_options(bool noLocal, uint8_t retainAsPublished=false, + RetainHandling retainHandling=SEND_RETAINED_ON_SUBSCRIBE) + : opts_(MQTTSubscribe_options_initializer) { + opts_.noLocal = noLocal ? 1 : 0; + opts_.retainAsPublished = retainAsPublished ? 1 : 0; + opts_.retainHandling = (unsigned char) retainHandling; + } + /** + * Gets the value of the "no local" flag. + * @return Whether the server should send back our own publications, if + * subscribed. + */ + bool get_no_local() const { + return to_bool(opts_.noLocal); + } + /** + * Sets the "no local" flag on or off. + * @param on Whether the server should send back our own publications, + * if subscribed. + */ + void set_no_local(bool on=true) { + opts_.noLocal = on ? 1 : 0; + } + /** + * Gets the "retain as published" flag. + * @return Whether to keep the retained flag as in the original + * published message. + */ + bool get_retain_as_published() const { + return to_bool(opts_.retainAsPublished); + } + /** + * Sets the "retain as published" flag on or off. + * @param on Whether to keep the retained flag as in the original + * published message. + */ + void set_retain_as_published(bool on) { + opts_.retainAsPublished = on ? 1 : 0; + } + /** + * Gets the "retasin handling" option. + * @return When to send retained messages: + * @li (SEND_RETAINED_ON_SUBSCRIBE, 0) At the time of the subscribe + * @li (SEND_RETAINED_ON_NEW, 1) Only at the time of a new + * subscribe + * @li (DONT_SEND_RETAINED, 2) Not at the time of subscribe + */ + auto get_retain_handling() const -> RetainHandling { + return RetainHandling(opts_.retainHandling); + } + /** + * Sets the "retain handling" option. + * @param retainHandling When to send retained messages: + * @li (SEND_RETAINED_ON_SUBSCRIBE, 0) At the time of the subscribe + * @li (SEND_RETAINED_ON_NEW, 1) Only at the time of a new + * subscribe + * @li (DONT_SEND_RETAINED, 2) Not at the time of subscribe + */ + void set_retain_handling(RetainHandling retainHandling) { + opts_.retainHandling = (unsigned char) retainHandling; + } +}; + + +/** Smart/shared pointer to a subscribe options object. */ +using subscribe_options_ptr = subscribe_options::ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_subscribe_options_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/thread_queue.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/thread_queue.h new file mode 100644 index 0000000..f19fc9b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/thread_queue.h @@ -0,0 +1,311 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_thread_queue_h +#define __mqtt_thread_queue_h + +#include +#include +#include +#include +#include +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +/** + * A thread-safe queue for inter-thread communication. + * This is a lockinq queue with blocking operations. The get() operations + * can always block on an empty queue, but have variations for non-blocking + * (try_get) and bounded-time blocking (try_get_for, try_get_until). + * @par + * The default queue has a capacity that is unbounded in the practical + * sense, limited by available memory. In this mode the object will not + * block when placing values into the queue. A capacity can bet set with the + * construtor or, at any time later by calling the @ref capacity(size_type) + * method. Using this latter method, the capacity can be set to an amount + * smaller than the current size of the queue. In that case all put's to the + * queue will block until the number of items are removed from the queue to + * bring the size below the new capacity. + * @par + * Note that the queue uses move semantics to place items into the queue and + * remove items from the queue. This means that the type, T, of the data + * held by the queue only needs to follow move semantics; not copy + * semantics. In addition, this means that copies of the value will @em not + * be left in the queue. This is especially useful when creating queues of + * shared pointers, as the "dead" part of the queue will not hold onto a + * reference count after the item has been removed from the queue. + * + * @param T The type of the items to be held in the queue. + * @param Container The type of the underlying container to use. It must + * support back(), front(), push_back(), pop_front(). + */ +template > +class thread_queue +{ +public: + /** The underlying container type to use for the queue. */ + using container_type = Container; + /** The type of items to be held in the queue. */ + using value_type = T; + /** The type used to specify number of items in the container. */ + using size_type = typename Container::size_type; + + /** The maximum capacity of the queue. */ + static constexpr size_type MAX_CAPACITY = std::numeric_limits::max(); + +private: + /** Object lock */ + mutable std::mutex lock_; + /** Condition get signaled when item added to empty queue */ + std::condition_variable notEmptyCond_; + /** Condition gets signaled then item removed from full queue */ + std::condition_variable notFullCond_; + /** The capacity of the queue */ + size_type cap_; + /** The actual STL container to hold data */ + std::queue que_; + + /** Simple, scope-based lock guard */ + using guard = std::lock_guard; + /** General purpose guard */ + using unique_guard = std::unique_lock; + +public: + /** + * Constructs a queue with the maximum capacity. + */ + thread_queue() : cap_(MAX_CAPACITY) {} + /** + * Constructs a queue with the specified capacity. + * @param cap The maximum number of items that can be placed in the + * queue. The minimum capacity is 1. + */ + explicit thread_queue(size_t cap) : cap_(std::max(cap, 1)) {} + /** + * Determine if the queue is empty. + * @return @em true if there are no elements in the queue, @em false if + * there are any items in the queue. + */ + bool empty() const { + guard g(lock_); + return que_.empty(); + } + /** + * Gets the capacity of the queue. + * @return The maximum number of elements before the queue is full. + */ + size_type capacity() const { + guard g(lock_); + return cap_; + } + /** + * Sets the capacity of the queue. + * Note that the capacity can be set to a value smaller than the current + * size of the queue. In that event, all calls to put() will block until + * a suffucuent number + */ + void capacity(size_type cap) { + guard g(lock_); + cap_ = cap; + } + /** + * Gets the number of items in the queue. + * @return The number of items in the queue. + */ + size_type size() const { + guard g(lock_); + return que_.size(); + } + /** + * Put an item into the queue. + * If the queue is full, this will block the caller until items are + * removed bringing the size less than the capacity. + * @param val The value to add to the queue. + */ + void put(value_type val) { + unique_guard g(lock_); + if (que_.size() >= cap_) + notFullCond_.wait(g, [this]{return que_.size() < cap_;}); + bool wasEmpty = que_.empty(); + que_.emplace(std::move(val)); + if (wasEmpty) { + g.unlock(); + notEmptyCond_.notify_one(); + } + } + /** + * Non-blocking attempt to place an item into the queue. + * @param val The value to add to the queue. + * @return @em true if the item was added to the queue, @em false if the + * item was not added because the queue is currently full. + */ + bool try_put(value_type val) { + unique_guard g(lock_); + size_type n = que_.size(); + if (n >= cap_) + return false; + que_.emplace(std::move(val)); + if (n == 0) { + g.unlock(); + notEmptyCond_.notify_one(); + } + return true; + } + /** + * Attempt to place an item in the queue with a bounded wait. + * This will attempt to place the value in the queue, but if it is full, + * it will wait up to the specified time duration before timing out. + * @param val The value to add to the queue. + * @param relTime The amount of time to wait until timing out. + * @return @em true if the value was added to the queue, @em false if a + * timeout occurred. + */ + template + bool try_put_for(value_type* val, const std::chrono::duration& relTime) { + unique_guard g(lock_); + if (que_.size() >= cap_ && !notFullCond_.wait_for(g, relTime, [this]{return que_.size() < cap_;})) + return false; + bool wasEmpty = que_.empty(); + que_.emplace(std::move(val)); + if (wasEmpty) { + g.unlock(); + notEmptyCond_.notify_one(); + } + return true; + } + /** + * Attempt to place an item in the queue with a bounded wait to an + * absolute time point. + * This will attempt to place the value in the queue, but if it is full, + * it will wait up until the specified time before timing out. + * @param val The value to add to the queue. + * @param absTime The absolute time to wait to before timing out. + * @return @em true if the value was added to the queue, @em false if a + * timeout occurred. + */ + template + bool try_put_until(value_type* val, const std::chrono::time_point& absTime) { + unique_guard g(lock_); + if (que_.size() >= cap_ && !notFullCond_.wait_until(g, absTime, [this]{return que_.size() < cap_;})) + return false; + bool wasEmpty = que_.empty(); + que_.emplace(std::move(val)); + if (wasEmpty) { + g.unlock(); + notEmptyCond_.notify_one(); + } + return true; + } + /** + * Retrieve a value from the queue. + * If the queue is empty, this will block indefinitely until a value is + * added to the queue by another thread, + * @param val Pointer to a variable to receive the value. + */ + void get(value_type* val) { + unique_guard g(lock_); + if (que_.empty()) + notEmptyCond_.wait(g, [this]{return !que_.empty();}); + *val = std::move(que_.front()); + que_.pop(); + if (que_.size() == cap_-1) { + g.unlock(); + notFullCond_.notify_one(); + } + } + /** + * Retrieve a value from the queue. + * If the queue is empty, this will block indefinitely until a value is + * added to the queue by another thread, + * @return The value removed from the queue + */ + value_type get() { + unique_guard g(lock_); + if (que_.empty()) + notEmptyCond_.wait(g, [this]{return !que_.empty();}); + value_type val = std::move(que_.front()); + que_.pop(); + if (que_.size() == cap_-1) { + g.unlock(); + notFullCond_.notify_one(); + } + return val; + } + /** + * Attempts to remove a value from the queue without blocking. + * If the queue is currently empty, this will return immediately with a + * failure, otherwise it will get the next value and return it. + * @param val Pointer to a variable to receive the value. + * @return @em true if a value was removed from the queue, @em false if + * the queue is empty. + */ + bool try_get(value_type* val) { + unique_guard g(lock_); + if (que_.empty()) + return false; + *val = std::move(que_.front()); + que_.pop(); + if (que_.size() == cap_-1) { + g.unlock(); + notFullCond_.notify_one(); + } + return true; + } + /** + * Attempt to remove an item from the queue for a bounded amout of time. + * This will retrieve the next item from the queue. If the queue is + * empty, it will wait the specified amout of time for an item to arive + * before timing out. + * @param val Pointer to a variable to receive the value. + * @param relTime The amount of time to wait until timing out. + * @return @em true if the value was removed the queue, @em false if a + * timeout occurred. + */ + template + bool try_get_for(value_type* val, const std::chrono::duration& relTime) { + unique_guard g(lock_); + if (que_.empty() && !notEmptyCond_.wait_for(g, relTime, [this]{return !que_.empty();})) + return false; + *val = std::move(que_.front()); + que_.pop(); + if (que_.size() == cap_-1) { + g.unlock(); + notFullCond_.notify_one(); + } + return true; + } + /** + * Attempt to remove an item from the queue for a bounded amout of time. + * This will retrieve the next item from the queue. If the queue is + * empty, it will wait until the specified time for an item to arive + * before timing out. + * @param val Pointer to a variable to receive the value. + * @param absTime The absolute time to wait to before timing out. + * @return @em true if the value was removed from the queue, @em false + * if a timeout occurred. + */ + template + bool try_get_until(value_type* val, const std::chrono::time_point& absTime) { + unique_guard g(lock_); + if (que_.empty() && !notEmptyCond_.wait_until(g, absTime, [this]{return !que_.empty();})) + return false; + *val = std::move(que_.front()); + que_.pop(); + if (que_.size() == cap_-1) { + g.unlock(); + notFullCond_.notify_one(); + } + return true; + } +}; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_thread_queue_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.cpp new file mode 100644 index 0000000..594fb07 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.cpp @@ -0,0 +1,26 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "throw_.h" +#include "exception.h" +#include "types.h" + +void throw_::badcast() +{ + throw bad_cast(); +} + +void throw_::exception(int rc) +{ + throw mqtt::exception(rc); +} + +void throw_::exception(int rc, const char* msg) +{ + throw mqtt::exception(rc, msg); +} + +void throw_::exception(int rc, int reasonCode, const char* msg) +{ + throw mqtt::exception(rc, (mqtt::ReasonCode)reasonCode, msg); +} \ No newline at end of file diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.h new file mode 100644 index 0000000..1561d0b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/throw_.h @@ -0,0 +1,16 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#pragma once + +using namespace std; + +class throw_ +{ +public: + static void badcast(); + static void exception(int rc); + static void exception(int rc, const char * msg); + static void exception(int rc, int reasonCode, const char* msg); +}; + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.cpp new file mode 100644 index 0000000..329383b --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.cpp @@ -0,0 +1,281 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "token.h" +#include "async_client.h" +#include + +#include + +namespace mqtt { + +// -------------------------------------------------------------------------- +// Constructors + +token::token(Type typ, iasync_client& cli, const_string_collection_ptr topics) + : type_(typ), cli_(&cli), rc_(0), reasonCode_(ReasonCode::SUCCESS), + msgId_(MQTTAsync_token(0)), topics_(topics), + userContext_(nullptr), listener_(nullptr), nExpected_(0), + complete_(false) +{ +} + +token::token(Type typ, iasync_client& cli, const_string_collection_ptr topics, + void* userContext, iaction_listener& cb) + : type_(typ), cli_(&cli), rc_(0), reasonCode_(ReasonCode::SUCCESS), + msgId_(MQTTAsync_token(0)), topics_(topics), + userContext_(userContext), listener_(&cb), nExpected_(0), + complete_(false) +{ +} + +token::token(Type typ, iasync_client& cli, MQTTAsync_token tok) + : type_(typ), cli_(&cli), rc_(0), reasonCode_(ReasonCode::SUCCESS), + msgId_(tok), userContext_(nullptr), + listener_(nullptr), nExpected_(0), complete_(false) +{ +} + +// -------------------------------------------------------------------------- +// Class static callbacks. +// These are the callbacks directly from the C library. +// The 'context' is a raw pointer to the token object. + +void token::on_success(void* context, MQTTAsync_successData* rsp) +{ + if (context) + static_cast(context)->on_success(rsp); +} + +void token::on_success5(void* context, MQTTAsync_successData5* rsp) +{ + if (context) + static_cast(context)->on_success5(rsp); +} + +void token::on_failure(void* context, MQTTAsync_failureData* rsp) +{ + if (context) + static_cast(context)->on_failure(rsp); +} + +void token::on_failure5(void* context, MQTTAsync_failureData5* rsp) +{ + if (context) + static_cast(context)->on_failure5(rsp); +} + +// -------------------------------------------------------------------------- +// Object callbacks + +// +// The success callback for MQTT v3 connections +// +void token::on_success(MQTTAsync_successData* rsp) +{ + unique_lock g(lock_); + iaction_listener* listener = listener_; + + if (rsp) { + msgId_ = rsp->token; + + switch (type_) { + case Type::CONNECT: + connRsp_.reset(new connect_response(rsp)); + break; + + case Type::SUBSCRIBE: + subRsp_.reset(new subscribe_response(nExpected_, rsp)); + break; + + case Type::UNSUBSCRIBE: + unsubRsp_.reset(new unsubscribe_response(rsp)); + break; + + default: + // The others don't have responses + break; + } + } + + rc_ = MQTTASYNC_SUCCESS; + complete_ = true; + g.unlock(); + + // Note: callback always completes before the object is signaled. + if (listener) + listener->on_success(*this); + cond_.notify_all(); + + cli_->remove_token(this); +} + +// +// The success callback for MQTT v5 connections +// +void token::on_success5(MQTTAsync_successData5* rsp) +{ + unique_lock g(lock_); + iaction_listener* listener = listener_; + if (rsp) { + msgId_ = rsp->token; + reasonCode_ = ReasonCode(rsp->reasonCode); + + switch (type_) { + case Type::CONNECT: + connRsp_.reset(new connect_response(rsp)); + break; + + case Type::SUBSCRIBE: + subRsp_.reset(new subscribe_response(rsp)); + break; + + case Type::UNSUBSCRIBE: + unsubRsp_.reset(new unsubscribe_response(rsp)); + break; + + default: + // The others don't have responses + break; + } + } + rc_ = MQTTASYNC_SUCCESS; + complete_ = true; + g.unlock(); + + // Note: callback always completes before the object is signaled. + if (listener) + listener->on_success(*this); + cond_.notify_all(); + + cli_->remove_token(this); +} + +// +// The failure callback for MQTT v3 connections +// +void token::on_failure(MQTTAsync_failureData* rsp) +{ + unique_lock g(lock_); + iaction_listener* listener = listener_; + if (rsp) { + msgId_ = rsp->token; + rc_ = rsp->code; + + // HACK: For backward compatability with v3 connections + reasonCode_ = ReasonCode(MQTTPP_V3_CODE); + + if (rsp->message) + errMsg_ = string(rsp->message); + } + else { + rc_ = -1; + } + complete_ = true; + g.unlock(); + + // Note: callback always completes before the obect is signaled. + if (listener) + listener->on_failure(*this); + cond_.notify_all(); + + cli_->remove_token(this); +} + +// +// The failure callback for MQTT v5 connections +// +void token::on_failure5(MQTTAsync_failureData5* rsp) +{ + unique_lock g(lock_); + iaction_listener* listener = listener_; + if (rsp) { + msgId_ = rsp->token; + reasonCode_ = ReasonCode(rsp->reasonCode); + //props_ = properties(rsp->properties); + rc_ = rsp->code; + if (rsp->message) + errMsg_ = string(rsp->message); + } + else { + rc_ = -1; + } + complete_ = true; + g.unlock(); + + // Note: callback always completes before the obect is signaled. + if (listener) + listener->on_failure(*this); + cond_.notify_all(); + + cli_->remove_token(this); +} + +// -------------------------------------------------------------------------- +// API + +void token::reset() +{ + guard g(lock_); + complete_ = false; + rc_ = MQTTASYNC_SUCCESS; + reasonCode_ = ReasonCode::SUCCESS; + errMsg_.clear(); +} + +void token::wait() +{ + unique_lock g(lock_); + cond_.wait(g, [this]{return complete_;}); + check_ret(); +} + +connect_response token::get_connect_response() const +{ + if (type_ != Type::CONNECT) + throw bad_cast(); + + unique_lock g(lock_); + cond_.wait(g, [this]{return complete_;}); + check_ret(); + + if (!connRsp_) + throw missing_response("connect"); + + return *connRsp_; +} + +subscribe_response token::get_subscribe_response() const +{ + if (type_ != Type::SUBSCRIBE) + throw bad_cast(); + + unique_lock g(lock_); + cond_.wait(g, [this]{return complete_;}); + check_ret(); + + if (!subRsp_) + throw missing_response("subscribe"); + + return *subRsp_; +} + +unsubscribe_response token::get_unsubscribe_response() const +{ + if (type_ != Type::UNSUBSCRIBE) + throw bad_cast(); + + unique_lock g(lock_); + cond_.wait(g, [this]{return complete_;}); + check_ret(); + + if (!unsubRsp_) + throw missing_response("unsubscribe"); + + return *unsubRsp_; +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.h new file mode 100644 index 0000000..b787b6f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/token.h @@ -0,0 +1,499 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_token_h +#define __mqtt_token_h + +#include "MQTTAsync.h" +#include "iaction_listener.h" +#include "exception.h" +#include "types.h" +#include "properties.h" +#include "buffer_ref.h" +#include "string_collection.h" +#include "server_response.h" +#include "throw_.h" +#include +#include +#include +#include +#include + +namespace mqtt { + +class iasync_client; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Provides a mechanism for tracking the completion of an asynchronous + * action. + */ +class token +{ +public: + /** Smart/shared pointer to an object of this class */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to an object of this class */ + using const_ptr_t = std::shared_ptr; + /** Weak pointer to an object of this class */ + using weak_ptr_t = std::weak_ptr; + + /** The type of request that the token is tracking */ + enum Type { + CONNECT, + SUBSCRIBE, + PUBLISH, + UNSUBSCRIBE, + DISCONNECT + }; + +private: + /** Lock guard type for this class. */ + using guard = std::lock_guard; + /** Unique type for this class. */ + using unique_lock = std::unique_lock; + + /** Object monitor mutex. */ + mutable std::mutex lock_; + /** Condition variable signals when the action completes */ + mutable std::condition_variable cond_; + + /** The type of request that the token is tracking */ + Type type_; + /** The MQTT client that is processing this action */ + iasync_client* cli_; + /** The action success/failure code */ + int rc_; + /** MQTT v5 reason code */ + ReasonCode reasonCode_; + /** Error message from the C lib (if any) */ + string errMsg_; + /** The underlying C token. Note that this is just an integer */ + MQTTAsync_token msgId_; + /** The topic string(s) for the action being tracked by this token */ + const_string_collection_ptr topics_; + /** User supplied context */ + void* userContext_; + + /** + * User supplied listener. + * Note that the user listener fires after the action is marked + * complete, but before the token is signaled. + */ + iaction_listener* listener_; + /** The number of expected responses */ + size_t nExpected_; + /** Whether the action has yet to complete */ + bool complete_; + + /** MQTT v5 propeties */ + //properties props_; + /** Connection response (null if not available) */ + std::unique_ptr connRsp_; + /** Subscribe response (null if not available) */ + std::unique_ptr subRsp_; + /** Unsubscribe response (null if not available) */ + std::unique_ptr unsubRsp_; + + /** Client and token-related options have special access */ + friend class async_client; + friend class mock_async_client; + + friend class connect_options; + friend class response_options; + friend class delivery_response_options; + friend class disconnect_options; + + /** + * Resets the token back to a non-signaled state. + */ + void reset(); + /** + * Sets the ID for the message. + * This is a guaranteed atomic operation. + * @param msgId The ID of the message. + */ + void set_message_id(MQTTAsync_token msgId) { + guard g(lock_); + msgId_ = msgId; + } + /** + * C-style callback for success. + * This simply passes the call on to the proper token object for + * processing. + * @param tokObj The token object to process the call. Note that this is + * @em not the user-supplied context pointer. That is + * kept in the object itself. + * @param rsp The success response. + */ + static void on_success(void* tokObj, MQTTAsync_successData* rsp); + static void on_success5(void* tokObj, MQTTAsync_successData5* rsp); + /** + * C-style callback for failure. + * This simply passes the call on to the proper token object for + * processing. + * @param tokObj The token object to process the call. Note that this is + * @em not the user-supplied context pointer. That is + * kept in the object itself. + * @param rsp The failure response. + */ + static void on_failure(void* tokObj, MQTTAsync_failureData* rsp); + static void on_failure5(void* tokObj, MQTTAsync_failureData5* rsp); + /** + * C-style callback for client (re)connection. + * This is normally only used to process a reconnect completion message. + * The initial connect() is processed via on_success/failure. + * @param tokObj Pointer to the token object used to process the call. + */ + static void on_connected(void* tokObj, char* /*cause*/); + /** + * Internal handler for the success callback. + * @param rsp The success response. + */ + void on_success(MQTTAsync_successData* rsp); + void on_success5(MQTTAsync_successData5* rsp); + /** + * Internal handler for the failure callback. + * @param rsp The failure response. + */ + void on_failure(MQTTAsync_failureData* rsp); + void on_failure5(MQTTAsync_failureData5* rsp); + + /** + * Check the current return code and throw an exception if it is not a + * success code. + */ + void check_ret() const { + if (rc_ != MQTTASYNC_SUCCESS || reasonCode_ > ReasonCode::GRANTED_QOS_2) + { + throw_::exception(rc_, (int)reasonCode_, errMsg_.c_str()); + } + } + +public: + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + */ + token(Type typ, iasync_client& cli) + : token(typ, cli, MQTTAsync_token(0)) {} + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + * completed + */ + token(Type typ, iasync_client& cli, void* userContext, iaction_listener& cb) + : token(typ, cli, const_string_collection_ptr(), userContext, cb) {} + + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topic The topic assiciated with the token + */ + token(Type typ, iasync_client& cli, const string& topic) + : token(typ, cli, string_collection::create(topic)) {} + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topic The topic assiciated with the token + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + * completed + */ + token(Type typ, iasync_client& cli, const string& topic, + void* userContext, iaction_listener& cb) + : token(typ, cli, string_collection::create(topic), userContext, cb) {} + + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topics The topics associated with the token + */ + token(Type typ, iasync_client& cli, const_string_collection_ptr topics); + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topics The topics associated with the token + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + * completed + */ + token(Type typ, iasync_client& cli, const_string_collection_ptr topics, + void* userContext, iaction_listener& cb); + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param tok The message ID + */ + token(Type typ, iasync_client& cli, MQTTAsync_token tok); + /** + * Virtual destructor. + */ + virtual ~token() {} + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @return A smart/shared pointer to a token. + */ + static ptr_t create(Type typ, iasync_client& cli) { + return std::make_shared(typ, cli); + } + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + * completed + */ + static ptr_t create(Type typ, iasync_client& cli, void* userContext, + iaction_listener& cb) { + return std::make_shared(typ, cli, userContext, cb); + } + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topic The topic assiciated with the token + */ + static ptr_t create(Type typ, iasync_client& cli, const string& topic) { + return std::make_shared(typ, cli, topic); + } + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topic The topic assiciated with the token + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + * completed + */ + static ptr_t create(Type typ, iasync_client& cli, const string& topic, + void* userContext, iaction_listener& cb) { + return std::make_shared(typ, cli, topic, userContext, cb); + } + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topics The topics associated with the token + */ + static ptr_t create(Type typ, iasync_client& cli, const_string_collection_ptr topics) { + return std::make_shared(typ, cli, topics); + } + /** + * Constructs a token object. + * @param typ The type of request that the token is tracking. + * @param cli The client that created the token. + * @param topics The topics associated with the token + * + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + * @param cb callback listener that will be notified when subscribe has + */ + static ptr_t create(Type typ, iasync_client& cli, const_string_collection_ptr topics, + void* userContext, iaction_listener& cb) { + return std::make_shared(typ, cli, topics, userContext, cb); + } + /** + * Gets the type of request the token is tracking, like CONNECT, + * PUBLISH, etc. + * @return The type of request that the token is tracking. + */ + Type get_type() const { return type_; } + /** + * Gets the action listener for this token. + * @return The action listener for this token. + */ + virtual iaction_listener* get_action_callback() const { + guard g(lock_); + return listener_; + } + /** + * Returns the MQTT client that is responsible for processing the + * asynchronous action. + * @return The client to which this token is connected. + */ + virtual iasync_client* get_client() const { return cli_; } + /** + * Returns the ID of the message that is associated with the token. + * @return The message ID of the transaction being tracked. + */ + virtual int get_message_id() const { + static_assert(sizeof(msgId_) <= sizeof(int), "MQTTAsync_token must fit into int"); + return int(msgId_); + } + /** + * Gets the topic string(s) for the action being tracked by this + * token. + * @return A const pointer to the collection of topics being tracked by + * the token. + */ + virtual const_string_collection_ptr get_topics() const { + return topics_; + } + /** + * Retrieve the context associated with an action. + * @return The context associated with an action. + */ + virtual void* get_user_context() const { + guard g(lock_); + return userContext_; + } + /** + * Returns whether or not the action has finished. + * @return @em true if the transaction has completed, @em false if not. + */ + virtual bool is_complete() const { return complete_; } + /** + * Gets the return code from the action. + * This is only valid after the action has completed (i.e. if @ref + * is_complete() returns @em true). + * @return The return code from the action. + */ + virtual int get_return_code() const { return rc_; } + /** + * Register a listener to be notified when an action completes. + * @param listener The callback to be notified when actions complete. + */ + virtual void set_action_callback(iaction_listener& listener) { + guard g(lock_); + listener_ = &listener; + } + /** + * Store some context associated with an action. + * @param userContext optional object used to pass context to the + * callback. Use @em nullptr if not required. + */ + virtual void set_user_context(void* userContext) { + guard g(lock_); + userContext_ = userContext; + } + /** + * Sets the number of results expected. + * This is only required for subecribe_many() with < MQTTv5 + * @param n The number of results expected. + */ + void set_num_expected(size_t n) { nExpected_ = n; } + + /** + * Gets the properties for the operation. + * @return A const reference to the properties for the operation + */ + //const properties& get_properties() const { return props_; } + /** + * Gets the reason code for the operation. + * @return The reason code for the operation. + */ + ReasonCode get_reason_code() const { return reasonCode_; } + /** + * Blocks the current thread until the action this token is associated + * with has completed. + */ + virtual void wait(); + /** + * Non-blocking check to see if the action has completed. + * @return @em true if the wait finished successfully, @em false if the + * action has not completed yet. + */ + virtual bool try_wait() { + guard g(lock_); + if (complete_) + check_ret(); + return complete_; + } + /** + * Blocks the current thread until the action this token is associated + * with has completed. + * @param timeout The timeout (in milliseconds) + * @return @em true if the wait finished successfully, @em false if a + * timeout occurred. + */ + virtual bool wait_for(long timeout) { + return wait_for(std::chrono::milliseconds(timeout)); + } + /** + * Waits a relative amount of time for the action to complete. + * @param relTime The amount of time to wait for the event. + * @return @em true if the event gets signaled in the specified time, + * @em false on a timeout. + */ + template + bool wait_for(const std::chrono::duration& relTime) { + unique_lock g(lock_); + if (!cond_.wait_for(g, std::chrono::milliseconds(relTime), + [this]{return complete_;})) + return false; + check_ret(); + return true; + } + /** + * Waits until an absolute time for the action to complete. + * @param absTime The absolute time to wait for the event. + * @return @em true if the event gets signaled in the specified time, + * @em false on a timeout. + */ + template + bool wait_until( const std::chrono::time_point& absTime) { + unique_lock g(lock_); + if (!cond_.wait_until(g, absTime, [this]{return complete_;})) + return false; + check_ret(); + return true; + } + + /** + * Gets the response from a connect operation. + * This returns the result of the completed operation. If the + * operaton is not yet complete this will block until the result + * is available. + * @return The result of the operation. + */ + connect_response get_connect_response() const; + /** + * Gets the response from a connect operation. + * This returns the result of the completed operation. If the + * operaton is not yet complete this will block until the result + * is available. + * @return The result of the operation. + */ + subscribe_response get_subscribe_response() const; + /** + * Gets the response from a connect operation. + * This returns the result of the completed operation. If the + * operaton is not yet complete this will block until the result + * is available. + * @return The result of the operation. + */ + unsubscribe_response get_unsubscribe_response() const; +}; + +/** Smart/shared pointer to a token object */ +using token_ptr = token::ptr_t; + +/** Smart/shared pointer to a const token object */ +using const_token_ptr = token::const_ptr_t; + + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_token_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.cpp new file mode 100644 index 0000000..d059c45 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.cpp @@ -0,0 +1,42 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "topic.h" +#include "async_client.h" + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// + +delivery_token_ptr topic::publish(const void* payload, size_t n) +{ + return cli_.publish(name_, payload, n, qos_, retained_); +} + +delivery_token_ptr topic::publish(const void* payload, size_t n, + int qos, bool retained) +{ + return cli_.publish(name_, payload, n, qos, retained); +} + +delivery_token_ptr topic::publish(binary_ref payload) +{ + return cli_.publish(name_, std::move(payload), qos_, retained_); +} + +delivery_token_ptr topic::publish(binary_ref payload, int qos, bool retained) +{ + return cli_.publish(name_, std::move(payload), qos, retained); +} + +token_ptr topic::subscribe(const subscribe_options& opts) +{ + return cli_.subscribe(name_, qos_, opts); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + + + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.h new file mode 100644 index 0000000..271581f --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/topic.h @@ -0,0 +1,160 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_topic_h +#define __mqtt_topic_h + +#include "MQTTAsync.h" +#include "delivery_token.h" +#include "subscribe_options.h" +#include "message.h" +#include "types.h" +#include + +namespace mqtt { + +class iasync_client; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Represents a topic destination, used for publish/subscribe messaging. + */ +class topic +{ + /** The client to which this topic is connected */ + iasync_client& cli_; + /** The topic name */ + string name_; + /** The default QoS */ + int qos_; + /** The default retined flag */ + bool retained_; + +public: + /** A smart/shared pointer to this class. */ + using ptr_t = std::shared_ptr; + /** A smart/shared pointer to this class. */ + using const_ptr_t = std::shared_ptr; + + /** + * Construct an MQTT topic destination for messages. + * @param cli Client to which the topic is attached + * @param name The topic string + * @param qos The default QoS for publishing. + * @param retained The default retained flag for the topic. + */ + topic(iasync_client& cli, const string& name, + int qos=message::DFLT_QOS, bool retained=message::DFLT_RETAINED) + : cli_(cli), name_(name), qos_(qos), retained_(retained) {} + /** + * Creates a new topic + * @param cli Client to which the topic is attached + * @param name The topic string + * @param qos The default QoS for publishing. + * @param retained The default retained flag for the topic. + * @return A shared pointer to the topic. + */ + static ptr_t create(iasync_client& cli, const string& name, + int qos=message::DFLT_QOS, + bool retained=message::DFLT_RETAINED) { + return std::make_shared(cli, name, qos, retained); + } + /** + * Gets a reference to the MQTT client used by this topic + * @return The MQTT client used by this topic + */ + iasync_client& get_client() { return cli_; } + /** + * Gets the name of the topic. + * @return The name of the topic. + */ + const string& get_name() const { return name_; } + /** + * Gets the default quality of service for this topic. + * @return The default quality of service for this topic. + */ + int get_qos() const { return qos_; } + /** + * Gets the default retained flag used for this topic. + * @return The default retained flag used for this topic. + */ + bool get_retained() const { return retained_; } + /** + * Sets the default quality of service for this topic. + * @param qos The default quality of service for this topic. + */ + void set_qos(int qos) { + message::validate_qos(qos); + qos_ = qos; + } + /** + * Sets the default retained flag used for this topic. + * @param retained The default retained flag used for this topic. + */ + void set_retained(bool retained) { retained_ = retained; } + /** + * Publishes a message on the topic using the default QoS and retained + * flag. + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @return The delivery token used to track and wait for the publish to + * complete. + */ + delivery_token_ptr publish(const void* payload, size_t n); + /** + * Publishes a message on the topic. + * @param payload the bytes to use as the message payload + * @param n the number of bytes in the payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return The delivery token used to track and wait for the publish to + * complete. + */ + delivery_token_ptr publish(const void* payload, size_t n, + int qos, bool retained); + /** + * Publishes a message on the topic using the default QoS and retained + * flag. + * @param payload the bytes to use as the message payload + * @return The delivery token used to track and wait for the publish to + * complete. + */ + delivery_token_ptr publish(binary_ref payload); + /** + * Publishes a message on the topic. + * @param payload the bytes to use as the message payload + * @param qos the Quality of Service to deliver the message at. Valid + * values are 0, 1 or 2. + * @param retained whether or not this message should be retained by the + * server. + * @return The delivery token used to track and wait for the publish to + * complete. + */ + delivery_token_ptr publish(binary_ref payload, int qos, bool retained); + /** + * Subscribe to the topic. + * @return A token used to track the progress of the operation. + */ + token_ptr subscribe(const subscribe_options& opts=subscribe_options()); + /** + * Returns a string representation of this topic. + * @return The name of the topic + */ + string to_string() const { return name_; } +}; + +/** A smart/shared pointer to a topic object. */ +using topic_ptr = topic::ptr_t ; + +/** A smart/shared pointer to a const topic object. */ +using const_topic_ptr = topic::const_ptr_t ; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_topic_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/types.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/types.h new file mode 100644 index 0000000..ac9bfba --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/types.h @@ -0,0 +1,165 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_types_h +#define __mqtt_types_h + +#include +#include +#include +#include + +namespace mqtt { + +///////////////////////////////////////////////////////////////////////////// +// Basic data types + +/** A 'byte' is an 8-bit, unsigned int */ +//using byte = uint8_t; + +/** An mqtt string is just a std::string */ +using string = std::string; +/** A binary blob of data is, umm, just a string too! */ +using binary = std::string; //std::basic_string; + +/** Smart/shared pointer to a const string */ +using string_ptr = std::shared_ptr; +/** Smart/shared pointer to a const binary blob */ +using binary_ptr = std::shared_ptr; + +///////////////////////////////////////////////////////////////////////////// +// General protocol enumerations + +/** + * The MQTT v5 Reason Codes. + * + * These map to the Paho C MQTTReasonCodes + */ +enum ReasonCode { + SUCCESS = 0, + NORMAL_DISCONNECTION = 0, + GRANTED_QOS_0 = 0, + GRANTED_QOS_1 = 1, + GRANTED_QOS_2 = 2, + DISCONNECT_WITH_WILL_MESSAGE = 4, + NO_MATCHING_SUBSCRIBERS = 16, + NO_SUBSCRIPTION_FOUND = 17, + CONTINUE_AUTHENTICATION = 24, + RE_AUTHENTICATE = 25, + UNSPECIFIED_ERROR = 128, + MALFORMED_PACKET = 129, + PROTOCOL_ERROR = 130, + IMPLEMENTATION_SPECIFIC_ERROR = 131, + UNSUPPORTED_PROTOCOL_VERSION = 132, + CLIENT_IDENTIFIER_NOT_VALID = 133, + BAD_USER_NAME_OR_PASSWORD = 134, + NOT_AUTHORIZED = 135, + SERVER_UNAVAILABLE = 136, + SERVER_BUSY = 137, + BANNED = 138, + SERVER_SHUTTING_DOWN = 139, + BAD_AUTHENTICATION_METHOD = 140, + KEEP_ALIVE_TIMEOUT = 141, + SESSION_TAKEN_OVER = 142, + TOPIC_FILTER_INVALID = 143, + TOPIC_NAME_INVALID = 144, + PACKET_IDENTIFIER_IN_USE = 145, + PACKET_IDENTIFIER_NOT_FOUND = 146, + RECEIVE_MAXIMUM_EXCEEDED = 147, + TOPIC_ALIAS_INVALID = 148, + PACKET_TOO_LARGE = 149, + MESSAGE_RATE_TOO_HIGH = 150, + QUOTA_EXCEEDED = 151, + ADMINISTRATIVE_ACTION = 152, + PAYLOAD_FORMAT_INVALID = 153, + RETAIN_NOT_SUPPORTED = 154, + QOS_NOT_SUPPORTED = 155, + USE_ANOTHER_SERVER = 156, + SERVER_MOVED = 157, + SHARED_SUBSCRIPTIONS_NOT_SUPPORTED = 158, + CONNECTION_RATE_EXCEEDED = 159, + MAXIMUM_CONNECT_TIME = 160, + SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED = 161, + WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162, + MQTTPP_V3_CODE = 255 // This is not a protocol code; used internally by the library +}; + +///////////////////////////////////////////////////////////////////////////// +// Time functions + +/** + * Convert a chrono duration to seconds. + * This casts away precision to get integer seconds. + * @param dur A chrono duration type + * @return The duration as a chrono seconds value + */ +template +std::chrono::seconds to_seconds(const std::chrono::duration& dur) { + return std::chrono::duration_cast(dur); +} + +/** + * Convert a chrono duration to a number of seconds. + * This casts away precision to get integer seconds. + * @param dur A chrono duration type + * @return The duration as a number of seconds + */ +template +long to_seconds_count(const std::chrono::duration& dur) { + return (long) to_seconds(dur).count(); +} + +/** + * Convert a chrono duration to milliseconds. + * This casts away precision to get integer milliseconds. + * @param dur A chrono duration type + * @return The duration as a chrono milliseconds value + */ +template +std::chrono::milliseconds to_milliseconds(const std::chrono::duration& dur) { + return std::chrono::duration_cast(dur); +} + +/** + * Convert a chrono duration to a number of milliseconds. + * This casts away precision to get integer milliseconds. + * @param dur A chrono duration type + * @return The duration as a number of milliseconds + */ +template +long to_milliseconds_count(const std::chrono::duration& dur) { + return (long) to_milliseconds(dur).count(); +} + +///////////////////////////////////////////////////////////////////////////// +// Misc + +/** + * Converts an into to a bool. + * @param n An integer. + * @return @em true if n not equal to zero, @em false otherwise + */ +inline bool to_bool(int n) { return n != 0; } +/** + * Converts the boolean into a C integer true/false value. + * @param b A boolean + * @return Zero if b is false, non-zero if b is true. + */ +inline int to_int(bool b) { return b ? (!0) : 0; } + +/** + * Gets a valid string for the char pointer. + * @param cstr A C-string pointer + * @return A string copy of the C array. If `cstr` is NULL, this returns an + * empty string. + */ +inline string to_string(const char* cstr) { + return cstr ? string(cstr) : string(); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_types_h + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.cpp b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.cpp new file mode 100644 index 0000000..0e9794d --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.cpp @@ -0,0 +1,126 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#include "will_options.h" +#include +#include + +namespace mqtt { + +#if __cplusplus < 201703L + constexpr int will_options::DFLT_QOS; + constexpr bool will_options::DFLT_RETAINED; +#endif + +const MQTTAsync_willOptions will_options::DFLT_C_STRUCT = MQTTAsync_willOptions_initializer; + +///////////////////////////////////////////////////////////////////////////// + +will_options::will_options() : opts_(DFLT_C_STRUCT) +{ + set_topic(string()); +} + +will_options::will_options(string_ref top, + const void *payload, size_t payloadlen, + int qos, bool retained, + const properties& props /*=properties()*/) + : opts_(DFLT_C_STRUCT), props_(props) +{ + opts_.qos = qos; + opts_.retained = retained; + set_topic(std::move(top)); + set_payload(binary_ref(static_cast(payload), payloadlen)); +} + +will_options::will_options(const topic& top, + const void *payload, size_t payloadlen, + int qos, bool retained, + const properties& props /*=properties()*/) + : will_options(top.get_name(), payload, payloadlen, qos, retained, props) +{ +} + +will_options::will_options(string_ref top, binary_ref payload, + int qos, bool retained, + const properties& props /*=properties()*/) + : opts_(DFLT_C_STRUCT), props_(props) +{ + opts_.qos = qos; + opts_.retained = retained; + set_topic(std::move(top)); + set_payload(std::move(payload)); +} + +will_options::will_options(string_ref top, const string& payload, + int qos, bool retained, + const properties& props /*=properties()*/) + : opts_(DFLT_C_STRUCT), props_(props) +{ + opts_.qos = qos; + opts_.retained = retained; + set_topic(std::move(top)); + set_payload(payload); +} + +will_options::will_options(const message& msg) + : will_options(msg.get_topic(), msg.get_payload(), msg.get_qos(), + msg.is_retained(), msg.get_properties()) +{ +} + +will_options::will_options(const will_options& other) + : opts_(other.opts_), props_(other.props_) +{ + set_topic(other.topic_); + set_payload(other.payload_); +} + +will_options::will_options(will_options&& other) + : opts_(other.opts_), props_(std::move(other.props_)) +{ + set_topic(std::move(other.topic_)); + set_payload(std::move(other.payload_)); +} + +will_options& will_options::operator=(const will_options& rhs) +{ + if (&rhs != this) { + opts_ = rhs.opts_; + set_topic(rhs.topic_); + set_payload(rhs.payload_); + props_ = rhs.props_; + } + return *this; +} + +will_options& will_options::operator=(will_options&& rhs) +{ + if (&rhs != this) { + opts_ = rhs.opts_; + set_topic(std::move(rhs.topic_)); + set_payload(std::move(rhs.payload_)); + props_ = std::move(rhs.props_); + } + return *this; +} + +void will_options::set_topic(string_ref top) +{ + topic_ = top ? std::move(top) : string_ref(string()); + opts_.topicName = topic_.c_str(); +} + +void will_options::set_payload(binary_ref msg) +{ + // The C struct payload must not be nullptr for will options + payload_ = msg ? std::move(msg) : binary_ref(binary()); + + opts_.payload.len = (int) payload_.size(); + opts_.payload.data = payload_.data(); +} + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + diff --git a/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.h b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.h new file mode 100644 index 0000000..54e9f25 --- /dev/null +++ b/Plugins/MqttClient/Source/DTMqtt/MqttCPP/will_options.h @@ -0,0 +1,258 @@ +// Copyright 2023 Dexter.Wan. All Rights Reserved. +// EMail: 45141961@qq.com + +#ifndef __mqtt_will_options_h +#define __mqtt_will_options_h + +#include "MQTTAsync.h" +#include "types.h" +#include "message.h" +#include "topic.h" + +namespace mqtt { + +class connect_options; + +///////////////////////////////////////////////////////////////////////////// + +/** + * Holds the set of options that govern the Last Will and Testament feature. + * + * @note + * This wraps struct v1 of the C library's MQTTAsync_willOptions structure. + * It sets the LWT binary payload, via the 'payload' struct field, and + leaves the 'message' field as a nullptr. + */ +class will_options +{ +public: + /** The default QoS for the LWT, if unspecified */ + static constexpr int DFLT_QOS = 0; + /** The defalut retained flag for LWT, if unspecified */ + static constexpr bool DFLT_RETAINED = false; + +private: + /** A default C struct to support re-initializing variables */ + static const MQTTAsync_willOptions DFLT_C_STRUCT; + + /** The underlying C LWT options */ + MQTTAsync_willOptions opts_; + + /** LWT message topic **/ + string_ref topic_; + + /** LWT message text */ + binary_ref payload_; + + /** + * The properties for the LWT message. + * Strangely, in the C lib, the will properties are not in the + * willOptions struct, but are rather in the connectOptions. + * So we keep the cached properties here, but need to transfer them to + * the connect_options when we're added to that struct. + */ + properties props_; + + /** The connect options has special access */ + friend class connect_options; + + /** + * Gets a pointer to the C-language NUL-terminated strings for the + * struct. + * Some structs, such as this one, require valid pointers at all times, + * while others expect NULL pointers for missing parameters. + * So we always return a pointer to a valid C char array, even when + * empty. + * @param str The C++ string object. + * @return Pointer to a NUL terminated string. This is only valid until + * the next time the string is updated. This is never nullptr. + */ + const char* c_str(const string_ref& sr) { + return sr ? sr.to_string().c_str() : nullptr; + } + +public: + /** Smart/shared pointer to an object of this class. */ + using ptr_t = std::shared_ptr; + /** Smart/shared pointer to a const object of this class. */ + using const_ptr_t = std::shared_ptr; + /** Smart/shared pointer to an object of this class. */ + using unique_ptr_t = std::unique_ptr; + + /** + * Constructs a new object using the default values. + */ + will_options(); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param top The LWT message is published to the this topic. + * @param payload The message that is published to the Will Topic. + * @param payload_len The message size in bytes + * @param qos The message Quality of Service. + * @param retained Tell the broker to keep the LWT message after send to + * subscribers. + * @param props MQTT v5 properties for the will message. + */ + will_options(string_ref top, const void *payload, size_t payload_len, + int qos=DFLT_QOS, bool retained=DFLT_RETAINED, + const properties& props=properties()); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param top The LWT message is published to the this topic. + * @param payload The message that is published to the Will Topic. + * @param payload_len The message size in bytes. + * @param qos The message Quality of Service. + * @param retained Tell the broker to keep the LWT message after send to + * subscribers. + * @param props MQTT v5 properties for the will message. + */ + will_options(const topic& top, const void *payload, size_t payload_len, + int qos=DFLT_QOS, bool retained=DFLT_RETAINED, + const properties& props=properties()); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param top The LWT message is published to the this topic. + * @param payload The message payload that is published to the Will + * Topic. + * @param qos The message Quality of Service. + * @param retained Tell the broker to keep the LWT message after send to + * subscribers. + * @param props MQTT v5 properties for the will message. + */ + will_options(string_ref top, binary_ref payload, + int qos=DFLT_QOS, bool retained=DFLT_RETAINED, + const properties& props=properties()); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param top The LWT message is published to the this topic. + * @param payload The message payload that is published to the Will + * Topic, as a string. + * @param qos The message Quality of Service. + * @param retained Tell the broker to keep the LWT message after send to + * subscribers. + * @param props MQTT v5 properties for the will message. + */ + will_options(string_ref top, const string& payload, + int qos=DFLT_QOS, bool retained=(bool)DFLT_QOS, + const properties& props=properties()); + /** + * Sets the "Last Will and Testament" (LWT) for the connection. + * @param msg The message that is published to the Will Topic. + */ + will_options(const message& msg); + /** + * Copy constructor for the LWT options. + * @param opt The other options. + */ + will_options(const will_options& opt); + /** + * Move constructor for the LWT options. + * @param opt The other options. + */ + will_options(will_options&& opt); + /** + * Copy assignment for the LWT options. + * @param opt The other options. + */ + will_options& operator=(const will_options& opt); + /** + * Move assignment for the LWT options. + * @param opt The other options. + */ + will_options& operator=(will_options&& opt); + /** + * Expose the underlying C struct for the unit tests. + */ + #if defined(UNIT_TESTS) + const MQTTAsync_willOptions& c_struct() const { return opts_; } + #endif + /** + * Gets the LWT message topic name. + * @return The LWT message topic name. + */ + string get_topic() const { return topic_ ? topic_.to_string() : string(); } + /** + * Gets the LWT message payload. + * @return The LWT message payload. + */ + const binary_ref& get_payload() const { return payload_; } + /** + * Gets the LWT message payload as a string. + * @return The LWT message payload as a string. + */ + string get_payload_str() const { return payload_ ? payload_.to_string() : string(); } + /** + * Gets the QoS value for the LWT message. + * @return The QoS value for the LWT message. + */ + int get_qos() const { return opts_.qos; } + /** + * Gets the 'retained' flag for the LWT message. + * @return The 'retained' flag for the LWT message. + */ + bool is_retained() const { return opts_.retained != 0; } + /** + * Gets the LWT message as a message object. + * @return A pointer to a copy of the LWT message. + */ + const_message_ptr get_message() const { + return message::create(topic_, payload_, opts_.qos, to_bool(opts_.retained)); + } + /** + * Sets the LWT message topic name. + * @param top The topic where to sent the message + */ + void set_topic(string_ref top); + /** + * Sets the LWT message text. + * @param msg The LWT message + */ + void set_payload(binary_ref msg); + /** + * Sets the LWT message text. + * @param msg The LWT message + */ + void set_payload(string msg) { set_payload(binary_ref(std::move(msg))); } + /** + * Sets the QoS value. + * @param qos The LWT message QoS + */ + void set_qos(const int qos) { opts_.qos = qos; } + /** + * Sets the retained flag. + * @param retained Tell the broker to keep the LWT message after send to + * subscribers. + */ + void set_retained(bool retained) { opts_.retained = to_int(retained); } + /** + * Gets the connect properties. + * @return A const reference to the properties for the connect. + */ + const properties& get_properties() const { return props_; } + /** + * Sets the properties for the connect. + * @param props The properties to place into the message. + */ + void set_properties(const properties& props) { props_ = props; } + /** + * Moves the properties for the connect. + * @param props The properties to move into the connect object. + */ + void set_properties(properties&& props) { props_ = std::move(props); } +}; + +/** Shared pointer to a will options object. */ +using will_options_ptr = will_options::ptr_t; + +/** Shared pointer to a const will options object. */ +using const_will_options_ptr = will_options::const_ptr_t; + +/** Unique pointer to a will options object. */ +using will_options_unique_ptr = will_options::unique_ptr_t; + +///////////////////////////////////////////////////////////////////////////// +// end namespace mqtt +} + +#endif // __mqtt_will_options_h + diff --git a/Plugins/ObjectPool/Content/Icons/Character_128x.png b/Plugins/ObjectPool/Content/Icons/Character_128x.png new file mode 100644 index 0000000..3452812 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Character_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:123fefd3bd2dcb614278e07cb528357ba98a9af111a6a3c4ce129ea980e70409 +size 33421 diff --git a/Plugins/ObjectPool/Content/Icons/Character_16x.png b/Plugins/ObjectPool/Content/Icons/Character_16x.png new file mode 100644 index 0000000..dfd8969 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Character_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1355f7949570fe9ffa0489f1b26454ff1d35b8515680faa7e478f22c0113635c +size 16263 diff --git a/Plugins/ObjectPool/Content/Icons/Pawn_128x.png b/Plugins/ObjectPool/Content/Icons/Pawn_128x.png new file mode 100644 index 0000000..e8201d8 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Pawn_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8c34a517b8e45dbbeb8287884e7f69f9ce32690c1068306c05d73bbe5acc627 +size 35820 diff --git a/Plugins/ObjectPool/Content/Icons/Pawn_16x.png b/Plugins/ObjectPool/Content/Icons/Pawn_16x.png new file mode 100644 index 0000000..fd4e52c --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Pawn_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ac595e1748a89bc90726fafd595aca70b3913aa2c19be5f7f72ee81d4d910d +size 16306 diff --git a/Plugins/ObjectPool/Content/Icons/Pool_128x.png b/Plugins/ObjectPool/Content/Icons/Pool_128x.png new file mode 100644 index 0000000..daff052 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Pool_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49c8901f86e5345d897e196cd6534ba6c6c42bc14cff9da76f21127b57b1ba33 +size 35318 diff --git a/Plugins/ObjectPool/Content/Icons/Pool_16x.png b/Plugins/ObjectPool/Content/Icons/Pool_16x.png new file mode 100644 index 0000000..ba41bf5 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Pool_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d57a3fa21d74da897da04b77dbd5fcf835f6c8c7e09afa04290dcb6d7a9cfc66 +size 16320 diff --git a/Plugins/ObjectPool/Content/Icons/Projectile_128x.png b/Plugins/ObjectPool/Content/Icons/Projectile_128x.png new file mode 100644 index 0000000..ceba3e3 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Projectile_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:731cd947bf0241b77c187c42c0b2a587609eada4b16b9edcb35de47c82746d88 +size 41098 diff --git a/Plugins/ObjectPool/Content/Icons/Projectile_16x.png b/Plugins/ObjectPool/Content/Icons/Projectile_16x.png new file mode 100644 index 0000000..5b118ac --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Projectile_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f2d914bc007daf0056981393d2e491c719ad93a6c69060bef7cff14ba75ad34 +size 18462 diff --git a/Plugins/ObjectPool/Content/Icons/Shared_128x.png b/Plugins/ObjectPool/Content/Icons/Shared_128x.png new file mode 100644 index 0000000..8cf4726 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Shared_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b37d43dd6ed621b6c63ddadb9d717452cff80c7c5a6ccf491747a0df0fd471b +size 30468 diff --git a/Plugins/ObjectPool/Content/Icons/Shared_16x.png b/Plugins/ObjectPool/Content/Icons/Shared_16x.png new file mode 100644 index 0000000..5ecf640 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/Shared_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e84d4cf504a953a44777c47ad2cf4b504b3733dc1b42aafb662ad271722bf298 +size 16612 diff --git a/Plugins/ObjectPool/Content/Icons/SplineProjectile_128x.png b/Plugins/ObjectPool/Content/Icons/SplineProjectile_128x.png new file mode 100644 index 0000000..438030e --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/SplineProjectile_128x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:326928a003313091a299250e5c3978a2c8ac89f3382899846982bb26fe2ebc9b +size 16986 diff --git a/Plugins/ObjectPool/Content/Icons/SplineProjectile_16x.png b/Plugins/ObjectPool/Content/Icons/SplineProjectile_16x.png new file mode 100644 index 0000000..8061b09 --- /dev/null +++ b/Plugins/ObjectPool/Content/Icons/SplineProjectile_16x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:573c38ca5c3f50c8a342de7095a1a980dab31e3eee18657798e76847b4fe1fa1 +size 2848 diff --git a/Plugins/ObjectPool/ObjectPool.uplugin b/Plugins/ObjectPool/ObjectPool.uplugin new file mode 100644 index 0000000..35c6483 --- /dev/null +++ b/Plugins/ObjectPool/ObjectPool.uplugin @@ -0,0 +1,52 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "2.3.0", + "FriendlyName": "Object Pool Component", + "Description": "The classes implemented by this plugin builds a fully working Object Pool system super easy to use.", + "Category": "SYNAPTECH", + "CreatedBy": "(C) Bruno Xavier Leite", + "CreatedByURL": "https://brunoxavierleite.wordpress.com", + "DocsURL": "https://forums.unrealengine.com/showthread.php?132287-Plugin-Object-Pool-Component", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/e3c6aea892b748eb9e2241b9c4b74d36", + "SupportURL": "mailto:bruno_xavier_@msn.com", + "EngineVersion": "5.3.0", + "CanContainContent": true, + "Installed": true, + "Modules": [ + { + "Name": "OBJPool", + "Type": "Runtime", + "LoadingPhase": "PreDefault", + "PlatformAllowList": [ + "Android", + "Win64", + "Linux", + "Mac", + "IOS" + ] + }, + { + "Name": "OBJPoolDeveloper", + "Type": "UncookedOnly", + "LoadingPhase": "Default", + "PlatformAllowList": [ + "Android", + "Win64", + "Linux", + "Mac", + "IOS" + ] + }, + { + "Name": "OBJPoolEditor", + "Type": "Editor", + "LoadingPhase": "PostEngineInit", + "PlatformAllowList": [ + "Win64", + "Linux", + "Mac" + ] + } + ] +} \ No newline at end of file diff --git a/Plugins/ObjectPool/Resources/Icon128.png b/Plugins/ObjectPool/Resources/Icon128.png new file mode 100644 index 0000000..5780f75 --- /dev/null +++ b/Plugins/ObjectPool/Resources/Icon128.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39837f0f7273be9406c003d358bf8306d2c9145c1e8e744c1797eba72c6286e8 +size 24784 diff --git a/Plugins/ObjectPool/Source/OBJPool/OBJPool.Build.cs b/Plugins/ObjectPool/Source/OBJPool/OBJPool.Build.cs new file mode 100644 index 0000000..30cf34e --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/OBJPool.Build.cs @@ -0,0 +1,21 @@ +using UnrealBuildTool; +using System.IO; + +public class OBJPool : ModuleRules { + public OBJPool(ReadOnlyTargetRules Target) : base(Target) { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + PrivatePCHHeaderFile = "Public/OBJPool.h"; + IWYUSupport = IWYUSupport.None; + // + PublicDependencyModuleNames.AddRange( + new string[] { + "Core", + "Engine", + "CoreUObject" + } + ); + // + PublicIncludePaths.Add(Path.Combine(ModuleDirectory,"Public")); + PrivateIncludePaths.Add(Path.Combine(ModuleDirectory,"Private")); + } +} \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/IOBJPool.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/IOBJPool.cpp new file mode 100644 index 0000000..6296412 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/IOBJPool.cpp @@ -0,0 +1,41 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "IOBJPool.h" + +#include "OBJPool.h" +#include "OBJPool_Shared.h" + +#if WITH_EDITORONLY_DATA + #include "ISettingsModule.h" + #include "ISettingsSection.h" + #include "ISettingsContainer.h" +#endif + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FOBJPool : public IOBJPool { +public: + virtual void StartupModule() override {} + virtual void ShutdownModule() override {} + virtual bool SupportsDynamicReloading() override {return false;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_GAME_MODULE(FOBJPool,OBJPool); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/OBJPool.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/OBJPool.cpp new file mode 100644 index 0000000..ab884e4 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/OBJPool.cpp @@ -0,0 +1,750 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "OBJPool.h" +#include "OBJPool_Shared.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Object Pool Component Functions + +UObjectPool::UObjectPool(const FObjectInitializer &OBJ) : Super(OBJ) { + TemplateClass = APooledActor::StaticClass(); + SetComponentTickEnabled(false); + SetActive(true,false); + // + bWantsInitializeComponent = true; + NeverFailDeferredSpawn = false; + KeepOrphanActorsAlive = false; + ReinitializeInstances = true; + InstantiateOnDemand = false; + AutoInitialize = true; +} + +void UObjectPool::BeginPlay() { + Super::BeginPlay(); + // + if (AutoInitialize) {InitializeObjectPool();} +} + +void UObjectPool::EndPlay(const EEndPlayReason::Type EndPlayReason) { + if (!KeepOrphanActorsAlive) {EmptyObjectPool();} + else { + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->Spawned) {continue;} + Pool[ID]->Destroy(true,true); + } + } + // + Super::EndPlay(EndPlayReason); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UObjectPool::InitializeObjectPool() { + if (TemplateClass==nullptr) { + LOG_OBJ(true,5.f,FColor::Red,GetNameSafe(this)+FString(" : ")+FString("Invalid Template Class!")); + return;} EmptyObjectPool(); + // + FTransform SpawnTransform(FRotator::ZeroRotator,FVector::ZeroVector,FVector(1.f,1.f,1.f)); + for (int32 I=0; ISpawnActorDeferred(TemplateClass,SpawnTransform,this->GetOwner(),GetOwner()->GetInstigator(),ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn); + if (ACT) { + ACT->SharedPool = nullptr; + ACT->OwningPool = const_cast(this); + ACT->FinishSpawning(SpawnTransform); + ACT->Initialize();}} + // + FlushObjectPool(); +} + +void UObjectPool::InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool) { + TemplateClass = Template; + PoolSize = SizeOfPool; + // + InitializeObjectPool(); +} + +void UObjectPool::FlushObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!IsValid(Pool[ID])) {Pool.RemoveAt(ID,1,false);} + } +} + +void UObjectPool::EmptyObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->IsValidLowLevelFast()) {Pool[ID]->Destroy(true,true);} + } Pool.Empty(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledActor* UObjectPool::BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UObjectPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful) { + if (!IsValid(ObjectPool)||ObjectPool->GetOwner()==nullptr||PooledClass==nullptr) {return nullptr;} + // + if (ObjectPool->TemplateClass.Get() != PooledClass) { + LOG_OBJ(true,5.f,FColor::Red,ObjectPool->GetName()+FString(" : ")+FString::Printf(TEXT("Requested Class(%s) not implemented by this Pool. Check the value of 'Template Class' on the Pool Component."),*PooledClass->GetName())); + return nullptr;} + // + if (ObjectPool->Pool.Num()==0) {ObjectPool->InitializeObjectPool();} + APooledActor* DeferredSpawn = ObjectPool->GetInactiveObject(); + // + if ((DeferredSpawn==nullptr) && ObjectPool->InstantiateOnDemand) { + DeferredSpawn = ObjectPool->GetWorld()->SpawnActorDeferred(ObjectPool->TemplateClass,SpawnTransform,Owner,ObjectPool->GetOwner()->GetInstigator(),CollisionHandlingOverride); + if (DeferredSpawn) {DeferredSpawn->SharedPool = nullptr; DeferredSpawn->OwningPool = ObjectPool; DeferredSpawn->FinishSpawning(SpawnTransform);} + } else if (DeferredSpawn==nullptr && ObjectPool->NeverFailDeferredSpawn) { + DeferredSpawn = ObjectPool->GetSpawnedObject(); + if (DeferredSpawn!=nullptr) {DeferredSpawn->ReturnToPool();} + } ObjectPool->FlushObjectPool(); + // + if (DeferredSpawn!=nullptr) { + const APawn* Instigator = Cast(WorldContextObject); + if (Instigator==nullptr) { if (const AActor* ContextActor = Cast(WorldContextObject)) {Instigator=ContextActor->GetInstigator();} } + if (Instigator!=nullptr) {DeferredSpawn->SetInstigator(const_cast(Instigator));} + // + DeferredSpawn->OwningPool = ObjectPool; + DeferredSpawn->SharedPool = nullptr; + DeferredSpawn->SetOwner(Owner); + DeferredSpawn->Initialize(); + // + DeferredSpawn->SpawnFromPool(Reconstruct,SpawnOptions,SpawnTransform); + SpawnSuccessful = DeferredSpawn->Spawned; + } else { + SpawnSuccessful = false; + DeferredSpawn = ObjectPool->GetSpawnedObject(); + } return DeferredSpawn; +} + +APooledActor* UObjectPool::FinishDeferredSpawnFromPool(APooledActor* Actor, const bool Reconstruct, const FTransform &SpawnTransform) { + if (IsValid(Actor)&&(!Actor->IsActorInitialized())) { + Actor->FinishSpawning(SpawnTransform); + } if (IsValid(Actor)) { + Actor->FinishSpawnFromPool(Reconstruct,SpawnTransform); + } return Actor; +} + +void UObjectPool::ReturnActor(APooledActor* PooledActor) { + if (!GetOwner()->IsValidLowLevelFast()||!IsValid(this)) {PooledActor->Destroy(true,true); return;} + if (!IsValid(PooledActor)) {PooledActor->Destroy(true,true); return;} + // + if (TemplateClass.Get()==nullptr) {return;} + if (PooledActor->GetClass()->IsChildOf(TemplateClass->GetDefaultObject()->GetClass())) { + if (!Pool.Contains(PooledActor)) { + PooledActor->SetActorLocation(GetOwner()->GetActorLocation()); + Pool.Add(PooledActor); + } + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UObjectPool::GetObjectsFromPool(TArray &Spawned, TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);} else {Inactive.Add(OBJ);}} +} + +void UObjectPool::GetSpawnedObjects(TArray &Spawned) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);}} +} + +void UObjectPool::GetInactiveObjects(TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->Spawned) {Inactive.Add(OBJ);}} +} + +APooledActor* UObjectPool::GetSpawnedObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +APooledActor* UObjectPool::GetInactiveObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (!Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pawn Pool Component Functions + +UPawnPool::UPawnPool(const FObjectInitializer &OBJ) : Super(OBJ) { + TemplateClass = APooledPawn::StaticClass(); + SetComponentTickEnabled(false); + SetActive(true,false); + // + bWantsInitializeComponent = true; + NeverFailDeferredSpawn = false; + KeepOrphanActorsAlive = false; + ReinitializeInstances = true; + InstantiateOnDemand = false; + AutoInitialize = true; +} + +void UPawnPool::BeginPlay() { + Super::BeginPlay(); + // + if (AutoInitialize) {InitializeObjectPool();} +} + +void UPawnPool::EndPlay(const EEndPlayReason::Type EndPlayReason) { + if (!KeepOrphanActorsAlive) {EmptyObjectPool();} + else { + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->Spawned) {continue;} + Pool[ID]->Destroy(true,true); + } + } + // + Super::EndPlay(EndPlayReason); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UPawnPool::InitializeObjectPool() { + if (TemplateClass==nullptr) { + LOG_OBJ(true,5.f,FColor::Red,GetNameSafe(this)+FString(" : ")+FString("Invalid Template Class!")); + return;} EmptyObjectPool(); + // + FTransform SpawnTransform(FRotator::ZeroRotator,FVector::ZeroVector,FVector(1.f,1.f,1.f)); + for (int32 I=0; ISpawnActorDeferred(TemplateClass,SpawnTransform,this->GetOwner(),GetOwner()->GetInstigator(),ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn); + if (ACT) { + ACT->OwningPool = const_cast(this); + ACT->FinishSpawning(SpawnTransform); + ACT->Initialize();}} +} + +void UPawnPool::InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool) { + TemplateClass = Template; + PoolSize = SizeOfPool; + // + InitializeObjectPool(); +} + +void UPawnPool::FlushObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!IsValid(Pool[ID])) {Pool.RemoveAt(ID,1,false);} + } +} + +void UPawnPool::EmptyObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (IsValid(Pool[ID])) {Pool[ID]->Destroy(true,true);} + } Pool.Empty(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledPawn* UPawnPool::BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UPawnPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful) { + if (!IsValid(ObjectPool)||ObjectPool->GetOwner()==nullptr||PooledClass==nullptr) {return nullptr;} + // + if (ObjectPool->TemplateClass.Get() != PooledClass) { + LOG_OBJ(true,5.f,FColor::Red,ObjectPool->GetName()+FString(" : ")+FString::Printf(TEXT("Requested Class(%s) not implemented by this Pool. Check the value of 'Template Class' on the Pool Component."),*PooledClass->GetName())); + return nullptr;} + // + if (ObjectPool->Pool.Num()==0) {ObjectPool->InitializeObjectPool();} + APooledPawn* DeferredSpawn = ObjectPool->GetInactiveObject(); + // + if ((DeferredSpawn==nullptr) && ObjectPool->InstantiateOnDemand) { + DeferredSpawn = ObjectPool->GetWorld()->SpawnActorDeferred(ObjectPool->TemplateClass,SpawnTransform,Owner,ObjectPool->GetOwner()->GetInstigator(),CollisionHandlingOverride); + if (DeferredSpawn) {DeferredSpawn->OwningPool = ObjectPool; DeferredSpawn->FinishSpawning(SpawnTransform);} + } else if (DeferredSpawn==nullptr && ObjectPool->NeverFailDeferredSpawn) { + DeferredSpawn = ObjectPool->GetSpawnedObject(); + if (DeferredSpawn!=nullptr) {DeferredSpawn->ReturnToPool();} + } ObjectPool->FlushObjectPool(); + // + if (DeferredSpawn!=nullptr) { + const APawn* Instigator = Cast(WorldContextObject); + if (Instigator==nullptr) { if (const AActor* ContextActor = Cast(WorldContextObject)) {Instigator=ContextActor->GetInstigator();} } + if (Instigator!=nullptr) {DeferredSpawn->SetInstigator(const_cast(Instigator));} + // + DeferredSpawn->OwningPool = ObjectPool; + DeferredSpawn->SetOwner(Owner); + DeferredSpawn->Initialize(); + // + DeferredSpawn->SpawnFromPool(Reconstruct,SpawnOptions,SpawnTransform); + SpawnSuccessful = DeferredSpawn->Spawned; + } else { + SpawnSuccessful = false; + DeferredSpawn = ObjectPool->GetSpawnedObject(); + } return DeferredSpawn; +} + +APooledPawn* UPawnPool::FinishDeferredSpawnFromPool(APooledPawn* Pawn, const bool Reconstruct, const FTransform &SpawnTransform) { + if (IsValid(Pawn)&&(!Pawn->IsActorInitialized())) { + Pawn->FinishSpawning(SpawnTransform); + } if (IsValid(Pawn)) { + Pawn->FinishSpawnFromPool(Reconstruct,SpawnTransform); + } return Pawn; +} + +void UPawnPool::ReturnActor(APooledPawn* PooledActor) { + if (!IsValid(GetOwner())||!IsValid(this)) {PooledActor->Destroy(true,true); return;} + if (!IsValid(PooledActor)) {PooledActor->Destroy(true,true); return;} + // + if (TemplateClass.Get()==nullptr) {return;} + if (PooledActor->GetClass()->IsChildOf(TemplateClass->GetDefaultObject()->GetClass())) { + if (!Pool.Contains(PooledActor)) { + PooledActor->SetActorLocation(GetOwner()->GetActorLocation()); + Pool.Add(PooledActor); + } + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UPawnPool::GetObjectsFromPool(TArray &Spawned, TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);} else {Inactive.Add(OBJ);}} +} + +void UPawnPool::GetSpawnedObjects(TArray &Spawned) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);}} +} + +void UPawnPool::GetInactiveObjects(TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->Spawned) {Inactive.Add(OBJ);}} +} + +APooledPawn* UPawnPool::GetSpawnedObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +APooledPawn* UPawnPool::GetInactiveObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (!Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Character Pool Component Functions + +UCharacterPool::UCharacterPool(const FObjectInitializer &OBJ) : Super(OBJ) { + TemplateClass = APooledCharacter::StaticClass(); + SetComponentTickEnabled(false); + SetActive(true,false); + // + bWantsInitializeComponent = true; + NeverFailDeferredSpawn = false; + KeepOrphanActorsAlive = false; + ReinitializeInstances = true; + InstantiateOnDemand = false; + AutoInitialize = true; +} + +void UCharacterPool::BeginPlay() { + Super::BeginPlay(); + // + if (AutoInitialize) {InitializeObjectPool();} +} + +void UCharacterPool::EndPlay(const EEndPlayReason::Type EndPlayReason) { + if (!KeepOrphanActorsAlive) {EmptyObjectPool();} + else { + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->Spawned) {continue;} + Pool[ID]->Destroy(true,true); + } + } + // + Super::EndPlay(EndPlayReason); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UCharacterPool::InitializeObjectPool() { + if (TemplateClass==nullptr) { + LOG_OBJ(true,5.f,FColor::Red,GetNameSafe(this)+FString(" : ")+FString("Invalid Template Class!")); + return;} EmptyObjectPool(); + // + FTransform SpawnTransform(FRotator::ZeroRotator,FVector::ZeroVector,FVector(1.f,1.f,1.f)); + for (int32 I=0; ISpawnActorDeferred(TemplateClass,SpawnTransform,this->GetOwner(),GetOwner()->GetInstigator(),ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn); + if (ACT) { + ACT->OwningPool = const_cast(this); + ACT->FinishSpawning(SpawnTransform); + ACT->Initialize();}} +} + +void UCharacterPool::InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool) { + TemplateClass = Template; + PoolSize = SizeOfPool; + // + InitializeObjectPool(); +} + +void UCharacterPool::FlushObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!IsValid(Pool[ID])) {Pool.RemoveAt(ID,1,false);} + } +} + +void UCharacterPool::EmptyObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->IsValidLowLevelFast()) {Pool[ID]->Destroy(true,true);} + } Pool.Empty(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledCharacter* UCharacterPool::BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UCharacterPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful) { + if (!IsValid(ObjectPool)||ObjectPool->GetOwner()==nullptr||PooledClass==nullptr) {return nullptr;} + // + if (ObjectPool->TemplateClass.Get() != PooledClass) { + LOG_OBJ(true,5.f,FColor::Red,ObjectPool->GetName()+FString(" : ")+FString::Printf(TEXT("Requested Class(%s) not implemented by this Pool. Check the value of 'Template Class' on the Pool Component."),*PooledClass->GetName())); + return nullptr;} + // + if (ObjectPool->Pool.Num()==0) {ObjectPool->InitializeObjectPool();} + APooledCharacter* DeferredSpawn = ObjectPool->GetInactiveObject(); + // + if ((DeferredSpawn==nullptr) && ObjectPool->InstantiateOnDemand) { + DeferredSpawn = ObjectPool->GetWorld()->SpawnActorDeferred(ObjectPool->TemplateClass,SpawnTransform,Owner,ObjectPool->GetOwner()->GetInstigator(),CollisionHandlingOverride); + if (DeferredSpawn) {DeferredSpawn->OwningPool = ObjectPool; DeferredSpawn->FinishSpawning(SpawnTransform);} + } else if (DeferredSpawn==nullptr && ObjectPool->NeverFailDeferredSpawn) { + DeferredSpawn = ObjectPool->GetSpawnedObject(); + if (DeferredSpawn!=nullptr) {DeferredSpawn->ReturnToPool();} + } ObjectPool->FlushObjectPool(); + // + if (DeferredSpawn!=nullptr) { + const APawn* Instigator = Cast(WorldContextObject); + if (Instigator==nullptr) { if (const AActor* ContextActor = Cast(WorldContextObject)) {Instigator=ContextActor->GetInstigator();} } + if (Instigator!=nullptr) {DeferredSpawn->SetInstigator(const_cast(Instigator));} + // + DeferredSpawn->OwningPool = ObjectPool; + DeferredSpawn->SetOwner(Owner); + DeferredSpawn->Initialize(); + // + DeferredSpawn->SpawnFromPool(Reconstruct,SpawnOptions,SpawnTransform); + SpawnSuccessful = DeferredSpawn->Spawned; + } else { + SpawnSuccessful = false; + DeferredSpawn = ObjectPool->GetSpawnedObject(); + } return DeferredSpawn; +} + +APooledCharacter* UCharacterPool::FinishDeferredSpawnFromPool(APooledCharacter* Character, const bool Reconstruct, const FTransform &SpawnTransform) { + if (IsValid(Character)&&(!Character->IsActorInitialized())) { + Character->FinishSpawning(SpawnTransform); + } if (IsValid(Character)) { + Character->FinishSpawnFromPool(Reconstruct,SpawnTransform); + } return Character; +} + +void UCharacterPool::ReturnActor(APooledCharacter* PooledActor) { + if (!IsValid(GetOwner())||!IsValid(this)) {PooledActor->Destroy(true,true); return;} + if (!IsValid(PooledActor)) {PooledActor->Destroy(true,true); return;} + // + if (TemplateClass.Get()==nullptr) {return;} + if (PooledActor->GetClass()->IsChildOf(TemplateClass->GetDefaultObject()->GetClass())) { + if (!Pool.Contains(PooledActor)) { + PooledActor->SetActorLocation(GetOwner()->GetActorLocation()); + Pool.Add(PooledActor); + } + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UCharacterPool::GetObjectsFromPool(TArray &Spawned, TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);} else {Inactive.Add(OBJ);}} +} + +void UCharacterPool::GetSpawnedObjects(TArray &Spawned) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (OBJ->Spawned) {Spawned.Add(OBJ);}} +} + +void UCharacterPool::GetInactiveObjects(TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->Spawned) {Inactive.Add(OBJ);}} +} + +APooledCharacter* UCharacterPool::GetSpawnedObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +APooledCharacter* UCharacterPool::GetInactiveObject() const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (!Pool[ID]->Spawned) {return Pool[ID];}} + // + return nullptr; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Shared Object Pool Component Functions + +USharedObjectPool::USharedObjectPool(const FObjectInitializer &OBJ) : Super(OBJ) { + SetComponentTickEnabled(false); + SetActive(true,false); + // + bWantsInitializeComponent = true; + NeverFailDeferredSpawn = false; + KeepOrphanActorsAlive = false; + ReinitializeInstances = true; + InstantiateOnDemand = false; + AutoInitialize = true; +} + +void USharedObjectPool::PostInitProperties() { + Super::PostInitProperties(); +} + +void USharedObjectPool::BeginPlay() { + Super::BeginPlay(); + // + if (AutoInitialize) {InitializeObjectPool();} +} + +void USharedObjectPool::EndPlay(const EEndPlayReason::Type EndPlayReason) { + if (!KeepOrphanActorsAlive) { + EmptyObjectPool(APooledActor::StaticClass()); + } else { + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (Pool[ID]->Spawned) {continue;} + Pool[ID]->Destroy(true,true); + } + } + // + Super::EndPlay(EndPlayReason); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void USharedObjectPool::InitializeObjectPool() { + if (TemplateClasses.Num()<=0) { + LOG_OBJ(true,5.f,FColor::Red,GetNameSafe(this)+FString(" : ")+FString("Invalid Template Classes!")); + return;} EmptyObjectPool(APooledActor::StaticClass()); + // + FTransform SpawnTransform(FRotator::ZeroRotator,FVector::ZeroVector,FVector(1.f,1.f,1.f)); + TArray>Classes; + TemplateClasses.GenerateKeyArray(Classes); + // + for (const TSubclassOfClass : Classes) { + if (Class.Get()==nullptr) {continue;} + int32 PoolSize = TemplateClasses.FindRef(Class); + // + for (int32 I=0; ISpawnActorDeferred(Class,SpawnTransform,this->GetOwner(),GetOwner()->GetInstigator(),ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn); + if (ACT) { + ACT->OwningPool = nullptr; + ACT->SharedPool = const_cast(this); + ACT->FinishSpawning(SpawnTransform); + ACT->Initialize();}} + } + // + FlushObjectPool(); +} + +void USharedObjectPool::FlushObjectPool() { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!IsValid(Pool[ID])) {Pool.RemoveAt(ID,1,false);} + } +} + +void USharedObjectPool::EmptyObjectPool(const UClass* Class) { + if (!Pool.IsValidIndex(0)) {return;} + // + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!Pool[ID]->IsA(Class)) {continue;} + if (Pool[ID]->IsValidLowLevelFast()) {Pool[ID]->Destroy(true,true);} + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void USharedObjectPool::GetObjectsFromPool(const UClass* Class, TArray &Spawned, TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->IsA(Class)) {continue;} + // + if (OBJ->Spawned) {Spawned.Add(OBJ);} else {Inactive.Add(OBJ);} + } +} + +void USharedObjectPool::GetSpawnedObjects(const UClass* Class, TArray &Spawned) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->IsA(Class)) {continue;} + // + if (OBJ->Spawned) {Spawned.Add(OBJ);} + } +} + +void USharedObjectPool::GetInactiveObjects(const UClass* Class, TArray &Inactive) { + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + if (!OBJ->IsA(Class)) {continue;} + // + if (!OBJ->Spawned) {Inactive.Add(OBJ);} + } +} + +APooledActor* USharedObjectPool::GetSpawnedObject(const UClass* Class) const { + for (int32 ID=0; ID < Pool.Num(); ++ID) { + if (!IsValid(Pool[ID])) {continue;} + if (!Pool[ID]->IsA(Class)) {continue;} + // + if (Pool[ID]->Spawned) {return Pool[ID];} + } + // + return nullptr; +} + +APooledActor* USharedObjectPool::GetInactiveObject(const UClass* Class) const { + for (int32 ID = Pool.Num()-1; ID>=0; --ID) { + if (!IsValid(Pool[ID])) {continue;} + if (!Pool[ID]->IsA(Class)) {continue;} + // + if (!Pool[ID]->Spawned) {return Pool[ID];} + } + // + return nullptr; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledActor* USharedObjectPool::BeginDeferredSpawnFromPool(const UObject* WorldContextObject, USharedObjectPool* SharedPool, UClass* Class, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful) { + if (!IsValid(SharedPool)||SharedPool->GetOwner()==nullptr) { + UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Target Shared-Pool is about to be destroyed. Spawn aborted!")); + return nullptr;} + // + // + if (Class==nullptr) { + UE_LOG(LogTemp,Warning,TEXT("{Begin Deferred Spawn from Pool}: Invalid Class.")); + return nullptr;} + // + bool IsTemplate = false; + TArray>Classes; + SharedPool->TemplateClasses.GenerateKeyArray(Classes); + // + for (const TSubclassOfTemplateClass : Classes) { + if (Class==nullptr) {break;} + if (TemplateClass.Get()==nullptr) {continue;} + if (!Class->GetName().Equals(TemplateClass.Get()->GetName())) {continue;} + // + IsTemplate = true; + if (SharedPool->TemplateClasses.FindChecked(TemplateClass)<=0) { + UE_LOG(LogTemp,Warning,TEXT("{%s}:: %s (%s)"),*SharedPool->GetName(),TEXT("Target Class is zero-sized in Target Shared-Pool!"),*Class->GetName()); + break;} + } if (!IsTemplate) { + UE_LOG(LogTemp,Warning,TEXT("{%s}:: %s (%s)"),*SharedPool->GetName(),TEXT("This Shared-Pool does NOT implement Target Template Class. Spawn Aborted:"),*Class->GetName()); + return nullptr;} + // + // + if (SharedPool->Pool.Num()==0) {SharedPool->InitializeObjectPool();} + APooledActor* DeferredSpawn = SharedPool->GetInactiveObject(Class); + // + if ((DeferredSpawn==nullptr) && SharedPool->InstantiateOnDemand) { + DeferredSpawn = SharedPool->GetWorld()->SpawnActorDeferred(Class,SpawnTransform,Owner,SharedPool->GetOwner()->GetInstigator(),CollisionHandlingOverride); + if (DeferredSpawn) {DeferredSpawn->SharedPool = SharedPool; DeferredSpawn->OwningPool = nullptr; DeferredSpawn->FinishSpawning(SpawnTransform);} + } else if (DeferredSpawn==nullptr && SharedPool->NeverFailDeferredSpawn) { + DeferredSpawn = SharedPool->GetSpawnedObject(Class); + if (DeferredSpawn!=nullptr) {DeferredSpawn->ReturnToPool();} + } SharedPool->FlushObjectPool(); + // + if (DeferredSpawn!=nullptr) { + const APawn* Instigator = Cast(WorldContextObject); + if (Instigator==nullptr) { if (const AActor* ContextActor = Cast(WorldContextObject)) {Instigator = ContextActor->GetInstigator();} } + if (Instigator!=nullptr) {DeferredSpawn->SetInstigator(const_cast(Instigator));} + // + DeferredSpawn->SharedPool = SharedPool; + DeferredSpawn->OwningPool = nullptr; + DeferredSpawn->SetOwner(Owner); + DeferredSpawn->Initialize(); + // + DeferredSpawn->SpawnFromPool(Reconstruct,SpawnOptions,SpawnTransform); + SpawnSuccessful = DeferredSpawn->Spawned; + } else { + SpawnSuccessful = false; + DeferredSpawn = SharedPool->GetSpawnedObject(Class); + } + // + return DeferredSpawn; +} + +APooledActor* USharedObjectPool::FinishDeferredSpawnFromPool(APooledActor* Actor, const bool Reconstruct, const FTransform &SpawnTransform) { + if (IsValid(Actor)&&(!Actor->IsActorInitialized())) { + Actor->FinishSpawning(SpawnTransform); + } if (IsValid(Actor)) { + Actor->FinishSpawnFromPool(Reconstruct,SpawnTransform); + } return Actor; +} + +void USharedObjectPool::ReturnActor(APooledActor* PooledActor) { + if (!IsValid(GetOwner())||!IsValid(this)) {PooledActor->Destroy(true,true); return;} + if (!IsValid(PooledActor)) {PooledActor->Destroy(true,true); return;} + // + TArray>Classes; + TemplateClasses.GenerateKeyArray(Classes); + // + for (const TSubclassOfClass : Classes) { + if (Class.Get()==nullptr) {continue;} + // + if (PooledActor->GetClass()->IsChildOf(Class->GetDefaultObject()->GetClass())) { + if (!Pool.Contains(PooledActor)) { + PooledActor->SetActorLocation(GetOwner()->GetActorLocation()); + Pool.Add(PooledActor); + } + } + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void LOG_OBJ(const bool Debug,const float Duration, const FColor Color, const FString Message) { + if (!Debug) return; UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),*Message); if (!GEngine) {return;} + GEngine->AddOnScreenDebugMessage(-1,Duration,Color,FString::Printf(TEXT("{Pool}:: %s"),*Message)); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/PooledActor.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/PooledActor.cpp new file mode 100644 index 0000000..3a0524d --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/PooledActor.cpp @@ -0,0 +1,249 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2017 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "PooledActor.h" +#include "OBJPool_Shared.h" +#include "Runtime/Engine/Classes/Particles/ParticleSystemComponent.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledActor::APooledActor(const FObjectInitializer &OBJ) : Super(OBJ) { + InitialLifeSpan = 0.f; + LifeSpanPool = 0.f; + // + SharedPool = nullptr; + OwningPool = nullptr; +} + +void APooledActor::PostInitProperties() { + Super::PostInitProperties(); +} + +void APooledActor::BeginPlay() { + Super::BeginPlay(); +} + +void APooledActor::EndPlay(const EEndPlayReason::Type EndPlayReason) { + OnPoolBeginPlay.Clear(); + OnPoolEndPlay.Clear(); + // + Super::EndPlay(EndPlayReason); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void APooledActor::Initialize() { + Spawned = false; + // + SetLifeSpan(0.f); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + SetActorEnableCollision(false); + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + C->SetComponentTickEnabled(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + OwningPool->ReturnActor(const_cast(this)); + } else if (SharedPool && SharedPool->IsValidLowLevelFast()) { + SharedPool->ReturnActor(const_cast(this)); + } +} + +void APooledActor::SetLifeSpanPool(float InLifespan) { + if (IsValid(this) && HasAuthority() ) { + LifeSpanPool = InLifespan; + // + if (InLifespan>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledActor::ReturnToPool,InLifespan); + } else {GetWorldTimerManager().ClearTimer(LifeSpanHandle);} + } +} + +float APooledActor::GetLifeSpanPool() const { + const float CurrentLifespan = GetWorldTimerManager().GetTimerRemaining(LifeSpanHandle); + return (CurrentLifespan!=-1.0f) ? CurrentLifespan : 0.0f; +} + +UObjectPool* APooledActor::GetOwningPool() const { + return OwningPool; +} + +USharedObjectPool* APooledActor::GetSharedPool() const { + return SharedPool; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void APooledActor::SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform) { + if ((!OwningPool||!OwningPool->IsValidLowLevelFast())&&(!SharedPool||!SharedPool->IsValidLowLevelFast())) { + UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Actor trying to spawn from Pool, but Owning Pool Component is invalid!")); + return;} + // + Spawned = true; + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetCollisionEnabled((ECollisionEnabled::Type)SpawnOptions.CollisionType); + P->SetComponentTickEnabled(SpawnOptions.ActorTickEnabled); + P->SetSimulatePhysics(SpawnOptions.SimulatePhysics); + P->SetVisibility(true,true); + } + } + // + if ((OwningPool && OwningPool->ReinitializeInstances)||(SharedPool && SharedPool->ReinitializeInstances)) { + SetActorLocationAndRotation(SpawnTransform.GetLocation(),SpawnTransform.GetRotation(),false,nullptr,ETeleportType::ResetPhysics); + SetActorEnableCollision(SpawnOptions.EnableCollision); + SetActorTickEnabled(SpawnOptions.ActorTickEnabled); + SetActorScale3D(SpawnTransform.GetScale3D()); + } + // + // + SetActorHiddenInGame(false); +} + +void APooledActor::FinishSpawnFromPool(const bool Reconstruct, const FTransform &Transform) { + FTransform FinalRootComponentTransform = (RootComponent ? RootComponent->GetComponentTransform() : Transform); + FinalRootComponentTransform.GetLocation().DiagnosticCheckNaN(TEXT("APooledActor::FinishSpawning: FinalRootComponentTransform.GetLocation()")); + FinalRootComponentTransform.GetRotation().DiagnosticCheckNaN(TEXT("APooledActor::FinishSpawning: FinalRootComponentTransform.GetRotation()")); + // + if (GetWorld()) { + FVector AdjustedLocation; FRotator AdjustedRotation; + switch (SpawnCollisionHandlingMethod) { + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } break; + // + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } else { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*AdjustedLocation.ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::DontSpawnIfColliding: + if (GetWorld()->EncroachingBlockingGeometry(this,GetActorLocation(),GetActorRotation())) { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*GetActorLocation().ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::Undefined: + case ESpawnActorCollisionHandlingMethod::AlwaysSpawn: + default: break;}} + // + // + if (Reconstruct) { +#if WITH_EDITOR + ResetPropertiesForConstruction(); + RerunConstructionScripts(); +#endif + } + // + if (LifeSpanPool>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledActor::ReturnToPool,LifeSpanPool); + } + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->ActivateSystem(false);} + // + C->SetActive(true); + C->SetComponentTickEnabled(true); + } + // + // + EVENT_OnPoolBeginPlay(); + OnPoolBeginPlay.Broadcast(); + // + Spawned = true; +} + +void APooledActor::ReturnToPool() { + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + C->SetComponentTickEnabled(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + SetActorEnableCollision(false); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + if (OwningPool->ReinitializeInstances) { + GetWorld()->GetTimerManager().ClearTimer(LifeSpanHandle); + } OwningPool->ReturnActor(const_cast(this)); + // + OnPoolEndPlay.Broadcast(); + EVENT_OnPoolEndPlay(); + } else if (SharedPool && SharedPool->IsValidLowLevelFast()) { + if (SharedPool->ReinitializeInstances) { + GetWorld()->GetTimerManager().ClearTimer(LifeSpanHandle); + } SharedPool->ReturnActor(const_cast(this)); + // + OnPoolEndPlay.Broadcast(); + EVENT_OnPoolEndPlay(); + } else {Destroy(true,true);} + // + Spawned = false; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void APooledActor::EVENT_OnPoolBeginPlay_Implementation(){} +void APooledActor::EVENT_OnPoolEndPlay_Implementation(){} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/PooledCharacter.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/PooledCharacter.cpp new file mode 100644 index 0000000..0dc6e12 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/PooledCharacter.cpp @@ -0,0 +1,228 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2017 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "PooledCharacter.h" +#include "OBJPool_Shared.h" + +#include "Runtime/Engine/Classes/Particles/ParticleSystemComponent.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledCharacter::APooledCharacter(const FObjectInitializer &OBJ) : Super(OBJ) { + LifeSpanPool = 0.f; +} + +void APooledCharacter::Initialize() { + Spawned = false; + // + SetLifeSpan(0.f); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + SetActorEnableCollision(false); + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + OwningPool->ReturnActor(const_cast(this)); + } +} + +void APooledCharacter::SetLifeSpanPool(float InLifespan) { + if (IsValid(this)) { + LifeSpanPool = InLifespan; + // + if (InLifespan>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledCharacter::ReturnToPool,InLifespan); + } else {GetWorldTimerManager().ClearTimer(LifeSpanHandle);} + } +} + +float APooledCharacter::GetLifeSpanPool() const { + const float CurrentLifespan = GetWorldTimerManager().GetTimerRemaining(LifeSpanHandle); + return (CurrentLifespan!=-1.0f) ? CurrentLifespan : 0.0f; +} + +void APooledCharacter::BeginPlay() { + Super::BeginPlay(); +} + +void APooledCharacter::EndPlay(const EEndPlayReason::Type EndPlayReason) { + OnPoolBeginPlay.Clear(); + OnPoolEndPlay.Clear(); + // + Super::EndPlay(EndPlayReason); +} + +void APooledCharacter::SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform) { + if (!OwningPool||!OwningPool->IsValidLowLevelFast()) { + UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Character trying to spawn from Pool, but Owning Pool Component is invalid!")); + return;} + // + Spawned = true; + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetComponentTickEnabled(SpawnOptions.ActorTickEnabled); + P->SetSimulatePhysics(SpawnOptions.SimulatePhysics); + P->SetVisibility(true,true); + } + } + // + if (OwningPool->ReinitializeInstances) { + SetActorLocationAndRotation(SpawnTransform.GetLocation(),SpawnTransform.GetRotation(),false,nullptr,ETeleportType::TeleportPhysics); + SetActorEnableCollision(SpawnOptions.EnableCollision); + SetActorTickEnabled(SpawnOptions.ActorTickEnabled); + SetActorScale3D(SpawnTransform.GetScale3D()); + // + FinishSpawnFromPool(Reconstruct,SpawnTransform); + if (!Spawned) {return;} + // + if (LifeSpanPool>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledCharacter::ReturnToPool,LifeSpanPool); + } + } + // + SetActorHiddenInGame(false); +} + +void APooledCharacter::FinishSpawnFromPool(const bool Reconstruct, const FTransform &Transform) { + FTransform FinalRootComponentTransform = (RootComponent ? RootComponent->GetComponentTransform() : Transform); + // + FinalRootComponentTransform.GetLocation().DiagnosticCheckNaN(TEXT("APooledCharacter::FinishSpawning: FinalRootComponentTransform.GetLocation()")); + FinalRootComponentTransform.GetRotation().DiagnosticCheckNaN(TEXT("APooledCharacter::FinishSpawning: FinalRootComponentTransform.GetRotation()")); + // + if (GetWorld()) { + FVector AdjustedLocation; FRotator AdjustedRotation; + switch (SpawnCollisionHandlingMethod) { + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } break; + // + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } else { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*AdjustedLocation.ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::DontSpawnIfColliding: + if (GetWorld()->EncroachingBlockingGeometry(this,GetActorLocation(),GetActorRotation())) { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*GetActorLocation().ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::Undefined: + case ESpawnActorCollisionHandlingMethod::AlwaysSpawn: + default: break;}} + // + if (Reconstruct) { +#if WITH_EDITOR + ResetPropertiesForConstruction(); + RerunConstructionScripts(); + Reset(); +#endif + } + // + if (LifeSpanPool>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledCharacter::ReturnToPool,LifeSpanPool); + } + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->ActivateSystem(false);} + // + C->SetActive(true); + } + // + // + EVENT_OnPoolBeginPlay(); + OnPoolBeginPlay.Broadcast(); + // + Spawned = true; +} + +void APooledCharacter::ReturnToPool() { + Spawned = false; + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + SetActorEnableCollision(false); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + if (OwningPool->ReinitializeInstances) { + GetWorld()->GetTimerManager().ClearTimer(LifeSpanHandle); + } OwningPool->ReturnActor(const_cast(this)); + // + OnPoolEndPlay.Broadcast(); + EVENT_OnPoolEndPlay(); + } else {Destroy();} +} + +UCharacterPool* APooledCharacter::GetOwningPool() const { + return OwningPool; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void APooledCharacter::EVENT_OnPoolBeginPlay_Implementation(){} +void APooledCharacter::EVENT_OnPoolEndPlay_Implementation(){} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/PooledPawn.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/PooledPawn.cpp new file mode 100644 index 0000000..3eb38b1 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/PooledPawn.cpp @@ -0,0 +1,230 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2017 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "PooledPawn.h" +#include "OBJPool_Shared.h" +#include "Runtime/Engine/Classes/Particles/ParticleSystemComponent.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +APooledPawn::APooledPawn(const FObjectInitializer &OBJ) : Super(OBJ) { + LifeSpanPool = 0.f; +} + +void APooledPawn::Initialize() { + Spawned = false; + // + SetLifeSpan(0.f); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + SetActorEnableCollision(false); + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + C->SetComponentTickEnabled(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + OwningPool->ReturnActor(const_cast(this)); + } +} + +void APooledPawn::SetLifeSpanPool(float InLifespan) { + if (IsValid(this)) { + LifeSpanPool = InLifespan; + // + if (InLifespan>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledPawn::ReturnToPool,InLifespan); + } else {GetWorldTimerManager().ClearTimer(LifeSpanHandle);} + } +} + +float APooledPawn::GetLifeSpanPool() const { + const float CurrentLifespan = GetWorldTimerManager().GetTimerRemaining(LifeSpanHandle); + return (CurrentLifespan!=-1.0f) ? CurrentLifespan : 0.0f; +} + +void APooledPawn::BeginPlay() { + Super::BeginPlay(); +} + +void APooledPawn::EndPlay(const EEndPlayReason::Type EndPlayReason) { + OnPoolBeginPlay.Clear(); + OnPoolEndPlay.Clear(); + // + Super::EndPlay(EndPlayReason); +} + +void APooledPawn::SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform) { + if (!OwningPool||!OwningPool->IsValidLowLevelFast()) { + UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Pawn trying to spawn from Pool, but Owning Pool Component is invalid!")); + return;} + // + Spawned = true; + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetComponentTickEnabled(SpawnOptions.ActorTickEnabled); + P->SetSimulatePhysics(SpawnOptions.SimulatePhysics); + P->SetVisibility(true,true); + } + } + // + if (OwningPool->ReinitializeInstances) { + SetActorLocationAndRotation(SpawnTransform.GetLocation(),SpawnTransform.GetRotation(),false,nullptr,ETeleportType::TeleportPhysics); + SetActorEnableCollision(SpawnOptions.EnableCollision); + SetActorTickEnabled(SpawnOptions.ActorTickEnabled); + SetActorScale3D(SpawnTransform.GetScale3D()); + // + FinishSpawnFromPool(Reconstruct,SpawnTransform); + if (!Spawned) {return;} + // + if (LifeSpanPool>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledPawn::ReturnToPool,LifeSpanPool); + } + } + // + SetActorHiddenInGame(false); +} + +void APooledPawn::FinishSpawnFromPool(const bool Reconstruct, const FTransform &Transform) { + FTransform FinalRootComponentTransform = (RootComponent ? RootComponent->GetComponentTransform() : Transform); + // + FinalRootComponentTransform.GetLocation().DiagnosticCheckNaN(TEXT("APooledPawn::FinishSpawning: FinalRootComponentTransform.GetLocation()")); + FinalRootComponentTransform.GetRotation().DiagnosticCheckNaN(TEXT("APooledPawn::FinishSpawning: FinalRootComponentTransform.GetRotation()")); + // + if (GetWorld()) { + FVector AdjustedLocation; FRotator AdjustedRotation; + switch (SpawnCollisionHandlingMethod) { + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } break; + // + case ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding: + AdjustedLocation = GetActorLocation(); + AdjustedRotation = GetActorRotation(); + if (GetWorld()->FindTeleportSpot(this,AdjustedLocation,AdjustedRotation)) { + SetActorLocationAndRotation(AdjustedLocation,AdjustedRotation,false,nullptr,ETeleportType::TeleportPhysics); + } else { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*AdjustedLocation.ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::DontSpawnIfColliding: + if (GetWorld()->EncroachingBlockingGeometry(this,GetActorLocation(),GetActorRotation())) { + UE_LOG(LogTemp,Warning,TEXT("Spawn Actor from Pool: failed because of collision at the spawn location [%s] for [%s]"),*GetActorLocation().ToString(),*GetClass()->GetName()); + Initialize(); + return;} + break; + // + case ESpawnActorCollisionHandlingMethod::Undefined: + case ESpawnActorCollisionHandlingMethod::AlwaysSpawn: + default: break;}} + // + if (Reconstruct) { +#if WITH_EDITOR + ResetPropertiesForConstruction(); + RerunConstructionScripts(); + Reset(); +#endif + } + // + if (LifeSpanPool>0.0001f) { + GetWorldTimerManager().SetTimer(LifeSpanHandle,this,&APooledPawn::ReturnToPool,LifeSpanPool); + } + // + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->ActivateSystem(false);} + // + C->SetActive(true); + C->SetComponentTickEnabled(true); + } + // + // + EVENT_OnPoolBeginPlay(); + OnPoolBeginPlay.Broadcast(); + // + Spawned = true; +} + +void APooledPawn::ReturnToPool() { + Spawned = false; + // + TInlineComponentArrayComponents; + GetComponents(Components); + // + for (UActorComponent* C : Components) { + const auto &PS = Cast(C); + if (PS) {PS->DeactivateSystem();} + // + C->SetActive(false); + C->SetComponentTickEnabled(false); + // + const auto &P = Cast(C); + if (P && !P->IsA(UParticleSystemComponent::StaticClass())) { + P->SetPhysicsAngularVelocityInDegrees(FVector::ZeroVector); + P->SetPhysicsLinearVelocity(FVector::ZeroVector); + P->SetComponentTickEnabled(false); + P->SetSimulatePhysics(false); + P->SetVisibility(false,true); + } + } + // + SetActorEnableCollision(false); + SetActorHiddenInGame(true); + SetActorTickEnabled(false); + // + if (OwningPool && OwningPool->IsValidLowLevelFast()) { + if (OwningPool->ReinitializeInstances) { + GetWorld()->GetTimerManager().ClearTimer(LifeSpanHandle); + } OwningPool->ReturnActor(const_cast(this)); + // + OnPoolEndPlay.Broadcast(); + EVENT_OnPoolEndPlay(); + } else {Destroy();} +} + +UPawnPool* APooledPawn::GetOwningPool() const { + return OwningPool; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void APooledPawn::EVENT_OnPoolBeginPlay_Implementation(){} +void APooledPawn::EVENT_OnPoolEndPlay_Implementation(){} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/PooledProjectile.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/PooledProjectile.cpp new file mode 100644 index 0000000..ce4fdfa --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/PooledProjectile.cpp @@ -0,0 +1,135 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "PooledProjectile.h" +#include "OBJPool_Shared.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UPooledProjectile::UPooledProjectile(const FObjectInitializer& OBJ) : Super(OBJ) { + Movement = nullptr; + // + Direction = FVector::ForwardVector; + InitialSpeed = 3000.0f; + MaxSpeed = 3000.0f; + // + Friction = 0.2f; + Bounciness = 0.6f; + ForceSubStepping = false; + MaxSimulationIterations = 8; + ProjectileGravityScale = 1.f; + UpdateOnlyIfRendered = false; + MaxSimulationTimeStep = 0.05f; + HomingAccelerationMagnitude = 0.f; + InitialVelocityInLocalSpace = true; + BounceAngleAffectsFriction = false; + BounceVelocityStopSimulatingThreshold = 5.f; +} + +void UPooledProjectile::PostInitProperties() { + Super::PostInitProperties(); + // + AOwner = Cast(GetOwner()); + POwner = Cast(GetOwner()); + if ((!AOwner)&&(!POwner)) {return;} + // + if (AOwner) { + AOwner->OnPoolBeginPlay.AddDynamic(this,&UPooledProjectile::Shoot); + AOwner->OnPoolEndPlay.AddDynamic(this,&UPooledProjectile::Break); + } else if (POwner) { + POwner->OnPoolBeginPlay.AddDynamic(this,&UPooledProjectile::Shoot); + POwner->OnPoolEndPlay.AddDynamic(this,&UPooledProjectile::Break); + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UPooledProjectile::Shoot_Implementation() { + if (!Primitive) { + AOwner = Cast(GetOwner()); + POwner = Cast(GetOwner()); + // + if (AOwner) {Primitive=Cast(AOwner->GetRootComponent());} else + if (POwner) {Primitive=Cast(POwner->GetRootComponent());} + } + // + if (((!AOwner)&&(!POwner))||!Primitive) { + UE_LOG(LogTemp,Error,TEXT("{Pool}:: %s"),TEXT("Pooled Projectile Components are meant to be used by ''Pooled Actor'' Class... but casting have failed or Owning Pool Component is invalid!")); + return;} + // + if (Direction==FVector::ZeroVector) {Direction = FVector::ForwardVector;} + // + if (Movement) { + Movement->StopSimulating(FHitResult()); + Movement->DestroyComponent(); + Movement = nullptr;} + // + if (AOwner) {Movement=NewObject(AOwner);} else + if (POwner) {Movement=NewObject(POwner);} + // + if (Movement) { + Movement->BounceVelocityStopSimulatingThreshold = BounceVelocityStopSimulatingThreshold; + Movement->bInitialVelocityInLocalSpace = InitialVelocityInLocalSpace; + Movement->HomingAccelerationMagnitude = HomingAccelerationMagnitude; + Movement->bBounceAngleAffectsFriction = BounceAngleAffectsFriction; + Movement->bRotationFollowsVelocity = RotationFollowsVelocity; + Movement->MaxSimulationIterations = MaxSimulationIterations; + Movement->ProjectileGravityScale = ProjectileGravityScale; + Movement->HomingTargetComponent = HomingTargetComponent; + Movement->MaxSimulationTimeStep = MaxSimulationTimeStep; + Movement->bUpdateOnlyIfRendered = UpdateOnlyIfRendered; + Movement->bIsHomingProjectile = IsHomingProjectile; + Movement->bForceSubStepping = ForceSubStepping; + Movement->bShouldBounce = ShouldBounce; + Movement->InitialSpeed = InitialSpeed; + Movement->Bounciness = Bounciness; + Movement->Velocity = Direction; + Movement->Friction = Friction; + Movement->MaxSpeed = MaxSpeed; + // + if (HomingTarget && HomingTarget->GetRootComponent()) { + Movement->HomingTargetComponent = HomingTarget->GetRootComponent(); + } Movement->RegisterComponent(); + // + Movement->OnProjectileStop.AddDynamic(this,&UPooledProjectile::ProjectileStop); + Movement->OnProjectileBounce.AddDynamic(this,&UPooledProjectile::ProjectileBounce); + } +} + +void UPooledProjectile::Break_Implementation() { + if (IsValid(AOwner)) { + if ((!Primitive||!Movement)) {return;} + } else if (IsValid(POwner)) { + if ((!Primitive||!Movement)) {return;} + } else {return;} + // + Primitive->SetPhysicsLinearVelocity(FVector::ZeroVector); + // + if (Movement) { + Movement->OnProjectileStop.Clear(); + Movement->OnProjectileBounce.Clear(); + Movement->StopSimulating(FHitResult()); + Movement->DestroyComponent(); + } +} + +void UPooledProjectile::ProjectileBounce(const FHitResult &HitResult, const FVector &Velocity) { + OnProjectileBounce.Broadcast(HitResult,Velocity); +} + +void UPooledProjectile::ProjectileStop(const FHitResult &HitResult) { + OnProjectileStop.Broadcast(HitResult); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UProjectileMovementComponent* UPooledProjectile::GetMovementComponent() const { + return Movement; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Private/PooledSplineProjectile.cpp b/Plugins/ObjectPool/Source/OBJPool/Private/PooledSplineProjectile.cpp new file mode 100644 index 0000000..9d2cf22 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Private/PooledSplineProjectile.cpp @@ -0,0 +1,137 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "PooledSplineProjectile.h" +#include "OBJPool_Shared.h" + +#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UPooledSplineProjectile::UPooledSplineProjectile() { + PrimaryComponentTick.bCanEverTick = true; + bWantsInitializeComponent = true; + SetComponentTickEnabled(true); + // + PathDistance = 0.f; + PathWidth = 10.f; + Speed = 2.f; + // + IgnoredActorsOnCollisionQuery = TArray(); + CollisionQueryDebugMode = EDrawDebugTrace::ForDuration; + PathCollisionQueryTypes = TArray>(); + // + PathCollisionQueryTypes.Add(EObjectTypeQuery::ObjectTypeQuery1); + PathCollisionQueryTypes.Add(EObjectTypeQuery::ObjectTypeQuery2); +} + +void UPooledSplineProjectile::PostInitProperties() { + Super::PostInitProperties(); + // + AOwner = Cast(GetOwner()); + POwner = Cast(GetOwner()); + // + if ((!AOwner)&&(!POwner)) {return;} + // + if (AOwner) { + AOwner->OnPoolEndPlay.AddDynamic(this,&UPooledSplineProjectile::Break); + AOwner->OnPoolBeginPlay.AddDynamic(this,&UPooledSplineProjectile::Shoot); + } else if (POwner) { + POwner->OnPoolEndPlay.AddDynamic(this,&UPooledSplineProjectile::Break); + POwner->OnPoolBeginPlay.AddDynamic(this,&UPooledSplineProjectile::Shoot); + } + // + if (!Primitive) { + AOwner = Cast(GetOwner()); + POwner = Cast(GetOwner()); + // + if (AOwner) {Primitive=Cast(AOwner->GetRootComponent());} else + if (POwner) {Primitive=Cast(POwner->GetRootComponent());} + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UPooledSplineProjectile::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) { + Super::TickComponent(DeltaTime,TickType,ThisTickFunction); + if (!SplineComponent||!Primitive) {return;} + // + // + PathDistance += (DeltaTime * Speed); + float SplineLength = SplineComponent->GetSplineLength(); + float PathLocation = FMath::Lerp(0.f,SplineLength,PathDistance); + // + FRotator SplineRotation = SplineComponent->GetRotationAtDistanceAlongSpline(PathLocation,ESplineCoordinateSpace::World); + FVector SplineLocation = SplineComponent->GetLocationAtDistanceAlongSpline(PathLocation,ESplineCoordinateSpace::World); + Primitive->SetWorldLocationAndRotation(SplineLocation,SplineRotation); + // + {/// + const FVector TraceStart = SplineLocation; + const FVector TraceEnd = SplineLocation + FVector(KINDA_SMALL_NUMBER,KINDA_SMALL_NUMBER,KINDA_SMALL_NUMBER); + // + const bool Hit = UKismetSystemLibrary::SphereTraceSingleForObjects( + Primitive, + TraceStart, + TraceEnd, + PathWidth, + PathCollisionQueryTypes, + true, + IgnoredActorsOnCollisionQuery, + CollisionQueryDebugMode, + HitResult, + true, + FLinearColor::Yellow, + FLinearColor::Green, + 1.f + ); + // + if (Hit) { + OnProjectileHit.Broadcast(HitResult); + SetComponentTickEnabled(false); + // + if (AOwner) {AOwner->ReturnToPool();} else + if (POwner) {POwner->ReturnToPool();} + } + } + // + if (PathLocation >= SplineLength) { + if (AOwner) {AOwner->ReturnToPool();} else + if (POwner) {POwner->ReturnToPool();} + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UPooledSplineProjectile::Shoot_Implementation() { + if (!SplineComponent) { + UE_LOG(LogTemp,Error,TEXT("{Pool}:: %s"),TEXT("Pooled Spline Projectile Components need a target Spline Component to follow. Spline path not found!")); + return;} + // + if (!Primitive) { + UE_LOG(LogTemp,Error,TEXT("{Pool}:: %s"),TEXT("Pooled Spline Projectile Components need a parent Primitive Component as root. Root Component not found!")); + return;} + // + PathDistance = 0.f; + SetComponentTickEnabled(true); +} + +void UPooledSplineProjectile::Break_Implementation() { + SetComponentTickEnabled(false); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +USplineComponent* UPooledSplineProjectile::GetSplineComponent() const { + return SplineComponent; +} + +void UPooledSplineProjectile::SetSplineComponent(USplineComponent* Target) { + SplineComponent = Target; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/IOBJPool.h b/Plugins/ObjectPool/Source/OBJPool/Public/IOBJPool.h new file mode 100644 index 0000000..aa1fc18 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/IOBJPool.h @@ -0,0 +1,26 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Modules/ModuleManager.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class IOBJPool : public IModuleInterface { +public: + static inline IOBJPool& Get() { + return FModuleManager::LoadModuleChecked("OBJPool"); + } + // + static inline bool IsAvailable() { + return FModuleManager::Get().IsModuleLoaded("OBJPool"); + } +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool.h b/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool.h new file mode 100644 index 0000000..e2d2768 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool.h @@ -0,0 +1,573 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PooledPawn.h" +#include "PooledActor.h" +#include "PooledCharacter.h" +#include "PooledProjectile.h" +#include "PoolSpawnOptions.h" +#include "PooledSplineProjectile.h" + +#include "OBJPool.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Template Pool Enumerators + +UENUM(BlueprintType, meta=(DisplayName="Validation", Keywords="Spawn Validation")) +enum class FOBJPoolSpawning : uint8 { + SpawnSuccessful, + SpawnFailed +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Object Pool Component:: Stores Pooled Objects for Owner + +/// Pool Data Component; +/// Builds and holds pointers to the data stored in memory to be used by Object-Pool Queries. +UCLASS(ClassGroup = Synaptech, Category="Performance", Blueprintable, BlueprintType, hideCategories = ("Activation", "Collision", "Sockets", "Variable"), meta=(BlueprintSpawnableComponent, DisplayName="Object-Pool Component", ShortTooltip = "Pool Data Class.")) +class OBJPOOL_API UObjectPool : public UActorComponent { + GENERATED_UCLASS_BODY() + // + friend class APooledActor; +protected: + /// The Memory Pool. + UPROPERTY() + TArray Pool; +public: + /// If enabled, every time the object is Pooled by the Pool, it's OnPoolBeginPlay() and OnPoolEndPlay() events will be executed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool ReinitializeInstances; + // + /// If enabled, a new object will be created by the Pool to fulfill the request from owner when there's no instances available; + /// If disabled, nothing is instantiated if pool is empty and instead, resulting object returns NULL for the request out of bounds. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool InstantiateOnDemand; + // + /// If enabled, the Pool will guarantee that the 'Spawn Deferred' function will never fail with a null pointer. + /// If there's no inactive Actor available then the function will point to the last spawned Actor instead. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool NeverFailDeferredSpawn; + // + /// If enabled, keeps alive Pooled Actors that are still active when the parent Pool Component has been destroyed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool KeepOrphanActorsAlive; +public: + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool", Keywords="initialize pool")) + virtual void InitializeObjectPool(); + // + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool with Class [Template]", Keywords="initialize pool")) + virtual void InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool); +public: + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + virtual void FlushObjectPool(); + // + // + /// The Actor Class needed to populate this Object-Pool. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadOnly) + TSubclassOf TemplateClass; + // + /// How many instances you want to store pre-loaded. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "1")) + int32 PoolSize = 1; + // + /// If checked, this will make this Pool Component to automatically load Object Instances when the Game starts. + /// Initialization is still going to happen, independently, when a Pull request is received and the Pool is empty. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite) + bool AutoInitialize; + // + UFUNCTION() + void ReturnActor(APooledActor* PooledActor); + // + /// Will destroy all Pooled Actors stored by this Object-Pool. + /// Note: A Pool Component, when destroyed, will also destroy all of its Pooled objects; Spawned or not. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Empty Object Pool", Keywords="empty delete pool")) + void EmptyObjectPool(); + // + // + /// Returns the Container Array of Pooled Objects. + /// WARNING: Danger! Do not manually Add or Remove members from this! + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Object Array", Keywords="get pool objects")) + TArray GetObjectArray() const {return Pool;} + // + /// Fast-Query this Pool and returns all of its Spawned or Inactive Actors as separate lists. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Objects From Pool", Keywords="get pool objects")) + void GetObjectsFromPool(TArray &Spawned, TArray &Inactive); + // + /// Fast-Query this Pool and returns all of its Spawned Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Objects", Keywords="get spawned objects")) + void GetSpawnedObjects(TArray &Spawned); + // + /// Fast-Query this Pool and returns all of its Inactive Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Objects", Keywords="get inactive objects")) + void GetInactiveObjects(TArray &Inactive); + // + /// Fast-Query this Pool and returns the first Spawned Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Object", Keywords="get pool spawned object")) + APooledActor* GetSpawnedObject() const; + // + /// Fast-Query this Pool and returns the first Inactive Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Object", Keywords="get pool inactive object")) + APooledActor* GetInactiveObject() const; + // + // + /// Spawns an Actor from Pool, manually running its Construction Scripts if a full reset is needed. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledActor* BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UObjectPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful); + // + /// Finishes Deferred Spawning an Actor from Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledActor* FinishDeferredSpawnFromPool(APooledActor* Actor, const bool Reconstruct, const FTransform &SpawnTransform); + // + // + /// Gets this Pool's Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetObjectsFromPool() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Spawned Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetSpawnedObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&O->Spawned) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Inactive Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetInactiveObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&(!O->Spawned)) {TC.Add(O);} + } return TC;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pawn Pool Component:: Stores Pooled Pawn Actors for Owner + +/// Pool Data Component; +/// Builds and holds pointers to the data stored in memory to be used by Object-Pool Queries. +UCLASS(ClassGroup = Synaptech, Category="Performance", Blueprintable, BlueprintType, hideCategories = ("Activation", "Collision", "Sockets", "Variable"), meta=(BlueprintSpawnableComponent, DisplayName="Pawn-Pool Component", ShortTooltip = "Pool Data Class.")) +class OBJPOOL_API UPawnPool : public UActorComponent { + GENERATED_UCLASS_BODY() + // + friend class APooledPawn; +protected: + /// The Memory Pool. + UPROPERTY() + TArray Pool; +public: + /// If enabled, every time the object is Pooled by the Pool, it's OnPoolBeginPlay() and OnPoolEndPlay() events will be executed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool ReinitializeInstances; + // + /// If enabled, a new object will be created by the Pool to fulfill the request from owner when there's no instances available; + /// If disabled, nothing is instantiated if pool is empty and instead, resulting object returns NULL for the request out of bounds. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool InstantiateOnDemand; + // + /// If enabled, the Pool will guarantee that the 'Spawn Deferred' function will never fail with a null pointer. + /// If there's no inactive Actor available then the function will point to the last spawned Actor instead. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool NeverFailDeferredSpawn; + // + /// If enabled, keeps alive Pooled Actors that are still active when the parent Pool Component has been destroyed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool KeepOrphanActorsAlive; +public: + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool", Keywords="initialize pool")) + virtual void InitializeObjectPool(); + // + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool with Class [Template]", Keywords="initialize pool")) + virtual void InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool); +public: + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + virtual void FlushObjectPool(); + // + // + /// The Actor Class needed to populate this Object-Pool. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadOnly) + TSubclassOf TemplateClass; + // + /// How many instances you want to store pre-loaded. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "1")) + int32 PoolSize = 1; + // + /// If checked, this will make this Pool Component to automatically load Object Instances when the Game starts. + /// Initialization is still going to happen, independently, when a Pull request is received and the Pool is empty. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite) + bool AutoInitialize; + // + UFUNCTION() + void ReturnActor(APooledPawn* PooledActor); + // + /// Will destroy all Pooled Actors stored by this Object-Pool. + /// Note: A Pool Component, when destroyed, will also destroy all of its Pooled objects; Spawned or not. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Empty Object Pool", Keywords="empty delete pool")) + void EmptyObjectPool(); + // + // + /// Returns the Container Array of Pooled Objects. + /// WARNING: Danger! Do not manually Add or Remove members from this! + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Object Array", Keywords="get pool objects")) + TArray GetObjectArray() const {return Pool;} + // + /// Fast-Query this Pool and returns all of its Spawned or Inactive Actors as separate lists. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Objects From Pool", Keywords="get pool objects")) + void GetObjectsFromPool(TArray &Spawned, TArray &Inactive); + // + /// Fast-Query this Pool and returns all of its Spawned Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Objects", Keywords="get spawned objects")) + void GetSpawnedObjects(TArray &Spawned); + // + /// Fast-Query this Pool and returns all of its Inactive Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Objects", Keywords="get inactive objects")) + void GetInactiveObjects(TArray &Inactive); + // + /// Fast-Query this Pool and returns the first Spawned Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Object", Keywords="get pool spawned object")) + APooledPawn* GetSpawnedObject() const; + // + /// Fast-Query this Pool and returns the first Inactive Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Object", Keywords="get pool inactive object")) + APooledPawn* GetInactiveObject() const; + // + // + /// Spawns an Actor from Pool, manually running its Construction Scripts if a full reset is needed. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledPawn* BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UPawnPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful); + // + /// Finishes Deferred Spawning an Actor from Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledPawn* FinishDeferredSpawnFromPool(APooledPawn* Pawn, const bool Reconstruct, const FTransform &SpawnTransform); + // + // + /// Gets this Pool's Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetObjectsFromPool() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Spawned Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetSpawnedObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&O->Spawned) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Inactive Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetInactiveObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&(!O->Spawned)) {TC.Add(O);} + } return TC;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Character Pool Component:: Stores Pooled Character Actors for Owner + +/// Pool Data Component; +/// Builds and holds pointers to the data stored in memory to be used by Object-Pool Queries. +UCLASS(ClassGroup = Synaptech, Category="Performance", Blueprintable, BlueprintType, hideCategories = ("Activation", "Collision", "Sockets", "Variable"), meta=(BlueprintSpawnableComponent, DisplayName="Character-Pool Component", ShortTooltip = "Pool Data Class.")) +class OBJPOOL_API UCharacterPool : public UActorComponent { + GENERATED_UCLASS_BODY() + // + friend class APooledCharacter; +protected: + /// The Memory Pool. + UPROPERTY() + TArray Pool; +public: + /// If enabled, every time the object is Pooled by the Pool, it's OnPoolBeginPlay() and OnPoolEndPlay() events will be executed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool ReinitializeInstances; + // + /// If enabled, a new object will be created by the Pool to fulfill the request from owner when there's no instances available; + /// If disabled, nothing is instantiated if pool is empty and instead, resulting object returns NULL for the request out of bounds. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool InstantiateOnDemand; + // + /// If enabled, the Pool will guarantee that the 'Spawn Deferred' function will never fail with a null pointer. + /// If there's no inactive Actor available then the function will point to the last spawned Actor instead. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool NeverFailDeferredSpawn; + // + /// If enabled, keeps alive Pooled Actors that are still active when the parent Pool Component has been destroyed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool KeepOrphanActorsAlive; +public: + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool", Keywords="initialize pool")) + virtual void InitializeObjectPool(); + // + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool with Class [Template]", Keywords="initialize pool")) + virtual void InitializeObjectPoolWithNewTemplateClass(const TSubclassOf Template, const int32 SizeOfPool); +public: + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + virtual void FlushObjectPool(); + // + // + /// The Actor Class needed to populate this Object-Pool. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadOnly) + TSubclassOf TemplateClass; + // + /// How many instances you want to store pre-loaded. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite, meta=(ClampMin = "1")) + int32 PoolSize = 1; + // + /// If checked, this will make this Pool Component to automatically load Object Instances when the Game starts. + /// Initialization is still going to happen, independently, when a Pull request is received and the Pool is empty. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite) + bool AutoInitialize; + // + UFUNCTION() + void ReturnActor(APooledCharacter* PooledActor); + // + /// Will destroy all Pooled Actors stored by this Object-Pool. + /// Note: A Pool Component, when destroyed, will also destroy all of its Pooled objects; Spawned or not. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Empty Object Pool", Keywords="empty delete pool")) + void EmptyObjectPool(); + // + // + /// Returns the Container Array of Pooled Objects. + /// WARNING: Danger! Do not manually Add or Remove members from this! + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Object Array", Keywords="get pool objects")) + TArray GetObjectArray() const {return Pool;} + // + /// Fast-Query this Pool and returns all of its Spawned or Inactive Actors as separate lists. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Objects From Pool", Keywords="get pool objects")) + void GetObjectsFromPool(TArray &Spawned, TArray &Inactive); + // + /// Fast-Query this Pool and returns all of its Spawned Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Objects", Keywords="get spawned objects")) + void GetSpawnedObjects(TArray &Spawned); + // + /// Fast-Query this Pool and returns all of its Inactive Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Objects", Keywords="get inactive objects")) + void GetInactiveObjects(TArray &Inactive); + // + /// Fast-Query this Pool and returns the first Spawned Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Object", Keywords="get pool spawned object")) + APooledCharacter* GetSpawnedObject() const; + // + /// Fast-Query this Pool and returns the first Inactive Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Object", Keywords="get pool inactive object")) + APooledCharacter* GetInactiveObject() const; + // + // + /// Spawns an Actor from Pool, manually running its Construction Scripts if a full reset is needed. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledCharacter* BeginDeferredSpawnFromPool(const UObject* WorldContextObject, UCharacterPool* ObjectPool, UClass* PooledClass, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful); + // + /// Finishes Deferred Spawning an Actor from Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction = "true", BlueprintInternalUseOnly = "true")) + static APooledCharacter* FinishDeferredSpawnFromPool(APooledCharacter* Character, const bool Reconstruct, const FTransform &SpawnTransform); + // + // + /// Gets this Pool's Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetObjectsFromPool() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Spawned Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetSpawnedObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&O->Spawned) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Inactive Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetInactiveObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&(!O->Spawned)) {TC.Add(O);} + } return TC;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Shared Object Pool Component:: Stores Pooled Objects for Owner + +/// Pool Data Component; +/// Builds and holds pointers to the data stored in memory to be used by Object-Pool Queries. +UCLASS(ClassGroup = Synaptech, Category="Performance", Blueprintable, BlueprintType, hideCategories = ("Activation", "Collision", "Sockets", "Variable"), meta=(BlueprintSpawnableComponent, DisplayName="Shared-Pool Component", ShortTooltip = " Shared Pool Data Class.")) +class OBJPOOL_API USharedObjectPool : public UActorComponent { + GENERATED_UCLASS_BODY() + // + friend class APooledActor; +protected: + /// The Memory Pool. + UPROPERTY() + TArray Pool; +public: + /// If enabled, every time the object is Pooled by the Pool, it's OnPoolBeginPlay() and OnPoolEndPlay() events will be executed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool ReinitializeInstances; + // + /// If enabled, a new object will be created by the Pool to fulfill the request from owner when there's no instances available; + /// If disabled, nothing is instantiated if pool is empty and instead, resulting object returns NULL for the request out of bounds. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool InstantiateOnDemand; + // + /// If enabled, the Pool will guarantee that the 'Spawn Deferred' function will never fail with a null pointer. + /// If there's no inactive Actor available then the function will point to the last spawned Actor instead. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool NeverFailDeferredSpawn; + // + /// If enabled, keeps alive Pooled Actors that are still active when the parent Pool Component has been destroyed. + UPROPERTY(Category="Object Pool", AdvancedDisplay, EditAnywhere, BlueprintReadOnly) + bool KeepOrphanActorsAlive; +public: + virtual void FlushObjectPool(); + // + /// Empties the Pool; Respawns all of its members based on 'Pool Size' allocation. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Initialize Object Pool", Keywords="initialize pool")) + void InitializeObjectPool(); +public: + virtual void BeginPlay() override; + virtual void PostInitProperties() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + // + /// If checked, this will make this Pool Component to automatically load Object Instances when the Game starts. + /// Initialization is still going to happen, independently, when a Pull request is received and the Pool is empty. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite) + bool AutoInitialize; + // + /// The Template Classes used to populate this Object-Pool. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadOnly) + TMap,int32> TemplateClasses; + // + // + UFUNCTION() + void ReturnActor(APooledActor* PooledActor); + // + /// Will destroy all Pooled Actors of Class stored by this Object-Pool. + /// Note: A Pool Component, when destroyed, will also destroy all of its Pooled objects; Spawned or not. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Empty Object Pool", Keywords="empty delete pool")) + void EmptyObjectPool(const UClass* Class); + // + // + /// Returns the Container Array of Pooled Objects. + /// WARNING: Danger! Do not manually Add or Remove members from this! + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Object Array", Keywords="get pool objects")) + TArray GetObjectArray() const {return Pool;} + // + /// Fast-Query this Pool and returns all of its Spawned or Inactive Actors as separate lists. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Objects From Pool", Keywords="get pool objects")) + void GetObjectsFromPool(const UClass* Class, TArray &Spawned, TArray &Inactive); + // + /// Fast-Query this Pool and returns all of its Spawned Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Objects", Keywords="get spawned objects")) + void GetSpawnedObjects(const UClass* Class, TArray &Spawned); + // + /// Fast-Query this Pool and returns all of its Inactive Actors list. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Objects", Keywords="get inactive objects")) + void GetInactiveObjects(const UClass* Class, TArray &Inactive); + // + /// Fast-Query this Pool and returns the first Spawned Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Spawned Object", Keywords="get pool spawned object")) + APooledActor* GetSpawnedObject(const UClass* Class) const; + // + /// Fast-Query this Pool and returns the first Inactive Actor found on top of the Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Inactive Object", Keywords="get pool inactive object")) + APooledActor* GetInactiveObject(const UClass* Class) const; + // + // + /// Spawns an Actor from Pool, manually running its Construction Scripts if a full reset is needed. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction="true", BlueprintInternalUseOnly="true")) + static APooledActor* BeginDeferredSpawnFromPool(const UObject* WorldContextObject, USharedObjectPool* SharedPool, UClass* Class, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform, ESpawnActorCollisionHandlingMethod CollisionHandlingOverride, AActor* Owner, const bool Reconstruct, bool &SpawnSuccessful); + // + /// Finishes Deferred Spawning an Actor from Pool. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction="true", BlueprintInternalUseOnly="true")) + static APooledActor* FinishDeferredSpawnFromPool(APooledActor* Actor, const bool Reconstruct, const FTransform &SpawnTransform); + // + // + /// Gets this Pool's Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetObjectsFromPool() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Spawned Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetSpawnedObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&O->Spawned) {TC.Add(O);} + } return TC;} + // + /// Gets this Pool's Inactive Objects, Type-casting. + /// Returns Empty Array if Cast fails. + template + FORCEINLINE TArray GetInactiveObjects() const { + TArray TC; + for (const auto &OBJ : Pool) { + if (!IsValid(OBJ)) {continue;} + T* O = Cast(*&OBJ); if (O&&(!O->Spawned)) {TC.Add(O);} + } return TC;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void LOG_OBJ(const bool Debug, const float Duration, const FColor Color, const FString Message); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool_Shared.h b/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool_Shared.h new file mode 100644 index 0000000..69249e1 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/OBJPool_Shared.h @@ -0,0 +1,16 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "UObject/WeakObjectPtr.h" +#include "Runtime/Engine/Classes/Engine/Engine.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PoolSpawnOptions.h b/Plugins/ObjectPool/Source/OBJPool/Public/PoolSpawnOptions.h new file mode 100644 index 0000000..cd9186a --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PoolSpawnOptions.h @@ -0,0 +1,54 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Runtime/Engine/Classes/Engine/Engine.h" +#include "PoolSpawnOptions.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOBJP_PoolEvent); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UENUM(Category = "Object Pool", BlueprintType) +enum class EPoolCollisionType : uint8 { + NoCollision UMETA(DisplayName="No Collision"), + QueryOnly UMETA(DisplayName="Query Only (No Physics Collision)"), + PhysicsOnly UMETA(DisplayName="Physics Only (No Query Collision)"), + QueryAndPhysics UMETA(DisplayName="Collision Enabled (Query and Physics)"), + ProbeOnly UMETA(DisplayName="Probe Only (Contact Data, No Query or Physics)"), + QueryAndProbe UMETA(DisplayName="Query and Probe (Query and Contact Data, No Physics)"), +}; + +USTRUCT(Category = "Object Pool", BlueprintType, meta = (DisplayName = "Pool Spawn Options")) +struct OBJPOOL_API FPoolSpawnOptions { + GENERATED_BODY() +public: + UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite) + EPoolCollisionType CollisionType; + // + UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite) + bool EnableCollision; + // + UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite) + bool SimulatePhysics; + // + UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite) + bool ActorTickEnabled; +public: + FPoolSpawnOptions() + : CollisionType(EPoolCollisionType::QueryAndPhysics) + , EnableCollision(true) + , SimulatePhysics(true) + , ActorTickEnabled(true) + {} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PooledActor.h b/Plugins/ObjectPool/Source/OBJPool/Public/PooledActor.h new file mode 100644 index 0000000..46bb897 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PooledActor.h @@ -0,0 +1,107 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PoolSpawnOptions.h" +#include "Runtime/Engine/Public/TimerManager.h" +#include "Runtime/Engine/Classes/GameFramework/Actor.h" + +#include "PooledActor.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class UObjectPool; +class UPooledProjectile; +class USharedObjectPool; +class UPooledSplineProjectile; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pooled Actor:: Actor Class Template + +/// Pooled Object Template; +/// Actor type capable of being spawned as member of a Pool and automatically managed by the Pool Component. +UCLASS(ClassGroup = Synaptech, Category = "Performance", Blueprintable, BlueprintType, meta = (DisplayName = "Pool Actor", ShortTooltip = "Pool Actor Class.")) +class OBJPOOL_API APooledActor : public AActor { + GENERATED_UCLASS_BODY() + // + friend class UObjectPool; + friend class UPooledProjectile; + friend class USharedObjectPool; + friend class UPooledSplineProjectile; +protected: + /// Finishes Spawning this Actor, after deferred spawning from the Object-Pool. + virtual void FinishSpawnFromPool(const bool Reconstruct, const FTransform &Transform); + // + // + UPROPERTY() + UObjectPool* OwningPool; + // + UPROPERTY() + USharedObjectPool* SharedPool; + // + UPROPERTY() + FTimerHandle LifeSpanHandle; +protected: + UPROPERTY(Category="Object Pool", BlueprintReadOnly) + bool Spawned; +public: + virtual void Initialize(); + virtual void BeginPlay() override; + virtual void PostInitProperties() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + /// How long this Actor lives after Spawn from Pool. 0 = Forever. + UPROPERTY(Category="Object Pool", EditAnywhere, BlueprintReadWrite, meta=(ClampMin="0")) + float LifeSpanPool; + // + // + /// Event called every time this Actor is spawned from the Pool. + UPROPERTY(Category="Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolBeginPlay; + // + /// Event called every time this Actor is sent back to the Pool. + UPROPERTY(Category="Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolEndPlay; + // + // + UFUNCTION() + void SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform); + // + /// Returns this Pooled Actor to its owning Object-Pool, disabling it. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Return to Pool", Keywords="return actor pool")) + void ReturnToPool(); + // + /// Returns reference to the Pool Component owner of this Actor. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Owning Pool", Keywords="get owner pool")) + UObjectPool* GetOwningPool() const; + // + /// Returns reference to the Shared Pool Component owner of this Actor, if any. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(DisplayName="Get Shared Pool", Keywords="get shared pool")) + USharedObjectPool* GetSharedPool() const; + // + // + /// Sets Actor's Life Span from Pool. When it expires the object will be destroyed. If requested lifespan is 0, the timer is cleared and the actor will not be destroyed. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(Keywords="get life span")) + virtual void SetLifeSpanPool(float InLifespan); + // + /// Gets Actor's remaining Life Span from Pool. If zero is returned the actor lives forever. + UFUNCTION(Category="Object Pool", BlueprintCallable, meta=(Keywords="get life span")) + virtual float GetLifeSpanPool() const; + // + // + /// Event called every time this Actor is spawned from the Pool. + UFUNCTION(Category="Object Pool", BlueprintNativeEvent, meta=(DisplayName="On Pool Begin Play", Keywords="pool begin play event")) + void EVENT_OnPoolBeginPlay(); + // + /// Event called every time this Actor is sent back to the Pool. + UFUNCTION(Category="Object Pool", BlueprintNativeEvent, meta=(DisplayName="On Pool End Play", Keywords="pool end play event")) + void EVENT_OnPoolEndPlay(); +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PooledCharacter.h b/Plugins/ObjectPool/Source/OBJPool/Public/PooledCharacter.h new file mode 100644 index 0000000..7094a07 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PooledCharacter.h @@ -0,0 +1,93 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PoolSpawnOptions.h" +#include "Runtime/Engine/Public/TimerManager.h" +#include "Runtime/Engine/Classes/GameFramework/Character.h" + +#include "PooledCharacter.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class UCharacterPool; +class USharedObjectPool; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pooled Character:: Character Class Template + +/// Pooled Object Template; +/// Character type capable of being spawned as member of a Pool and automatically managed by the Pool Component. +UCLASS(ClassGroup = Synaptech, Category = "Performance", Blueprintable, BlueprintType, meta = (DisplayName = "Pool Character", ShortTooltip = "Pool Character Class. Check documentation for more information.")) +class OBJPOOL_API APooledCharacter : public ACharacter { + GENERATED_UCLASS_BODY() + // + friend class UCharacterPool; + friend class USharedObjectPool; +private: + UPROPERTY() + UCharacterPool* OwningPool; + // + UPROPERTY() + FTimerHandle LifeSpanHandle; +protected: + UPROPERTY(Category="Object Pool", BlueprintReadOnly) + bool Spawned; +protected: + /// Finishes Spawning this Character, after deferred spawning from the Object-Pool. + virtual void FinishSpawnFromPool(const bool Reconstruct, const FTransform& Transform); +public: + virtual void Initialize(); + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + /// How long this Character lives after Spawn from Pool. 0 = Forever. + UPROPERTY(Category = "Object Pool", EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "0")) + float LifeSpanPool; + // + // + UFUNCTION() + void SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform); + // + /// Returns this Pooled Character to its owning Object-Pool, disabling it. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (DisplayName = "Return to Pool", Keywords = "return character pool")) + void ReturnToPool(); + // + /// Returns reference to the Pool Component owner of this Character. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (DisplayName = "Get Owning Pool", Keywords = "get owner pool")) + UCharacterPool* GetOwningPool() const; + // + // + /// Sets Character's Life Span from Pool. When it expires the object will be destroyed. If requested lifespan is 0, the timer is cleared and the actor will not be destroyed. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (Keywords = "get life span")) + virtual void SetLifeSpanPool(float InLifespan); + // + /// Gets Character's remaining Life Span from Pool. If zero is returned the actor lives forever. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (Keywords = "get life span")) + virtual float GetLifeSpanPool() const; + // + // + /// Event called every time this Character is spawned from the Pool. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolBeginPlay; + // + /// Event called every time this Character is sent back to the Pool. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolEndPlay; + // + /// Event called every time this Character is spawned from the Pool. + UFUNCTION(Category = "Object Pool", BlueprintNativeEvent, meta = (DisplayName = "On Pool Begin Play", Keywords = "pool begin play event")) + void EVENT_OnPoolBeginPlay(); + // + /// Event called every time this Character is sent back to the Pool. + UFUNCTION(Category = "Object Pool", BlueprintNativeEvent, meta = (DisplayName = "On Pool End Play", Keywords = "pool end play event")) + void EVENT_OnPoolEndPlay(); +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PooledPawn.h b/Plugins/ObjectPool/Source/OBJPool/Public/PooledPawn.h new file mode 100644 index 0000000..2b3b425 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PooledPawn.h @@ -0,0 +1,97 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PoolSpawnOptions.h" +#include "Runtime/Engine/Public/TimerManager.h" +#include "Runtime/Engine/Classes/GameFramework/Pawn.h" + +#include "PooledPawn.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class UPawnPool; +class UPooledProjectile; +class USharedObjectPool; +class UPooledSplineProjectile; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pooled Pawn:: Pawn Class Template + +/// Pooled Object Template; +/// Pawn type capable of being spawned as member of a Pool and automatically managed by the Pool Component. +UCLASS(ClassGroup = Synaptech, Category = "Performance", Blueprintable, BlueprintType, meta = (DisplayName = "Pool Pawn", ShortTooltip = "Pool Pawn Class. Check documentation for more information.")) +class OBJPOOL_API APooledPawn : public APawn { + GENERATED_UCLASS_BODY() + // + friend class UPawnPool; + friend class UPooledProjectile; + friend class USharedObjectPool; + friend class UPooledSplineProjectile; +private: + UPROPERTY() + UPawnPool* OwningPool; + // + UPROPERTY() + FTimerHandle LifeSpanHandle; +protected: + UPROPERTY(Category="Object Pool", BlueprintReadOnly) + bool Spawned; +protected: + /// Finishes Spawning this Pawn, after deferred spawning from the Object-Pool. + virtual void FinishSpawnFromPool(const bool Reconstruct, const FTransform &Transform); +public: + virtual void Initialize(); + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // + /// How long this Pawn lives after Spawn from Pool. 0 = Forever. + UPROPERTY(Category = "Object Pool", EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "0")) + float LifeSpanPool; + // + // + UFUNCTION() + void SpawnFromPool(const bool Reconstruct, const FPoolSpawnOptions &SpawnOptions, const FTransform &SpawnTransform); + // + /// Returns this Pooled Pawn to its owning Object-Pool, disabling it. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (DisplayName = "Return to Pool", Keywords = "return character pool")) + void ReturnToPool(); + // + /// Returns reference to the Pool Component owner of this Pawn. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (DisplayName = "Get Owning Pool", Keywords = "get owner pool")) + UPawnPool* GetOwningPool() const; + // + // + /// Sets Pawn's Life Span from Pool. When it expires the object will be destroyed. If requested lifespan is 0, the timer is cleared and the actor will not be destroyed. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (Keywords = "get life span")) + virtual void SetLifeSpanPool(float InLifespan); + // + /// Gets Pawn's remaining Life Span from Pool. If zero is returned the actor lives forever. + UFUNCTION(Category = "Object Pool", BlueprintCallable, meta = (Keywords = "get life span")) + virtual float GetLifeSpanPool() const; + // + // + /// Event called every time this Pawn is spawned from the Pool. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolBeginPlay; + // + /// Event called every time this Pawn is sent back to the Pool. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_PoolEvent OnPoolEndPlay; + // + /// Event called every time this Pawn is spawned from the Pool. + UFUNCTION(Category = "Object Pool", BlueprintNativeEvent, meta = (DisplayName = "On Pool Begin Play", Keywords = "pool begin play event")) + void EVENT_OnPoolBeginPlay(); + // + /// Event called every time this Pawn is sent back to the Pool. + UFUNCTION(Category = "Object Pool", BlueprintNativeEvent, meta = (DisplayName = "On Pool End Play", Keywords = "pool end play event")) + void EVENT_OnPoolEndPlay(); +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PooledProjectile.h b/Plugins/ObjectPool/Source/OBJPool/Public/PooledProjectile.h new file mode 100644 index 0000000..4a93a8d --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PooledProjectile.h @@ -0,0 +1,153 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PoolSpawnOptions.h" +#include "GameFramework/ProjectileMovementComponent.h" + +#include "PooledProjectile.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class UObjectPool; +class APooledPawn; +class APooledActor; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOBJP_ProjectileStop, const FHitResult&, ImpactResult); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOBJP_ProjectileBounce, const FHitResult&, ImpactResult, const FVector&, ImpactVelocity); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pooled Projectile Component + +/// Pooled Projectile Template; +/// This Projectile Component works better with bullet Actors that are generated by an Object-Pool Component. +/// This Component will NOT work properly with 'Instantiate on Demand' feature, it is dependent on Engine's default Projectile Component. +UCLASS(ClassGroup = Synaptech, Category = "Movement", meta = (BlueprintSpawnableComponent, DisplayName = "Pool Projectile Movement", ShortTooltip = "Pooled Projectile Component Class.")) +class OBJPOOL_API UPooledProjectile : public UActorComponent { + GENERATED_BODY() + // + UPooledProjectile(const FObjectInitializer& OBJ); + friend class APooledActor; + friend class UObjectPool; + friend class APooledPawn; +private: + UPROPERTY() + UProjectileMovementComponent* Movement; +protected: + UPROPERTY() + APooledActor* AOwner; + // + UPROPERTY() + APooledPawn* POwner; + // + UPROPERTY() + UPrimitiveComponent* Primitive; +public: + virtual void PostInitProperties() override; + // + // + /// Manually fire this Projectile, instead of relying on Component Initialization. + UFUNCTION(Category = "Projectile", BlueprintNativeEvent, meta = (DisplayName = "Shoot", Keywords = "shoot projectile")) + void Shoot(); virtual void Shoot_Implementation(); + // + /// Manually stops this Projectile, instead of relying on Component Destruction. + UFUNCTION(Category = "Projectile", BlueprintNativeEvent, meta = (DisplayName = "Break", Keywords = "break projectile")) + void Break(); virtual void Break_Implementation(); + // + /// Returns reference to the Movement Component that is generated at runtime, if there's any. + UFUNCTION(Category = "Projectile", BlueprintCallable, meta = (DisplayName = "Get Projectile Movement Component", Keywords = "get projectile movement")) + UProjectileMovementComponent* GetMovementComponent() const; + // + // + UFUNCTION() + virtual void ProjectileStop(const FHitResult &HitResult); + // + UFUNCTION() + virtual void ProjectileBounce(const FHitResult &HitResult, const FVector &Velocity); + // + // + /// Projectile Movement Component Interface: + // + /// (Velocity) Speed Vector. + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite, meta = (DisplayName = "Velocity")) + FVector Direction; + // + /// Initial Speed of Projectile. + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + float InitialSpeed; + // + /// Limit Speed of Projectile. + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + float MaxSpeed; + // + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + bool UpdateOnlyIfRendered; + // + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + uint32 RotationFollowsVelocity:1; + // + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + uint32 InitialVelocityInLocalSpace:1; + // + UPROPERTY(Category = "Projectile", EditAnywhere, BlueprintReadWrite) + float ProjectileGravityScale; + // + UPROPERTY(Category = "Projectile Bounces", EditAnywhere, BlueprintReadWrite) + uint32 ShouldBounce:1; + // + UPROPERTY(Category = "Projectile Bounces", EditAnywhere, BlueprintReadWrite) + uint32 BounceAngleAffectsFriction:1; + // + UPROPERTY(Category = "Projectile Bounces", EditAnywhere, BlueprintReadWrite, meta = (ClampMin="0", UIMin="0")) + float Bounciness; + // + UPROPERTY(Category = "Projectile Bounces", EditAnywhere, BlueprintReadWrite, meta = (ClampMin="0", UIMin="0")) + float Friction; + // + UPROPERTY(Category = "Projectile Bounces", EditAnywhere, BlueprintReadWrite) + float BounceVelocityStopSimulatingThreshold; + // + UPROPERTY(Category = "Projectile Simulation", EditAnywhere, BlueprintReadWrite) + uint32 ForceSubStepping:1; + // + UPROPERTY(Category = "Projectile Simulation", EditAnywhere, BlueprintReadWrite, meta = (ClampMin="1", ClampMax="25", UIMin="1", UIMax="25")) + int32 MaxSimulationIterations; + // + UPROPERTY(Category = "Projectile Simulation", EditAnywhere, BlueprintReadWrite, meta = (ClampMin="0.0166", ClampMax="0.50", UIMin="0.0166", UIMax="0.50")) + float MaxSimulationTimeStep; + // + UPROPERTY(Category = "Homing", EditAnywhere, BlueprintReadWrite) + uint32 IsHomingProjectile:1; + // + // + /// Event called every time this Projectile bounces. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_ProjectileBounce OnProjectileBounce; + // + /// Event called every time this Projectile stops trajectory. + UPROPERTY(Category = "Object Pool", BlueprintAssignable) + FOBJP_ProjectileStop OnProjectileStop; + // + // + /* If you don't want to set Homing Target Component manually at runtime, but still needs Homing Projectile, + you can set here an Actor as target and its Root Component will be set as Homing Component by the Pool after spawn. + If you don't want to use the Root, then leave this empty and set Homing Target manually instead. */ + UPROPERTY(Category = "Homing", EditAnywhere, BlueprintReadWrite) + AActor* HomingTarget; + // + UPROPERTY(Category = "Homing", VisibleInstanceOnly, BlueprintReadWrite) + TWeakObjectPtr HomingTargetComponent; + // + UPROPERTY(Category = "Homing", EditAnywhere, BlueprintReadWrite) + float HomingAccelerationMagnitude; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPool/Public/PooledSplineProjectile.h b/Plugins/ObjectPool/Source/OBJPool/Public/PooledSplineProjectile.h new file mode 100644 index 0000000..26994d2 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPool/Public/PooledSplineProjectile.h @@ -0,0 +1,92 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "PoolSpawnOptions.h" +#include "Runtime/Engine/Classes/Components/SplineComponent.h" +#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" + +#include "PooledSplineProjectile.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class UObjectPool; +class APooledPawn; +class APooledActor; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOBJP_ProjectileHit, const FHitResult&, ImpactResult); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Pooled Spline Projectile + +/// Pooled Spline Projectile Template; +/// This Projectile Component works better with bullet Actors that are generated by an Object-Pool Component. +UCLASS(ClassGroup="Synaptech", Category="Movement", meta=(BlueprintSpawnableComponent, DisplayName="Pool Spline Projectile", ShortTooltip="Pooled Spline Projectile Class.")) +class OBJPOOL_API UPooledSplineProjectile : public UActorComponent { + GENERATED_BODY() + // + UPooledSplineProjectile(); + // + friend class APooledActor; + friend class APooledPawn; + friend class UObjectPool; +protected: + FHitResult HitResult; + float PathDistance; + // + UPROPERTY() APooledPawn* POwner; + UPROPERTY() APooledActor* AOwner; + UPROPERTY() UPrimitiveComponent* Primitive; + UPROPERTY() USplineComponent* SplineComponent; +public: + virtual void PostInitProperties() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + // + // + UPROPERTY(Category="Projectile", EditAnywhere, BlueprintReadWrite) + float PathWidth; + // + UPROPERTY(Category="Projectile", EditAnywhere, BlueprintReadWrite) + float Speed; + // + UPROPERTY(Category="Projectile", EditAnywhere, BlueprintReadWrite) + TArray>PathCollisionQueryTypes; + // + UPROPERTY(Category="Projectile", EditAnywhere, BlueprintReadWrite) + TArrayIgnoredActorsOnCollisionQuery; + // + UPROPERTY(Category="Projectile", EditAnywhere, BlueprintReadWrite) + TEnumAsByteCollisionQueryDebugMode; + // + // + /// Event called every time this Projectile hits something. + UPROPERTY(Category="Projectile", BlueprintAssignable) + FOBJP_ProjectileHit OnProjectileHit; + // + // + /// Returns reference to the Spline Component used as track path. + UFUNCTION(Category = "Projectile", BlueprintCallable, meta = (DisplayName="Get Projectile Spline Component", Keywords="get projectile spline")) + USplineComponent* GetSplineComponent() const; + // + /// Defines reference to the target Spline Component used as track path. + UFUNCTION(Category = "Projectile", BlueprintCallable, meta = (DisplayName="Set Spline Component", Keywords="get projectile spline")) + void SetSplineComponent(USplineComponent* Target); + // + /// Manually fire this Projectile, instead of relying on Component Initialization. + UFUNCTION(Category = "Projectile", BlueprintNativeEvent, meta = (DisplayName="Shoot", Keywords="shoot projectile")) + void Shoot(); virtual void Shoot_Implementation(); + // + /// Manually stops this Projectile, instead of relying on Component Destruction. + UFUNCTION(Category = "Projectile", BlueprintNativeEvent, meta = (DisplayName="Break", Keywords="break projectile")) + void Break(); virtual void Break_Implementation(); +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromPool.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromPool.h new file mode 100644 index 0000000..b859ebe --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromPool.h @@ -0,0 +1,77 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" + +#include "K2Node.h" +#include "CoreMinimal.h" +#include "Textures/SlateIcon.h" +#include "UObject/ObjectMacros.h" +#include "EdGraph/EdGraphNodeUtils.h" + +#include "K2Node_SpawnActorFromPool.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FBlueprintActionDatabaseRegistrar; +class UEdGraph; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCLASS() +class OBJPOOLDEVELOPER_API UK2Node_SpawnActorFromPool : public UK2Node { + GENERATED_UCLASS_BODY() +private: + void MaybeUpdateCollisionPin(TArray &OldPins); +protected: + FText NodeTooltip; + FNodeTextCache CachedNodeTitle; + // + void OnClassPinChanged(); +public: + virtual void PostPlacedNewNode() override; + virtual void AllocateDefaultPins() override; + virtual FText GetTooltipText() const override; + virtual FLinearColor GetNodeTitleColor() const override; + virtual void PinDefaultValueChanged(UEdGraphPin* Pin) override; + virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; + virtual FSlateIcon GetIconAndTint(FLinearColor &OutColor) const override; + virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; + virtual bool IsCompatibleWithGraph(const UEdGraph* TargetGraph) const override; + virtual bool HasExternalDependencies(TArray* OptionalOutput) const override; + virtual void GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const override; + virtual void ExpandNode(FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) override; + // + virtual FText GetMenuCategory() const override; + virtual bool IsNodeSafeToIgnore() const override {return true;} + virtual void ReallocatePinsDuringReconstruction(TArray &OldPins) override; + virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const override; + virtual void GetNodeAttributes(TArray> &OutNodeAttributes ) const override; + virtual class FNodeHandlingFunctor* CreateNodeHandler(FKismetCompilerContext &CompilerContext) const override; + // + bool IsNodeBasePin(UEdGraphPin* Pin); + void CreatePinsForClass(UClass* InClass, TArray* OutClassPins = nullptr); + // + UEdGraphPin* GetThenPin() const; + UEdGraphPin* GetOwnerPin() const; + UEdGraphPin* GetResultPin() const; + UEdGraphPin* GetSuccessPin() const; + UEdGraphPin* GetReconstructPin() const; + UEdGraphPin* GetWorldContextPin() const; + UEdGraphPin* GetSpawnOptionsPin() const; + UEdGraphPin* GetSpawnTransformPin() const; + UEdGraphPin* GetCollisionHandlingOverridePin() const; + UEdGraphPin* GetPoolPin(const TArray* InPinsToSearch=nullptr) const; + UEdGraphPin* GetTemplatePin(const TArray* InPinsToSearch=nullptr) const; + // + UClass* GetClassToSpawn(const TArray* InPinsToSearch=nullptr) const; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromSharedPool.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromSharedPool.h new file mode 100644 index 0000000..120aa59 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnActorFromSharedPool.h @@ -0,0 +1,77 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" + +#include "K2Node.h" +#include "CoreMinimal.h" +#include "Textures/SlateIcon.h" +#include "UObject/ObjectMacros.h" +#include "EdGraph/EdGraphNodeUtils.h" + +#include "K2Node_SpawnActorFromSharedPool.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FBlueprintActionDatabaseRegistrar; +class UEdGraph; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCLASS() +class OBJPOOLDEVELOPER_API UK2Node_SpawnActorFromSharedPool : public UK2Node { + GENERATED_UCLASS_BODY() +private: + void MaybeUpdateCollisionPin(TArray &OldPins); +protected: + FText NodeTooltip; + FNodeTextCache CachedNodeTitle; + // + void OnClassPinChanged(); +public: + virtual void PostPlacedNewNode() override; + virtual void AllocateDefaultPins() override; + virtual FText GetTooltipText() const override; + virtual FLinearColor GetNodeTitleColor() const override; + virtual void PinDefaultValueChanged(UEdGraphPin* Pin) override; + virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; + virtual FSlateIcon GetIconAndTint(FLinearColor &OutColor) const override; + virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; + virtual bool IsCompatibleWithGraph(const UEdGraph* TargetGraph) const override; + virtual bool HasExternalDependencies(TArray* OptionalOutput) const override; + virtual void GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const override; + virtual void ExpandNode(FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) override; + // + virtual FText GetMenuCategory() const override; + virtual bool IsNodeSafeToIgnore() const override {return true;} + virtual void ReallocatePinsDuringReconstruction(TArray &OldPins) override; + virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const override; + virtual void GetNodeAttributes(TArray> &OutNodeAttributes ) const override; + virtual class FNodeHandlingFunctor* CreateNodeHandler(FKismetCompilerContext &CompilerContext) const override; + // + bool IsNodeBasePin(UEdGraphPin* Pin); + void CreatePinsForClass(UClass* InClass, TArray* OutClassPins = nullptr); + // + UEdGraphPin* GetThenPin() const; + UEdGraphPin* GetOwnerPin() const; + UEdGraphPin* GetResultPin() const; + UEdGraphPin* GetSuccessPin() const; + UEdGraphPin* GetReconstructPin() const; + UEdGraphPin* GetWorldContextPin() const; + UEdGraphPin* GetSpawnOptionsPin() const; + UEdGraphPin* GetSpawnTransformPin() const; + UEdGraphPin* GetCollisionHandlingOverridePin() const; + UEdGraphPin* GetPoolPin(const TArray* InPinsToSearch=nullptr) const; + UEdGraphPin* GetTemplatePin(const TArray* InPinsToSearch=nullptr) const; + // + UClass* GetClassToSpawn(const TArray* InPinsToSearch=nullptr) const; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnCharacterFromPool.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnCharacterFromPool.h new file mode 100644 index 0000000..92671cb --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnCharacterFromPool.h @@ -0,0 +1,77 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" + +#include "K2Node.h" +#include "CoreMinimal.h" +#include "Textures/SlateIcon.h" +#include "UObject/ObjectMacros.h" +#include "EdGraph/EdGraphNodeUtils.h" + +#include "K2Node_SpawnCharacterFromPool.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FBlueprintActionDatabaseRegistrar; +class UEdGraph; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCLASS() +class OBJPOOLDEVELOPER_API UK2Node_SpawnCharacterFromPool : public UK2Node { + GENERATED_UCLASS_BODY() +private: + void MaybeUpdateCollisionPin(TArray &OldPins); +protected: + FText NodeTooltip; + FNodeTextCache CachedNodeTitle; + // + void OnClassPinChanged(); +public: + virtual void PostPlacedNewNode() override; + virtual void AllocateDefaultPins() override; + virtual FText GetTooltipText() const override; + virtual FLinearColor GetNodeTitleColor() const override; + virtual void PinDefaultValueChanged(UEdGraphPin* Pin) override; + virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; + virtual FSlateIcon GetIconAndTint(FLinearColor &OutColor) const override; + virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; + virtual bool IsCompatibleWithGraph(const UEdGraph* TargetGraph) const override; + virtual bool HasExternalDependencies(TArray* OptionalOutput) const override; + virtual void GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const override; + virtual void ExpandNode(FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) override; + // + virtual FText GetMenuCategory() const override; + virtual bool IsNodeSafeToIgnore() const override {return true;} + virtual void ReallocatePinsDuringReconstruction(TArray &OldPins) override; + virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const override; + virtual void GetNodeAttributes(TArray> &OutNodeAttributes ) const override; + virtual class FNodeHandlingFunctor* CreateNodeHandler(FKismetCompilerContext &CompilerContext) const override; + // + bool IsNodeBasePin(UEdGraphPin* Pin); + void CreatePinsForClass(UClass* InClass, TArray* OutClassPins = nullptr); + // + UEdGraphPin* GetThenPin() const; + UEdGraphPin* GetOwnerPin() const; + UEdGraphPin* GetResultPin() const; + UEdGraphPin* GetSuccessPin() const; + UEdGraphPin* GetReconstructPin() const; + UEdGraphPin* GetWorldContextPin() const; + UEdGraphPin* GetSpawnOptionsPin() const; + UEdGraphPin* GetSpawnTransformPin() const; + UEdGraphPin* GetCollisionHandlingOverridePin() const; + UEdGraphPin* GetPoolPin(const TArray* InPinsToSearch=nullptr) const; + UEdGraphPin* GetTemplatePin(const TArray* InPinsToSearch=nullptr) const; + // + UClass* GetClassToSpawn(const TArray* InPinsToSearch=nullptr) const; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnPawnFromPool.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnPawnFromPool.h new file mode 100644 index 0000000..6539e43 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Classes/K2Node_SpawnPawnFromPool.h @@ -0,0 +1,77 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" + +#include "K2Node.h" +#include "CoreMinimal.h" +#include "Textures/SlateIcon.h" +#include "UObject/ObjectMacros.h" +#include "EdGraph/EdGraphNodeUtils.h" + +#include "K2Node_SpawnPawnFromPool.generated.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FBlueprintActionDatabaseRegistrar; +class UEdGraph; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCLASS() +class OBJPOOLDEVELOPER_API UK2Node_SpawnPawnFromPool : public UK2Node { + GENERATED_UCLASS_BODY() +private: + void MaybeUpdateCollisionPin(TArray &OldPins); +protected: + FText NodeTooltip; + FNodeTextCache CachedNodeTitle; + // + void OnClassPinChanged(); +public: + virtual void PostPlacedNewNode() override; + virtual void AllocateDefaultPins() override; + virtual FText GetTooltipText() const override; + virtual FLinearColor GetNodeTitleColor() const override; + virtual void PinDefaultValueChanged(UEdGraphPin* Pin) override; + virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; + virtual FSlateIcon GetIconAndTint(FLinearColor &OutColor) const override; + virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; + virtual bool IsCompatibleWithGraph(const UEdGraph* TargetGraph) const override; + virtual bool HasExternalDependencies(TArray* OptionalOutput) const override; + virtual void GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const override; + virtual void ExpandNode(FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) override; + // + virtual FText GetMenuCategory() const override; + virtual bool IsNodeSafeToIgnore() const override {return true;} + virtual void ReallocatePinsDuringReconstruction(TArray &OldPins) override; + virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const override; + virtual void GetNodeAttributes(TArray> &OutNodeAttributes ) const override; + virtual class FNodeHandlingFunctor* CreateNodeHandler(FKismetCompilerContext &CompilerContext) const override; + // + bool IsNodeBasePin(UEdGraphPin* Pin); + void CreatePinsForClass(UClass* InClass, TArray* OutClassPins = nullptr); + // + UEdGraphPin* GetThenPin() const; + UEdGraphPin* GetOwnerPin() const; + UEdGraphPin* GetResultPin() const; + UEdGraphPin* GetSuccessPin() const; + UEdGraphPin* GetReconstructPin() const; + UEdGraphPin* GetWorldContextPin() const; + UEdGraphPin* GetSpawnOptionsPin() const; + UEdGraphPin* GetSpawnTransformPin() const; + UEdGraphPin* GetCollisionHandlingOverridePin() const; + UEdGraphPin* GetPoolPin(const TArray* InPinsToSearch=nullptr) const; + UEdGraphPin* GetTemplatePin(const TArray* InPinsToSearch=nullptr) const; + // + UClass* GetClassToSpawn(const TArray* InPinsToSearch=nullptr) const; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/OBJPoolDeveloper.Build.cs b/Plugins/ObjectPool/Source/OBJPoolDeveloper/OBJPoolDeveloper.Build.cs new file mode 100644 index 0000000..6d01fe5 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/OBJPoolDeveloper.Build.cs @@ -0,0 +1,37 @@ +using UnrealBuildTool; + +public class OBJPoolDeveloper : ModuleRules { + public OBJPoolDeveloper(ReadOnlyTargetRules Target) : base(Target) { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + IWYUSupport = IWYUSupport.None; + // + PublicDependencyModuleNames.AddRange( + new string[] { + "Core", + "Slate", + "Engine", + "OBJPool", + "SlateCore", + "CoreUObject" + } + ); + // + PrivateDependencyModuleNames.AddRange( + new string[] { + "Projects", + "KismetCompiler" + } + ); + // + if (Target.bBuildEditor==true) { + PrivateDependencyModuleNames.AddRange( + new string[] { + "UnrealEd", + "LevelEditor", + "PropertyEditor", + "BlueprintGraph" + } + ); + } + } +} \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/IOBJPoolDeveloper.cpp b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/IOBJPoolDeveloper.cpp new file mode 100644 index 0000000..60dbc65 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/IOBJPoolDeveloper.cpp @@ -0,0 +1,15 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "IOBJPoolDeveloper.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_MODULE(OBJPoolDeveloper,OBJPoolDeveloper); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromPool.cpp b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromPool.cpp new file mode 100644 index 0000000..3bdb8ca --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromPool.cpp @@ -0,0 +1,656 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "K2Node_SpawnActorFromPool.h" + +#include "GameFramework/Actor.h" +#include "UObject/UnrealType.h" +#include "Engine/EngineTypes.h" + +#include "Kismet2/BlueprintEditorUtils.h" +#include "Kismet/GameplayStatics.h" +#include "KismetCompilerMisc.h" +#include "KismetCompiler.h" + +#include "BlueprintActionDatabaseRegistrar.h" +#include "BlueprintNodeSpawner.h" +#include "EditorCategoryUtils.h" +#include "EdGraphSchema_K2.h" +#include "EdGraph/EdGraph.h" + +#include "K2Node_CallFunction.h" +#include "K2Node_EnumLiteral.h" +#include "K2Node_Select.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct FK2Node_SpawnActorFromPoolHelper { + static FName PoolPinName; + static FName ActorPinName; + static FName OwnerPinName; + static FName SuccessPinName; + static FName TemplatePinName; + static FName ReconstructPinName; + static FName WorldContextPinName; + static FName SpawnOptionsPinName; + static FName SpawnTransformPinName; + static FName NoCollisionFailPinName; + static FName CollisionHandlingOverridePinName; +}; + +FName FK2Node_SpawnActorFromPoolHelper::ActorPinName(TEXT("Actor")); +FName FK2Node_SpawnActorFromPoolHelper::OwnerPinName(TEXT("Owner")); +FName FK2Node_SpawnActorFromPoolHelper::PoolPinName(TEXT("ObjectPool")); +FName FK2Node_SpawnActorFromPoolHelper::TemplatePinName(TEXT("PooledClass")); +FName FK2Node_SpawnActorFromPoolHelper::ReconstructPinName(TEXT("Reconstruct")); +FName FK2Node_SpawnActorFromPoolHelper::SuccessPinName(TEXT("SpawnSuccessful")); +FName FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName(TEXT("SpawnOptions")); +FName FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName(TEXT("SpawnTransform")); +FName FK2Node_SpawnActorFromPoolHelper::WorldContextPinName(TEXT("WorldContextObject")); +FName FK2Node_SpawnActorFromPoolHelper::NoCollisionFailPinName(TEXT("SpawnEvenIfColliding")); +FName FK2Node_SpawnActorFromPoolHelper::CollisionHandlingOverridePinName(TEXT("CollisionHandlingOverride")); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UK2Node_SpawnActorFromPool::UK2Node_SpawnActorFromPool(const FObjectInitializer &ObjectInitializer) : Super(ObjectInitializer) { + NodeTooltip = LOCTEXT("NodeTooltip", "Attempts to Spawn from Pool an Inactive Actor. Creates then Spawns a fully new Actor if there's none available in the Pool and 'Instantiate On Demand' is checked on Project Settings."); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +FText UK2Node_SpawnActorFromPool::GetNodeTitle(ENodeTitleType::Type TitleType) const { + FText NodeTitle = NSLOCTEXT("K2Node","SpawnActorFromPool_BaseTitle","Spawn Actor From Pool ..."); + // + UEdGraphPin* PoolPin = GetPoolPin(); + if (!PoolPin||(PoolPin->LinkedTo.Num()==0)) {return NodeTitle;} + // + if (TitleType != ENodeTitleType::MenuTitle) { + if (UEdGraphPin* ClassPin = GetTemplatePin()) { + if (ClassPin->LinkedTo.Num()>0) { + NodeTitle = NSLOCTEXT("K2Node","SpawnActorFromPool_Unknown","Spawn Actor From Pool"); + } else if (ClassPin->DefaultObject == nullptr) { + NodeTitle = NSLOCTEXT("K2Node", "SpawnActorFromPool_NONE", "Spawn Actor From Pool (NONE)"); + } else { + if (CachedNodeTitle.IsOutOfDate(this)) { + FText ClassName; + if (UClass* PickedClass = Cast(ClassPin->DefaultObject)) {ClassName=PickedClass->GetDisplayNameText();} + // + FFormatNamedArguments Args; + Args.Add(TEXT("Name"),ClassName); + CachedNodeTitle.SetCachedText(FText::Format(NSLOCTEXT("K2Node","SpawnActorFromPool_Class","Spawn Actor From Pool :: {Name}"),Args),this); + } NodeTitle = CachedNodeTitle; + } + } else {NodeTitle=NSLOCTEXT("K2Node","SpawnActor_Title_NONE","SpawnActor NONE");} + } return NodeTitle; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromPool::AllocateDefaultPins() { + Super::AllocateDefaultPins(); Pins.Empty(); + // + // + UScriptStruct* TransformStruct = TBaseStructure::Get(); + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEnum* const CHO_Enum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"),true); + // + /// Execution Pins. + FEdGraphPinType PNT_Exec(K2Schema->PC_Exec,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Bool(K2Schema->PC_Boolean,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_CHO_Enum(K2Schema->PC_Byte,TEXT(""),CHO_Enum,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Transform(K2Schema->PC_Struct,TEXT(""),TransformStruct,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Owner(K2Schema->PC_Object,TEXT(""),AActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Object(K2Schema->PC_Object,TEXT(""),UObject::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Class(K2Schema->PC_Class,TEXT(""),APooledActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Result(K2Schema->PC_Object,TEXT(""),APooledActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_OBJPool(K2Schema->PC_Object,TEXT(""),UObjectPool::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_SpawnOptions(K2Schema->PC_Struct,TEXT(""),FPoolSpawnOptions::StaticStruct(),EPinContainerType::None,false,FEdGraphTerminalType()); + // + UEdGraphPin* PIN_Spawn = CreatePin(EGPD_Input,PNT_Exec,K2Schema->PN_Execute); + UEdGraphPin* PIN_Finish = CreatePin(EGPD_Output,PNT_Exec,K2Schema->PN_Then); + // + PIN_Spawn->PinFriendlyName = LOCTEXT("Spawn","Spawn"); + PIN_Finish->PinFriendlyName = LOCTEXT("Finished","Finished Spawning"); + // + // + /// World Context Pin. + if (GetBlueprint()->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin)) { + CreatePin(EGPD_Input,PNT_Object,FK2Node_SpawnActorFromPoolHelper::WorldContextPinName); + } + // + /// Pooled Class Pin. + UEdGraphPin* PIN_Class = CreatePin(EGPD_Input,PNT_Class,FK2Node_SpawnActorFromPoolHelper::TemplatePinName); + // + /// Pool Pin. + UEdGraphPin* PIN_Pool = CreatePin(EGPD_Input,PNT_OBJPool,FK2Node_SpawnActorFromPoolHelper::PoolPinName); + // + /// Collision Handling Pin. + UEdGraphPin* const PIN_CollisionHandlingOverride = CreatePin(EGPD_Input,PNT_CHO_Enum,FK2Node_SpawnActorFromPoolHelper::CollisionHandlingOverridePinName); + PIN_CollisionHandlingOverride->DefaultValue = CHO_Enum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::Undefined)); + // + /// Default Pins. + UEdGraphPin* PIN_Transform = CreatePin(EGPD_Input,PNT_Transform,FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* PIN_Options = CreatePin(EGPD_Input,PNT_SpawnOptions,FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* PIN_Reconstruct = CreatePin(EGPD_Input,PNT_Bool,FK2Node_SpawnActorFromPoolHelper::ReconstructPinName); + UEdGraphPin* PIN_Success = CreatePin(EGPD_Output,PNT_Bool,FK2Node_SpawnActorFromPoolHelper::SuccessPinName); + UEdGraphPin* PIN_Result = CreatePin(EGPD_Output,PNT_Result,K2Schema->PN_ReturnValue); + // + /// Owner Pin. + UEdGraphPin* PIN_Owner = CreatePin(EGPD_Input,PNT_Owner,FK2Node_SpawnActorFromPoolHelper::OwnerPinName); + PIN_Owner->bAdvancedView = true; + // + // + if (ENodeAdvancedPins::NoPins==AdvancedPinDisplay) { + AdvancedPinDisplay = ENodeAdvancedPins::Hidden; + } + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UClass* UK2Node_SpawnActorFromPool::GetClassToSpawn(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UClass* ClassToSpawn = nullptr; + UEdGraphPin* ClassPin = GetTemplatePin(PinsToSearch); + // + if (ClassPin && ClassPin->DefaultObject && ClassPin->LinkedTo.Num()==0) { + ClassToSpawn = CastChecked(ClassPin->DefaultObject); + } else if (ClassPin && ClassPin->LinkedTo.Num()) { + UEdGraphPin* ClassSource = ClassPin->LinkedTo[0]; + ClassToSpawn = ClassSource ? Cast(ClassSource->PinType.PinSubCategoryObject.Get()) : nullptr; + } + // + return ClassToSpawn; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromPool::CreatePinsForClass(UClass* InClass, TArray* OutClassPins) { + if (InClass==nullptr) {return;} + // + const UEdGraphSchema_K2* K2Schema = GetDefault(); + const UObject* const ClassDefaultObject = InClass->GetDefaultObject(false); + // + for (TFieldIterator PIT(InClass, EFieldIteratorFlags::IncludeSuper); PIT; ++PIT) { + FProperty* Property = *PIT; + UClass* PropertyClass = CastChecked(Property->GetOwner()); + // + const bool bIsDelegate = Property->IsA(FMulticastDelegateProperty::StaticClass()); + const bool bIsExposedToSpawn = UEdGraphSchema_K2::IsPropertyExposedOnSpawn(Property); + const bool bIsSettableExternally = !Property->HasAnyPropertyFlags(CPF_DisableEditOnInstance); + // + if (bIsExposedToSpawn && !Property->HasAnyPropertyFlags(CPF_Parm) && bIsSettableExternally && Property->HasAllPropertyFlags(CPF_BlueprintVisible) + && !bIsDelegate && (nullptr==FindPin(Property->GetFName())) && FBlueprintEditorUtils::PropertyStillExists(Property)) { + if (UEdGraphPin* Pin = CreatePin(EGPD_Input,NAME_None,Property->GetFName())) { + K2Schema->ConvertPropertyToPinType(Property,Pin->PinType); + if (OutClassPins) {OutClassPins->Add(Pin);} + // + if (ClassDefaultObject && K2Schema->PinDefaultValueIsEditable(*Pin)) { + FString DefaultValueAsString; + const bool bDefaultValueSet = FBlueprintEditorUtils::PropertyValueToString(Property,reinterpret_cast(ClassDefaultObject),DefaultValueAsString); + // + K2Schema->SetPinAutogeneratedDefaultValue(Pin,DefaultValueAsString); + } K2Schema->ConstructBasicPinTooltip(*Pin,Property->GetToolTipText(),Pin->PinToolTip); + }} + } + // + UEdGraphPin* ResultPin = GetResultPin(); + ResultPin->PinType.PinSubCategoryObject = InClass->GetAuthoritativeClass(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromPool::ExpandNode(class FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) { + Super::ExpandNode(CompilerContext,SourceGraph); + // + if (!IsValid(this)||!IsValid(SourceGraph)) {BreakAllNodeLinks(); return;} + static FName BeginSpawningBlueprintFuncName = GET_FUNCTION_NAME_CHECKED(UObjectPool,BeginDeferredSpawnFromPool); + static FName FinishSpawningFuncName = GET_FUNCTION_NAME_CHECKED(UObjectPool,FinishDeferredSpawnFromPool); + // + UK2Node_SpawnActorFromPool* SpawnNode = this; + UEdGraphPin* SpawnPoolPin = SpawnNode->GetPoolPin(); + UEdGraphPin* SpawnNodeExec = SpawnNode->GetExecPin(); + UEdGraphPin* SpawnNodeThen = SpawnNode->GetThenPin(); + UEdGraphPin* SpawnNodeResult = SpawnNode->GetResultPin(); + UEdGraphPin* SpawnSuccessPin = SpawnNode->GetSuccessPin(); + UEdGraphPin* SpawnNodeOwnerPin = SpawnNode->GetOwnerPin(); + UEdGraphPin* SpawnTemplatePin = SpawnNode->GetTemplatePin(); + UEdGraphPin* SpawnNodeOptions = SpawnNode->GetSpawnOptionsPin(); + UEdGraphPin* SpawnWorldContextPin = SpawnNode->GetWorldContextPin(); + UEdGraphPin* SpawnNodeTransform = SpawnNode->GetSpawnTransformPin(); + UEdGraphPin* SpawnNodeReconstructPin = SpawnNode->GetReconstructPin(); + UEdGraphPin* SpawnNodeCollisionHandlingOverride = GetCollisionHandlingOverridePin(); + // + // + if (!SpawnPoolPin||(SpawnPoolPin->LinkedTo.Num()==0)) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnActorFromPool_Pool_Error","Spawn Node: @@ must have a @@ specified!").ToString(),SpawnNode,SpawnPoolPin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UClass* ClassToSpawn = GetClassToSpawn(); + if (ClassToSpawn==nullptr) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnActorFromPool_Pool_Error","Spawn Node: @@ must be a valid Template @@ within target Pool Component (check Component Default 'Template Classes' Map).").ToString(),SpawnNode,SpawnTemplatePin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UK2Node_CallFunction* CallBeginSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallBeginSpawnNode->FunctionReference.SetExternalMember(BeginSpawningBlueprintFuncName,UObjectPool::StaticClass()); + CallBeginSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallBeginExec = CallBeginSpawnNode->GetExecPin(); + UEdGraphPin* CallBeginResult = CallBeginSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallBeginOwnerPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::OwnerPinName); + UEdGraphPin* CallBeginActorPoolPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::PoolPinName); + UEdGraphPin* CallBeginSuccessPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SuccessPinName); + UEdGraphPin* CallBeginTemplatePin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::TemplatePinName); + UEdGraphPin* CallBeginOptions = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* CallBeginTransform = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* CallBeginReconstructPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallBeginWorldContextPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::WorldContextPinName); + UEdGraphPin* CallBeginCollisionHandlingOverride = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::CollisionHandlingOverridePinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeExec,*CallBeginExec); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOptions,*CallBeginOptions); + CompilerContext.MovePinLinksToIntermediate(*SpawnPoolPin,*CallBeginActorPoolPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnSuccessPin,*CallBeginSuccessPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeTransform,*CallBeginTransform); + CompilerContext.MovePinLinksToIntermediate(*SpawnTemplatePin,*CallBeginTemplatePin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeReconstructPin,*CallBeginReconstructPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeCollisionHandlingOverride,*CallBeginCollisionHandlingOverride); + // + if (SpawnWorldContextPin) {CompilerContext.MovePinLinksToIntermediate(*SpawnWorldContextPin,*CallBeginWorldContextPin);} + if (SpawnNodeOwnerPin!=nullptr) {CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOwnerPin,*CallBeginOwnerPin);} + // + // + UK2Node_CallFunction* CallFinishSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallFinishSpawnNode->FunctionReference.SetExternalMember(FinishSpawningFuncName,UObjectPool::StaticClass()); + CallFinishSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallFinishExec = CallFinishSpawnNode->GetExecPin(); + UEdGraphPin* CallFinishThen = CallFinishSpawnNode->GetThenPin(); + UEdGraphPin* CallFinishResult = CallFinishSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallFinishActor = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::ActorPinName); + UEdGraphPin* CallFinishReconstruct = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallFinishTransform = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeThen,*CallFinishThen); + CompilerContext.CopyPinLinksToIntermediate(*CallBeginTransform,*CallFinishTransform); + CompilerContext.MovePinLinksToIntermediate(*CallBeginReconstructPin,*CallFinishReconstruct); + // + CallBeginResult->MakeLinkTo(CallFinishActor); + CallFinishResult->PinType = SpawnNodeResult->PinType; + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeResult,*CallFinishResult); + // + // + UEdGraphPin* LastThen = FKismetCompilerUtilities::GenerateAssignmentNodes(CompilerContext,SourceGraph,CallBeginSpawnNode,SpawnNode,CallBeginResult,ClassToSpawn); + LastThen->MakeLinkTo(CallFinishExec); + // + SpawnNode->BreakAllNodeLinks(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromPool::MaybeUpdateCollisionPin(TArray &OldPins) { + for (UEdGraphPin* Pin : OldPins) { + if (Pin->PinName == FK2Node_SpawnActorFromPoolHelper::NoCollisionFailPinName) { + bool bHadOldCollisionPin = true; + if (Pin->LinkedTo.Num() == 0) { + bool const bOldCollisionPinValue = (Pin->DefaultValue == FString(TEXT("true"))); + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin) { + UEnum const* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + CollisionHandlingOverridePin->DefaultValue = + bOldCollisionPinValue + ? MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)) + : MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + } + } else { + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin==nullptr) {return;} + // + UEnum* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + // + FGraphNodeCreator AlwaysSpawnLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AlwaysSpawnLiteralNode = AlwaysSpawnLiteralCreator.CreateNode(); + AlwaysSpawnLiteralNode->Enum = MethodEnum; + AlwaysSpawnLiteralNode->NodePosX = NodePosX; + AlwaysSpawnLiteralNode->NodePosY = NodePosY; + AlwaysSpawnLiteralCreator.Finalize(); + // + FGraphNodeCreator AdjustIfNecessaryLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AdjustIfNecessaryLiteralNode = AdjustIfNecessaryLiteralCreator.CreateNode(); + AdjustIfNecessaryLiteralNode->Enum = MethodEnum; + AdjustIfNecessaryLiteralNode->NodePosX = NodePosX; + AdjustIfNecessaryLiteralNode->NodePosY = NodePosY; + AdjustIfNecessaryLiteralCreator.Finalize(); + // + FGraphNodeCreator SelectCreator(*GetGraph()); + UK2Node_Select* const SelectNode = SelectCreator.CreateNode(); + SelectNode->NodePosX = NodePosX; + SelectNode->NodePosY = NodePosY; + SelectCreator.Finalize(); + // + auto FindEnumInputPin = [](UK2Node_EnumLiteral const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (NodePin->PinName == Node->GetEnumInputPinName()) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeInputPin = FindEnumInputPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralInputPin = FindEnumInputPin(AdjustIfNecessaryLiteralNode); + // + TArray SelectOptionPins; + SelectNode->GetOptionPins(SelectOptionPins); + UEdGraphPin* const SelectIndexPin = SelectNode->GetIndexPin(); + // + auto FindResultPin = [](UK2Node const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (EEdGraphPinDirection::EGPD_Output == NodePin->Direction) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeResultPin = FindResultPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralResultPin = FindResultPin(AdjustIfNecessaryLiteralNode); + // + if (AlwaysSpawnLiteralNodeResultPin==nullptr) {return;} + if (AdjustIfNecessaryLiteralResultPin==nullptr) {return;} + // + UEdGraphPin* const OldBoolPin = Pin->LinkedTo[0]; + if (OldBoolPin==nullptr) {return;} + // + AlwaysSpawnLiteralNodeInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)); + AdjustIfNecessaryLiteralInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + // + OldBoolPin->BreakLinkTo(Pin); + OldBoolPin->MakeLinkTo(SelectIndexPin); + // + AlwaysSpawnLiteralNodeResultPin->MakeLinkTo(SelectOptionPins[0]); + AdjustIfNecessaryLiteralResultPin->MakeLinkTo(SelectOptionPins[1]); + // + UEdGraphPin* const SelectOutputPin = SelectNode->GetReturnValuePin(); + if (SelectOutputPin==nullptr) {return;} + // + SelectOutputPin->MakeLinkTo(CollisionHandlingOverridePin); + // + SelectNode->NotifyPinConnectionListChanged(SelectIndexPin); + SelectNode->NotifyPinConnectionListChanged(SelectOutputPin); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[0]); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[1]); + } + } + } +} + +void UK2Node_SpawnActorFromPool::ReallocatePinsDuringReconstruction(TArray &OldPins) { + AllocateDefaultPins(); + // + UClass* ClassToSpawn = GetClassToSpawn(&OldPins); + // + if (ClassToSpawn) { + TArrayClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } + // + MaybeUpdateCollisionPin(OldPins); + RestoreSplitPins(OldPins); +} + +bool UK2Node_SpawnActorFromPool::IsNodeBasePin(UEdGraphPin* Pin) { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* ParentPin = Pin->ParentPin; + while (ParentPin) { + if (ParentPin->PinName == FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName) {return false;} + if (ParentPin->PinName == FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName) {return false;} + ParentPin=ParentPin->ParentPin;} + // + return ( + Pin->PinName != K2Schema->PN_Then && + Pin->PinName != K2Schema->PN_Execute && + Pin->PinName != K2Schema->PN_ReturnValue && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::PoolPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::OwnerPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::SuccessPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::TemplatePinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::ReconstructPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::WorldContextPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName && + Pin->PinName != FK2Node_SpawnActorFromPoolHelper::CollisionHandlingOverridePinName + ); +} + +void UK2Node_SpawnActorFromPool::PostPlacedNewNode() { + Super::PostPlacedNewNode(); + // + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn != nullptr) { + TArray ClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } +} + +void UK2Node_SpawnActorFromPool::OnClassPinChanged() { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + TArray OldPins = Pins; + TArray OldClassPins; + // + for (int32 I=0; I NewClassPins; + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) {CreatePinsForClass(ClassToSpawn,&NewClassPins);} + // + UEdGraphPin* ResultPin = GetResultPin(); + TArray ResultPinConnectionList = ResultPin->LinkedTo; + ResultPin->BreakAllPinLinks(); + // + for (UEdGraphPin* Connections : ResultPinConnectionList) { + K2Schema->TryCreateConnection(ResultPin,Connections); + } + // + TMapNewPinsToOldPins; + RewireOldPinsToNewPins(OldClassPins,NewClassPins,&NewPinsToOldPins); + // + DestroyPinList(OldClassPins); + // + UEdGraph* Graph = GetGraph(); + Graph->NotifyGraphChanged(); + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +void UK2Node_SpawnActorFromPool::PinConnectionListChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +void UK2Node_SpawnActorFromPool::PinDefaultValueChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetThenPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_Then); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetPoolPin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnActorFromPoolHelper::PoolPinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetTemplatePin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnActorFromPoolHelper::TemplatePinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetSpawnOptionsPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetSpawnTransformPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnActorFromPoolHelper::SpawnTransformPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetCollisionHandlingOverridePin() const { + UEdGraphPin* const Pin = FindPinChecked(FK2Node_SpawnActorFromPoolHelper::CollisionHandlingOverridePinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetOwnerPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromPoolHelper::OwnerPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetReconstructPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromPoolHelper::ReconstructPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetWorldContextPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromPoolHelper::WorldContextPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetSuccessPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromPoolHelper::SuccessPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromPool::GetResultPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_ReturnValue); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +FLinearColor UK2Node_SpawnActorFromPool::GetNodeTitleColor() const { + FColor Color = FColor(0.f,255.f,245.f); + return FLinearColor(Color); +} + +bool UK2Node_SpawnActorFromPool::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const { + UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForGraph(TargetGraph); + return Super::IsCompatibleWithGraph(TargetGraph) && (!Blueprint || (FBlueprintEditorUtils::FindUserConstructionScript(Blueprint) != TargetGraph && Blueprint->GeneratedClass->GetDefaultObject()->ImplementsGetWorld())); +} + +void UK2Node_SpawnActorFromPool::GetNodeAttributes( TArray> &OutNodeAttributes ) const { + UClass* ClassToSpawn = GetClassToSpawn(); + // + const FString ClassToSpawnStr = ClassToSpawn ? ClassToSpawn->GetName() : TEXT("InvalidClass"); + // + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeType"),TEXT("SpawnActorFromPool"))); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeClass"),GetClass()->GetName())); + OutNodeAttributes.Add(TKeyValuePair(TEXT("SpawnClass"),ClassToSpawnStr)); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeName"),GetName())); +} + +FNodeHandlingFunctor* UK2Node_SpawnActorFromPool::CreateNodeHandler(FKismetCompilerContext &CompilerContext) const { + return new FNodeHandlingFunctor(CompilerContext); +} + +bool UK2Node_SpawnActorFromPool::HasExternalDependencies(TArray* OptionalOutput) const { + UClass* SourceClass = GetClassToSpawn(); + // + const UBlueprint* SourceBlueprint = GetBlueprint(); + const bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint); + // + if (bResult && OptionalOutput) {OptionalOutput->AddUnique(SourceClass);} + const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput); + // + return bSuperResult || bResult; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromPool::GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + if (UEdGraphPin* PoolPin = GetPoolPin()) { + K2Schema->ConstructBasicPinTooltip(*PoolPin,LOCTEXT("PoolPinDescription","The Pool Owner of Actor Instance."),PoolPin->PinToolTip); + }if (UEdGraphPin* ClassPin = GetTemplatePin()) { + K2Schema->ConstructBasicPinTooltip(*ClassPin,LOCTEXT("ClassPinDescription","The Class to Spawn. Target Pool must have this Class as member of its Templates Map (Properties on Details Panel)."),ClassPin->PinToolTip); + } if (UEdGraphPin* TransformPin = GetSpawnTransformPin()) { + K2Schema->ConstructBasicPinTooltip(*TransformPin,LOCTEXT("TransformPinDescription","The transform to spawn the Actor with"),TransformPin->PinToolTip); + } if (UEdGraphPin* CollisionHandlingOverridePin = GetCollisionHandlingOverridePin()) { + K2Schema->ConstructBasicPinTooltip(*CollisionHandlingOverridePin,LOCTEXT("CollisionHandlingOverridePinDescription","Specifies how to handle collisions at the Spawn Point. If undefined,uses Actor Class Settings."),CollisionHandlingOverridePin->PinToolTip); + } if (UEdGraphPin* OwnerPin = GetOwnerPin()) { + K2Schema->ConstructBasicPinTooltip(*OwnerPin,LOCTEXT("OwnerPinDescription","Can be left empty; primarily used for replication or visibility."),OwnerPin->PinToolTip); + } if (UEdGraphPin* ReconstructPin = GetReconstructPin()) { + K2Schema->ConstructBasicPinTooltip(*ReconstructPin,LOCTEXT("ReconstructPinDescription","If checked, this will force the Spawning Actor to re-run its Construction Scripts;\nThis results on expensive respawn operation and will affect performance!\nAvoid pulling Actors every second with this option enabled."),ReconstructPin->PinToolTip); + } if (UEdGraphPin* ResultPin = GetResultPin()) { + K2Schema->ConstructBasicPinTooltip(*ResultPin,LOCTEXT("ResultPinDescription","The Actor Class Spawned from the Pool."),ResultPin->PinToolTip); + } return Super::GetPinHoverText(Pin,HoverTextOut); +} + +FText UK2Node_SpawnActorFromPool::GetTooltipText() const { + return NodeTooltip; +} + +FSlateIcon UK2Node_SpawnActorFromPool::GetIconAndTint(FLinearColor &OutColor) const { + static FSlateIcon Icon(TEXT("OBJPoolStyle"),TEXT("ClassIcon.ObjectPool")); + return Icon; +} + +void UK2Node_SpawnActorFromPool::GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const { + UClass* ActionKey = GetClass(); + // + if (ActionRegistrar.IsOpenForRegistration(ActionKey)) { + UBlueprintNodeSpawner* NodeSpawner = UBlueprintNodeSpawner::Create(GetClass()); + if (NodeSpawner==nullptr) {return;} + // + ActionRegistrar.AddBlueprintAction(ActionKey,NodeSpawner); + } +} + +FText UK2Node_SpawnActorFromPool::GetMenuCategory() const { + return LOCTEXT("PoolCategory","Object Pool"); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromSharedPool.cpp b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromSharedPool.cpp new file mode 100644 index 0000000..0b63882 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnActorFromSharedPool.cpp @@ -0,0 +1,652 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "K2Node_SpawnActorFromSharedPool.h" + +#include "BlueprintActionDatabaseRegistrar.h" +#include "Kismet2/BlueprintEditorUtils.h" +#include "Kismet/GameplayStatics.h" +#include "GameFramework/Actor.h" +#include "BlueprintNodeSpawner.h" +#include "K2Node_CallFunction.h" +#include "EditorCategoryUtils.h" +#include "K2Node_EnumLiteral.h" +#include "UObject/UnrealType.h" +#include "KismetCompilerMisc.h" +#include "Engine/EngineTypes.h" +#include "EdGraphSchema_K2.h" +#include "EdGraph/EdGraph.h" +#include "KismetCompiler.h" +#include "K2Node_Select.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct FK2Node_SpawnActorFromSharedPoolHelper { + static FName PoolPinName; + static FName ActorPinName; + static FName OwnerPinName; + static FName SuccessPinName; + static FName TemplatePinName; + static FName ReconstructPinName; + static FName WorldContextPinName; + static FName SpawnOptionsPinName; + static FName SpawnTransformPinName; + static FName NoCollisionFailPinName; + static FName CollisionHandlingOverridePinName; +}; + +FName FK2Node_SpawnActorFromSharedPoolHelper::ActorPinName(TEXT("Actor")); +FName FK2Node_SpawnActorFromSharedPoolHelper::OwnerPinName(TEXT("Owner")); +FName FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName(TEXT("Class")); +FName FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName(TEXT("SharedPool")); +FName FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName(TEXT("Reconstruct")); +FName FK2Node_SpawnActorFromSharedPoolHelper::SuccessPinName(TEXT("SpawnSuccessful")); +FName FK2Node_SpawnActorFromSharedPoolHelper::SpawnOptionsPinName(TEXT("SpawnOptions")); +FName FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName(TEXT("SpawnTransform")); +FName FK2Node_SpawnActorFromSharedPoolHelper::WorldContextPinName(TEXT("WorldContextObject")); +FName FK2Node_SpawnActorFromSharedPoolHelper::NoCollisionFailPinName(TEXT("SpawnEvenIfColliding")); +FName FK2Node_SpawnActorFromSharedPoolHelper::CollisionHandlingOverridePinName(TEXT("CollisionHandlingOverride")); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UK2Node_SpawnActorFromSharedPool::UK2Node_SpawnActorFromSharedPool(const FObjectInitializer &ObjectInitializer) : Super(ObjectInitializer) { + NodeTooltip = LOCTEXT("NodeTooltip", "Attempts to Spawn from Pool an Inactive Actor. Creates then Spawns a fully new Actor if there's none available in the Pool and 'Instantiate On Demand' is checked on Project Settings."); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +FText UK2Node_SpawnActorFromSharedPool::GetNodeTitle(ENodeTitleType::Type TitleType) const { + FText NodeTitle = NSLOCTEXT("K2Node","SpawnActorFromSharedPool_BaseTitle","Spawn Actor From Shared-Pool ..."); + // + UEdGraphPin* PoolPin = GetPoolPin(); + if (!PoolPin||(PoolPin->LinkedTo.Num()==0)) {return NodeTitle;} + // + if (TitleType != ENodeTitleType::MenuTitle) { + if (UEdGraphPin* ClassPin = GetTemplatePin()) { + if (ClassPin->LinkedTo.Num()>0) { + NodeTitle = NSLOCTEXT("K2Node","SpawnActorFromSharedPool_Unknown","Spawn Actor From Shared-Pool"); + } else if (ClassPin->DefaultObject == nullptr) { + NodeTitle = NSLOCTEXT("K2Node", "SpawnActorFromSharedPool_NONE", "Spawn Actor From Shared-Pool (NONE)"); + } else { + if (CachedNodeTitle.IsOutOfDate(this)) { + FText ClassName; + if (UClass* PickedClass = Cast(ClassPin->DefaultObject)) {ClassName=PickedClass->GetDisplayNameText();} + // + FFormatNamedArguments Args; + Args.Add(TEXT("Name"),ClassName); + CachedNodeTitle.SetCachedText(FText::Format(NSLOCTEXT("K2Node","SpawnActorFromSharedPool_Class","Spawn Actor From Pool :: {Name}"),Args),this); + } NodeTitle = CachedNodeTitle; + } + } else {NodeTitle=NSLOCTEXT("K2Node","SpawnActor_Title_NONE","SpawnActor NONE");} + } return NodeTitle; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromSharedPool::AllocateDefaultPins() { + Super::AllocateDefaultPins(); Pins.Empty(); + // + // + UScriptStruct* TransformStruct = TBaseStructure::Get(); + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEnum* const CHO_Enum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"),true); + // + /// Execution Pins. + FEdGraphPinType PNT_Exec(K2Schema->PC_Exec,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Bool(K2Schema->PC_Boolean,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_CHO_Enum(K2Schema->PC_Byte,TEXT(""),CHO_Enum,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Transform(K2Schema->PC_Struct,TEXT(""),TransformStruct,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Owner(K2Schema->PC_Object,TEXT(""),AActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Object(K2Schema->PC_Object,TEXT(""),UObject::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Class(K2Schema->PC_Class,TEXT(""),APooledActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Result(K2Schema->PC_Object,TEXT(""),APooledActor::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Pool(K2Schema->PC_Object,TEXT(""),USharedObjectPool::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_SpawnOptions(K2Schema->PC_Struct,TEXT(""),FPoolSpawnOptions::StaticStruct(),EPinContainerType::None,false,FEdGraphTerminalType()); + // + UEdGraphPin* PIN_Spawn = CreatePin(EGPD_Input,PNT_Exec,K2Schema->PN_Execute); + UEdGraphPin* PIN_Finish = CreatePin(EGPD_Output,PNT_Exec,K2Schema->PN_Then); + // + PIN_Spawn->PinFriendlyName = LOCTEXT("Spawn","Spawn"); + PIN_Finish->PinFriendlyName = LOCTEXT("Finished","Finished Spawning"); + // + // + /// World Context Pin. + if (GetBlueprint()->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin)) { + CreatePin(EGPD_Input,PNT_Object,FK2Node_SpawnActorFromSharedPoolHelper::WorldContextPinName); + } + // + /// Shared-Pool Pin. + UEdGraphPin* PIN_Pool = CreatePin(EGPD_Input,PNT_Pool,FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName); + // + /// Pooled Class Pin. + UEdGraphPin* PIN_Class = CreatePin(EGPD_Input,PNT_Class,FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName); + // + /// Collision Handling Pin. + UEdGraphPin* const PIN_CollisionHandlingOverride = CreatePin(EGPD_Input,PNT_CHO_Enum,FK2Node_SpawnActorFromSharedPoolHelper::CollisionHandlingOverridePinName); + PIN_CollisionHandlingOverride->DefaultValue = CHO_Enum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::Undefined)); + // + /// Default Pins. + UEdGraphPin* PIN_Transform = CreatePin(EGPD_Input,PNT_Transform,FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName); + UEdGraphPin* PIN_Options = CreatePin(EGPD_Input,PNT_SpawnOptions,FK2Node_SpawnActorFromSharedPoolHelper::SpawnOptionsPinName); + UEdGraphPin* PIN_Reconstruct = CreatePin(EGPD_Input,PNT_Bool,FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName); + UEdGraphPin* PIN_Success = CreatePin(EGPD_Output,PNT_Bool,FK2Node_SpawnActorFromSharedPoolHelper::SuccessPinName); + UEdGraphPin* PIN_Result = CreatePin(EGPD_Output,PNT_Result,K2Schema->PN_ReturnValue); + // + /// Owner Pin. + UEdGraphPin* PIN_Owner = CreatePin(EGPD_Input,PNT_Owner,FK2Node_SpawnActorFromSharedPoolHelper::OwnerPinName); + PIN_Owner->bAdvancedView = true; + // + // + if (ENodeAdvancedPins::NoPins==AdvancedPinDisplay) { + AdvancedPinDisplay = ENodeAdvancedPins::Hidden; + } + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UClass* UK2Node_SpawnActorFromSharedPool::GetClassToSpawn(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + UClass* ClassToSpawn = nullptr; + // + UEdGraphPin* ClassPin = GetTemplatePin(PinsToSearch); + if (ClassPin && ClassPin->DefaultObject && ClassPin->LinkedTo.Num()==0) { + ClassToSpawn = CastChecked(ClassPin->DefaultObject); + } else if (ClassPin && ClassPin->LinkedTo.Num()) { + UEdGraphPin* ClassSource = ClassPin->LinkedTo[0]; + ClassToSpawn = ClassSource ? Cast(ClassSource->PinType.PinSubCategoryObject.Get()) : nullptr; + } + // + return ClassToSpawn; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromSharedPool::CreatePinsForClass(UClass* InClass, TArray* OutClassPins) { + if (InClass==nullptr) {return;} + // + const UEdGraphSchema_K2* K2Schema = GetDefault(); + const UObject* const ClassDefaultObject = InClass->GetDefaultObject(false); + // + for (TFieldIterator PIT(InClass, EFieldIteratorFlags::IncludeSuper); PIT; ++PIT) { + FProperty* Property = *PIT; + UClass* PropertyClass = CastChecked(Property->GetOwner()); + // + const bool bIsDelegate = Property->IsA(FMulticastDelegateProperty::StaticClass()); + const bool bIsExposedToSpawn = UEdGraphSchema_K2::IsPropertyExposedOnSpawn(Property); + const bool bIsSettableExternally = !Property->HasAnyPropertyFlags(CPF_DisableEditOnInstance); + // + if (bIsExposedToSpawn && !Property->HasAnyPropertyFlags(CPF_Parm) && bIsSettableExternally && Property->HasAllPropertyFlags(CPF_BlueprintVisible) + && !bIsDelegate && (nullptr==FindPin(Property->GetFName())) && FBlueprintEditorUtils::PropertyStillExists(Property)) { + if (UEdGraphPin* Pin = CreatePin(EGPD_Input,NAME_None,Property->GetFName())) { + K2Schema->ConvertPropertyToPinType(Property,Pin->PinType); + if (OutClassPins) {OutClassPins->Add(Pin);} + // + if (ClassDefaultObject && K2Schema->PinDefaultValueIsEditable(*Pin)) { + FString DefaultValueAsString; + const bool bDefaultValueSet = FBlueprintEditorUtils::PropertyValueToString(Property,reinterpret_cast(ClassDefaultObject),DefaultValueAsString); + // + K2Schema->SetPinAutogeneratedDefaultValue(Pin,DefaultValueAsString); + } K2Schema->ConstructBasicPinTooltip(*Pin,Property->GetToolTipText(),Pin->PinToolTip); + }} + } + // + UEdGraphPin* ResultPin = GetResultPin(); + ResultPin->PinType.PinSubCategoryObject = InClass->GetAuthoritativeClass(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromSharedPool::ExpandNode(class FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) { + Super::ExpandNode(CompilerContext,SourceGraph); + // + if (!IsValid(this)||!IsValid(SourceGraph)) {BreakAllNodeLinks(); return;} + static FName BeginSpawningBlueprintFuncName = GET_FUNCTION_NAME_CHECKED(USharedObjectPool,BeginDeferredSpawnFromPool); + static FName FinishSpawningFuncName = GET_FUNCTION_NAME_CHECKED(USharedObjectPool,FinishDeferredSpawnFromPool); + // + UK2Node_SpawnActorFromSharedPool* SpawnNode = this; + UEdGraphPin* SpawnPoolPin = SpawnNode->GetPoolPin(); + UEdGraphPin* SpawnNodeExec = SpawnNode->GetExecPin(); + UEdGraphPin* SpawnNodeThen = SpawnNode->GetThenPin(); + UEdGraphPin* SpawnNodeResult = SpawnNode->GetResultPin(); + UEdGraphPin* SpawnSuccessPin = SpawnNode->GetSuccessPin(); + UEdGraphPin* SpawnNodeOwnerPin = SpawnNode->GetOwnerPin(); + UEdGraphPin* SpawnTemplatePin = SpawnNode->GetTemplatePin(); + UEdGraphPin* SpawnNodeOptions = SpawnNode->GetSpawnOptionsPin(); + UEdGraphPin* SpawnWorldContextPin = SpawnNode->GetWorldContextPin(); + UEdGraphPin* SpawnNodeTransform = SpawnNode->GetSpawnTransformPin(); + UEdGraphPin* SpawnNodeReconstructPin = SpawnNode->GetReconstructPin(); + UEdGraphPin* SpawnNodeCollisionHandlingOverride = GetCollisionHandlingOverridePin(); + // + // + if (!SpawnPoolPin||(SpawnPoolPin->LinkedTo.Num()==0)) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnActorFromSharedPool_Pool_Error","Spawn Node: @@ must have a @@ specified!").ToString(),SpawnNode,SpawnPoolPin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UClass* ClassToSpawn = GetClassToSpawn(); + if (ClassToSpawn==nullptr) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnActorFromSharedPool_Pool_Error","Spawn Node: @@ must be a valid Template @@ within target Shared-Pool Component (check Component Default 'Template Classes' Map).").ToString(),SpawnNode,SpawnTemplatePin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UK2Node_CallFunction* CallBeginSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallBeginSpawnNode->FunctionReference.SetExternalMember(BeginSpawningBlueprintFuncName,USharedObjectPool::StaticClass()); + CallBeginSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallBeginExec = CallBeginSpawnNode->GetExecPin(); + UEdGraphPin* CallBeginResult = CallBeginSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallBeginOwnerPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::OwnerPinName); + UEdGraphPin* CallBeginActorPoolPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName); + UEdGraphPin* CallBeginSuccessPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SuccessPinName); + UEdGraphPin* CallBeginTemplatePin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName); + UEdGraphPin* CallBeginOptions = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SpawnOptionsPinName); + UEdGraphPin* CallBeginTransform = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName); + UEdGraphPin* CallBeginReconstructPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName); + UEdGraphPin* CallBeginWorldContextPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::WorldContextPinName); + UEdGraphPin* CallBeginCollisionHandlingOverride = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::CollisionHandlingOverridePinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeExec,*CallBeginExec); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOptions,*CallBeginOptions); + CompilerContext.MovePinLinksToIntermediate(*SpawnPoolPin,*CallBeginActorPoolPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnSuccessPin,*CallBeginSuccessPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeTransform,*CallBeginTransform); + CompilerContext.MovePinLinksToIntermediate(*SpawnTemplatePin,*CallBeginTemplatePin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeReconstructPin,*CallBeginReconstructPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeCollisionHandlingOverride,*CallBeginCollisionHandlingOverride); + // + if (SpawnWorldContextPin) {CompilerContext.MovePinLinksToIntermediate(*SpawnWorldContextPin,*CallBeginWorldContextPin);} + if (SpawnNodeOwnerPin!=nullptr) {CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOwnerPin,*CallBeginOwnerPin);} + // + // + UK2Node_CallFunction* CallFinishSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallFinishSpawnNode->FunctionReference.SetExternalMember(FinishSpawningFuncName,USharedObjectPool::StaticClass()); + CallFinishSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallFinishExec = CallFinishSpawnNode->GetExecPin(); + UEdGraphPin* CallFinishThen = CallFinishSpawnNode->GetThenPin(); + UEdGraphPin* CallFinishResult = CallFinishSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallFinishActor = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::ActorPinName); + UEdGraphPin* CallFinishReconstruct = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName); + UEdGraphPin* CallFinishTransform = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeThen,*CallFinishThen); + CompilerContext.CopyPinLinksToIntermediate(*CallBeginTransform,*CallFinishTransform); + CompilerContext.MovePinLinksToIntermediate(*CallBeginReconstructPin,*CallFinishReconstruct); + // + CallBeginResult->MakeLinkTo(CallFinishActor); + CallFinishResult->PinType = SpawnNodeResult->PinType; + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeResult,*CallFinishResult); + // + // + UEdGraphPin* LastThen = FKismetCompilerUtilities::GenerateAssignmentNodes(CompilerContext,SourceGraph,CallBeginSpawnNode,SpawnNode,CallBeginResult,ClassToSpawn); + LastThen->MakeLinkTo(CallFinishExec); + // + SpawnNode->BreakAllNodeLinks(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromSharedPool::MaybeUpdateCollisionPin(TArray &OldPins) { + for (UEdGraphPin* Pin : OldPins) { + if (Pin->PinName == FK2Node_SpawnActorFromSharedPoolHelper::NoCollisionFailPinName) { + bool bHadOldCollisionPin = true; + if (Pin->LinkedTo.Num() == 0) { + bool const bOldCollisionPinValue = (Pin->DefaultValue == FString(TEXT("true"))); + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin) { + UEnum const* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + CollisionHandlingOverridePin->DefaultValue = + bOldCollisionPinValue + ? MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)) + : MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + } + } else { + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin==nullptr) {return;} + // + UEnum* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + // + FGraphNodeCreator AlwaysSpawnLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AlwaysSpawnLiteralNode = AlwaysSpawnLiteralCreator.CreateNode(); + AlwaysSpawnLiteralNode->Enum = MethodEnum; + AlwaysSpawnLiteralNode->NodePosX = NodePosX; + AlwaysSpawnLiteralNode->NodePosY = NodePosY; + AlwaysSpawnLiteralCreator.Finalize(); + // + FGraphNodeCreator AdjustIfNecessaryLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AdjustIfNecessaryLiteralNode = AdjustIfNecessaryLiteralCreator.CreateNode(); + AdjustIfNecessaryLiteralNode->Enum = MethodEnum; + AdjustIfNecessaryLiteralNode->NodePosX = NodePosX; + AdjustIfNecessaryLiteralNode->NodePosY = NodePosY; + AdjustIfNecessaryLiteralCreator.Finalize(); + // + FGraphNodeCreator SelectCreator(*GetGraph()); + UK2Node_Select* const SelectNode = SelectCreator.CreateNode(); + SelectNode->NodePosX = NodePosX; + SelectNode->NodePosY = NodePosY; + SelectCreator.Finalize(); + // + auto FindEnumInputPin = [](UK2Node_EnumLiteral const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (NodePin->PinName == Node->GetEnumInputPinName()) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeInputPin = FindEnumInputPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralInputPin = FindEnumInputPin(AdjustIfNecessaryLiteralNode); + // + TArray SelectOptionPins; + SelectNode->GetOptionPins(SelectOptionPins); + UEdGraphPin* const SelectIndexPin = SelectNode->GetIndexPin(); + // + auto FindResultPin = [](UK2Node const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (EEdGraphPinDirection::EGPD_Output == NodePin->Direction) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeResultPin = FindResultPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralResultPin = FindResultPin(AdjustIfNecessaryLiteralNode); + // + if (AlwaysSpawnLiteralNodeResultPin==nullptr) {return;} + if (AdjustIfNecessaryLiteralResultPin==nullptr) {return;} + // + UEdGraphPin* const OldBoolPin = Pin->LinkedTo[0]; + if (OldBoolPin==nullptr) {return;} + // + AlwaysSpawnLiteralNodeInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)); + AdjustIfNecessaryLiteralInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + // + OldBoolPin->BreakLinkTo(Pin); + OldBoolPin->MakeLinkTo(SelectIndexPin); + // + AlwaysSpawnLiteralNodeResultPin->MakeLinkTo(SelectOptionPins[0]); + AdjustIfNecessaryLiteralResultPin->MakeLinkTo(SelectOptionPins[1]); + // + UEdGraphPin* const SelectOutputPin = SelectNode->GetReturnValuePin(); + if (SelectOutputPin==nullptr) {return;} + // + SelectOutputPin->MakeLinkTo(CollisionHandlingOverridePin); + // + SelectNode->NotifyPinConnectionListChanged(SelectIndexPin); + SelectNode->NotifyPinConnectionListChanged(SelectOutputPin); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[0]); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[1]); + } + } + } +} + +void UK2Node_SpawnActorFromSharedPool::ReallocatePinsDuringReconstruction(TArray &OldPins) { + AllocateDefaultPins(); + // + UClass* ClassToSpawn = GetClassToSpawn(&OldPins); + // + if (ClassToSpawn) { + TArrayClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } + // + MaybeUpdateCollisionPin(OldPins); + RestoreSplitPins(OldPins); +} + +bool UK2Node_SpawnActorFromSharedPool::IsNodeBasePin(UEdGraphPin* Pin) { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* ParentPin = Pin->ParentPin; + while (ParentPin) { + if (ParentPin->PinName == FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName) {return false;} + if (ParentPin->PinName == FK2Node_SpawnActorFromPoolHelper::SpawnOptionsPinName) {return false;} + ParentPin=ParentPin->ParentPin;} + // + return ( + Pin->PinName != K2Schema->PN_Then && + Pin->PinName != K2Schema->PN_Execute && + Pin->PinName != K2Schema->PN_ReturnValue && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::OwnerPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::SuccessPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::WorldContextPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::SpawnOptionsPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName && + Pin->PinName != FK2Node_SpawnActorFromSharedPoolHelper::CollisionHandlingOverridePinName + ); +} + +void UK2Node_SpawnActorFromSharedPool::PostPlacedNewNode() { + Super::PostPlacedNewNode(); + // + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn != nullptr) { + TArray ClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } +} + +void UK2Node_SpawnActorFromSharedPool::OnClassPinChanged() { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + TArray OldPins = Pins; + TArray OldClassPins; + // + for (int32 I=0; I NewClassPins; + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) {CreatePinsForClass(ClassToSpawn,&NewClassPins);} + // + UEdGraphPin* ResultPin = GetResultPin(); + TArray ResultPinConnectionList = ResultPin->LinkedTo; + ResultPin->BreakAllPinLinks(); + // + for (UEdGraphPin* Connections : ResultPinConnectionList) { + K2Schema->TryCreateConnection(ResultPin,Connections); + } + // + TMapNewPinsToOldPins; + RewireOldPinsToNewPins(OldClassPins,NewClassPins,&NewPinsToOldPins); + // + DestroyPinList(OldClassPins); + // + UEdGraph* Graph = GetGraph(); + Graph->NotifyGraphChanged(); + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +void UK2Node_SpawnActorFromSharedPool::PinConnectionListChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +void UK2Node_SpawnActorFromSharedPool::PinDefaultValueChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetThenPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_Then); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetPoolPin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::PoolPinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetTemplatePin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnActorFromSharedPoolHelper::TemplatePinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetSpawnOptionsPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SpawnOptionsPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetSpawnTransformPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::SpawnTransformPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetCollisionHandlingOverridePin() const { + UEdGraphPin* const Pin = FindPinChecked(FK2Node_SpawnActorFromSharedPoolHelper::CollisionHandlingOverridePinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetOwnerPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromSharedPoolHelper::OwnerPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetReconstructPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromSharedPoolHelper::ReconstructPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetWorldContextPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromSharedPoolHelper::WorldContextPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetSuccessPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnActorFromSharedPoolHelper::SuccessPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnActorFromSharedPool::GetResultPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_ReturnValue); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +FLinearColor UK2Node_SpawnActorFromSharedPool::GetNodeTitleColor() const { + FColor Color = FColor(5.f,5.f,5.f); + return FLinearColor(Color); +} + +bool UK2Node_SpawnActorFromSharedPool::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const { + UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForGraph(TargetGraph); + return Super::IsCompatibleWithGraph(TargetGraph) && (!Blueprint || (FBlueprintEditorUtils::FindUserConstructionScript(Blueprint) != TargetGraph && Blueprint->GeneratedClass->GetDefaultObject()->ImplementsGetWorld())); +} + +void UK2Node_SpawnActorFromSharedPool::GetNodeAttributes( TArray> &OutNodeAttributes ) const { + UClass* ClassToSpawn = GetClassToSpawn(); + // + const FString ClassToSpawnStr = ClassToSpawn ? ClassToSpawn->GetName() : TEXT("InvalidClass"); + // + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeType"),TEXT("SpawnActorFromSharedPool"))); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeClass"),GetClass()->GetName())); + OutNodeAttributes.Add(TKeyValuePair(TEXT("SpawnClass"),ClassToSpawnStr)); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeName"),GetName())); +} + +FNodeHandlingFunctor* UK2Node_SpawnActorFromSharedPool::CreateNodeHandler(FKismetCompilerContext &CompilerContext) const { + return new FNodeHandlingFunctor(CompilerContext); +} + +bool UK2Node_SpawnActorFromSharedPool::HasExternalDependencies(TArray* OptionalOutput) const { + UClass* SourceClass = GetClassToSpawn(); + // + const UBlueprint* SourceBlueprint = GetBlueprint(); + const bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint); + // + if (bResult && OptionalOutput) {OptionalOutput->AddUnique(SourceClass);} + const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput); + // + return bSuperResult || bResult; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnActorFromSharedPool::GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + if (UEdGraphPin* PoolPin = GetPoolPin()) { + K2Schema->ConstructBasicPinTooltip(*PoolPin,LOCTEXT("PoolPinDescription","The Shared-Pool Owner of Actor Instance."),PoolPin->PinToolTip); + }if (UEdGraphPin* ClassPin = GetTemplatePin()) { + K2Schema->ConstructBasicPinTooltip(*ClassPin,LOCTEXT("ClassPinDescription","The Class to Spawn. Target Shared-Pool must have this Class as member of its Templates Map (Properties on Details Panel)."),ClassPin->PinToolTip); + } if (UEdGraphPin* TransformPin = GetSpawnTransformPin()) { + K2Schema->ConstructBasicPinTooltip(*TransformPin,LOCTEXT("TransformPinDescription","The transform to spawn the Actor with"),TransformPin->PinToolTip); + } if (UEdGraphPin* CollisionHandlingOverridePin = GetCollisionHandlingOverridePin()) { + K2Schema->ConstructBasicPinTooltip(*CollisionHandlingOverridePin,LOCTEXT("CollisionHandlingOverridePinDescription","Specifies how to handle collisions at the Spawn Point. If undefined,uses Actor Class Settings."),CollisionHandlingOverridePin->PinToolTip); + } if (UEdGraphPin* OwnerPin = GetOwnerPin()) { + K2Schema->ConstructBasicPinTooltip(*OwnerPin,LOCTEXT("OwnerPinDescription","Can be left empty; primarily used for replication or visibility."),OwnerPin->PinToolTip); + } if (UEdGraphPin* ReconstructPin = GetReconstructPin()) { + K2Schema->ConstructBasicPinTooltip(*ReconstructPin,LOCTEXT("ReconstructPinDescription","If checked, this will force the Spawning Actor to re-run its Construction Scripts;\nThis results on expensive respawn operation and will affect performance!\nAvoid pulling Actors every second with this option enabled."),ReconstructPin->PinToolTip); + } if (UEdGraphPin* ResultPin = GetResultPin()) { + K2Schema->ConstructBasicPinTooltip(*ResultPin,LOCTEXT("ResultPinDescription","The Actor Class Spawned from the Pool."),ResultPin->PinToolTip); + } return Super::GetPinHoverText(Pin,HoverTextOut); +} + +FText UK2Node_SpawnActorFromSharedPool::GetTooltipText() const { + return NodeTooltip; +} + +FSlateIcon UK2Node_SpawnActorFromSharedPool::GetIconAndTint(FLinearColor &OutColor) const { + static FSlateIcon Icon(TEXT("OBJPoolStyle"),TEXT("ClassIcon.SharedObjectPool")); + return Icon; +} + +void UK2Node_SpawnActorFromSharedPool::GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const { + UClass* ActionKey = GetClass(); + // + if (ActionRegistrar.IsOpenForRegistration(ActionKey)) { + UBlueprintNodeSpawner* NodeSpawner = UBlueprintNodeSpawner::Create(GetClass()); + if (NodeSpawner==nullptr) {return;} + // + ActionRegistrar.AddBlueprintAction(ActionKey,NodeSpawner); + } +} + +FText UK2Node_SpawnActorFromSharedPool::GetMenuCategory() const { + return LOCTEXT("PoolCategory","Object Pool"); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnCharacterFromPool.cpp b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnCharacterFromPool.cpp new file mode 100644 index 0000000..000a077 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnCharacterFromPool.cpp @@ -0,0 +1,652 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "K2Node_SpawnCharacterFromPool.h" + +#include "BlueprintActionDatabaseRegistrar.h" +#include "Kismet2/BlueprintEditorUtils.h" +#include "Kismet/GameplayStatics.h" +#include "GameFramework/Character.h" +#include "BlueprintNodeSpawner.h" +#include "K2Node_CallFunction.h" +#include "EditorCategoryUtils.h" +#include "K2Node_EnumLiteral.h" +#include "UObject/UnrealType.h" +#include "KismetCompilerMisc.h" +#include "Engine/EngineTypes.h" +#include "EdGraphSchema_K2.h" +#include "EdGraph/EdGraph.h" +#include "KismetCompiler.h" +#include "K2Node_Select.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct FK2Node_SpawnCharacterFromPoolHelper { + static FName PoolPinName; + static FName CharacterPinName; + static FName OwnerPinName; + static FName SuccessPinName; + static FName TemplatePinName; + static FName ReconstructPinName; + static FName WorldContextPinName; + static FName SpawnOptionsPinName; + static FName SpawnTransformPinName; + static FName NoCollisionFailPinName; + static FName CollisionHandlingOverridePinName; +}; + +FName FK2Node_SpawnCharacterFromPoolHelper::OwnerPinName(TEXT("Owner")); +FName FK2Node_SpawnCharacterFromPoolHelper::PoolPinName(TEXT("ObjectPool")); +FName FK2Node_SpawnCharacterFromPoolHelper::CharacterPinName(TEXT("Character")); +FName FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName(TEXT("PooledClass")); +FName FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName(TEXT("Reconstruct")); +FName FK2Node_SpawnCharacterFromPoolHelper::SuccessPinName(TEXT("SpawnSuccessful")); +FName FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName(TEXT("SpawnOptions")); +FName FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName(TEXT("SpawnTransform")); +FName FK2Node_SpawnCharacterFromPoolHelper::WorldContextPinName(TEXT("WorldContextObject")); +FName FK2Node_SpawnCharacterFromPoolHelper::NoCollisionFailPinName(TEXT("SpawnEvenIfColliding")); +FName FK2Node_SpawnCharacterFromPoolHelper::CollisionHandlingOverridePinName(TEXT("CollisionHandlingOverride")); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UK2Node_SpawnCharacterFromPool::UK2Node_SpawnCharacterFromPool(const FObjectInitializer &ObjectInitializer) : Super(ObjectInitializer) { + NodeTooltip = LOCTEXT("NodeTooltip", "Attempts to Spawn from Pool an Inactive Character. Creates then Spawns a fully new Character if there's none available in the Pool and 'Instantiate On Demand' is checked on Project Settings."); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +FText UK2Node_SpawnCharacterFromPool::GetNodeTitle(ENodeTitleType::Type TitleType) const { + FText NodeTitle = NSLOCTEXT("K2Node","SpawnCharacterFromPool_BaseTitle","Spawn Character From Pool ..."); + // + UEdGraphPin* PoolPin = GetPoolPin(); + if (!PoolPin||(PoolPin->LinkedTo.Num()==0)) {return NodeTitle;} + // + if (TitleType != ENodeTitleType::MenuTitle) { + if (UEdGraphPin* ClassPin = GetTemplatePin()) { + if (ClassPin->LinkedTo.Num()>0) { + NodeTitle = NSLOCTEXT("K2Node","SpawnCharacterFromPool_Unknown","Spawn Character From Pool"); + } else if (ClassPin->DefaultObject == nullptr) { + NodeTitle = NSLOCTEXT("K2Node", "SpawnCharacterFromPool_NONE", "Spawn Character From Pool (NONE)"); + } else { + if (CachedNodeTitle.IsOutOfDate(this)) { + FText ClassName; + if (UClass* PickedClass = Cast(ClassPin->DefaultObject)) {ClassName=PickedClass->GetDisplayNameText();} + // + FFormatNamedArguments Args; + Args.Add(TEXT("Name"),ClassName); + CachedNodeTitle.SetCachedText(FText::Format(NSLOCTEXT("K2Node","SpawnCharacterFromPool_Class","Spawn Character From Pool :: {Name}"),Args),this); + } NodeTitle = CachedNodeTitle; + } + } else {NodeTitle=NSLOCTEXT("K2Node","SpawnCharacter_Title_NONE","SpawnCharacter NONE");} + } return NodeTitle; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnCharacterFromPool::AllocateDefaultPins() { + Super::AllocateDefaultPins(); Pins.Empty(); + // + // + UScriptStruct* TransformStruct = TBaseStructure::Get(); + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEnum* const CHO_Enum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"),true); + // + /// Execution Pins. + FEdGraphPinType PNT_Exec(K2Schema->PC_Exec,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Bool(K2Schema->PC_Boolean,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_CHO_Enum(K2Schema->PC_Byte,TEXT(""),CHO_Enum,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Transform(K2Schema->PC_Struct,TEXT(""),TransformStruct,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Owner(K2Schema->PC_Object,TEXT(""),ACharacter::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Object(K2Schema->PC_Object,TEXT(""),UObject::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Class(K2Schema->PC_Class,TEXT(""),APooledCharacter::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_OBJPool(K2Schema->PC_Object,TEXT(""),UCharacterPool::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Result(K2Schema->PC_Object,TEXT(""),APooledCharacter::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_SpawnOptions(K2Schema->PC_Struct,TEXT(""),FPoolSpawnOptions::StaticStruct(),EPinContainerType::None,false,FEdGraphTerminalType()); + // + UEdGraphPin* PIN_Spawn = CreatePin(EGPD_Input,PNT_Exec,K2Schema->PN_Execute); + UEdGraphPin* PIN_Finish = CreatePin(EGPD_Output,PNT_Exec,K2Schema->PN_Then); + // + PIN_Spawn->PinFriendlyName = LOCTEXT("Spawn","Spawn"); + PIN_Finish->PinFriendlyName = LOCTEXT("Finished","Finished Spawning"); + // + // + /// World Context Pin. + if (GetBlueprint()->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin)) { + CreatePin(EGPD_Input,PNT_Object,FK2Node_SpawnCharacterFromPoolHelper::WorldContextPinName); + } + // + /// Pooled Class Pin. + UEdGraphPin* PIN_Class = CreatePin(EGPD_Input,PNT_Class,FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName); + // + /// Pool Pin. + UEdGraphPin* PIN_Pool = CreatePin(EGPD_Input,PNT_OBJPool,FK2Node_SpawnCharacterFromPoolHelper::PoolPinName); + // + /// Collision Handling Pin. + UEdGraphPin* const PIN_CollisionHandlingOverride = CreatePin(EGPD_Input,PNT_CHO_Enum,FK2Node_SpawnCharacterFromPoolHelper::CollisionHandlingOverridePinName); + PIN_CollisionHandlingOverride->DefaultValue = CHO_Enum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::Undefined)); + // + /// Default Pins. + UEdGraphPin* PIN_Transform = CreatePin(EGPD_Input,PNT_Transform,FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* PIN_Options = CreatePin(EGPD_Input,PNT_SpawnOptions,FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* PIN_Reconstruct = CreatePin(EGPD_Input,PNT_Bool,FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName); + UEdGraphPin* PIN_Success = CreatePin(EGPD_Output,PNT_Bool,FK2Node_SpawnCharacterFromPoolHelper::SuccessPinName); + UEdGraphPin* PIN_Result = CreatePin(EGPD_Output,PNT_Result,K2Schema->PN_ReturnValue); + // + /// Owner Pin. + UEdGraphPin* PIN_Owner = CreatePin(EGPD_Input,PNT_Owner,FK2Node_SpawnCharacterFromPoolHelper::OwnerPinName); + PIN_Owner->bAdvancedView = true; + // + // + if (ENodeAdvancedPins::NoPins==AdvancedPinDisplay) { + AdvancedPinDisplay = ENodeAdvancedPins::Hidden; + } + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UClass* UK2Node_SpawnCharacterFromPool::GetClassToSpawn(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + UClass* ClassToSpawn = nullptr; + // + UEdGraphPin* ClassPin = GetTemplatePin(PinsToSearch); + if (ClassPin && ClassPin->DefaultObject && ClassPin->LinkedTo.Num()==0) { + ClassToSpawn = CastChecked(ClassPin->DefaultObject); + } else if (ClassPin && ClassPin->LinkedTo.Num()) { + UEdGraphPin* ClassSource = ClassPin->LinkedTo[0]; + ClassToSpawn = ClassSource ? Cast(ClassSource->PinType.PinSubCategoryObject.Get()) : nullptr; + } + // + return ClassToSpawn; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnCharacterFromPool::CreatePinsForClass(UClass* InClass, TArray* OutClassPins) { + if (InClass==nullptr) {return;} + // + const UEdGraphSchema_K2* K2Schema = GetDefault(); + const UObject* const ClassDefaultObject = InClass->GetDefaultObject(false); + // + for (TFieldIterator PIT(InClass, EFieldIteratorFlags::IncludeSuper); PIT; ++PIT) { + FProperty* Property = *PIT; + UClass* PropertyClass = CastChecked(Property->GetOwner()); + // + const bool bIsDelegate = Property->IsA(FMulticastDelegateProperty::StaticClass()); + const bool bIsExposedToSpawn = UEdGraphSchema_K2::IsPropertyExposedOnSpawn(Property); + const bool bIsSettableExternally = !Property->HasAnyPropertyFlags(CPF_DisableEditOnInstance); + // + if (bIsExposedToSpawn && !Property->HasAnyPropertyFlags(CPF_Parm) && bIsSettableExternally && Property->HasAllPropertyFlags(CPF_BlueprintVisible) + && !bIsDelegate && (nullptr==FindPin(Property->GetFName())) && FBlueprintEditorUtils::PropertyStillExists(Property)) { + if (UEdGraphPin* Pin = CreatePin(EGPD_Input,NAME_None,Property->GetFName())) { + K2Schema->ConvertPropertyToPinType(Property,Pin->PinType); + if (OutClassPins) {OutClassPins->Add(Pin);} + // + if (ClassDefaultObject && K2Schema->PinDefaultValueIsEditable(*Pin)) { + FString DefaultValueAsString; + const bool bDefaultValueSet = FBlueprintEditorUtils::PropertyValueToString(Property,reinterpret_cast(ClassDefaultObject),DefaultValueAsString); + // + K2Schema->SetPinAutogeneratedDefaultValue(Pin,DefaultValueAsString); + } K2Schema->ConstructBasicPinTooltip(*Pin,Property->GetToolTipText(),Pin->PinToolTip); + }} + } + // + UEdGraphPin* ResultPin = GetResultPin(); + ResultPin->PinType.PinSubCategoryObject = InClass->GetAuthoritativeClass(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnCharacterFromPool::ExpandNode(class FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) { + Super::ExpandNode(CompilerContext,SourceGraph); + // + if (!IsValid(this)||!IsValid(SourceGraph)) {BreakAllNodeLinks(); return;} + static FName BeginSpawningBlueprintFuncName = GET_FUNCTION_NAME_CHECKED(UCharacterPool,BeginDeferredSpawnFromPool); + static FName FinishSpawningFuncName = GET_FUNCTION_NAME_CHECKED(UCharacterPool,FinishDeferredSpawnFromPool); + // + UK2Node_SpawnCharacterFromPool* SpawnNode = this; + UEdGraphPin* SpawnPoolPin = SpawnNode->GetPoolPin(); + UEdGraphPin* SpawnNodeExec = SpawnNode->GetExecPin(); + UEdGraphPin* SpawnNodeThen = SpawnNode->GetThenPin(); + UEdGraphPin* SpawnNodeResult = SpawnNode->GetResultPin(); + UEdGraphPin* SpawnSuccessPin = SpawnNode->GetSuccessPin(); + UEdGraphPin* SpawnNodeOwnerPin = SpawnNode->GetOwnerPin(); + UEdGraphPin* SpawnTemplatePin = SpawnNode->GetTemplatePin(); + UEdGraphPin* SpawnNodeOptions = SpawnNode->GetSpawnOptionsPin(); + UEdGraphPin* SpawnWorldContextPin = SpawnNode->GetWorldContextPin(); + UEdGraphPin* SpawnNodeTransform = SpawnNode->GetSpawnTransformPin(); + UEdGraphPin* SpawnNodeReconstructPin = SpawnNode->GetReconstructPin(); + UEdGraphPin* SpawnNodeCollisionHandlingOverride = GetCollisionHandlingOverridePin(); + // + // + if (!SpawnPoolPin||(SpawnPoolPin->LinkedTo.Num()==0)) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnCharacterFromPool_Pool_Error","Spawn Node: @@ must have a @@ specified!").ToString(),SpawnNode,SpawnPoolPin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UClass* ClassToSpawn = GetClassToSpawn(); + if (ClassToSpawn==nullptr) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnCharacterFromPool_Pool_Error","Spawn Node: @@ must be a valid Template @@ within target Pool Component (check Component Default 'Template Classes' Map).").ToString(),SpawnNode,SpawnTemplatePin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UK2Node_CallFunction* CallBeginSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallBeginSpawnNode->FunctionReference.SetExternalMember(BeginSpawningBlueprintFuncName,UCharacterPool::StaticClass()); + CallBeginSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallBeginExec = CallBeginSpawnNode->GetExecPin(); + UEdGraphPin* CallBeginResult = CallBeginSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallBeginOwnerPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::OwnerPinName); + UEdGraphPin* CallBeginSuccessPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SuccessPinName); + UEdGraphPin* CallBeginTemplatePin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName); + UEdGraphPin* CallBeginOptions = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* CallBeginCharacterPoolPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::PoolPinName); + UEdGraphPin* CallBeginTransform = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* CallBeginReconstructPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallBeginWorldContextPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::WorldContextPinName); + UEdGraphPin* CallBeginCollisionHandlingOverride = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::CollisionHandlingOverridePinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeExec,*CallBeginExec); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOptions,*CallBeginOptions); + CompilerContext.MovePinLinksToIntermediate(*SpawnPoolPin,*CallBeginCharacterPoolPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnSuccessPin,*CallBeginSuccessPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeTransform,*CallBeginTransform); + CompilerContext.MovePinLinksToIntermediate(*SpawnTemplatePin,*CallBeginTemplatePin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeReconstructPin,*CallBeginReconstructPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeCollisionHandlingOverride,*CallBeginCollisionHandlingOverride); + // + if (SpawnWorldContextPin) {CompilerContext.MovePinLinksToIntermediate(*SpawnWorldContextPin,*CallBeginWorldContextPin);} + if (SpawnNodeOwnerPin!=nullptr) {CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOwnerPin,*CallBeginOwnerPin);} + // + // + UK2Node_CallFunction* CallFinishSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallFinishSpawnNode->FunctionReference.SetExternalMember(FinishSpawningFuncName,UCharacterPool::StaticClass()); + CallFinishSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallFinishExec = CallFinishSpawnNode->GetExecPin(); + UEdGraphPin* CallFinishThen = CallFinishSpawnNode->GetThenPin(); + UEdGraphPin* CallFinishResult = CallFinishSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallFinishCharacter = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::CharacterPinName); + UEdGraphPin* CallFinishReconstruct = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallFinishTransform = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeThen,*CallFinishThen); + CompilerContext.CopyPinLinksToIntermediate(*CallBeginTransform,*CallFinishTransform); + CompilerContext.MovePinLinksToIntermediate(*CallBeginReconstructPin,*CallFinishReconstruct); + // + CallBeginResult->MakeLinkTo(CallFinishCharacter); + CallFinishResult->PinType = SpawnNodeResult->PinType; + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeResult,*CallFinishResult); + // + // + UEdGraphPin* LastThen = FKismetCompilerUtilities::GenerateAssignmentNodes(CompilerContext,SourceGraph,CallBeginSpawnNode,SpawnNode,CallBeginResult,ClassToSpawn); + LastThen->MakeLinkTo(CallFinishExec); + // + SpawnNode->BreakAllNodeLinks(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnCharacterFromPool::MaybeUpdateCollisionPin(TArray &OldPins) { + for (UEdGraphPin* Pin : OldPins) { + if (Pin->PinName == FK2Node_SpawnCharacterFromPoolHelper::NoCollisionFailPinName) { + bool bHadOldCollisionPin = true; + if (Pin->LinkedTo.Num() == 0) { + bool const bOldCollisionPinValue = (Pin->DefaultValue == FString(TEXT("true"))); + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin) { + UEnum const* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + CollisionHandlingOverridePin->DefaultValue = + bOldCollisionPinValue + ? MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)) + : MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + } + } else { + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin==nullptr) {return;} + // + UEnum* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + // + FGraphNodeCreator AlwaysSpawnLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AlwaysSpawnLiteralNode = AlwaysSpawnLiteralCreator.CreateNode(); + AlwaysSpawnLiteralNode->Enum = MethodEnum; + AlwaysSpawnLiteralNode->NodePosX = NodePosX; + AlwaysSpawnLiteralNode->NodePosY = NodePosY; + AlwaysSpawnLiteralCreator.Finalize(); + // + FGraphNodeCreator AdjustIfNecessaryLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AdjustIfNecessaryLiteralNode = AdjustIfNecessaryLiteralCreator.CreateNode(); + AdjustIfNecessaryLiteralNode->Enum = MethodEnum; + AdjustIfNecessaryLiteralNode->NodePosX = NodePosX; + AdjustIfNecessaryLiteralNode->NodePosY = NodePosY; + AdjustIfNecessaryLiteralCreator.Finalize(); + // + FGraphNodeCreator SelectCreator(*GetGraph()); + UK2Node_Select* const SelectNode = SelectCreator.CreateNode(); + SelectNode->NodePosX = NodePosX; + SelectNode->NodePosY = NodePosY; + SelectCreator.Finalize(); + // + auto FindEnumInputPin = [](UK2Node_EnumLiteral const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (NodePin->PinName == Node->GetEnumInputPinName()) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeInputPin = FindEnumInputPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralInputPin = FindEnumInputPin(AdjustIfNecessaryLiteralNode); + // + TArray SelectOptionPins; + SelectNode->GetOptionPins(SelectOptionPins); + UEdGraphPin* const SelectIndexPin = SelectNode->GetIndexPin(); + // + auto FindResultPin = [](UK2Node const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (EEdGraphPinDirection::EGPD_Output == NodePin->Direction) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeResultPin = FindResultPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralResultPin = FindResultPin(AdjustIfNecessaryLiteralNode); + // + if (AlwaysSpawnLiteralNodeResultPin==nullptr) {return;} + if (AdjustIfNecessaryLiteralResultPin==nullptr) {return;} + // + UEdGraphPin* const OldBoolPin = Pin->LinkedTo[0]; + if (OldBoolPin==nullptr) {return;} + // + AlwaysSpawnLiteralNodeInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)); + AdjustIfNecessaryLiteralInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + // + OldBoolPin->BreakLinkTo(Pin); + OldBoolPin->MakeLinkTo(SelectIndexPin); + // + AlwaysSpawnLiteralNodeResultPin->MakeLinkTo(SelectOptionPins[0]); + AdjustIfNecessaryLiteralResultPin->MakeLinkTo(SelectOptionPins[1]); + // + UEdGraphPin* const SelectOutputPin = SelectNode->GetReturnValuePin(); + if (SelectOutputPin==nullptr) {return;} + // + SelectOutputPin->MakeLinkTo(CollisionHandlingOverridePin); + // + SelectNode->NotifyPinConnectionListChanged(SelectIndexPin); + SelectNode->NotifyPinConnectionListChanged(SelectOutputPin); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[0]); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[1]); + } + } + } +} + +void UK2Node_SpawnCharacterFromPool::ReallocatePinsDuringReconstruction(TArray &OldPins) { + AllocateDefaultPins(); + // + UClass* ClassToSpawn = GetClassToSpawn(&OldPins); + // + if (ClassToSpawn) { + TArrayClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } + // + MaybeUpdateCollisionPin(OldPins); + RestoreSplitPins(OldPins); +} + +bool UK2Node_SpawnCharacterFromPool::IsNodeBasePin(UEdGraphPin* Pin) { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* ParentPin = Pin->ParentPin; + while (ParentPin) { + if (ParentPin->PinName == FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName) {return false;} + if (ParentPin->PinName == FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName) {return false;} + ParentPin=ParentPin->ParentPin;} + // + return ( + Pin->PinName != K2Schema->PN_Then && + Pin->PinName != K2Schema->PN_Execute && + Pin->PinName != K2Schema->PN_ReturnValue && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::PoolPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::OwnerPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::SuccessPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::WorldContextPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName && + Pin->PinName != FK2Node_SpawnCharacterFromPoolHelper::CollisionHandlingOverridePinName + ); +} + +void UK2Node_SpawnCharacterFromPool::PostPlacedNewNode() { + Super::PostPlacedNewNode(); + // + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) { + TArray ClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } +} + +void UK2Node_SpawnCharacterFromPool::OnClassPinChanged() { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + TArray OldPins = Pins; + TArray OldClassPins; + // + for (int32 I=0; I NewClassPins; + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) {CreatePinsForClass(ClassToSpawn,&NewClassPins);} + // + UEdGraphPin* ResultPin = GetResultPin(); + TArray ResultPinConnectionList = ResultPin->LinkedTo; + ResultPin->BreakAllPinLinks(); + // + for (UEdGraphPin* Connections : ResultPinConnectionList) { + K2Schema->TryCreateConnection(ResultPin,Connections); + } + // + TMapNewPinsToOldPins; + RewireOldPinsToNewPins(OldClassPins,NewClassPins,&NewPinsToOldPins); + // + DestroyPinList(OldClassPins); + // + UEdGraph* Graph = GetGraph(); + Graph->NotifyGraphChanged(); + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +void UK2Node_SpawnCharacterFromPool::PinConnectionListChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +void UK2Node_SpawnCharacterFromPool::PinDefaultValueChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetThenPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_Then); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetPoolPin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::PoolPinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetTemplatePin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnCharacterFromPoolHelper::TemplatePinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetSpawnOptionsPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SpawnOptionsPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetSpawnTransformPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::SpawnTransformPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetCollisionHandlingOverridePin() const { + UEdGraphPin* const Pin = FindPinChecked(FK2Node_SpawnCharacterFromPoolHelper::CollisionHandlingOverridePinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetOwnerPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnCharacterFromPoolHelper::OwnerPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetReconstructPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnCharacterFromPoolHelper::ReconstructPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetWorldContextPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnCharacterFromPoolHelper::WorldContextPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetSuccessPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnCharacterFromPoolHelper::SuccessPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnCharacterFromPool::GetResultPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_ReturnValue); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +FLinearColor UK2Node_SpawnCharacterFromPool::GetNodeTitleColor() const { + FColor Color = FColor(255.f,125.f,0.f); + return FLinearColor(Color); +} + +bool UK2Node_SpawnCharacterFromPool::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const { + UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForGraph(TargetGraph); + return Super::IsCompatibleWithGraph(TargetGraph) && (!Blueprint || (FBlueprintEditorUtils::FindUserConstructionScript(Blueprint) != TargetGraph && Blueprint->GeneratedClass->GetDefaultObject()->ImplementsGetWorld())); +} + +void UK2Node_SpawnCharacterFromPool::GetNodeAttributes( TArray> &OutNodeAttributes ) const { + UClass* ClassToSpawn = GetClassToSpawn(); + // + const FString ClassToSpawnStr = ClassToSpawn ? ClassToSpawn->GetName() : TEXT("InvalidClass"); + // + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeType"),TEXT("SpawnCharacterFromPool"))); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeClass"),GetClass()->GetName())); + OutNodeAttributes.Add(TKeyValuePair(TEXT("SpawnClass"),ClassToSpawnStr)); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeName"),GetName())); +} + +FNodeHandlingFunctor* UK2Node_SpawnCharacterFromPool::CreateNodeHandler(FKismetCompilerContext &CompilerContext) const { + return new FNodeHandlingFunctor(CompilerContext); +} + +bool UK2Node_SpawnCharacterFromPool::HasExternalDependencies(TArray* OptionalOutput) const { + UClass* SourceClass = GetClassToSpawn(); + // + const UBlueprint* SourceBlueprint = GetBlueprint(); + const bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint); + // + if (bResult && OptionalOutput) {OptionalOutput->AddUnique(SourceClass);} + const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput); + // + return bSuperResult || bResult; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnCharacterFromPool::GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + if (UEdGraphPin* PoolPin = GetPoolPin()) { + K2Schema->ConstructBasicPinTooltip(*PoolPin,LOCTEXT("PoolPinDescription","The Pool Owner of Character Instance."),PoolPin->PinToolTip); + }if (UEdGraphPin* ClassPin = GetTemplatePin()) { + K2Schema->ConstructBasicPinTooltip(*ClassPin,LOCTEXT("ClassPinDescription","The Class to Spawn. Target Pool must have this Class as member of its Templates Map (Properties on Details Panel)."),ClassPin->PinToolTip); + } if (UEdGraphPin* TransformPin = GetSpawnTransformPin()) { + K2Schema->ConstructBasicPinTooltip(*TransformPin,LOCTEXT("TransformPinDescription","The transform to spawn the Character with"),TransformPin->PinToolTip); + } if (UEdGraphPin* CollisionHandlingOverridePin = GetCollisionHandlingOverridePin()) { + K2Schema->ConstructBasicPinTooltip(*CollisionHandlingOverridePin,LOCTEXT("CollisionHandlingOverridePinDescription","Specifies how to handle collisions at the Spawn Point. If undefined,uses Character Class Settings."),CollisionHandlingOverridePin->PinToolTip); + } if (UEdGraphPin* OwnerPin = GetOwnerPin()) { + K2Schema->ConstructBasicPinTooltip(*OwnerPin,LOCTEXT("OwnerPinDescription","Can be left empty; primarily used for replication or visibility."),OwnerPin->PinToolTip); + } if (UEdGraphPin* ReconstructPin = GetReconstructPin()) { + K2Schema->ConstructBasicPinTooltip(*ReconstructPin,LOCTEXT("ReconstructPinDescription","If checked, this will force the Spawning Character to re-run its Construction Scripts;\nThis results on expensive respawn operation and will affect performance!\nAvoid pulling Characters every second with this option enabled."),ReconstructPin->PinToolTip); + } if (UEdGraphPin* ResultPin = GetResultPin()) { + K2Schema->ConstructBasicPinTooltip(*ResultPin,LOCTEXT("ResultPinDescription","The Character Class Spawned from the Pool."),ResultPin->PinToolTip); + } return Super::GetPinHoverText(Pin,HoverTextOut); +} + +FText UK2Node_SpawnCharacterFromPool::GetTooltipText() const { + return NodeTooltip; +} + +FSlateIcon UK2Node_SpawnCharacterFromPool::GetIconAndTint(FLinearColor &OutColor) const { + static FSlateIcon Icon(TEXT("OBJPoolStyle"),TEXT("ClassIcon.CharacterPool")); + return Icon; +} + +void UK2Node_SpawnCharacterFromPool::GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const { + UClass* ActionKey = GetClass(); + // + if (ActionRegistrar.IsOpenForRegistration(ActionKey)) { + UBlueprintNodeSpawner* NodeSpawner = UBlueprintNodeSpawner::Create(GetClass()); + if (NodeSpawner==nullptr) {return;} + // + ActionRegistrar.AddBlueprintAction(ActionKey,NodeSpawner); + } +} + +FText UK2Node_SpawnCharacterFromPool::GetMenuCategory() const { + return LOCTEXT("PoolCategory","Object Pool"); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnPawnFromPool.cpp b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnPawnFromPool.cpp new file mode 100644 index 0000000..b20745c --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Private/K2Node_SpawnPawnFromPool.cpp @@ -0,0 +1,652 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "K2Node_SpawnPawnFromPool.h" + +#include "BlueprintActionDatabaseRegistrar.h" +#include "Kismet2/BlueprintEditorUtils.h" +#include "Kismet/GameplayStatics.h" +#include "GameFramework/Pawn.h" +#include "BlueprintNodeSpawner.h" +#include "K2Node_CallFunction.h" +#include "EditorCategoryUtils.h" +#include "K2Node_EnumLiteral.h" +#include "UObject/UnrealType.h" +#include "KismetCompilerMisc.h" +#include "Engine/EngineTypes.h" +#include "EdGraphSchema_K2.h" +#include "EdGraph/EdGraph.h" +#include "KismetCompiler.h" +#include "K2Node_Select.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct FK2Node_SpawnPawnFromPoolHelper { + static FName PoolPinName; + static FName PawnPinName; + static FName OwnerPinName; + static FName SuccessPinName; + static FName TemplatePinName; + static FName ReconstructPinName; + static FName WorldContextPinName; + static FName SpawnOptionsPinName; + static FName SpawnTransformPinName; + static FName NoCollisionFailPinName; + static FName CollisionHandlingOverridePinName; +}; + +FName FK2Node_SpawnPawnFromPoolHelper::PawnPinName(TEXT("Pawn")); +FName FK2Node_SpawnPawnFromPoolHelper::OwnerPinName(TEXT("Owner")); +FName FK2Node_SpawnPawnFromPoolHelper::PoolPinName(TEXT("ObjectPool")); +FName FK2Node_SpawnPawnFromPoolHelper::TemplatePinName(TEXT("PooledClass")); +FName FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName(TEXT("Reconstruct")); +FName FK2Node_SpawnPawnFromPoolHelper::SuccessPinName(TEXT("SpawnSuccessful")); +FName FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName(TEXT("SpawnOptions")); +FName FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName(TEXT("SpawnTransform")); +FName FK2Node_SpawnPawnFromPoolHelper::WorldContextPinName(TEXT("WorldContextObject")); +FName FK2Node_SpawnPawnFromPoolHelper::NoCollisionFailPinName(TEXT("SpawnEvenIfColliding")); +FName FK2Node_SpawnPawnFromPoolHelper::CollisionHandlingOverridePinName(TEXT("CollisionHandlingOverride")); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UK2Node_SpawnPawnFromPool::UK2Node_SpawnPawnFromPool(const FObjectInitializer &ObjectInitializer) : Super(ObjectInitializer) { + NodeTooltip = LOCTEXT("NodeTooltip", "Attempts to Spawn from Pool an Inactive Pawn. Creates then Spawns a fully new Pawn if there's none available in the Pool and 'Instantiate On Demand' is checked on Project Settings."); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +FText UK2Node_SpawnPawnFromPool::GetNodeTitle(ENodeTitleType::Type TitleType) const { + FText NodeTitle = NSLOCTEXT("K2Node","SpawnPawnFromPool_BaseTitle","Spawn Pawn From Pool ..."); + // + UEdGraphPin* PoolPin = GetPoolPin(); + if (!PoolPin||(PoolPin->LinkedTo.Num()==0)) {return NodeTitle;} + // + if (TitleType != ENodeTitleType::MenuTitle) { + if (UEdGraphPin* ClassPin = GetTemplatePin()) { + if (ClassPin->LinkedTo.Num()>0) { + NodeTitle = NSLOCTEXT("K2Node","SpawnPawnFromPool_Unknown","Spawn Pawn From Pool"); + } else if (ClassPin->DefaultObject == nullptr) { + NodeTitle = NSLOCTEXT("K2Node", "SpawnPawnFromPool_NONE", "Spawn Pawn From Pool (NONE)"); + } else { + if (CachedNodeTitle.IsOutOfDate(this)) { + FText ClassName; + if (UClass* PickedClass = Cast(ClassPin->DefaultObject)) {ClassName=PickedClass->GetDisplayNameText();} + // + FFormatNamedArguments Args; + Args.Add(TEXT("Name"),ClassName); + CachedNodeTitle.SetCachedText(FText::Format(NSLOCTEXT("K2Node","SpawnPawnFromPool_Class","Spawn Pawn From Pool :: {Name}"),Args),this); + } NodeTitle = CachedNodeTitle; + } + } else {NodeTitle=NSLOCTEXT("K2Node","SpawnPawn_Title_NONE","SpawnPawn NONE");} + } return NodeTitle; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnPawnFromPool::AllocateDefaultPins() { + Super::AllocateDefaultPins(); Pins.Empty(); + // + // + UScriptStruct* TransformStruct = TBaseStructure::Get(); + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEnum* const CHO_Enum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"),true); + // + /// Execution Pins. + FEdGraphPinType PNT_Exec(K2Schema->PC_Exec,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Bool(K2Schema->PC_Boolean,TEXT(""),nullptr,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_CHO_Enum(K2Schema->PC_Byte,TEXT(""),CHO_Enum,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Transform(K2Schema->PC_Struct,TEXT(""),TransformStruct,EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Owner(K2Schema->PC_Object,TEXT(""),APawn::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Object(K2Schema->PC_Object,TEXT(""),UObject::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Class(K2Schema->PC_Class,TEXT(""),APooledPawn::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_OBJPool(K2Schema->PC_Object,TEXT(""),UPawnPool::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_Result(K2Schema->PC_Object,TEXT(""),APooledPawn::StaticClass(),EPinContainerType::None,false,FEdGraphTerminalType()); + FEdGraphPinType PNT_SpawnOptions(K2Schema->PC_Struct,TEXT(""),FPoolSpawnOptions::StaticStruct(),EPinContainerType::None,false,FEdGraphTerminalType()); + // + UEdGraphPin* PIN_Spawn = CreatePin(EGPD_Input,PNT_Exec,K2Schema->PN_Execute); + UEdGraphPin* PIN_Finish = CreatePin(EGPD_Output,PNT_Exec,K2Schema->PN_Then); + // + PIN_Spawn->PinFriendlyName = LOCTEXT("Spawn","Spawn"); + PIN_Finish->PinFriendlyName = LOCTEXT("Finished","Finished Spawning"); + // + // + /// World Context Pin. + if (GetBlueprint()->ParentClass->HasMetaDataHierarchical(FBlueprintMetadata::MD_ShowWorldContextPin)) { + CreatePin(EGPD_Input,PNT_Object,FK2Node_SpawnPawnFromPoolHelper::WorldContextPinName); + } + // + /// Pooled Class Pin. + UEdGraphPin* PIN_Class = CreatePin(EGPD_Input,PNT_Class,FK2Node_SpawnPawnFromPoolHelper::TemplatePinName); + // + /// Pool Pin. + UEdGraphPin* PIN_Pool = CreatePin(EGPD_Input,PNT_OBJPool,FK2Node_SpawnPawnFromPoolHelper::PoolPinName); + // + /// Collision Handling Pin. + UEdGraphPin* const PIN_CollisionHandlingOverride = CreatePin(EGPD_Input,PNT_CHO_Enum,FK2Node_SpawnPawnFromPoolHelper::CollisionHandlingOverridePinName); + PIN_CollisionHandlingOverride->DefaultValue = CHO_Enum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::Undefined)); + // + /// Default Pins. + UEdGraphPin* PIN_Transform = CreatePin(EGPD_Input,PNT_Transform,FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* PIN_Options = CreatePin(EGPD_Input,PNT_SpawnOptions,FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* PIN_Reconstruct = CreatePin(EGPD_Input,PNT_Bool,FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName); + UEdGraphPin* PIN_Success = CreatePin(EGPD_Output,PNT_Bool,FK2Node_SpawnPawnFromPoolHelper::SuccessPinName); + UEdGraphPin* PIN_Result = CreatePin(EGPD_Output,PNT_Result,K2Schema->PN_ReturnValue); + // + /// Owner Pin. + UEdGraphPin* PIN_Owner = CreatePin(EGPD_Input,PNT_Owner,FK2Node_SpawnPawnFromPoolHelper::OwnerPinName); + PIN_Owner->bAdvancedView = true; + // + // + if (ENodeAdvancedPins::NoPins==AdvancedPinDisplay) { + AdvancedPinDisplay = ENodeAdvancedPins::Hidden; + } + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UClass* UK2Node_SpawnPawnFromPool::GetClassToSpawn(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + UClass* ClassToSpawn = nullptr; + // + UEdGraphPin* ClassPin = GetTemplatePin(PinsToSearch); + if (ClassPin && ClassPin->DefaultObject && ClassPin->LinkedTo.Num()==0) { + ClassToSpawn = CastChecked(ClassPin->DefaultObject); + } else if (ClassPin && ClassPin->LinkedTo.Num()) { + UEdGraphPin* ClassSource = ClassPin->LinkedTo[0]; + ClassToSpawn = ClassSource ? Cast(ClassSource->PinType.PinSubCategoryObject.Get()) : nullptr; + } + // + return ClassToSpawn; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnPawnFromPool::CreatePinsForClass(UClass* InClass, TArray* OutClassPins) { + if (InClass==nullptr) {return;} + // + const UEdGraphSchema_K2* K2Schema = GetDefault(); + const UObject* const ClassDefaultObject = InClass->GetDefaultObject(false); + // + for (TFieldIterator PIT(InClass, EFieldIteratorFlags::IncludeSuper); PIT; ++PIT) { + FProperty* Property = *PIT; + UClass* PropertyClass = CastChecked(Property->GetOwner()); + // + const bool bIsDelegate = Property->IsA(FMulticastDelegateProperty::StaticClass()); + const bool bIsExposedToSpawn = UEdGraphSchema_K2::IsPropertyExposedOnSpawn(Property); + const bool bIsSettableExternally = !Property->HasAnyPropertyFlags(CPF_DisableEditOnInstance); + // + if (bIsExposedToSpawn && !Property->HasAnyPropertyFlags(CPF_Parm) && bIsSettableExternally && Property->HasAllPropertyFlags(CPF_BlueprintVisible) + && !bIsDelegate && (nullptr==FindPin(Property->GetFName())) && FBlueprintEditorUtils::PropertyStillExists(Property)) { + if (UEdGraphPin* Pin = CreatePin(EGPD_Input,NAME_None,Property->GetFName())) { + K2Schema->ConvertPropertyToPinType(Property,Pin->PinType); + if (OutClassPins) {OutClassPins->Add(Pin);} + // + if (ClassDefaultObject && K2Schema->PinDefaultValueIsEditable(*Pin)) { + FString DefaultValueAsString; + const bool bDefaultValueSet = FBlueprintEditorUtils::PropertyValueToString(Property,reinterpret_cast(ClassDefaultObject),DefaultValueAsString); + // + K2Schema->SetPinAutogeneratedDefaultValue(Pin,DefaultValueAsString); + } K2Schema->ConstructBasicPinTooltip(*Pin,Property->GetToolTipText(),Pin->PinToolTip); + }} + } + // + UEdGraphPin* ResultPin = GetResultPin(); + ResultPin->PinType.PinSubCategoryObject = InClass->GetAuthoritativeClass(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnPawnFromPool::ExpandNode(class FKismetCompilerContext &CompilerContext, UEdGraph* SourceGraph) { + Super::ExpandNode(CompilerContext,SourceGraph); + // + if (!IsValid(this)||!IsValid(SourceGraph)) {BreakAllNodeLinks(); return;} + static FName BeginSpawningBlueprintFuncName = GET_FUNCTION_NAME_CHECKED(UPawnPool,BeginDeferredSpawnFromPool); + static FName FinishSpawningFuncName = GET_FUNCTION_NAME_CHECKED(UPawnPool,FinishDeferredSpawnFromPool); + // + UK2Node_SpawnPawnFromPool* SpawnNode = this; + UEdGraphPin* SpawnPoolPin = SpawnNode->GetPoolPin(); + UEdGraphPin* SpawnNodeExec = SpawnNode->GetExecPin(); + UEdGraphPin* SpawnNodeThen = SpawnNode->GetThenPin(); + UEdGraphPin* SpawnNodeResult = SpawnNode->GetResultPin(); + UEdGraphPin* SpawnSuccessPin = SpawnNode->GetSuccessPin(); + UEdGraphPin* SpawnNodeOwnerPin = SpawnNode->GetOwnerPin(); + UEdGraphPin* SpawnTemplatePin = SpawnNode->GetTemplatePin(); + UEdGraphPin* SpawnNodeOptions = SpawnNode->GetSpawnOptionsPin(); + UEdGraphPin* SpawnWorldContextPin = SpawnNode->GetWorldContextPin(); + UEdGraphPin* SpawnNodeTransform = SpawnNode->GetSpawnTransformPin(); + UEdGraphPin* SpawnNodeReconstructPin = SpawnNode->GetReconstructPin(); + UEdGraphPin* SpawnNodeCollisionHandlingOverride = GetCollisionHandlingOverridePin(); + // + // + if (!SpawnPoolPin||(SpawnPoolPin->LinkedTo.Num()==0)) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnPawnFromPool_Pool_Error","Spawn Node: @@ must have a @@ specified!").ToString(),SpawnNode,SpawnPoolPin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UClass* ClassToSpawn = GetClassToSpawn(); + if (ClassToSpawn==nullptr) { + CompilerContext.MessageLog.Error(*LOCTEXT("SpawnPawnFromPool_Pool_Error","Spawn Node: @@ must be a valid Template @@ within target Pool Component (check Component Default 'Template Classes' Map).").ToString(),SpawnNode,SpawnTemplatePin); + SpawnNode->BreakAllNodeLinks(); + return;} + // + // + UK2Node_CallFunction* CallBeginSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallBeginSpawnNode->FunctionReference.SetExternalMember(BeginSpawningBlueprintFuncName,UPawnPool::StaticClass()); + CallBeginSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallBeginExec = CallBeginSpawnNode->GetExecPin(); + UEdGraphPin* CallBeginResult = CallBeginSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallBeginOwnerPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::OwnerPinName); + UEdGraphPin* CallBeginPawnPoolPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::PoolPinName); + UEdGraphPin* CallBeginSuccessPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SuccessPinName); + UEdGraphPin* CallBeginTemplatePin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::TemplatePinName); + UEdGraphPin* CallBeginOptions = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName); + UEdGraphPin* CallBeginTransform = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName); + UEdGraphPin* CallBeginReconstructPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallBeginWorldContextPin = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::WorldContextPinName); + UEdGraphPin* CallBeginCollisionHandlingOverride = CallBeginSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::CollisionHandlingOverridePinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeExec,*CallBeginExec); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOptions,*CallBeginOptions); + CompilerContext.MovePinLinksToIntermediate(*SpawnPoolPin,*CallBeginPawnPoolPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnSuccessPin,*CallBeginSuccessPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeTransform,*CallBeginTransform); + CompilerContext.MovePinLinksToIntermediate(*SpawnTemplatePin,*CallBeginTemplatePin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeReconstructPin,*CallBeginReconstructPin); + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeCollisionHandlingOverride,*CallBeginCollisionHandlingOverride); + // + if (SpawnWorldContextPin) {CompilerContext.MovePinLinksToIntermediate(*SpawnWorldContextPin,*CallBeginWorldContextPin);} + if (SpawnNodeOwnerPin!=nullptr) {CompilerContext.MovePinLinksToIntermediate(*SpawnNodeOwnerPin,*CallBeginOwnerPin);} + // + // + UK2Node_CallFunction* CallFinishSpawnNode = CompilerContext.SpawnIntermediateNode(SpawnNode,SourceGraph); + CallFinishSpawnNode->FunctionReference.SetExternalMember(FinishSpawningFuncName,UPawnPool::StaticClass()); + CallFinishSpawnNode->AllocateDefaultPins(); + // + UEdGraphPin* CallFinishExec = CallFinishSpawnNode->GetExecPin(); + UEdGraphPin* CallFinishThen = CallFinishSpawnNode->GetThenPin(); + UEdGraphPin* CallFinishResult = CallFinishSpawnNode->GetReturnValuePin(); + UEdGraphPin* CallFinishPawn = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::PawnPinName); + UEdGraphPin* CallFinishReconstruct = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName); + UEdGraphPin* CallFinishTransform = CallFinishSpawnNode->FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName); + // + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeThen,*CallFinishThen); + CompilerContext.CopyPinLinksToIntermediate(*CallBeginTransform,*CallFinishTransform); + CompilerContext.MovePinLinksToIntermediate(*CallBeginReconstructPin,*CallFinishReconstruct); + // + CallBeginResult->MakeLinkTo(CallFinishPawn); + CallFinishResult->PinType = SpawnNodeResult->PinType; + CompilerContext.MovePinLinksToIntermediate(*SpawnNodeResult,*CallFinishResult); + // + // + UEdGraphPin* LastThen = FKismetCompilerUtilities::GenerateAssignmentNodes(CompilerContext,SourceGraph,CallBeginSpawnNode,SpawnNode,CallBeginResult,ClassToSpawn); + LastThen->MakeLinkTo(CallFinishExec); + // + SpawnNode->BreakAllNodeLinks(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnPawnFromPool::MaybeUpdateCollisionPin(TArray &OldPins) { + for (UEdGraphPin* Pin : OldPins) { + if (Pin->PinName == FK2Node_SpawnPawnFromPoolHelper::NoCollisionFailPinName) { + bool bHadOldCollisionPin = true; + if (Pin->LinkedTo.Num() == 0) { + bool const bOldCollisionPinValue = (Pin->DefaultValue == FString(TEXT("true"))); + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin) { + UEnum const* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + CollisionHandlingOverridePin->DefaultValue = + bOldCollisionPinValue + ? MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)) + : MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + } + } else { + UEdGraphPin* const CollisionHandlingOverridePin = GetCollisionHandlingOverridePin(); + if (CollisionHandlingOverridePin==nullptr) {return;} + // + UEnum* const MethodEnum = FindObjectChecked(nullptr,TEXT("/Script/Engine.ESpawnActorCollisionHandlingMethod"), true); + // + FGraphNodeCreator AlwaysSpawnLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AlwaysSpawnLiteralNode = AlwaysSpawnLiteralCreator.CreateNode(); + AlwaysSpawnLiteralNode->Enum = MethodEnum; + AlwaysSpawnLiteralNode->NodePosX = NodePosX; + AlwaysSpawnLiteralNode->NodePosY = NodePosY; + AlwaysSpawnLiteralCreator.Finalize(); + // + FGraphNodeCreator AdjustIfNecessaryLiteralCreator(*GetGraph()); + UK2Node_EnumLiteral* const AdjustIfNecessaryLiteralNode = AdjustIfNecessaryLiteralCreator.CreateNode(); + AdjustIfNecessaryLiteralNode->Enum = MethodEnum; + AdjustIfNecessaryLiteralNode->NodePosX = NodePosX; + AdjustIfNecessaryLiteralNode->NodePosY = NodePosY; + AdjustIfNecessaryLiteralCreator.Finalize(); + // + FGraphNodeCreator SelectCreator(*GetGraph()); + UK2Node_Select* const SelectNode = SelectCreator.CreateNode(); + SelectNode->NodePosX = NodePosX; + SelectNode->NodePosY = NodePosY; + SelectCreator.Finalize(); + // + auto FindEnumInputPin = [](UK2Node_EnumLiteral const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (NodePin->PinName == Node->GetEnumInputPinName()) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeInputPin = FindEnumInputPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralInputPin = FindEnumInputPin(AdjustIfNecessaryLiteralNode); + // + TArray SelectOptionPins; + SelectNode->GetOptionPins(SelectOptionPins); + UEdGraphPin* const SelectIndexPin = SelectNode->GetIndexPin(); + // + auto FindResultPin = [](UK2Node const* Node) { + for (UEdGraphPin* NodePin : Node->Pins) { + if (EEdGraphPinDirection::EGPD_Output == NodePin->Direction) {return NodePin;} + } return (UEdGraphPin*)nullptr; + };// + // + UEdGraphPin* const AlwaysSpawnLiteralNodeResultPin = FindResultPin(AlwaysSpawnLiteralNode); + UEdGraphPin* const AdjustIfNecessaryLiteralResultPin = FindResultPin(AdjustIfNecessaryLiteralNode); + // + if (AlwaysSpawnLiteralNodeResultPin==nullptr) {return;} + if (AdjustIfNecessaryLiteralResultPin==nullptr) {return;} + // + UEdGraphPin* const OldBoolPin = Pin->LinkedTo[0]; + if (OldBoolPin==nullptr) {return;} + // + AlwaysSpawnLiteralNodeInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AlwaysSpawn)); + AdjustIfNecessaryLiteralInputPin->DefaultValue = MethodEnum->GetNameStringByIndex(static_cast(ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding)); + // + OldBoolPin->BreakLinkTo(Pin); + OldBoolPin->MakeLinkTo(SelectIndexPin); + // + AlwaysSpawnLiteralNodeResultPin->MakeLinkTo(SelectOptionPins[0]); + AdjustIfNecessaryLiteralResultPin->MakeLinkTo(SelectOptionPins[1]); + // + UEdGraphPin* const SelectOutputPin = SelectNode->GetReturnValuePin(); + if (SelectOutputPin==nullptr) {return;} + // + SelectOutputPin->MakeLinkTo(CollisionHandlingOverridePin); + // + SelectNode->NotifyPinConnectionListChanged(SelectIndexPin); + SelectNode->NotifyPinConnectionListChanged(SelectOutputPin); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[0]); + SelectNode->NotifyPinConnectionListChanged(SelectOptionPins[1]); + } + } + } +} + +void UK2Node_SpawnPawnFromPool::ReallocatePinsDuringReconstruction(TArray &OldPins) { + AllocateDefaultPins(); + // + UClass* ClassToSpawn = GetClassToSpawn(&OldPins); + // + if (ClassToSpawn) { + TArrayClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } + // + MaybeUpdateCollisionPin(OldPins); + RestoreSplitPins(OldPins); +} + +bool UK2Node_SpawnPawnFromPool::IsNodeBasePin(UEdGraphPin* Pin) { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* ParentPin = Pin->ParentPin; + while (ParentPin) { + if (ParentPin->PinName == FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName) {return false;} + if (ParentPin->PinName == FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName) {return false;} + ParentPin=ParentPin->ParentPin;} + // + return ( + Pin->PinName != K2Schema->PN_Then && + Pin->PinName != K2Schema->PN_Execute && + Pin->PinName != K2Schema->PN_ReturnValue && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::PoolPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::OwnerPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::SuccessPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::TemplatePinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::WorldContextPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName && + Pin->PinName != FK2Node_SpawnPawnFromPoolHelper::CollisionHandlingOverridePinName + ); +} + +void UK2Node_SpawnPawnFromPool::PostPlacedNewNode() { + Super::PostPlacedNewNode(); + // + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) { + TArray ClassPins; + CreatePinsForClass(ClassToSpawn,&ClassPins); + } +} + +void UK2Node_SpawnPawnFromPool::OnClassPinChanged() { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + TArray OldPins = Pins; + TArray OldClassPins; + // + for (int32 I=0; I NewClassPins; + UClass* ClassToSpawn = GetClassToSpawn(); + // + if (ClassToSpawn) {CreatePinsForClass(ClassToSpawn,&NewClassPins);} + // + UEdGraphPin* ResultPin = GetResultPin(); + TArray ResultPinConnectionList = ResultPin->LinkedTo; + ResultPin->BreakAllPinLinks(); + // + for (UEdGraphPin* Connections : ResultPinConnectionList) { + K2Schema->TryCreateConnection(ResultPin,Connections); + } + // + TMapNewPinsToOldPins; + RewireOldPinsToNewPins(OldClassPins,NewClassPins,&NewPinsToOldPins); + // + DestroyPinList(OldClassPins); + // + UEdGraph* Graph = GetGraph(); + Graph->NotifyGraphChanged(); + // + FBlueprintEditorUtils::MarkBlueprintAsModified(GetBlueprint()); +} + +void UK2Node_SpawnPawnFromPool::PinConnectionListChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnPawnFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnPawnFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +void UK2Node_SpawnPawnFromPool::PinDefaultValueChanged(UEdGraphPin* ChangedPin) { + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnPawnFromPoolHelper::PoolPinName)) {OnClassPinChanged();} + if (ChangedPin && (ChangedPin->PinName==FK2Node_SpawnPawnFromPoolHelper::TemplatePinName)) {OnClassPinChanged();} +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetThenPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_Then); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetPoolPin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnPawnFromPoolHelper::PoolPinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetTemplatePin(const TArray* InPinsToSearch) const { + const TArray* PinsToSearch = InPinsToSearch ? InPinsToSearch : &Pins; + // + UEdGraphPin* Pin = nullptr; + for (auto PinIt = PinsToSearch->CreateConstIterator(); PinIt; ++PinIt ) { + UEdGraphPin* TestPin = *PinIt; + if (TestPin && TestPin->PinName==FK2Node_SpawnPawnFromPoolHelper::TemplatePinName) {Pin=TestPin; break;} + } + // + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetSpawnOptionsPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SpawnOptionsPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetSpawnTransformPin() const { + UEdGraphPin* Pin = FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::SpawnTransformPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetCollisionHandlingOverridePin() const { + UEdGraphPin* const Pin = FindPinChecked(FK2Node_SpawnPawnFromPoolHelper::CollisionHandlingOverridePinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetOwnerPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnPawnFromPoolHelper::OwnerPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetReconstructPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnPawnFromPoolHelper::ReconstructPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetWorldContextPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnPawnFromPoolHelper::WorldContextPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Input); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetSuccessPin() const { + UEdGraphPin* Pin = FindPin(FK2Node_SpawnPawnFromPoolHelper::SuccessPinName); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +UEdGraphPin* UK2Node_SpawnPawnFromPool::GetResultPin() const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + UEdGraphPin* Pin = FindPinChecked(K2Schema->PN_ReturnValue); + check(Pin==nullptr||Pin->Direction==EGPD_Output); return Pin; +} + +FLinearColor UK2Node_SpawnPawnFromPool::GetNodeTitleColor() const { + FColor Color = FColor(195.f,150.f,135.f); + return FLinearColor(Color); +} + +bool UK2Node_SpawnPawnFromPool::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const { + UBlueprint* Blueprint = FBlueprintEditorUtils::FindBlueprintForGraph(TargetGraph); + return Super::IsCompatibleWithGraph(TargetGraph) && (!Blueprint || (FBlueprintEditorUtils::FindUserConstructionScript(Blueprint) != TargetGraph && Blueprint->GeneratedClass->GetDefaultObject()->ImplementsGetWorld())); +} + +void UK2Node_SpawnPawnFromPool::GetNodeAttributes( TArray> &OutNodeAttributes ) const { + UClass* ClassToSpawn = GetClassToSpawn(); + // + const FString ClassToSpawnStr = ClassToSpawn ? ClassToSpawn->GetName() : TEXT("InvalidClass"); + // + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeType"),TEXT("SpawnPawnFromPool"))); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeClass"),GetClass()->GetName())); + OutNodeAttributes.Add(TKeyValuePair(TEXT("SpawnClass"),ClassToSpawnStr)); + OutNodeAttributes.Add(TKeyValuePair(TEXT("NodeName"),GetName())); +} + +FNodeHandlingFunctor* UK2Node_SpawnPawnFromPool::CreateNodeHandler(FKismetCompilerContext &CompilerContext) const { + return new FNodeHandlingFunctor(CompilerContext); +} + +bool UK2Node_SpawnPawnFromPool::HasExternalDependencies(TArray* OptionalOutput) const { + UClass* SourceClass = GetClassToSpawn(); + // + const UBlueprint* SourceBlueprint = GetBlueprint(); + const bool bResult = (SourceClass != nullptr) && (SourceClass->ClassGeneratedBy != SourceBlueprint); + // + if (bResult && OptionalOutput) {OptionalOutput->AddUnique(SourceClass);} + const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput); + // + return bSuperResult || bResult; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void UK2Node_SpawnPawnFromPool::GetPinHoverText(const UEdGraphPin &Pin, FString &HoverTextOut) const { + const UEdGraphSchema_K2* K2Schema = GetDefault(); + // + if (UEdGraphPin* PoolPin = GetPoolPin()) { + K2Schema->ConstructBasicPinTooltip(*PoolPin,LOCTEXT("PoolPinDescription","The Pool Owner of Pawn Instance."),PoolPin->PinToolTip); + }if (UEdGraphPin* ClassPin = GetTemplatePin()) { + K2Schema->ConstructBasicPinTooltip(*ClassPin,LOCTEXT("ClassPinDescription","The Class to Spawn. Target Pool must have this Class as member of its Templates Map (Properties on Details Panel)."),ClassPin->PinToolTip); + } if (UEdGraphPin* TransformPin = GetSpawnTransformPin()) { + K2Schema->ConstructBasicPinTooltip(*TransformPin,LOCTEXT("TransformPinDescription","The transform to spawn the Pawn with"),TransformPin->PinToolTip); + } if (UEdGraphPin* CollisionHandlingOverridePin = GetCollisionHandlingOverridePin()) { + K2Schema->ConstructBasicPinTooltip(*CollisionHandlingOverridePin,LOCTEXT("CollisionHandlingOverridePinDescription","Specifies how to handle collisions at the Spawn Point. If undefined,uses Pawn Class Settings."),CollisionHandlingOverridePin->PinToolTip); + } if (UEdGraphPin* OwnerPin = GetOwnerPin()) { + K2Schema->ConstructBasicPinTooltip(*OwnerPin,LOCTEXT("OwnerPinDescription","Can be left empty; primarily used for replication or visibility."),OwnerPin->PinToolTip); + } if (UEdGraphPin* ReconstructPin = GetReconstructPin()) { + K2Schema->ConstructBasicPinTooltip(*ReconstructPin,LOCTEXT("ReconstructPinDescription","If checked, this will force the Spawning Pawn to re-run its Construction Scripts;\nThis results on expensive respawn operation and will affect performance!\nAvoid pulling Pawns every second with this option enabled."),ReconstructPin->PinToolTip); + } if (UEdGraphPin* ResultPin = GetResultPin()) { + K2Schema->ConstructBasicPinTooltip(*ResultPin,LOCTEXT("ResultPinDescription","The Pawn Class Spawned from the Pool."),ResultPin->PinToolTip); + } return Super::GetPinHoverText(Pin,HoverTextOut); +} + +FText UK2Node_SpawnPawnFromPool::GetTooltipText() const { + return NodeTooltip; +} + +FSlateIcon UK2Node_SpawnPawnFromPool::GetIconAndTint(FLinearColor &OutColor) const { + static FSlateIcon Icon(TEXT("OBJPoolStyle"),TEXT("ClassIcon.PawnPool")); + return Icon; +} + +void UK2Node_SpawnPawnFromPool::GetMenuActions(FBlueprintActionDatabaseRegistrar &ActionRegistrar) const { + UClass* ActionKey = GetClass(); + // + if (ActionRegistrar.IsOpenForRegistration(ActionKey)) { + UBlueprintNodeSpawner* NodeSpawner = UBlueprintNodeSpawner::Create(GetClass()); + if (NodeSpawner==nullptr) {return;} + // + ActionRegistrar.AddBlueprintAction(ActionKey,NodeSpawner); + } +} + +FText UK2Node_SpawnPawnFromPool::GetMenuCategory() const { + return LOCTEXT("PoolCategory","Object Pool"); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/IOBJPoolDeveloper.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/IOBJPoolDeveloper.h new file mode 100644 index 0000000..058f0e5 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/IOBJPoolDeveloper.h @@ -0,0 +1,23 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Modules/ModuleManager.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class IOBJPoolDeveloper : public IModuleInterface { +public: + static inline IOBJPoolDeveloper &Get() {return FModuleManager::LoadModuleChecked("OBJPoolDeveloper");} + static inline bool IsAvailable() {return FModuleManager::Get().IsModuleLoaded("OBJPoolDeveloper");} +}; + +class OBJPoolDeveloper : public IOBJPoolDeveloper {}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper.h new file mode 100644 index 0000000..1d1028f --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper.h @@ -0,0 +1,17 @@ +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" +#include "K2Node_SpawnPawnFromPool.h" +#include "K2Node_SpawnActorFromPool.h" +#include "K2Node_SpawnCharacterFromPool.h" +#include "K2Node_SpawnActorFromSharedPool.h" + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper_Shared.h b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper_Shared.h new file mode 100644 index 0000000..9ed95a3 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolDeveloper/Public/OBJPoolDeveloper_Shared.h @@ -0,0 +1,15 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "UObject/WeakObjectPtr.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/OBJPoolEditor.Build.cs b/Plugins/ObjectPool/Source/OBJPoolEditor/OBJPoolEditor.Build.cs new file mode 100644 index 0000000..3a4ad14 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/OBJPoolEditor.Build.cs @@ -0,0 +1,31 @@ +using UnrealBuildTool; + +public class OBJPoolEditor : ModuleRules { + public OBJPoolEditor(ReadOnlyTargetRules Target) : base(Target) { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + PrivatePCHHeaderFile = "Public/OBJPoolEditor.h"; + IWYUSupport = IWYUSupport.None; + // + PublicDependencyModuleNames.AddRange( + new string[] { + "Core", + "Engine", + "OBJPool", + "CoreUObject", + "OBJPoolDeveloper" + } + ); + // + PrivateDependencyModuleNames.AddRange( + new string[] { + "Slate", + "Projects", + "UnrealEd", + "SlateCore", + "AssetTools", + "EditorStyle", + "LevelEditor" + } + ); + } +} \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Private/IOBJPoolEditor.cpp b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/IOBJPoolEditor.cpp new file mode 100644 index 0000000..08c51c3 --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/IOBJPoolEditor.cpp @@ -0,0 +1,48 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "IOBJPoolEditor.h" +#include "OBJPoolEditor.h" +#include "OBJPoolStyle.h" + +#include "OBJPoolEditor_Shared.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void OBJPoolEditor::StartupModule() { + FOBJPoolStyle::Initialize(); + // + IAssetTools &AssetTools = FModuleManager::LoadModuleChecked("AssetTools").Get(); + SY_AssetCategory = AssetTools.RegisterAdvancedAssetCategory(FName(TEXT("Synaptech")),LOCTEXT("SynaptechCategory","Synaptech")); + // + { + TSharedRef ACT_OBJP = MakeShareable(new FATA_OBJP); AssetTools.RegisterAssetTypeActions(ACT_OBJP); + TSharedRef ACT_PWP = MakeShareable(new FATA_PWP); AssetTools.RegisterAssetTypeActions(ACT_PWP); + TSharedRef ACT_CHP = MakeShareable(new FATA_CHP); AssetTools.RegisterAssetTypeActions(ACT_CHP); + TSharedRef ACT_SHP = MakeShareable(new FATA_SHP); AssetTools.RegisterAssetTypeActions(ACT_SHP); + } +} + +void OBJPoolEditor::ShutdownModule() { + FOBJPoolStyle::Shutdown(); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +IMPLEMENT_MODULE(OBJPoolEditor,OBJPoolEditor); + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolEditor.cpp b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolEditor.cpp new file mode 100644 index 0000000..2d90baa --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolEditor.cpp @@ -0,0 +1,89 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "OBJPoolEditor.h" +#include "OBJPoolEditor_Shared.h" +#include "Kismet2/KismetEditorUtilities.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UOBJPoolFactory::UOBJPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) { + SupportedClass = UObjectPool::StaticClass(); + bEditAfterNew = true; + bCreateNew = true; +} + +UObject* UOBJPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) { + check(Class->IsChildOf(UObjectPool::StaticClass())); + return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions")); +} + +FText FATA_OBJP::GetAssetDescription(const FAssetData &AssetData) const { + return FText::FromString(FString(TEXT("Blueprintable Object-Pool Component."))); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UPWPoolFactory::UPWPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) { + SupportedClass = UPawnPool::StaticClass(); + bEditAfterNew = true; + bCreateNew = true; +} + +UObject* UPWPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) { + check(Class->IsChildOf(UPawnPool::StaticClass())); + return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions")); +} + +FText FATA_PWP::GetAssetDescription(const FAssetData &AssetData) const { + return FText::FromString(FString(TEXT("Blueprintable Pawn Object-Pool Component."))); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCHPoolFactory::UCHPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) { + SupportedClass = UCharacterPool::StaticClass(); + bEditAfterNew = true; + bCreateNew = true; +} + +UObject* UCHPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) { + check(Class->IsChildOf(UCharacterPool::StaticClass())); + return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions")); +} + +FText FATA_CHP::GetAssetDescription(const FAssetData &AssetData) const { + return FText::FromString(FString(TEXT("Blueprintable Character Object-Pool Component."))); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +USHPoolFactory::USHPoolFactory(const class FObjectInitializer &OBJ) : Super(OBJ) { + SupportedClass = USharedObjectPool::StaticClass(); + bEditAfterNew = true; + bCreateNew = true; +} + +UObject* USHPoolFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) { + check(Class->IsChildOf(USharedObjectPool::StaticClass())); + return FKismetEditorUtilities::CreateBlueprint(Class,InParent,Name,BPTYPE_Normal,UBlueprint::StaticClass(),UBlueprintGeneratedClass::StaticClass(),TEXT("AssetTypeActions")); +} + +FText FATA_SHP::GetAssetDescription(const FAssetData &AssetData) const { + return FText::FromString(FString(TEXT("Blueprintable Shared-Pool Component."))); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.cpp b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.cpp new file mode 100644 index 0000000..f6dfc8d --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.cpp @@ -0,0 +1,75 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "OBJPoolStyle.h" +#include "Styling/SlateStyle.h" +#include "OBJPoolEditor_Shared.h" +#include "Interfaces/IPluginManager.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define PLUGIN_BRUSH(RelativePath,...) FSlateImageBrush(FOBJPoolStyle::InContent(RelativePath,TEXT(".png")),__VA_ARGS__) + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +TSharedPtr FOBJPoolStyle::StyleSet = nullptr; +TSharedPtr FOBJPoolStyle::Get() {return StyleSet;} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +FString FOBJPoolStyle::InContent(const FString &RelativePath, const TCHAR* Extension) { + static FString Content = IPluginManager::Get().FindPlugin(TEXT("ObjectPool"))->GetContentDir(); + return (Content/RelativePath)+Extension; +} + +FName FOBJPoolStyle::GetStyleSetName() { + static FName StyleName(TEXT("OBJPoolStyle")); + return StyleName; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void FOBJPoolStyle::Initialize() { + if (StyleSet.IsValid()) {return;} + // + const FVector2D Icon16x16(16.f,16.f); + const FVector2D Icon128x128(128.f,128.f); + // + StyleSet = MakeShareable(new FSlateStyleSet(GetStyleSetName())); + StyleSet->SetContentRoot(IPluginManager::Get().FindPlugin(TEXT("ObjectPool"))->GetContentDir()); + // + StyleSet->Set("ClassIcon.PawnPool", new PLUGIN_BRUSH(TEXT("Icons/Pawn_16x"),Icon16x16)); + StyleSet->Set("ClassIcon.ObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Pool_16x"),Icon16x16)); + StyleSet->Set("ClassIcon.CharacterPool", new PLUGIN_BRUSH(TEXT("Icons/Character_16x"),Icon16x16)); + StyleSet->Set("ClassIcon.SharedObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Shared_16x"),Icon16x16)); + StyleSet->Set("ClassIcon.PooledProjectile", new PLUGIN_BRUSH(TEXT("Icons/Projectile_16x"),Icon16x16)); + StyleSet->Set("ClassIcon.PooledSplineProjectile", new PLUGIN_BRUSH(TEXT("Icons/SplineProjectile_16x"),Icon16x16)); + // + StyleSet->Set("ClassThumbnail.PawnPool", new PLUGIN_BRUSH(TEXT("Icons/Pawn_128x"),Icon128x128)); + StyleSet->Set("ClassThumbnail.ObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Pool_128x"),Icon128x128)); + StyleSet->Set("ClassThumbnail.CharacterPool", new PLUGIN_BRUSH(TEXT("Icons/Character_128x"),Icon128x128)); + StyleSet->Set("ClassThumbnail.SharedObjectPool", new PLUGIN_BRUSH(TEXT("Icons/Shared_128x"),Icon128x128)); + StyleSet->Set("ClassThumbnail.PooledProjectile", new PLUGIN_BRUSH(TEXT("Icons/Projectile_128x"),Icon128x128)); + StyleSet->Set("ClassThumbnail.PooledSplineProjectile", new PLUGIN_BRUSH(TEXT("Icons/SplineProjectile_128x"),Icon128x128)); + // + FSlateStyleRegistry::RegisterSlateStyle(*StyleSet.Get()); +}; + +void FOBJPoolStyle::Shutdown() { + if (StyleSet.IsValid()) { + FSlateStyleRegistry::UnRegisterSlateStyle(*StyleSet.Get()); + ensure(StyleSet.IsUnique()); + StyleSet.Reset(); + } +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef PLUGIN_BRUSH + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.h b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.h new file mode 100644 index 0000000..1c19f7a --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Private/OBJPoolStyle.h @@ -0,0 +1,28 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Runtime/SlateCore/Public/Styling/SlateStyleRegistry.h" +#include "Runtime/SlateCore/Public/Styling/SlateStyle.h" +#include "Editor/UnrealEd/Public/ClassIconFinder.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FOBJPoolStyle { +private: + static TSharedPtr StyleSet; + static FString InContent(const FString &RelativePath, const TCHAR* Extension); +public: + static void Initialize(); + static void Shutdown(); + static FName GetStyleSetName(); + static TSharedPtr Get(); +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Public/IOBJPoolEditor.h b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/IOBJPoolEditor.h new file mode 100644 index 0000000..9d40c0b --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/IOBJPoolEditor.h @@ -0,0 +1,44 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Modules/ModuleManager.h" +#include "IDetailCustomization.h" +#include "IPropertyChangeListener.h" + +#if WITH_EDITORONLY_DATA + #include "ISettingsModule.h" + #include "ISettingsSection.h" + #include "ISettingsContainer.h" +#endif + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class IOBJPoolEditor : public IModuleInterface { +public: + static inline IOBJPoolEditor &Get() {return FModuleManager::LoadModuleChecked("OBJPoolEditor");} + static inline bool IsAvailable() {return FModuleManager::Get().IsModuleLoaded("OBJPoolEditor");} +}; + +class OBJPoolEditor : public IOBJPoolEditor { +public: + virtual void StartupModule() override; + virtual void ShutdownModule() override; + virtual bool SupportsDynamicReloading() override {return true;} +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor.h b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor.h new file mode 100644 index 0000000..430445f --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor.h @@ -0,0 +1,109 @@ +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "OBJPool.h" +#include "AssetTypeActions_Base.h" +#include "Editor/UnrealEd/Classes/Factories/Factory.h" + +#include "OBJPoolEditor.generated.h" + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#define LOCTEXT_NAMESPACE "Synaptech" + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +UCLASS() +class OBJPOOLEDITOR_API UOBJPoolFactory : public UFactory { + GENERATED_UCLASS_BODY() +protected: + virtual bool IsMacroFactory() const { return false; } +public: + virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; +}; + +UCLASS() +class OBJPOOLEDITOR_API UPWPoolFactory : public UFactory { + GENERATED_UCLASS_BODY() +protected: + virtual bool IsMacroFactory() const { return false; } +public: + virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; +}; + +UCLASS() +class OBJPOOLEDITOR_API UCHPoolFactory : public UFactory { + GENERATED_UCLASS_BODY() +protected: + virtual bool IsMacroFactory() const { return false; } +public: + virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; +}; + +UCLASS() +class OBJPOOLEDITOR_API USHPoolFactory : public UFactory { + GENERATED_UCLASS_BODY() +protected: + virtual bool IsMacroFactory() const { return false; } +public: + virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; +}; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +static EAssetTypeCategories::Type SY_AssetCategory; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class FATA_OBJP : public FAssetTypeActions_Base { +public: + virtual uint32 GetCategories() override { return SY_AssetCategory; } + virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_OBJP","Object Pool"); } + virtual UClass* GetSupportedClass() const override { return UObjectPool::StaticClass(); } + virtual FColor GetTypeColor() const override { return FColor(27,190,27); } + // + virtual FText GetAssetDescription(const FAssetData &AssetData) const override; +}; + +class FATA_PWP : public FAssetTypeActions_Base { +public: + virtual uint32 GetCategories() override { return SY_AssetCategory; } + virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_PWP","Pawn Pool"); } + virtual UClass* GetSupportedClass() const override { return UPawnPool::StaticClass(); } + virtual FColor GetTypeColor() const override { return FColor(190,27,27); } + // + virtual FText GetAssetDescription(const FAssetData &AssetData) const override; +}; + +class FATA_CHP : public FAssetTypeActions_Base { +public: + virtual uint32 GetCategories() override { return SY_AssetCategory; } + virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_CHP","Character Pool"); } + virtual UClass* GetSupportedClass() const override { return UCharacterPool::StaticClass(); } + virtual FColor GetTypeColor() const override { return FColor(27,27,190); } + // + virtual FText GetAssetDescription(const FAssetData &AssetData) const override; +}; + +class FATA_SHP : public FAssetTypeActions_Base { +public: + virtual uint32 GetCategories() override { return SY_AssetCategory; } + virtual FText GetName() const override { return NSLOCTEXT("AssetTypeActions","FATA_SHP","Shared Pool"); } + virtual UClass* GetSupportedClass() const override { return USharedObjectPool::StaticClass(); } + virtual FColor GetTypeColor() const override { return FColor(255,255,255); } + // + virtual FText GetAssetDescription(const FAssetData &AssetData) const override; +}; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#undef LOCTEXT_NAMESPACE + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor_Shared.h b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor_Shared.h new file mode 100644 index 0000000..5dd858e --- /dev/null +++ b/Plugins/ObjectPool/Source/OBJPoolEditor/Public/OBJPoolEditor_Shared.h @@ -0,0 +1,15 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +/// Copyright 2019 (C) Bruno Xavier B. Leite +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "UObject/WeakObjectPtr.h" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Source/TerracottaWarriors.Target.cs b/Source/TerracottaWarriors.Target.cs new file mode 100644 index 0000000..be760fa --- /dev/null +++ b/Source/TerracottaWarriors.Target.cs @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class TerracottaWarriorsTarget : TargetRules +{ + public TerracottaWarriorsTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V4; + + ExtraModuleNames.AddRange( new string[] { "TerracottaWarriors" } ); + } +} diff --git a/Source/TerracottaWarriors/Private/BPTools.cpp b/Source/TerracottaWarriors/Private/BPTools.cpp new file mode 100644 index 0000000..4e6969e --- /dev/null +++ b/Source/TerracottaWarriors/Private/BPTools.cpp @@ -0,0 +1,28 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "BPTools.h" + +FString UBPTools::ReadConfigString(const FString& FilePath) +{ + + if (!FPaths::FileExists(FilePath)) + { + UE_LOG(LogTemp, Error, TEXT("file no exist: %s"), *FilePath); + return ""; + } + + FString FileContent; + bool bSuccess = FFileHelper::LoadFileToString(FileContent, *FilePath); + if (bSuccess) + { + UE_LOG(LogTemp, Log, TEXT("file content : %s"), *FileContent); + return FileContent; + } + else + { + UE_LOG(LogTemp, Error, TEXT("file read failed: %s"), *FilePath); + return ""; + } + return FileContent; +} \ No newline at end of file diff --git a/Source/TerracottaWarriors/Private/Tools.cpp b/Source/TerracottaWarriors/Private/Tools.cpp new file mode 100644 index 0000000..7d9d2e0 --- /dev/null +++ b/Source/TerracottaWarriors/Private/Tools.cpp @@ -0,0 +1,12 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Tools.h" + +Tools::Tools() +{ +} + +Tools::~Tools() +{ +} diff --git a/Source/TerracottaWarriors/Private/UDPInstanceSubsystem.cpp b/Source/TerracottaWarriors/Private/UDPInstanceSubsystem.cpp new file mode 100644 index 0000000..428f2a8 --- /dev/null +++ b/Source/TerracottaWarriors/Private/UDPInstanceSubsystem.cpp @@ -0,0 +1,270 @@ +#include "UDPInstanceSubsystem.h" +#include "Serialization/JsonReader.h" +#include "Serialization/JsonWriter.h" +#include "Sockets.h" +#include "Camera/CameraComponent.h" +#include "Common/UdpSocketBuilder.h" +#include "Common/UdpSocketReceiver.h" +#include "GameFramework/Pawn.h" +#include "Kismet/KismetMathLibrary.h" + +TSharedPtr FDeviceData::ToJsonObject() const +{ + TSharedPtr JsonObject = MakeShareable(new FJsonObject); + JsonObject->SetStringField("id", ID); + JsonObject->SetNumberField("x", X); + JsonObject->SetNumberField("y", Y); + JsonObject->SetNumberField("z", Z); + JsonObject->SetNumberField("yaw", Yaw); + JsonObject->SetNumberField("roll", Roll); + JsonObject->SetNumberField("pitch", Pitch); + return JsonObject; +} + +bool FDeviceData::FromJsonObject(const TSharedPtr& JsonObject, FDeviceData& OutDeviceData) +{ + if (!JsonObject.IsValid()) + return false; + + if (!JsonObject->TryGetStringField("id", OutDeviceData.ID)) + return false; + + if (!JsonObject->TryGetNumberField("x", OutDeviceData.X)) + return false; + + if (!JsonObject->TryGetNumberField("y", OutDeviceData.Y)) + return false; + + if (!JsonObject->TryGetNumberField("z", OutDeviceData.Z)) + return false; + + if (!JsonObject->TryGetNumberField("yaw", OutDeviceData.Yaw)) + return false; + + if (!JsonObject->TryGetNumberField("roll", OutDeviceData.Roll)) + return false; + + if (!JsonObject->TryGetNumberField("pitch", OutDeviceData.Pitch)) + return false; + + return true; +} + +void UUDPInstanceSubsystem::Initialize(FSubsystemCollectionBase& Collection) +{ + Super::Initialize(Collection); + InitNetwork(); + UUID = FGuid::NewGuid().ToString(); +} + +void UUDPInstanceSubsystem::Deinitialize() +{ + CleanupNetwork(); + Super::Deinitialize(); +} + +void UUDPInstanceSubsystem::InitNetwork() +{ + // 初始化发送socket + SenderSocket = FUdpSocketBuilder(TEXT("UDPSenderSocket")) + .AsReusable() + .WithBroadcast(); + + // 设置远程端点 (192.168.1.28:1234) + FIPv4Address::Parse(TEXT("192.168.30.254"), RemoteEndpoint.Address); + RemoteEndpoint.Port = 1234; + + // 初始化接收socket + ReceiverSocket = FUdpSocketBuilder(TEXT("UDPReceiverSocket")) + .AsReusable() + .WithBroadcast() + .BoundToEndpoint(FIPv4Endpoint(FIPv4Address::Any, 9999)) // 监听相同端口 + .WithReceiveBufferSize(65535); + + // 启动接收线程 + SocketReceiver = new FUdpSocketReceiver(ReceiverSocket, FTimespan::FromMilliseconds(100), TEXT("UDPReceiver")); + SocketReceiver->OnDataReceived().BindUObject(this, &UUDPInstanceSubsystem::OnDataReceived); + SocketReceiver->Start(); +} + +void UUDPInstanceSubsystem::CleanupNetwork() +{ + // 停止接收线程 + if (SocketReceiver) + { + SocketReceiver->Stop(); + delete SocketReceiver; + SocketReceiver = nullptr; + } + + // 关闭接收socket + if (ReceiverSocket) + { + ReceiverSocket->Close(); + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(ReceiverSocket); + ReceiverSocket = nullptr; + } + + // 关闭发送socket + if (SenderSocket) + { + SenderSocket->Close(); + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(SenderSocket); + SenderSocket = nullptr; + } +} + +void UUDPInstanceSubsystem::SetTrackedPawn(APawn* NewPawn) +{ + TrackedPawn = NewPawn; +} + +void UUDPInstanceSubsystem::SendDeviceData(const FDeviceData& DeviceData) +{ + if (!SenderSocket) + return; + + // 将结构体转换为JSON + TSharedPtr JsonObject = DeviceData.ToJsonObject(); + FString JsonString; + TSharedRef> Writer = TJsonWriterFactory<>::Create(&JsonString); + FJsonSerializer::Serialize(JsonObject.ToSharedRef(), Writer); + + // 发送数据 + TArray Data; + FTCHARToUTF8 Converter(*JsonString); + Data.Append((uint8*)Converter.Get(), Converter.Length()); + + int32 BytesSent = 0; + SenderSocket->SendTo(Data.GetData(), Data.Num(), BytesSent, RemoteEndpoint.ToInternetAddr().Get()); +} + +void UUDPInstanceSubsystem::SendCurrentPawnData() +{ + if (!TrackedPawn) + return; + + FDeviceData DeviceData; + /*DeviceData.ID = "PlayerPawn";*/ + DeviceData.ID = UUID; + UCameraComponent* TargetCamera = TrackedPawn->FindComponentByClass(); + + FVector Location = TargetCamera->GetComponentLocation(); + DeviceData.X = Location.X; + DeviceData.Y = Location.Y; + DeviceData.Z = 0; + + FRotator Rotation = TargetCamera->GetComponentRotation(); + DeviceData.Yaw = Rotation.Yaw; + DeviceData.Roll = Rotation.Roll; + DeviceData.Pitch = Rotation.Pitch; + + /*FVector Location = TrackedPawn->GetActorLocation(); + DeviceData.X = Location.X; + DeviceData.Y = Location.Y; + DeviceData.Z = Location.Z; + + FRotator Rotation = TrackedPawn->GetActorRotation(); + DeviceData.Yaw = Rotation.Yaw; + DeviceData.Roll = Rotation.Roll; + DeviceData.Pitch = Rotation.Pitch;*/ + + SendDeviceData(DeviceData); +} + + +void UUDPInstanceSubsystem::SpawnActorInGameThread(TSubclassOf Actor, const FVector& Location, const FRotator& Rotation, const FString& ID, FOnActorSpawned OnActorSpawned) +{ + // 强制要求在 GameThread 调用 + if (IsInGameThread()) + { + UE_LOG(LogTemp, Error, TEXT("In main thread")); + return; + } + // 记录开始创建 + UE_LOG(LogTemp, Log, TEXT("Actor1111 ")); + + // 使用智能指针或委托机制才能安全地处理异步结果 + AsyncTask(ENamedThreads::GameThread, [this, Location, Rotation, ID, Actor, OnActorSpawned]() + { + if (!GetWorld()) + { + UE_LOG(LogTemp, Error, TEXT("Cannot spawn actor: invalid world")); + OnActorSpawned.ExecuteIfBound(nullptr, ID); + return; + } + + if (!Actor) + { + UE_LOG(LogTemp, Error, TEXT("Cannot spawn actor: invalid actor class")); + OnActorSpawned.ExecuteIfBound(nullptr, ID); + return; + } + + AActor* NewActor = GetWorld()->SpawnActor(Actor, Location, Rotation); + if (NewActor) + { + UE_LOG(LogTemp, Log, TEXT("Actor %s spawned at %s"), ID.Len() ? *ID : TEXT("Unknown"), *Location.ToString()); + } + else + { + UE_LOG(LogTemp, Warning, TEXT("Failed to spawn actor %s"), *ID); + } + + OnActorSpawned.ExecuteIfBound(NewActor, ID); + }); +} + +void UUDPInstanceSubsystem::OnDataReceived(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt) +{ + // 将接收到的二进制数据转换为字符串 + uint8* Data = (uint8*)ArrayReaderPtr->GetData(); + int32 DataSize = ArrayReaderPtr->Num(); + + // 添加字符串结束符 + TArray DataWithNull; + DataWithNull.Append(Data, DataSize); + DataWithNull.Add(0); // 添加null终止符 + + // 转换为FString + FString DataString = UTF8_TO_TCHAR(DataWithNull.GetData()); + + ParseReceivedData(DataString); + + // 在游戏线程中处理数据 + // AsyncTask(ENamedThreads::GameThread, [this, DataString]() { + // + // }); +} + +void UUDPInstanceSubsystem::ParseReceivedData(const FString& DataString) +{ + //UE_LOG(LogTemp, Warning, TEXT("Received Data: %s"), *DataString); + + TMap DeviceDataMap; + + TSharedPtr JsonObject; + TSharedRef> Reader = TJsonReaderFactory<>::Create(DataString); + if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid()) + { + for (const auto& Pair : JsonObject->Values) + { + if (Pair.Value.IsValid() && Pair.Value->Type == EJson::Object) + { + FDeviceData DeviceData; + if (FDeviceData::FromJsonObject(Pair.Value->AsObject(), DeviceData)) + { + DeviceData.ID = Pair.Key; // Set ID from map key + DeviceDataMap.Add(Pair.Key, DeviceData); + } + } + } + } + + FDeviceDataMap DeviceDataMapStruct; + DeviceDataMapStruct.ReceivedDataMap = DeviceDataMap; + AsyncTask(ENamedThreads::GameThread, [&,this, DeviceDataMapStruct]() + { + OnDeviceDataReceived.Broadcast(DeviceDataMapStruct); + }); +} \ No newline at end of file diff --git a/Source/TerracottaWarriors/Public/BPTools.h b/Source/TerracottaWarriors/Public/BPTools.h new file mode 100644 index 0000000..e156e1b --- /dev/null +++ b/Source/TerracottaWarriors/Public/BPTools.h @@ -0,0 +1,27 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "BPTools.generated.h" + +/** + * + */ +UCLASS() +class TERRACOTTAWARRIORS_API UBPTools : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + + /** + * Reads the content of a file and returns it as a string. + * @param FilePath The path to the file to read. + * @return The content of the file as a string, or an empty string if the file does not exist or cannot be read. + */ + UFUNCTION(BlueprintCallable) + static FString ReadConfigString(const FString& FilePath); + +}; diff --git a/Source/TerracottaWarriors/Public/Tools.h b/Source/TerracottaWarriors/Public/Tools.h new file mode 100644 index 0000000..7fd6ba7 --- /dev/null +++ b/Source/TerracottaWarriors/Public/Tools.h @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" + +/** + * + */ +class TERRACOTTAWARRIORS_API Tools +{ +public: + Tools(); + ~Tools(); +}; diff --git a/Source/TerracottaWarriors/Public/UDPInstanceSubsystem.h b/Source/TerracottaWarriors/Public/UDPInstanceSubsystem.h new file mode 100644 index 0000000..40c3114 --- /dev/null +++ b/Source/TerracottaWarriors/Public/UDPInstanceSubsystem.h @@ -0,0 +1,116 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Subsystems/GameInstanceSubsystem.h" +#include "Networking.h" +#include "Serialization/JsonSerializer.h" +#include "UDPInstanceSubsystem.generated.h" + +USTRUCT(BlueprintType) +struct FDeviceData +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + FString ID; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float X; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Y; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Z; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Yaw; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Roll; + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + float Pitch; + + // JSON 序列化 + TSharedPtr ToJsonObject() const; + static bool FromJsonObject(const TSharedPtr& JsonObject, FDeviceData& OutDeviceData); +}; + +USTRUCT(BlueprintType) +struct FDeviceDataMap +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Device Data") + TMap ReceivedDataMap; +}; + +// 声明代理类型 +// C++ +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnDeviceDataReceived, const FDeviceDataMap&, ReceivedDataMap); + +UCLASS() +class TERRACOTTAWARRIORS_API UUDPInstanceSubsystem : public UGameInstanceSubsystem +{ + GENERATED_BODY() + +public: + virtual void Initialize(FSubsystemCollectionBase& Collection) override; + virtual void Deinitialize() override; + + // 设置要跟踪的Pawn + UFUNCTION(BlueprintCallable, Category = "UDP") + void SetTrackedPawn(APawn* NewPawn); + + // 发送设备数据 + UFUNCTION(BlueprintCallable, Category = "UDP") + void SendDeviceData(const FDeviceData& DeviceData); + + // 发送当前Pawn的位置数据 + UFUNCTION(BlueprintCallable, Category = "UDP") + void SendCurrentPawnData(); + + // 设备数据接收代理 + UPROPERTY(BlueprintAssignable, Category = "UDP") + FOnDeviceDataReceived OnDeviceDataReceived; + + + UPROPERTY(BlueprintReadWrite, EditAnywhere) + FString UUID; + + // UDPInstanceSubsystem.h 中合适的位置(如类前向声明或public部分) + DECLARE_DYNAMIC_DELEGATE_TwoParams(FOnActorSpawned, AActor*, SpawnedActor, const FString&, ID); + + UFUNCTION(BlueprintCallable) + void SpawnActorInGameThread(TSubclassOf Actor, const FVector& Location, const FRotator& Rotation, const FString& ID, FOnActorSpawned OnActorSpawned); + +private: + // UDP 发送相关 + FSocket* SenderSocket; + FIPv4Endpoint RemoteEndpoint; + + + + // UDP 接收相关 + FSocket* ReceiverSocket; + FUdpSocketReceiver* SocketReceiver; + TArray ReceivedDeviceData; + FCriticalSection ReceivedDataCriticalSection; + + // 要跟踪的Pawn + UPROPERTY(Transient) + APawn* TrackedPawn; + + // 初始化网络 + void InitNetwork(); + + // 清理网络 + void CleanupNetwork(); + + // UDP 接收回调 + void OnDataReceived(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt); + + // 解析接收到的数据 + void ParseReceivedData(const FString& DataString); +}; \ No newline at end of file diff --git a/Source/TerracottaWarriors/TerracottaWarriors.Build.cs b/Source/TerracottaWarriors/TerracottaWarriors.Build.cs new file mode 100644 index 0000000..1d9b99f --- /dev/null +++ b/Source/TerracottaWarriors/TerracottaWarriors.Build.cs @@ -0,0 +1,33 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; + +public class TerracottaWarriors : ModuleRules +{ + public TerracottaWarriors(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] + { + "Core", "CoreUObject", "Engine", "InputCore", + "Networking", + "Sockets", + "Json", + "JsonUtilities" + }); + + PrivateDependencyModuleNames.AddRange(new string[] { "Networking", + "Sockets", + "Json", + "JsonUtilities" }); + + // Uncomment if you are using Slate UI + // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); + + // Uncomment if you are using online features + // PrivateDependencyModuleNames.Add("OnlineSubsystem"); + + // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true + } +} diff --git a/Source/TerracottaWarriors/TerracottaWarriors.cpp b/Source/TerracottaWarriors/TerracottaWarriors.cpp new file mode 100644 index 0000000..a571063 --- /dev/null +++ b/Source/TerracottaWarriors/TerracottaWarriors.cpp @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "TerracottaWarriors.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, TerracottaWarriors, "TerracottaWarriors" ); diff --git a/Source/TerracottaWarriors/TerracottaWarriors.h b/Source/TerracottaWarriors/TerracottaWarriors.h new file mode 100644 index 0000000..90aad9e --- /dev/null +++ b/Source/TerracottaWarriors/TerracottaWarriors.h @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" + diff --git a/Source/TerracottaWarriorsEditor.Target.cs b/Source/TerracottaWarriorsEditor.Target.cs new file mode 100644 index 0000000..9915234 --- /dev/null +++ b/Source/TerracottaWarriorsEditor.Target.cs @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class TerracottaWarriorsEditorTarget : TargetRules +{ + public TerracottaWarriorsEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V4; + + ExtraModuleNames.AddRange( new string[] { "TerracottaWarriors" } ); + } +} diff --git a/兵马俑文件说明.docx b/兵马俑文件说明.docx new file mode 100644 index 0000000..581c5e2 --- /dev/null +++ b/兵马俑文件说明.docx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83817c20e81384c3aab16b7ab3cd8f6a9d6b51f42d4d82ea950c2c7c0ec41ee6 +size 9930548 diff --git a/说明.doc b/说明.doc new file mode 100644 index 0000000..053ce3d --- /dev/null +++ b/说明.doc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ce663e012fb674bd107a14d2f4eadb8f078bdf719158cb43d20f6990797aea3 +size 3096576