forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 56
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Variable Door Delay + Timer Based Animations (tgstation#84631)
## About The Pull Request ### Variable Door Delay Door opening/closing delay times are currently static, but many doors do not have animations that FIT the actual timings. It would be better if subtypes cound declare how long each animation takes, and how long it takes for opening to say, become passable and such. Let's do that. ### Timer Based Animations Currently all doors use flick() to do their animations. This is fine right NOW, but fucks with walleniong because we have to split most things into segments to make layering work. So rather then flick let's use client timers and update_icon_state to achive our effects, alongside a proc that lets us do other effects (like sound) on playing an animation ## Why It's Good For The Game Door behavior and visuals better match up, wallening compatability upstreaming. ## Changelog :cl: add: Most door animations now better line up with when they are/are not passable. /:cl: --------- Co-authored-by: MrMelbert <[email protected]>
- Loading branch information
1 parent
274c54f
commit 9bc534f
Showing
22 changed files
with
323 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// Door animation defines | ||
#define DOOR_OPENING_ANIMATION "opening" | ||
#define DOOR_CLOSING_ANIMATION "closing" | ||
#define DOOR_DENY_ANIMATION "deny" | ||
|
||
// Door animation STEP defines | ||
// These are used to mark points in the animtion when things in game should change | ||
#define DOOR_OPENING_PASSABLE "opening_passable" | ||
#define DOOR_OPENING_FINISHED "opening_finished" | ||
#define DOOR_CLOSING_UNPASSABLE "closing_unpassable" | ||
#define DOOR_CLOSING_FINISHED "closing_finished" | ||
|
||
#define AIRLOCK_OPENING_TRANSPARENT "airlock_opening_transparent" | ||
#define AIRLOCK_OPENING_PASSABLE "airlock_opening_passable" | ||
#define AIRLOCK_OPENING_FINISHED "airlock_opening_finished" | ||
#define AIRLOCK_CLOSING_OPAQUE "airlock_closing_opaque" | ||
#define AIRLOCK_CLOSING_UNPASSABLE "airlock_closing_unpassable" | ||
#define AIRLOCK_CLOSING_FINISHED "airlock_closing_finished" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.