mirror of
https://github.com/DrBeef/Doom3Quest.git
synced 2025-02-17 01:22:23 +00:00
Massive pattern update
This commit is contained in:
parent
4408c5a68d
commit
4575e197c5
55 changed files with 372 additions and 114 deletions
|
@ -61,7 +61,7 @@ extern bool inGameGuiActive;
|
|||
extern bool objectiveSystemActive;
|
||||
extern bool inCinematic;
|
||||
|
||||
|
||||
void Doom3Quest_HapticEvent(const char* event, int position, int flags, int intensity, float angle, float yHeight );
|
||||
|
||||
void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGamepad *pFootTrackingNew, ovrInputStateGamepad *pFootTrackingOld, ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTracking* pDominantTracking,
|
||||
ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTracking* pOffTracking,
|
||||
|
@ -172,6 +172,7 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
|
||||
//Menu button - can be used in all modes
|
||||
handleTrackedControllerButton_AsKey(leftTrackedRemoteState_new.Buttons, leftTrackedRemoteState_old.Buttons, ovrButton_Enter, K_ESCAPE);
|
||||
handleTrackedControllerButton_AsKey(rightTrackedRemoteState_new.Buttons, rightTrackedRemoteState_old.Buttons, ovrButton_Enter, K_ESCAPE); // in case user has switched menu/home buttons
|
||||
|
||||
controlMouse(inMenu, pDominantTrackedRemoteNew, pDominantTrackedRemoteOld);
|
||||
|
||||
|
@ -226,7 +227,7 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
|
||||
//Turn on weapon stabilisation?
|
||||
bool stabilised = false;
|
||||
if (!pVRClientInfo->oneHandOnly &&
|
||||
if (!pVRClientInfo->pistol && // Don't stabilise pistols
|
||||
(pOffTrackedRemoteNew->Buttons & ovrButton_GripTrigger) && (distance < STABILISATION_DISTANCE))
|
||||
{
|
||||
stabilised = true;
|
||||
|
@ -234,26 +235,53 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
|
||||
pVRClientInfo->weapon_stabilised = stabilised;
|
||||
|
||||
//dominant hand stuff first
|
||||
{
|
||||
//Does weapon velocity trigger attack and is it fast enough
|
||||
//Record recent weapon position for trajectory based stuff
|
||||
/*
|
||||
for (int i = (NUM_WEAPON_SAMPLES-1); i != 0; --i)
|
||||
{
|
||||
VectorCopy(pVRClientInfo->weaponoffset_history[i-1], pVRClientInfo->weaponoffset_history[i]);
|
||||
pVRClientInfo->weaponoffset_history_timestamp[i] = pVRClientInfo->weaponoffset_history_timestamp[i-1];
|
||||
}
|
||||
VectorCopy(pVRClientInfo->current_weaponoffset, pVRClientInfo->weaponoffset_history[0]);
|
||||
pVRClientInfo->weaponoffset_history_timestamp[0] = pVRClientInfo->current_weaponoffset_timestamp;
|
||||
|
||||
///Weapon location relative to view
|
||||
pVRClientInfo->current_weaponoffset[0] = pWeapon->HeadPose.Pose.Position.x - pVRClientInfo->hmdposition[0];
|
||||
pVRClientInfo->current_weaponoffset[1] = pWeapon->HeadPose.Pose.Position.y - pVRClientInfo->hmdposition[1];
|
||||
pVRClientInfo->current_weaponoffset[2] = pWeapon->HeadPose.Pose.Position.z - pVRClientInfo->hmdposition[2];
|
||||
pVRClientInfo->current_weaponoffset_timestamp = Sys_Milliseconds( );
|
||||
|
||||
{
|
||||
//Caclulate speed between two historic controller position readings
|
||||
float distance = VectorDistance(pVRClientInfo->weaponoffset_history[NEWER_READING], pVRClientInfo->weaponoffset_history[OLDER_READING]);
|
||||
float t = pVRClientInfo->weaponoffset_history_timestamp[NEWER_READING] - pVRClientInfo->weaponoffset_history_timestamp[OLDER_READING];
|
||||
pVRClientInfo->throw_power = distance / (t/(float)1000.0);
|
||||
|
||||
//Calculate trajectory
|
||||
VectorSubtract(pVRClientInfo->weaponoffset_history[NEWER_READING], pVRClientInfo->weaponoffset_history[OLDER_READING], pVRClientInfo->throw_trajectory);
|
||||
VectorNormalize( pVRClientInfo->throw_trajectory );
|
||||
|
||||
//Set origin to the newer reading offset
|
||||
VectorCopy(pVRClientInfo->weaponoffset_history[NEWER_READING], pVRClientInfo->throw_origin);
|
||||
}*/
|
||||
|
||||
//Does weapon velocity trigger attack (knife) and is it fast enough
|
||||
static bool velocityTriggeredAttack = false;
|
||||
if (pVRClientInfo->velocitytriggered)
|
||||
{
|
||||
//velocity trigger only available if weapon is not stabilised with off-hand
|
||||
if (!pVRClientInfo->weapon_stabilised) {
|
||||
static bool fired = false;
|
||||
float velocity = sqrtf(powf(pWeapon->HeadPose.LinearVelocity.x, 2) +
|
||||
powf(pWeapon->HeadPose.LinearVelocity.y, 2) +
|
||||
powf(pWeapon->HeadPose.LinearVelocity.z, 2));
|
||||
static bool fired = false;
|
||||
float velocity = sqrtf(powf(pWeapon->HeadPose.LinearVelocity.x, 2) +
|
||||
powf(pWeapon->HeadPose.LinearVelocity.y, 2) +
|
||||
powf(pWeapon->HeadPose.LinearVelocity.z, 2));
|
||||
|
||||
velocityTriggeredAttack = (velocity > VELOCITY_TRIGGER);
|
||||
velocityTriggeredAttack = (velocity > VELOCITY_TRIGGER);
|
||||
|
||||
if (fired != velocityTriggeredAttack) {
|
||||
ALOGV("**WEAPON EVENT** velocity triggered %s",
|
||||
velocityTriggeredAttack ? "+attack" : "-attack");
|
||||
Android_ButtonChange(UB_ATTACK, velocityTriggeredAttack ? 1 : 0);
|
||||
fired = velocityTriggeredAttack;
|
||||
}
|
||||
if (fired != velocityTriggeredAttack) {
|
||||
ALOGV("**WEAPON EVENT** velocity triggered %s", velocityTriggeredAttack ? "+attack" : "-attack");
|
||||
Android_ButtonChange(UB_ATTACK, velocityTriggeredAttack ? 1 : 0);
|
||||
fired = velocityTriggeredAttack;
|
||||
}
|
||||
}
|
||||
else if (velocityTriggeredAttack)
|
||||
|
@ -264,30 +292,24 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
Android_ButtonChange(UB_ATTACK, velocityTriggeredAttack ? 1 : 0);
|
||||
}
|
||||
|
||||
//Does weapon velocity trigger attack (knife) and is it fast enough
|
||||
static bool velocityTriggeredAttackOffHand = false;
|
||||
pVRClientInfo->velocitytriggeredoffhandstate = false;
|
||||
if (pVRClientInfo->velocitytriggeredoffhand)
|
||||
{
|
||||
static bool firedOffHand = false;
|
||||
//velocity trigger only available if weapon is not stabilised with off-hand
|
||||
if (!pVRClientInfo->weapon_stabilised) {
|
||||
float velocity = sqrtf(powf(pOff->HeadPose.LinearVelocity.x, 2) +
|
||||
powf(pOff->HeadPose.LinearVelocity.y, 2) +
|
||||
powf(pOff->HeadPose.LinearVelocity.z, 2));
|
||||
float velocity = sqrtf(powf(pOff->HeadPose.LinearVelocity.x, 2) +
|
||||
powf(pOff->HeadPose.LinearVelocity.y, 2) +
|
||||
powf(pOff->HeadPose.LinearVelocity.z, 2));
|
||||
|
||||
velocityTriggeredAttackOffHand = (velocity > VELOCITY_TRIGGER);
|
||||
velocityTriggeredAttackOffHand = (velocity > VELOCITY_TRIGGER);
|
||||
|
||||
if (firedOffHand != velocityTriggeredAttackOffHand) {
|
||||
ALOGV("**WEAPON EVENT** velocity triggered (offhand) %s",
|
||||
velocityTriggeredAttackOffHand ? "+attack" : "-attack");
|
||||
//Android_ButtonChange(UB_IMPULSE37, velocityTriggeredAttackOffHand ? 1 : 0);
|
||||
//Android_SetImpulse(UB_IMPULSE37);
|
||||
pVRClientInfo->velocitytriggeredoffhandstate = firedOffHand;
|
||||
firedOffHand = velocityTriggeredAttackOffHand;
|
||||
}
|
||||
}
|
||||
else {
|
||||
firedOffHand = false;
|
||||
if (firedOffHand != velocityTriggeredAttackOffHand) {
|
||||
ALOGV("**WEAPON EVENT** velocity triggered (offhand) %s", velocityTriggeredAttackOffHand ? "+attack" : "-attack");
|
||||
//Android_ButtonChange(UB_IMPULSE37, velocityTriggeredAttackOffHand ? 1 : 0);
|
||||
//Android_SetImpulse(UB_IMPULSE37);
|
||||
pVRClientInfo->velocitytriggeredoffhandstate = true;
|
||||
firedOffHand = velocityTriggeredAttackOffHand;
|
||||
}
|
||||
}
|
||||
else //GB This actually nevers gets run currently as we are always returning true for pVRClientInfo->velocitytriggeredoffhand (but we might not in the future when weapons are sorted)
|
||||
|
@ -298,24 +320,43 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
//Android_ButtonChange(UB_IMPULSE37, velocityTriggeredAttackOffHand ? 1 : 0);
|
||||
pVRClientInfo->velocitytriggeredoffhandstate = false;
|
||||
}
|
||||
}
|
||||
|
||||
dominantGripPushed = (pDominantTrackedRemoteNew->Buttons &
|
||||
ovrButton_GripTrigger) != 0;
|
||||
/*if (pVRClientInfo->weapon_stabilised)
|
||||
{
|
||||
{
|
||||
float x = pOff->HeadPose.Pose.Position.x - pWeapon->HeadPose.Pose.Position.x;
|
||||
float y = pOff->HeadPose.Pose.Position.y - pWeapon->HeadPose.Pose.Position.y;
|
||||
float z = pOff->HeadPose.Pose.Position.z - pWeapon->HeadPose.Pose.Position.z;
|
||||
float zxDist = length(x, z);
|
||||
|
||||
if (dominantGripPushed) {
|
||||
if (dominantGripPushTime == 0) {
|
||||
dominantGripPushTime = GetTimeInMilliSeconds();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((GetTimeInMilliSeconds() - dominantGripPushTime) < vr_reloadtimeoutms) {
|
||||
//Reload
|
||||
Android_SetImpulse(UB_IMPULSE13);
|
||||
if (zxDist != 0.0f && z != 0.0f) {
|
||||
{
|
||||
VectorSet(pVRClientInfo->weaponangles, -degrees(atanf(y / zxDist)),
|
||||
-degrees(atan2f(x, -z)), pVRClientInfo->weaponangles[ROLL] / 2.0f); //Dampen roll on stabilised weapon
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
dominantGripPushed = (pDominantTrackedRemoteNew->Buttons &
|
||||
ovrButton_GripTrigger) != 0;
|
||||
|
||||
if (dominantGripPushed) {
|
||||
if (dominantGripPushTime == 0) {
|
||||
dominantGripPushTime = GetTimeInMilliSeconds();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((GetTimeInMilliSeconds() - dominantGripPushTime) < vr_reloadtimeoutms) {
|
||||
//Reload
|
||||
Android_SetImpulse(UB_IMPULSE13);
|
||||
}
|
||||
|
||||
dominantGripPushTime = 0;
|
||||
dominantGripPushTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
float controllerYawHeading = 0.0f;
|
||||
|
@ -442,7 +483,6 @@ void HandleInput_Default( int controlscheme, int switchsticks, ovrInputStateGame
|
|||
(offhandButtonsNew & ovrButton_Joystick)) {
|
||||
#ifdef DEBUG
|
||||
//Android_SetCommand("give all");
|
||||
|
||||
if(give_weapon_count == 1){
|
||||
Android_SetCommand("give weapon_pistol");
|
||||
give_weapon_count = give_weapon_count + 1;
|
||||
|
|
|
@ -5748,7 +5748,17 @@ void idPlayerHand::NextWeapon( int dir )
|
|||
common->Printf( "Changing weapon\n" );
|
||||
|
||||
common->HapticEvent("weapon_switch", 0, 0, 100, 0, 0);
|
||||
|
||||
if (idealWeapon == WEAPON_CHAINSAW)
|
||||
{
|
||||
common->HapticEvent("chainsaw_idle", vr_weaponHand.GetInteger() ? 1 : 2, 1, 100, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
common->HapticStopEvent("chainsaw_idle");
|
||||
}
|
||||
}
|
||||
|
||||
if( vr_debugHands.GetBool() )
|
||||
{
|
||||
if( dir > 0 )
|
||||
|
|
|
@ -2079,6 +2079,27 @@ void idWeapon::BeginAttack( void ) {
|
|||
}
|
||||
}
|
||||
WEAPON_ATTACK = true;
|
||||
|
||||
int position = vr_weaponHand.GetInteger() ? 1 : 2;
|
||||
|
||||
weapon_t currentWeapon = WEAPON_NONE;
|
||||
currentWeapon = IdentifyWeapon();
|
||||
if (currentWeapon == WEAPON_HANDGRENADE)
|
||||
{
|
||||
common->HapticEvent("handgrenade_init", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeapon == WEAPON_CHAINGUN)
|
||||
{
|
||||
common->HapticEvent("chaingun_init", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeapon == WEAPON_BFG)
|
||||
{
|
||||
common->HapticEvent("bfg_init", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeapon == WEAPON_HANDGRENADE)
|
||||
{
|
||||
common->HapticEvent("grenade_init", position, 0, 100, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -2095,6 +2116,13 @@ void idWeapon::EndAttack( void ) {
|
|||
if( sndHum && grabberState == -1 ) { // _D3XP :: don't stop grabber hum
|
||||
StartSoundShader( sndHum, SND_CHANNEL_BODY, 0, false, NULL );
|
||||
}
|
||||
|
||||
weapon_t currentWeapon = WEAPON_NONE;
|
||||
currentWeapon = IdentifyWeapon();
|
||||
if (currentWeapon == WEAPON_CHAINSAW)
|
||||
{
|
||||
common->HapticEvent("chainsaw_idle", vr_weaponHand.GetInteger() ? 1 : 2, 1, 100, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3256,8 +3284,10 @@ void idWeapon::Event_WeaponState( const char *statename, int blendFrames ) {
|
|||
|
||||
idealState = statename;
|
||||
|
||||
weapon_t currentWeap = IdentifyWeapon();
|
||||
if ( !idealState.Icmp( "Fire" ) ) {
|
||||
isFiring = true;
|
||||
|
||||
} else {
|
||||
isFiring = false;
|
||||
}
|
||||
|
@ -3329,14 +3359,18 @@ idWeapon::Event_WeaponReady
|
|||
===============
|
||||
*/
|
||||
void idWeapon::Event_WeaponReady( void ) {
|
||||
status = WP_READY;
|
||||
if (status == WP_RELOAD) {
|
||||
common->HapticEvent("weapon_reload_finish", vr_weaponHand.GetInteger() ? 1 : 2, 0, 100, 0,
|
||||
0);
|
||||
}
|
||||
|
||||
status = WP_READY;
|
||||
if ( isLinked ) {
|
||||
WEAPON_RAISEWEAPON = false;
|
||||
}
|
||||
if ( sndHum ) {
|
||||
StartSoundShader( sndHum, SND_CHANNEL_BODY, 0, false, NULL );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -3358,6 +3392,8 @@ idWeapon::Event_WeaponReloading
|
|||
*/
|
||||
void idWeapon::Event_WeaponReloading( void ) {
|
||||
status = WP_RELOAD;
|
||||
|
||||
common->HapticEvent("weapon_reload", vr_weaponHand.GetInteger() ? 1 : 2, 0, 100, 0,0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -4011,6 +4047,42 @@ void idWeapon::Event_LaunchProjectiles( int num_projectiles, float spread, float
|
|||
|
||||
// Normal launch
|
||||
proj->Launch( muzzle_pos, dir, pushVelocity, fuseOffset, launchPower, dmgPower, speed );
|
||||
|
||||
int position = vr_weaponHand.GetInteger() ? 1 : 2;
|
||||
|
||||
if (currentWeap == WEAPON_PISTOL)
|
||||
{
|
||||
common->HapticEvent("pistol_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_SHOTGUN)
|
||||
{
|
||||
common->HapticEvent("shotgun_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_PLASMAGUN)
|
||||
{
|
||||
common->HapticEvent("plasmagun_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_HANDGRENADE)
|
||||
{
|
||||
common->HapticEvent("handgrenade_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_MACHINEGUN)
|
||||
{
|
||||
common->HapticEvent("machinegun_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_CHAINGUN)
|
||||
{
|
||||
common->HapticEvent("chaingun_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_BFG)
|
||||
{
|
||||
common->HapticEvent("bfg_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeap == WEAPON_ROCKETLAUNCHER)
|
||||
{
|
||||
common->HapticEvent("rocket_fire", position, 0, 100, 0, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// toss the brass
|
||||
|
@ -4064,7 +4136,7 @@ void idWeapon::Event_LaunchProjectiles( int num_projectiles, float spread, float
|
|||
pVRClientInfo->throw_origin[1]);
|
||||
idAngles a(0, owner->viewAngles.yaw - pVRClientInfo->hmdorientation[YAW], 0);
|
||||
releaseOffset *= a.ToMat3();
|
||||
releaseOffset *= ((100.0f / 2.54f) * vr_scale.GetFloat());
|
||||
releaseOffset *= cvarSystem->GetCVarFloat( "vr_worldscale" );
|
||||
muzzle_pos = owner->firstPersonViewOrigin + releaseOffset;
|
||||
|
||||
idVec3 throw_direction( -pVRClientInfo->throw_trajectory[2],
|
||||
|
@ -4168,6 +4240,16 @@ void idWeapon::Event_Melee( void ) {
|
|||
gameLocal.Error( "No meleeDef on '%s'", weaponDef->dict.GetString( "classname" ) );
|
||||
}
|
||||
|
||||
weapon_t currentWeapon = IdentifyWeapon();
|
||||
if (currentWeapon == WEAPON_FISTS)
|
||||
{
|
||||
common->HapticEvent("punch", 2 - GetHand(), 0, 100, 0, 0);
|
||||
}
|
||||
if (currentWeapon == WEAPON_CHAINSAW)
|
||||
{
|
||||
common->HapticStopEvent("chainsaw_idle");
|
||||
common->HapticEvent("chainsaw_fire", vr_weaponHand.GetInteger() ? 1 : 2, 0, 100, 0, 0);
|
||||
}
|
||||
|
||||
if ( !gameLocal.isClient ) {
|
||||
idVec3 start = viewWeaponOrigin;
|
||||
|
|
1
assets/bHaptics/Damage/Head/DMG_Default.tact
Normal file
1
assets/bHaptics/Damage/Head/DMG_Default.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1586477737488,"description":"","layout":{"layouts":{"Head":[{"index":0,"x":0,"y":0.5},{"index":1,"x":0.2,"y":0.5},{"index":2,"x":0.4,"y":0.5},{"index":3,"x":0.6,"y":0.5},{"index":4,"x":0.8,"y":0.5},{"index":5,"x":1,"y":0.5}]},"name":"Tactal","type":"Tactal"},"mediaFileDuration":3,"name":"DefaultHead_1","tracks":[{"effects":[{"modes":{"Head":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":210,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN_OUT","pointList":[{"intensity":1,"time":0,"x":0.5,"y":0.49}],"visible":true}]}}},"name":"Effect 1","offsetTime":210,"startTime":2}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1586477841512},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Interaction/Arms/ItemPickup.tact
Normal file
1
assets/bHaptics/Interaction/Arms/ItemPickup.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238902724,"description":"","id":"-MWEL71xDrgeF3VhdYGV","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":3,"name":"ItemPickup","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":250,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":62,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.2},{"index":2,"intensity":0.2},{"index":0,"intensity":0.2}],"startTime":0},{"endTime":125,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":0,"intensity":0.2},{"index":1,"intensity":0.2},{"index":4,"intensity":0.2},{"index":5,"intensity":0.2},{"index":2,"intensity":0.2}],"startTime":62},{"endTime":187,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":4,"intensity":0.2},{"index":0,"intensity":0.2},{"index":1,"intensity":0.2},{"index":2,"intensity":0.2},{"index":5,"intensity":0.2}],"startTime":125},{"endTime":250,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":4,"intensity":0.2},{"index":5,"intensity":0.2}],"startTime":187},{"endTime":250,"playbackType":"NONE","startTime":250,"pointList":[]}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":250,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616239013203},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Interaction/Arms/ItemPickup_Mirror.tact
Normal file
1
assets/bHaptics/Interaction/Arms/ItemPickup_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238902724,"description":"","id":"-MWEL71xDrgeF3VhdYGV","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":3,"name":"ItemPickup","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":62,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.2},{"index":2,"intensity":0.2},{"index":0,"intensity":0.2}],"startTime":0},{"endTime":125,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":0,"intensity":0.2},{"index":1,"intensity":0.2},{"index":4,"intensity":0.2},{"index":5,"intensity":0.2},{"index":2,"intensity":0.2}],"startTime":62},{"endTime":187,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":4,"intensity":0.2},{"index":0,"intensity":0.2},{"index":1,"intensity":0.2},{"index":2,"intensity":0.2},{"index":5,"intensity":0.2}],"startTime":125},{"endTime":250,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.2},{"index":4,"intensity":0.2},{"index":5,"intensity":0.2}],"startTime":187},{"endTime":250,"playbackType":"NONE","startTime":250,"pointList":[]}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":250,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":250,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616239013203},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Interaction/Arms/PDA_Click.tact
Normal file
1
assets/bHaptics/Interaction/Arms/PDA_Click.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238950616,"description":"","id":"-MWELIjGh36wjtZnboq_","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"PDA_Click","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":0,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":75,"startTime":25},{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1 copy 1","offsetTime":75,"startTime":125}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616239011654},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Interaction/Arms/PDA_Click_Mirror.tact
Normal file
1
assets/bHaptics/Interaction/Arms/PDA_Click_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238950616,"description":"","id":"-MWELIjGh36wjtZnboq_","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"PDA_Click","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":0,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":75,"startTime":25},{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1 copy 1","offsetTime":75,"startTime":125}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616239011654},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Interaction/Vest/Spark.tact
Normal file
1
assets/bHaptics/Interaction/Vest/Spark.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616134839464,"description":"","id":"-MW888lfGJrJsPYe6dI_","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Spark","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":300,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.4}],"startTime":0},{"endTime":150,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.4}],"startTime":75},{"endTime":225,"playbackType":"NONE","pointList":[{"index":0,"intensity":0.4},{"index":6,"intensity":0.4}],"startTime":150},{"endTime":300,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.4}],"startTime":225},{"endTime":300,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.4},{"index":4,"intensity":0.4}],"startTime":300}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":300,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616236084901},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV1.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV1.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV1_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV1_Mirror.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV2.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV2.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV2_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Chainsaw_LV2_Mirror.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Arms/Fist.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Fist.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238431854,"description":"","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Fist","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":0},{"endTime":150,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":4,"intensity":1},{"index":5,"intensity":1}],"startTime":75}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238451255,"id":"-MWEJK4bODAJ-NHSodeK"},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Fist_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Fist_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238431854,"description":"","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Fist","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":0},{"endTime":150,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":4,"intensity":1},{"index":5,"intensity":1}],"startTime":75}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238451255,"id":"-MWEJK4bODAJ-NHSodeK"},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV1.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV1.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238116773,"description":"","id":"-MWEI79Tl1wVuVCDZnRm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV1","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":1},{"index":4,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":100,"startTime":0}],"enable":true},{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]},{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":5,"intensity":0.5},{"index":3,"intensity":0.5},{"index":0,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1 copy","offsetTime":100,"startTime":0}],"enable":true}],"updatedAt":1616238334506},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV1_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV1_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238116773,"description":"","id":"-MWEI79Tl1wVuVCDZnRm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV1","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":1},{"index":4,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":100,"startTime":0}],"enable":true},{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":5,"intensity":0.5},{"index":3,"intensity":0.5},{"index":0,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]},{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1 copy","offsetTime":100,"startTime":0}],"enable":true}],"updatedAt":1616238334506},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV2.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV2.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238120012,"description":"","id":"-MWEI7x3jlQm4ZMf70R2","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV2","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1},{"index":5,"intensity":1},{"index":4,"intensity":1},{"index":3,"intensity":1}],"startTime":0},{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":4,"intensity":1},{"index":1,"intensity":1},{"index":5,"intensity":1},{"index":2,"intensity":1},{"index":0,"intensity":1},{"index":3,"intensity":1}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238295181},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV2_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV2_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616238120012,"description":"","id":"-MWEI7x3jlQm4ZMf70R2","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV2","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1},{"index":5,"intensity":1},{"index":4,"intensity":1},{"index":3,"intensity":1}],"startTime":0},{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":4,"intensity":1},{"index":1,"intensity":1},{"index":5,"intensity":1},{"index":2,"intensity":1},{"index":0,"intensity":1},{"index":3,"intensity":1}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238295181},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV3.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV3.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237271401,"description":"","id":"-MWEEtlf-TfJMr3V4qqm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV3","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","startTime":0,"pointList":[]},{"endTime":150,"playbackType":"FADE_IN_OUT","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":75},{"endTime":225,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":4,"intensity":1},{"index":5,"intensity":1}],"startTime":150},{"endTime":300,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":225}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":300,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616237886876},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV3_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV3_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237271401,"description":"","id":"-MWEEtlf-TfJMr3V4qqm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV3","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":75,"playbackType":"NONE","startTime":0,"pointList":[]},{"endTime":150,"playbackType":"FADE_IN_OUT","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":75},{"endTime":225,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":4,"intensity":1},{"index":5,"intensity":1}],"startTime":150},{"endTime":300,"playbackType":"NONE","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1}],"startTime":225}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":300,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616237886876},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV4.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV4.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237295765,"description":"","id":"-MWEEziM8_8HSTnQljOm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV4","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":166,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":0,"intensity":1}],"startTime":0},{"endTime":333,"playbackType":"NONE","pointList":[{"index":4,"intensity":1},{"index":1,"intensity":1}],"startTime":166},{"endTime":500,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":333}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":500,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616237885364},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV4_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV4_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237295765,"description":"","id":"-MWEEziM8_8HSTnQljOm","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV4","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":166,"playbackType":"NONE","pointList":[{"index":3,"intensity":1},{"index":0,"intensity":1}],"startTime":0},{"endTime":333,"playbackType":"NONE","pointList":[{"index":4,"intensity":1},{"index":1,"intensity":1}],"startTime":166},{"endTime":500,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":333}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":500,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616237885364},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV5.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV5.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237344969,"description":"","id":"-MWEFAjBFsS0u1TtNO2B","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV5","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.47,"y":0.49},{"intensity":1,"time":167,"x":0.3,"y":0.39},{"intensity":1,"time":301,"x":0.35,"y":0.24},{"intensity":1,"time":522,"x":0.09,"y":0.26},{"intensity":1,"time":762,"x":0.29,"y":0.06},{"intensity":1,"time":999,"x":0.02,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.51},{"intensity":1,"time":122,"x":0.27,"y":0.53},{"intensity":1,"time":234,"x":0.12,"y":0.44},{"intensity":1,"time":412,"x":0.26,"y":0.68},{"intensity":1,"time":547,"x":0.06,"y":0.61},{"intensity":1,"time":735,"x":0.23,"y":0.85},{"intensity":1,"time":867,"x":0.03,"y":0.8},{"intensity":1,"time":999,"x":0,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.49},{"intensity":1,"time":152,"x":0.39,"y":0.68},{"intensity":1,"time":320,"x":0.58,"y":0.8},{"intensity":1,"time":538,"x":0.3,"y":0.88},{"intensity":1,"time":681,"x":0.49,"y":0.9},{"intensity":1,"time":816,"x":0.34,"y":1},{"intensity":1,"time":999,"x":0.58,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.45,"y":0.48},{"intensity":1,"time":90,"x":0.61,"y":0.51},{"intensity":1,"time":172,"x":0.56,"y":0.65},{"intensity":1,"time":316,"x":0.79,"y":0.77},{"intensity":1,"time":432,"x":0.8,"y":0.56},{"intensity":1,"time":526,"x":0.95,"y":0.64},{"intensity":1,"time":719,"x":0.68,"y":0.86},{"intensity":1,"time":829,"x":0.87,"y":0.92},{"intensity":1,"time":911,"x":1,"y":0.85},{"intensity":1,"time":999,"x":1,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.49,"y":0.49},{"intensity":1,"time":135,"x":0.7,"y":0.58},{"intensity":1,"time":296,"x":0.62,"y":0.32},{"intensity":1,"time":485,"x":0.92,"y":0.43},{"intensity":1,"time":642,"x":0.77,"y":0.21},{"intensity":1,"time":778,"x":1,"y":0.2},{"intensity":1,"time":903,"x":0.85,"y":0.05},{"intensity":1,"time":999,"x":1,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.5},{"intensity":1,"time":129,"x":0.39,"y":0.32},{"intensity":1,"time":276,"x":0.61,"y":0.31},{"intensity":1,"time":447,"x":0.38,"y":0.2},{"intensity":1,"time":623,"x":0.64,"y":0.16},{"intensity":1,"time":825,"x":0.36,"y":0.05},{"intensity":1,"time":999,"x":0.61,"y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":999,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238531207},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/Recoil_LV5_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/Recoil_LV5_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237344969,"description":"","id":"-MWEFAjBFsS0u1TtNO2B","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"Recoil_LV5","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.47,"y":0.49},{"intensity":1,"time":167,"x":0.3,"y":0.39},{"intensity":1,"time":301,"x":0.35,"y":0.24},{"intensity":1,"time":522,"x":0.09,"y":0.26},{"intensity":1,"time":762,"x":0.29,"y":0.06},{"intensity":1,"time":999,"x":0.02,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.51},{"intensity":1,"time":122,"x":0.27,"y":0.53},{"intensity":1,"time":234,"x":0.12,"y":0.44},{"intensity":1,"time":412,"x":0.26,"y":0.68},{"intensity":1,"time":547,"x":0.06,"y":0.61},{"intensity":1,"time":735,"x":0.23,"y":0.85},{"intensity":1,"time":867,"x":0.03,"y":0.8},{"intensity":1,"time":999,"x":0,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.49},{"intensity":1,"time":152,"x":0.39,"y":0.68},{"intensity":1,"time":320,"x":0.58,"y":0.8},{"intensity":1,"time":538,"x":0.3,"y":0.88},{"intensity":1,"time":681,"x":0.49,"y":0.9},{"intensity":1,"time":816,"x":0.34,"y":1},{"intensity":1,"time":999,"x":0.58,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.45,"y":0.48},{"intensity":1,"time":90,"x":0.61,"y":0.51},{"intensity":1,"time":172,"x":0.56,"y":0.65},{"intensity":1,"time":316,"x":0.79,"y":0.77},{"intensity":1,"time":432,"x":0.8,"y":0.56},{"intensity":1,"time":526,"x":0.95,"y":0.64},{"intensity":1,"time":719,"x":0.68,"y":0.86},{"intensity":1,"time":829,"x":0.87,"y":0.92},{"intensity":1,"time":911,"x":1,"y":0.85},{"intensity":1,"time":999,"x":1,"y":1}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.49,"y":0.49},{"intensity":1,"time":135,"x":0.7,"y":0.58},{"intensity":1,"time":296,"x":0.62,"y":0.32},{"intensity":1,"time":485,"x":0.92,"y":0.43},{"intensity":1,"time":642,"x":0.77,"y":0.21},{"intensity":1,"time":778,"x":1,"y":0.2},{"intensity":1,"time":903,"x":0.85,"y":0.05},{"intensity":1,"time":999,"x":1,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":1,"time":0,"x":0.46,"y":0.5},{"intensity":1,"time":129,"x":0.39,"y":0.32},{"intensity":1,"time":276,"x":0.61,"y":0.31},{"intensity":1,"time":447,"x":0.38,"y":0.2},{"intensity":1,"time":623,"x":0.64,"y":0.16},{"intensity":1,"time":825,"x":0.36,"y":0.05},{"intensity":1,"time":999,"x":0.61,"y":0}],"visible":true}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":999,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616238531207},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/ReloadFinish.tact
Normal file
1
assets/bHaptics/Weapon/Arms/ReloadFinish.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616227794594,"description":"","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"ReloadFinish","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":0,"intensity":0.5},{"index":1,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":0},{"endTime":200,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.5},{"index":4,"intensity":0.5},{"index":5,"intensity":0.5}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616227937233,"id":"-MWDfk5khkaMqIRjjfr0"},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/ReloadFinish_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/ReloadFinish_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616227794594,"description":"","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"ReloadFinish","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":0,"intensity":0.5},{"index":1,"intensity":0.5},{"index":2,"intensity":0.5}],"startTime":0},{"endTime":200,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.5},{"index":4,"intensity":0.5},{"index":5,"intensity":0.5}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616227937233,"id":"-MWDfk5khkaMqIRjjfr0"},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/SoulCube.tact
Normal file
1
assets/bHaptics/Weapon/Arms/SoulCube.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237979018,"description":"","id":"-MWEHaX3l8CHJ38C3586","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"SoulCube","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1},{"index":5,"intensity":1},{"index":4,"intensity":1},{"index":3,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":0.8},{"index":1,"intensity":0.8},{"index":2,"intensity":0.8},{"index":5,"intensity":0.8},{"index":4,"intensity":0.8},{"index":3,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 2","offsetTime":150,"startTime":350}],"enable":true}],"updatedAt":1616238609474},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Arms/SoulCube_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Arms/SoulCube_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616237979018,"description":"","id":"-MWEHaX3l8CHJ38C3586","layout":{"layouts":{"ForearmL":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}],"ForearmR":[{"index":0,"x":0,"y":0},{"index":1,"x":0.5,"y":0},{"index":2,"x":1,"y":0},{"index":3,"x":0,"y":1},{"index":4,"x":0.5,"y":1},{"index":5,"x":1,"y":1}]},"name":"Tactosy2","type":"Tactosy2"},"mediaFileDuration":1,"name":"SoulCube","tracks":[{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":1},{"index":1,"intensity":1},{"index":2,"intensity":1},{"index":5,"intensity":1},{"index":4,"intensity":1},{"index":3,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"effects":[{"modes":{"ForearmL":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":0.8},{"index":1,"intensity":0.8},{"index":2,"intensity":0.8},{"index":5,"intensity":0.8},{"index":4,"intensity":0.8},{"index":3,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"ForearmR":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 2","offsetTime":150,"startTime":350}],"enable":true}],"updatedAt":1616238609474},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV1.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV1.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616157976157,"description":"","id":"-MW9WPPdtm9PkZGPFdVi","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Chainsaw_LV1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.2},{"index":7,"intensity":0.2}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":6,"intensity":0.2},{"index":3,"intensity":0.2}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":7,"intensity":0.2}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.2}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":7,"intensity":0.2}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.2},{"index":6,"intensity":0.2}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"dot","offsetTime":1000,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225501153},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV1_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV1_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616157976157,"description":"","id":"-MW9WPPdtm9PkZGPFdVi","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Chainsaw_LV1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.2},{"index":4,"intensity":0.2}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.2},{"index":0,"intensity":0.2}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":4,"intensity":0.2}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.2}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":4,"intensity":0.2}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.2},{"index":5,"intensity":0.2}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"dot","offsetTime":1000,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225501153},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV2.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV2.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616157569521,"description":"","id":"-MW9Ur802dC5KOcJAryy","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1.2,"name":"Chainsaw_LV2","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.5},{"index":7,"intensity":0.5}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":6,"intensity":0.5},{"index":15,"intensity":0.5},{"index":3,"intensity":0.5}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":11,"intensity":0.5},{"index":10,"intensity":0.5}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.5}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":7,"intensity":0.5},{"index":14,"intensity":0.5}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":2,"intensity":0.5},{"index":15,"intensity":0.5},{"index":10,"intensity":0.5}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":2,"intensity":1},{"index":7,"intensity":1}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":6,"intensity":1},{"index":15,"intensity":1},{"index":3,"intensity":1}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":11,"intensity":1},{"index":10,"intensity":1}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":2,"intensity":1}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":7,"intensity":1},{"index":14,"intensity":1}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":2,"intensity":1},{"index":15,"intensity":1},{"index":10,"intensity":1}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"dot","offsetTime":1000,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225656740},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV2_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Chainsaw_LV2_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616157569521,"description":"","id":"-MW9Ur802dC5KOcJAryy","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1.2,"name":"Chainsaw_LV2","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.5},{"index":4,"intensity":0.5}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.5},{"index":12,"intensity":0.5},{"index":0,"intensity":0.5}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":8,"intensity":0.5},{"index":9,"intensity":0.5}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.5}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":4,"intensity":0.5},{"index":13,"intensity":0.5}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":1,"intensity":0.5},{"index":12,"intensity":0.5},{"index":9,"intensity":0.5}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":true,"feedback":[{"endTime":200,"playbackType":"NONE","pointList":[{"index":1,"intensity":1},{"index":4,"intensity":1}],"startTime":0},{"endTime":400,"playbackType":"NONE","pointList":[{"index":5,"intensity":1},{"index":12,"intensity":1},{"index":0,"intensity":1}],"startTime":200},{"endTime":600,"playbackType":"NONE","pointList":[{"index":8,"intensity":1},{"index":9,"intensity":1}],"startTime":400},{"endTime":800,"playbackType":"NONE","pointList":[{"index":1,"intensity":1}],"startTime":600},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":4,"intensity":1},{"index":13,"intensity":1}],"startTime":800},{"endTime":1000,"playbackType":"NONE","pointList":[{"index":1,"intensity":1},{"index":12,"intensity":1},{"index":9,"intensity":1}],"startTime":1000}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"dot","offsetTime":1000,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225656740},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Fist.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Fist.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153465590,"description":"","id":"-MW9FC9j9K9IDFfD-kaH","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Fist","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":3,"intensity":1},{"index":7,"intensity":1},{"index":2,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225505995},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Fist_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Fist_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153465590,"description":"","id":"-MW9FC9j9K9IDFfD-kaH","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Fist","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":1},{"index":4,"intensity":1},{"index":1,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225505995},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Grenade_Init.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Grenade_Init.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1614044314479,"description":"","id":"-MUBXQyWd34-ZarylCUG","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Body_Grenade_Init","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.5,"time":0,"x":0.16,"y":0.16},{"intensity":0.5,"time":100,"x":0,"y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":100,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1614044964990},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Grenade_Throw.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Grenade_Throw.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1614044993605,"description":"","id":"-MUB_0lqX_FXOJ79X20H","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Body_Grenade_Throw","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":124,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.5,"time":0,"x":0.84,"y":0.16},{"intensity":0.5,"time":124,"x":0.98,"y":0.01}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.5,"time":0,"x":1,"y":0.26},{"intensity":0.5,"time":124,"x":0.99,"y":0.01}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":124,"playbackType":"NONE","pointList":[{"index":3,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.5,"time":0,"x":0.84,"y":0.01},{"intensity":0.5,"time":124,"x":1,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.5,"time":0,"x":0.85,"y":0.24},{"intensity":0.5,"time":124,"x":1,"y":0.23}],"visible":true}]}}},"name":"Effect 1","offsetTime":124,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1614045738313},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Recoil_LV1.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV1.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153465748,"description":"","id":"-MW9FCCBrqCjd2z7pWaF","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Recoil_LV1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":3,"intensity":0.9},{"index":6,"intensity":0.9},{"index":2,"intensity":0.9},{"index":7,"intensity":0.9}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.68,"y":0.23},{"intensity":1,"time":43,"x":0.67,"y":0},{"intensity":1,"time":100,"x":0.97,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.73,"y":0.21},{"intensity":1,"time":55,"x":1,"y":0.22},{"intensity":1,"time":100,"x":1,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.67,"y":0.23},{"intensity":1,"time":100,"x":1,"y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":100,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225504311},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Recoil_LV1_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV1_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153465748,"description":"","id":"-MW9FCCBrqCjd2z7pWaF","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Recoil_LV1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":0.9},{"index":5,"intensity":0.9},{"index":1,"intensity":0.9},{"index":4,"intensity":0.9}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":"0.320","y":0.23},{"intensity":1,"time":43,"x":"0.330","y":0},{"intensity":1,"time":100,"x":"0.030","y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":"0.270","y":0.21},{"intensity":1,"time":55,"x":"0.000","y":0.22},{"intensity":1,"time":100,"x":"0.000","y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":"0.330","y":0.23},{"intensity":1,"time":100,"x":"0.000","y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":100,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225504311},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Recoil_LV2.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV2.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV2_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV2_Mirror.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV3.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV3.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV3_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV3_Mirror.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV4.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV4.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV4_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV4_Mirror.tact
Normal file
File diff suppressed because one or more lines are too long
1
assets/bHaptics/Weapon/Vest/Recoil_LV5.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV5.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153466399,"description":"","id":"-MW9FCMM__CKV0-sbrlq","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Recoil_LV5","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":2,"intensity":1},{"index":3,"intensity":1},{"index":7,"intensity":1},{"index":11,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":2,"intensity":1},{"index":3,"intensity":1},{"index":7,"intensity":1},{"index":11,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 4","offsetTime":200,"startTime":0},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":19,"intensity":0.5},{"index":14,"intensity":0.5},{"index":9,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":19,"intensity":0.6},{"index":14,"intensity":0.6},{"index":9,"intensity":0.6}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 5","offsetTime":200,"startTime":199}],"enable":true},{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":0.8},{"index":5,"intensity":0.8},{"index":9,"intensity":0.8},{"index":14,"intensity":0.8},{"index":19,"intensity":0.8},{"index":15,"intensity":0.8},{"index":10,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":0.8},{"index":5,"intensity":0.8},{"index":9,"intensity":0.8},{"index":14,"intensity":0.8},{"index":19,"intensity":0.8},{"index":15,"intensity":0.8},{"index":10,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 3","offsetTime":200,"startTime":100},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":13,"intensity":0.3},{"index":18,"intensity":0.3},{"index":14,"intensity":0.3}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","startTime":0,"pointList":[]}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 2","offsetTime":200,"startTime":300}],"enable":true}],"updatedAt":1616225507057},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/Recoil_LV5_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/Recoil_LV5_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616153466399,"description":"","id":"-MW9FCMM__CKV0-sbrlq","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Recoil_LV5","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":1},{"index":0,"intensity":1},{"index":4,"intensity":1},{"index":8,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":1,"intensity":1},{"index":0,"intensity":1},{"index":4,"intensity":1},{"index":8,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 4","offsetTime":200,"startTime":0},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":16,"intensity":0.5},{"index":13,"intensity":0.5},{"index":10,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":16,"intensity":0.6},{"index":13,"intensity":0.6},{"index":10,"intensity":0.6}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 5","offsetTime":200,"startTime":199}],"enable":true},{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":2,"intensity":0.8},{"index":6,"intensity":0.8},{"index":10,"intensity":0.8},{"index":13,"intensity":0.8},{"index":16,"intensity":0.8},{"index":12,"intensity":0.8},{"index":9,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":2,"intensity":0.8},{"index":6,"intensity":0.8},{"index":10,"intensity":0.8},{"index":13,"intensity":0.8},{"index":16,"intensity":0.8},{"index":12,"intensity":0.8},{"index":9,"intensity":0.8}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 3","offsetTime":200,"startTime":100},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","pointList":[{"index":14,"intensity":0.3},{"index":17,"intensity":0.3},{"index":13,"intensity":0.3}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"FADE_OUT","startTime":0,"pointList":[]}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 2","offsetTime":200,"startTime":300}],"enable":true}],"updatedAt":1616225507057},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/ReloadFinish.tact
Normal file
1
assets/bHaptics/Weapon/Vest/ReloadFinish.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616134825893,"description":"","id":"-MW885ScMFCJIa5ASpG2","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"ReloadFinish","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":7,"intensity":0.6}],"startTime":0},{"endTime":200,"playbackType":"FADE_IN","pointList":[{"index":3,"intensity":0.6}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":6,"intensity":0.6},{"index":7,"intensity":0.6}],"startTime":0},{"endTime":200,"playbackType":"FADE_IN","pointList":[{"index":2,"intensity":0.6},{"index":3,"intensity":0.6}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616227734704},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/ReloadFinish_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/ReloadFinish_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616134825893,"description":"","id":"-MW885ScMFCJIa5ASpG2","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"ReloadFinish","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":4,"intensity":0.6}],"startTime":0},{"endTime":200,"playbackType":"FADE_IN","pointList":[{"index":0,"intensity":0.6}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":100,"playbackType":"NONE","pointList":[{"index":5,"intensity":0.6},{"index":4,"intensity":0.6}],"startTime":0},{"endTime":200,"playbackType":"FADE_IN","pointList":[{"index":1,"intensity":0.6},{"index":0,"intensity":0.6}],"startTime":100}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616227734704},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/SoulCube.tact
Normal file
1
assets/bHaptics/Weapon/Vest/SoulCube.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616160745618,"description":"","id":"-MW9fyYUJQWycnRv_wEC","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"SoulCube","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":3,"intensity":1},{"index":7,"intensity":1},{"index":2,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1 copy 1","offsetTime":150,"startTime":350,"trackIndex":0},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":3,"intensity":1},{"index":7,"intensity":1},{"index":2,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225499541},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/SoulCube_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/SoulCube_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616160745618,"description":"","id":"-MW9fyYUJQWycnRv_wEC","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"SoulCube","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":1},{"index":4,"intensity":1},{"index":1,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1 copy 1","offsetTime":150,"startTime":350,"trackIndex":0},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":1},{"index":4,"intensity":1},{"index":1,"intensity":1}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616225499541},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/WeaponSwap.tact
Normal file
1
assets/bHaptics/Weapon/Vest/WeaponSwap.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616134823958,"description":"","id":"-MW884zOsften2orxco7","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"WeaponSwap","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.5,"time":0,"x":0.66,"y":0.53},{"intensity":0.5,"time":150,"x":1,"y":0.25}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.5,"time":0,"x":0.67,"y":0.28},{"intensity":0.5,"time":150,"x":1,"y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616236130134},"durationMillis":0,"intervalMillis":20,"size":20}
|
1
assets/bHaptics/Weapon/Vest/WeaponSwap_Mirror.tact
Normal file
1
assets/bHaptics/Weapon/Vest/WeaponSwap_Mirror.tact
Normal file
|
@ -0,0 +1 @@
|
|||
{"project":{"createdAt":1616134823958,"description":"","id":"-MW884zOsften2orxco7","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"WeaponSwap","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.5,"time":0,"x":"0.340","y":0.53},{"intensity":0.5,"time":150,"x":"0.000","y":0.25}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.5,"time":0,"x":"0.330","y":0.28},{"intensity":0.5,"time":150,"x":"0.000","y":0}],"visible":true}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1616236130134},"durationMillis":0,"intervalMillis":20,"size":20}
|
|
@ -9,6 +9,7 @@ import android.util.Log;
|
|||
import com.bhaptics.bhapticsmanger.BhapticsManager;
|
||||
import com.bhaptics.bhapticsmanger.BhapticsManagerCallback;
|
||||
import com.bhaptics.bhapticsmanger.BhapticsModule;
|
||||
import com.bhaptics.bhapticsmanger.DefaultHapticStreamer;
|
||||
import com.bhaptics.bhapticsmanger.HapticStreamer;
|
||||
import com.bhaptics.bhapticsmanger.HapticPlayer;
|
||||
import com.bhaptics.commons.PermissionUtils;
|
||||
|
@ -64,7 +65,7 @@ public class bHaptics {
|
|||
private static boolean initialised = false;
|
||||
|
||||
private static HapticPlayer player;
|
||||
private HapticStreamer hapticStreamer;
|
||||
private static HapticStreamer hapticStreamer;
|
||||
|
||||
private static Context context;
|
||||
|
||||
|
@ -93,16 +94,16 @@ public class bHaptics {
|
|||
registerFromAsset(context, "bHaptics/Damage/Body_Heartbeat.tact", PositionType.Vest, "heartbeat", "health", 1.0f, 1.0f);
|
||||
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_DMG_Melee1.tact", "melee_left", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Melee1.tact", PositionType.Head, "melee_left", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Melee1.tact", "melee_left", "damage"); // always play melee on the head too
|
||||
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_DMG_Melee2.tact", "melee_right", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Melee2.tact", PositionType.Head, "melee_right", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Melee2.tact", "melee_right", "damage"); // always play melee on the head too
|
||||
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_DMG_Fireball.tact", "fireball", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Explosion.tact", PositionType.Head, "fireball", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Explosion.tact", "fireball", "damage"); // always play fireball on the head too
|
||||
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_DMG_Bullet.tact", "bullet", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head_DMG_Default.tact", PositionType.Head, "bullet", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_HeadShot.tact", PositionType.Head, "bullet", "damage");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_DMG_Shotgun.tact", "shotgun", "damage");
|
||||
registerFromAsset(context, "bHaptics/Damage/Head/DMG_Explosion.tact", PositionType.Head, "shotgun", "damage");
|
||||
|
@ -120,8 +121,8 @@ public class bHaptics {
|
|||
registerFromAsset(context, "bHaptics/Interaction/Arms/Pickup_R.tact", PositionType.ForearmR, "pickup_shield", "pickup");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Weapon_Get.tact", "pickup_weapon", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/Pickup_L.tact", PositionType.ForearmL, "pickup_weapon", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/Pickup_R.tact", PositionType.ForearmR, "pickup_weapon", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/ItemPickup_Mirror.tact", PositionType.ForearmL, "pickup_weapon", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/ItemPickup.tact", PositionType.ForearmR, "pickup_weapon", "pickup");
|
||||
|
||||
//registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Ammo_Get.tact", "pickup_ammo", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/Ammo_L.tact", PositionType.ForearmL, "pickup_ammo", "pickup");
|
||||
|
@ -131,22 +132,21 @@ public class bHaptics {
|
|||
registerFromAsset(context, "bHaptics/Interaction/Arms/Healthstation_L.tact", PositionType.ForearmL, "healstation", "pickup");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/Healthstation_R.tact", PositionType.ForearmR, "healstation", "pickup");
|
||||
|
||||
//These are when the game plays the heartbeat pulse sound, which is not triggered by low health
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_Heartbeat.tact", PositionType.Vest, "heartbeat_pulse_loop", "heart_sound1", 0.6f, 1.4f);
|
||||
registerFromAsset(context, "bHaptics/Damage/Body_Heartbeat.tact", PositionType.Vest, "heartbeat4", "heart_sound2", 0.6f, 1.4f);
|
||||
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Door_Open.tact", "dooropen", "door");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Door_Close.tact", "doorclose", "door");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Scan.tact", PositionType.Vest, "scan", "environment", 1.0f, 1.15f);
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Scan.tact", PositionType.Vest, "decontaminate", "environment", 0.5f, 0.65f);
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Scan.tact", PositionType.Vest, "decontaminate", "environment", 0.5f, 0.75f);
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Chamber_Up.tact", "liftup", "environment");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Chamber_Down.tact", "liftdown", "environment");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_Machine.tact", "machine", "environment");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Spark.tact", "spark", "environment");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_PDA_Open.tact", "pda_open", "pda");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_PDA_Open.tact", "pda_close", "pda");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_PDA_Alarm.tact", "pda_alarm", "pda");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/Body_PDA_Touch.tact", "pda_touch", "pda");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/PDA_Click_Mirror.tact", PositionType.ForearmL, "pda_touch", "pda");
|
||||
registerFromAsset(context, "bHaptics/Interaction/Arms/PDA_Click.tact", PositionType.ForearmR, "pda_touch", "pda");
|
||||
|
||||
|
||||
registerFromAsset(context, "bHaptics/Interaction/Vest/PlayerJump.tact", "jump_start", "player");
|
||||
|
@ -157,54 +157,95 @@ public class bHaptics {
|
|||
WEAPONS
|
||||
*/
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Swap.tact", "weapon_switch", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Swap_L.tact", PositionType.ForearmL, "weapon_switch", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/WeaponSwap.tact", PositionType.Right, "weapon_switch", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Swap_R.tact", PositionType.ForearmR, "weapon_switch", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/WeaponSwap_Mirror.tact", PositionType.Left, "weapon_switch", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Swap_L.tact", PositionType.ForearmL, "weapon_switch", "weapon");
|
||||
|
||||
//Reload Start
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Reload.tact", "weapon_reload", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Reload_L.tact", PositionType.ForearmL, "weapon_reload", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Reload_R.tact", PositionType.ForearmR, "weapon_reload", "weapon");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Punch_L.tact", "punch_left", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Melee_L.tact", PositionType.ForearmL, "punch_left", "weapon_fire");
|
||||
//Reload Finish
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/ReloadFinish.tact", PositionType.Right, "weapon_reload_finish", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ReloadFinish.tact", PositionType.ForearmR, "weapon_reload_finish", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/ReloadFinish_Mirror.tact", PositionType.Left, "weapon_reload_finish", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ReloadFinish_Mirror.tact", PositionType.ForearmL, "weapon_reload_finish", "weapon");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Punch_R.tact", "punch_right", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Melee_R.tact", PositionType.ForearmR, "punch_right", "weapon_fire");
|
||||
//Chainsaw Idle
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Chainsaw_LV1.tact", PositionType.Right, "chainsaw_idle", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Chainsaw_LV1.tact", PositionType.ForearmR, "chainsaw_idle", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Chainsaw_LV1_Mirror.tact", PositionType.Left, "chainsaw_idle", "weapon");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Chainsaw_LV1_Mirror.tact", PositionType.ForearmL, "chainsaw_idle", "weapon");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Pistol.tact", "pistol_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Pistol_L.tact", PositionType.ForearmL, "pistol_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Pistol_R.tact", PositionType.ForearmR, "pistol_fire", "weapon_fire");
|
||||
//Chainsaw Fire
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Chainsaw_LV2.tact", PositionType.Right, "chainsaw_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Chainsaw_LV2.tact", PositionType.ForearmR, "chainsaw_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Chainsaw_LV2_Mirror.tact", PositionType.Left, "chainsaw_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Chainsaw_LV2_Mirror.tact", PositionType.ForearmL, "chainsaw_fire", "weapon_fire");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Shotgun.tact", "shotgun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Shotgun_L.tact", PositionType.ForearmL, "shotgun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Shotgun_R.tact", PositionType.ForearmR, "shotgun_fire", "weapon_fire");
|
||||
//Fist
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Fist_Mirror.tact", PositionType.Left, "punch", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Fist_Mirror.tact", PositionType.ForearmL, "punch", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Fist.tact", PositionType.Right, "punch", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Fist.tact", PositionType.ForearmR, "punch", "weapon_fire");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Plasmagun.tact", "plasmagun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Assault_L.tact", PositionType.ForearmL, "plasmagun_fire", "weapon_fire", 0.8f, 0.5f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Assault_R.tact", PositionType.ForearmR, "plasmagun_fire", "weapon_fire", 0.8f, 0.5f);
|
||||
//Pistol
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV2_Mirror.tact", PositionType.Left, "pistol_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV2_Mirror.tact", PositionType.ForearmL, "pistol_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV2.tact", PositionType.Right, "pistol_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV2.tact", PositionType.ForearmR, "pistol_fire", "weapon_fire");
|
||||
|
||||
//Shotgun
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV3_Mirror.tact", PositionType.Left, "shotgun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV3_Mirror.tact", PositionType.ForearmL, "shotgun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV3.tact", PositionType.Right, "shotgun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV3.tact", PositionType.ForearmR, "shotgun_fire", "weapon_fire");
|
||||
|
||||
//Plasma Gun
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV1_Mirror.tact", PositionType.Left, "plasmagun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV1_Mirror.tact", PositionType.ForearmL, "plasmagun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV1.tact", PositionType.Right, "plasmagun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV1.tact", PositionType.ForearmR, "plasmagun_fire", "weapon_fire");
|
||||
|
||||
//Grenade
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Grenade_Init.tact", "handgrenade_init", "weapon_init");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Grenade_Throw.tact", "handgrenade_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Grenade_L.tact", PositionType.ForearmL, "handgrenade_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Grenade_R.tact", PositionType.ForearmR, "handgrenade_fire", "weapon_fire");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Machinegun.tact", "machinegun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SMG_L.tact", PositionType.ForearmL, "machinegun_fire", "weapon_fire", 0.9f, 0.8f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SMG_R.tact", PositionType.ForearmR, "machinegun_fire", "weapon_fire", 0.9f, 0.8f);
|
||||
//SMG
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV1_Mirror.tact", PositionType.Left, "machinegun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV1_Mirror.tact", PositionType.ForearmL, "machinegun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV1.tact", PositionType.Right, "machinegun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV1.tact", PositionType.ForearmR, "machinegun_fire", "weapon_fire");
|
||||
|
||||
//Chaingun
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Chaingun_Init.tact", "chaingun_init", "weapon_init");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_Chaingun_Fire.tact", "chaingun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SMG_L.tact", PositionType.ForearmL, "chaingun_fire", "weapon_fire", 1.4f, 0.8f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SMG_R.tact", PositionType.ForearmR, "chaingun_fire", "weapon_fire", 1.4f, 0.8f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV2_Mirror.tact", PositionType.Left, "chaingun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV2_Mirror.tact", PositionType.ForearmL, "chaingun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV2.tact", PositionType.Right, "chaingun_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV2.tact", PositionType.ForearmR, "chaingun_fire", "weapon_fire");
|
||||
|
||||
//BFG9000
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_BFG9000_Init.tact", "bfg_init", "weapon_init");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_BFG9000_Fire.tact", "bfg_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ShootDefault_L.tact", PositionType.ForearmL, "bfg_fire", "weapon_fire", 2.0f, 2.0f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ShootDefault_R.tact", PositionType.ForearmR, "bfg_fire", "weapon_fire", 2.0f, 2.0f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV5_Mirror.tact", PositionType.Left, "bfg_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV5_Mirror.tact", PositionType.ForearmL, "bfg_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV5.tact", PositionType.Right, "bfg_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV5.tact", PositionType.ForearmR, "bfg_fire", "weapon_fire");
|
||||
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Body_RocketLauncher.tact", "rocket_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ShootDefault_L.tact", PositionType.ForearmL, "rocket_fire", "weapon_fire", 2.0f, 1.0f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/ShootDefault_R.tact", PositionType.ForearmR, "rocket_fire", "weapon_fire", 2.0f, 1.0f);
|
||||
//Rocket Launcher
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV4_Mirror.tact", PositionType.Left, "rocket_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV4_Mirror.tact", PositionType.ForearmL, "rocket_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/Recoil_LV4.tact", PositionType.Right, "rocket_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/Recoil_LV4.tact", PositionType.ForearmR, "rocket_fire", "weapon_fire");
|
||||
|
||||
//Soul Cube
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/SoulCube.tact", PositionType.Right, "soul_cube_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SoulCube.tact", PositionType.ForearmR, "soul_cube_fire", "weapon_fire", 2.0f, 1.0f);
|
||||
registerFromAsset(context, "bHaptics/Weapon/Vest/SoulCube_Mirror.tact", PositionType.Left, "soul_cube_fire", "weapon_fire");
|
||||
registerFromAsset(context, "bHaptics/Weapon/Arms/SoulCube_Mirror.tact", PositionType.ForearmL, "soul_cube_fire", "weapon_fire", 2.0f, 1.0f);
|
||||
|
||||
initialised = true;
|
||||
}
|
||||
|
@ -297,6 +338,7 @@ public class bHaptics {
|
|||
public static void disable()
|
||||
{
|
||||
enabled = false;
|
||||
stopStreaming();
|
||||
}
|
||||
|
||||
public static void startStreaming() {
|
||||
|
@ -306,9 +348,8 @@ public class bHaptics {
|
|||
@Override
|
||||
public void onDiscover(String host) {
|
||||
Log.i(TAG, "onDiscover: " + host);
|
||||
if (defaultConnect) {
|
||||
hapticStreamer.connect(host);
|
||||
}
|
||||
|
||||
hapticStreamer.connect(host);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -326,8 +367,10 @@ public class bHaptics {
|
|||
}
|
||||
|
||||
public static void stopStreaming() {
|
||||
hapticStreamer.dispose();
|
||||
hapticStreamer = null;
|
||||
if (hapticStreamer != null) {
|
||||
hapticStreamer.dispose();
|
||||
hapticStreamer = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void refreshIp() {
|
||||
|
@ -357,8 +400,8 @@ public class bHaptics {
|
|||
/*
|
||||
position values:
|
||||
0 - Will play on vest and both arms if tactosy tact files present for both
|
||||
1 - Will play on vest and on left arm only if tactosy tact files present for left
|
||||
2 - Will play on vest and on right arm only if tactosy tact files present for right
|
||||
1 - Will play on (left) vest and on left arm only if tactosy tact files present for left
|
||||
2 - Will play on (right) vest and on right arm only if tactosy tact files present for right
|
||||
3 - Will play on head only (if present)
|
||||
4 - Will play on all devices (that have a pattern defined for them)
|
||||
|
||||
|
@ -380,7 +423,7 @@ public class bHaptics {
|
|||
if (enabled && hasPairedDevice) {
|
||||
String key = getHapticEventKey(event);
|
||||
|
||||
//Log.v(TAG, event);
|
||||
Log.v(TAG, event);
|
||||
|
||||
//Special rumble effect that changes intensity per frame
|
||||
if (key.compareTo("rumble") == 0)
|
||||
|
@ -425,18 +468,24 @@ public class bHaptics {
|
|||
BhapticsManager manager = BhapticsModule.getBhapticsManager();
|
||||
|
||||
//If playing left position and haptic type is right, don;t play that one
|
||||
if (position == 1 && haptic.type == PositionType.ForearmR)
|
||||
if (position == 1)
|
||||
{
|
||||
continue;
|
||||
if (haptic.type == PositionType.ForearmR ||
|
||||
haptic.type == PositionType.Right) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
//If playing right position and haptic type is left, don;t play that one
|
||||
if (position == 2 && haptic.type == PositionType.ForearmL)
|
||||
if (position == 2)
|
||||
{
|
||||
continue;
|
||||
if (haptic.type == PositionType.ForearmL ||
|
||||
haptic.type == PositionType.Left) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Are we playing a "head only" pattern?
|
||||
if (position == 3 &&
|
||||
(haptic.type != PositionType.Head || !manager.isDeviceConnected(BhapticsManager.DeviceType.Head)))
|
||||
{
|
||||
|
@ -444,6 +493,7 @@ public class bHaptics {
|
|||
}
|
||||
|
||||
if (haptic.type == PositionType.Head) {
|
||||
//Is this a "don't play on head" effect?
|
||||
if (position < 3) {
|
||||
continue;
|
||||
}
|
||||
|
@ -492,23 +542,29 @@ public class bHaptics {
|
|||
{
|
||||
key = "melee_left";
|
||||
}
|
||||
} else if (key.contains("damage")) {
|
||||
}
|
||||
else if (key.contains("damage")) {
|
||||
if (key.contains("bullet") ||
|
||||
key.contains("splash") ||
|
||||
key.contains("cgun")) {
|
||||
key = "bullet";
|
||||
} else if (key.contains("fireball") ||
|
||||
}
|
||||
else if (key.contains("fireball") ||
|
||||
key.contains("rocket") ||
|
||||
key.contains("explode")) {
|
||||
key = "fireball"; // Just re-use this one
|
||||
} else if (key.contains("noair")) {
|
||||
}
|
||||
else if (key.contains("noair")) {
|
||||
key = "noair";
|
||||
} else if (key.contains("shotgun")) {
|
||||
}
|
||||
else if (key.contains("shotgun")) {
|
||||
key = "shotgun";
|
||||
} else if (key.contains("fall")) {
|
||||
}
|
||||
else if (key.contains("fall")) {
|
||||
key = "fall";
|
||||
}
|
||||
} else if (key.contains("door") || key.contains("panel"))
|
||||
}
|
||||
else if (key.contains("door") || key.contains("panel"))
|
||||
{
|
||||
if (key.contains("close"))
|
||||
{
|
||||
|
@ -518,7 +574,8 @@ public class bHaptics {
|
|||
{
|
||||
key = "dooropen";
|
||||
}
|
||||
} else if (key.contains("lift"))
|
||||
}
|
||||
else if (key.contains("lift"))
|
||||
{
|
||||
if (key.contains("up"))
|
||||
{
|
||||
|
@ -528,16 +585,32 @@ public class bHaptics {
|
|||
{
|
||||
key = "liftdown";
|
||||
}
|
||||
} else if (key.contains("elevator"))
|
||||
}
|
||||
else if (key.contains("elevator"))
|
||||
{
|
||||
key = "machine";
|
||||
} else if (key.contains("entrance_scanner") || key.contains("scanner_rot1s"))
|
||||
}
|
||||
else if (key.contains("entrance_scanner") || key.contains("scanner_rot1s"))
|
||||
{
|
||||
key = "scan";
|
||||
} else if (key.contains("decon_started"))
|
||||
}
|
||||
else if (key.contains("decon_started"))
|
||||
{
|
||||
key = "decontaminate";
|
||||
}
|
||||
else if (key.contains("spark"))
|
||||
{
|
||||
key = "spark";
|
||||
}
|
||||
else if (key.contains("player") && key.contains("jump"))
|
||||
{
|
||||
key = "jump_start";
|
||||
}
|
||||
else if (key.contains("player") && key.contains("land"))
|
||||
{
|
||||
key = "jump_landing";
|
||||
}
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
|
@ -549,7 +622,8 @@ public class bHaptics {
|
|||
|
||||
if (repeatingHaptics.containsKey(key))
|
||||
{
|
||||
player.turnOff(key);
|
||||
Haptic haptic = repeatingHaptics.get(key);
|
||||
player.turnOff(haptic.altKey);
|
||||
|
||||
repeatingHaptics.remove(key);
|
||||
}
|
||||
|
@ -626,5 +700,7 @@ public class bHaptics {
|
|||
});
|
||||
|
||||
}
|
||||
|
||||
startStreaming();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue