func_rot_button: Fix spawnflag 32. Mistakenly thought to be 'toggle'.
This commit is contained in:
parent
53bab46f7d
commit
d5053299dc
3 changed files with 18 additions and 10 deletions
|
@ -127,7 +127,7 @@ func_pushable::SpawnKey(string keyName, string setValue)
|
||||||
m_flPushFriction = ReadFloat(setValue) / 100;
|
m_flPushFriction = ReadFloat(setValue) / 100;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
super::Restore(keyName, setValue);
|
super::SpawnKey(keyName, setValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ enumflags
|
||||||
FNCROTBUT_UNUSED1,
|
FNCROTBUT_UNUSED1,
|
||||||
FNCROTBUT_UNUSED2,
|
FNCROTBUT_UNUSED2,
|
||||||
FNCROTBUT_UNUSED3,
|
FNCROTBUT_UNUSED3,
|
||||||
FNCROTBUT_TOGGLE,
|
FNCROTBUT_NOAUTORETURN,
|
||||||
FNCROTBUT_XAXIS,
|
FNCROTBUT_XAXIS,
|
||||||
FNCROTBUT_YAXIS,
|
FNCROTBUT_YAXIS,
|
||||||
FNCROTBUT_TOUCHABLE
|
FNCROTBUT_TOUCHABLE
|
||||||
|
@ -35,7 +35,7 @@ enum
|
||||||
ROTBTNSTATE_CLOSING
|
ROTBTNSTATE_CLOSING
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!QUAKED func_rot_button (0 .5 .8) ? FNCROTBUT_NONSOLID FNCROTBUT_REVERSE x x x FNCROTBUT_TOGGLE FNCROTBUT_XAXIS FNCROTBUT_YAXIS FNCROTBUT_TOUCHABLE
|
/*!QUAKED func_rot_button (0 .5 .8) ? NONSOLID REVERSE x x x NOAUTORETURN XAXIS YAXIS TOUCHABLE
|
||||||
# OVERVIEW
|
# OVERVIEW
|
||||||
A button that rotates along a pivot point. Used for valves, spigots and alike.
|
A button that rotates along a pivot point. Used for valves, spigots and alike.
|
||||||
|
|
||||||
|
@ -48,11 +48,11 @@ A button that rotates along a pivot point. Used for valves, spigots and alike.
|
||||||
- "distance" : Distance in degrees the button will rotate.
|
- "distance" : Distance in degrees the button will rotate.
|
||||||
|
|
||||||
# SPAWNFLAGS
|
# SPAWNFLAGS
|
||||||
- FNCROTBUT_NONSOLID (1) : Don't do collision testing against this entity.
|
- NONSOLID (1) : Don't do collision testing against this entity.
|
||||||
- FNCROTBUT_REVERSE (2) : Rotate the counter-clockwise.
|
- REVERSE (2) : Rotate the counter-clockwise.
|
||||||
- FNCROTBUT_TOGGLE (32) : Can only be activated via trigger, not player interaction.
|
- NOAUTORETURN (32) : Will not return by itself.
|
||||||
- FNCROTBUT_XAXIS (64) : Rotate along the X-axis.
|
- XAXIS (64) : Rotate along the X-axis.
|
||||||
- FNCROTBUT_YAXIS (128) : Rotate along the Y-axis.
|
- YAXIS (128) : Rotate along the Y-axis.
|
||||||
|
|
||||||
# NOTES
|
# NOTES
|
||||||
Please include an origin brush so that a pivot point will be defined.
|
Please include an origin brush so that a pivot point will be defined.
|
||||||
|
@ -207,6 +207,10 @@ func_rot_button::ArrivedClosed(void)
|
||||||
m_iState = ROTBTNSTATE_CLOSED;
|
m_iState = ROTBTNSTATE_CLOSED;
|
||||||
TriggerTargets();
|
TriggerTargets();
|
||||||
|
|
||||||
|
if (HasSpawnFlags(FNCROTBUT_NOAUTORETURN) == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_flReturnTime > 0.0f) {
|
if (m_flReturnTime > 0.0f) {
|
||||||
ScheduleThink(TurnToggle, m_flReturnTime);
|
ScheduleThink(TurnToggle, m_flReturnTime);
|
||||||
}
|
}
|
||||||
|
@ -255,10 +259,14 @@ func_rot_button::TurnToggle(void)
|
||||||
if (m_iState == ROTBTNSTATE_OPENED) {
|
if (m_iState == ROTBTNSTATE_OPENED) {
|
||||||
Rotate(m_vecMoveAngle, ArrivedClosed);
|
Rotate(m_vecMoveAngle, ArrivedClosed);
|
||||||
} else if (m_iState == ROTBTNSTATE_CLOSED) {
|
} else if (m_iState == ROTBTNSTATE_CLOSED) {
|
||||||
|
if (m_flReturnTime == -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Rotate(GetSpawnAngles(), ArrivedOpened);
|
Rotate(GetSpawnAngles(), ArrivedOpened);
|
||||||
|
|
||||||
/* in toggle mode, we trigger our targets every turn */
|
/* in toggle mode, we trigger our targets every turn */
|
||||||
if (HasSpawnFlags(FNCROTBUT_TOGGLE))
|
if (HasSpawnFlags(FNCROTBUT_NOAUTORETURN))
|
||||||
TriggerTargets();
|
TriggerTargets();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -269,7 +269,7 @@ logic_case::SpawnKey(string keyName, string setValue)
|
||||||
m_strOnDefault = PrepareOutput(m_strOnDefault, setValue);
|
m_strOnDefault = PrepareOutput(m_strOnDefault, setValue);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
super::Restore(keyName, setValue);
|
super::SpawnKey(keyName, setValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue