From 703303d18f60d0856bfd7c87e7147e6ca58518ae Mon Sep 17 00:00:00 2001 From: Alula Date: Sat, 5 Sep 2020 03:14:58 +0200 Subject: [PATCH] fade direction fix --- src/common.rs | 10 ++++++++++ src/text_script.rs | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/common.rs b/src/common.rs index 11e6aa2..b503515 100644 --- a/src/common.rs +++ b/src/common.rs @@ -86,6 +86,16 @@ impl FadeDirection { _ => { None } } } + + pub fn opposite(&self) -> FadeDirection { + match self { + FadeDirection::Left => { FadeDirection::Right } + FadeDirection::Up => { FadeDirection::Down } + FadeDirection::Right => { FadeDirection::Left } + FadeDirection::Down => { FadeDirection::Up } + FadeDirection::Center => { FadeDirection::Center } + } + } } #[derive(Debug, PartialEq, Copy, Clone)] diff --git a/src/text_script.rs b/src/text_script.rs index 1ac288d..a1b78b8 100644 --- a/src/text_script.rs +++ b/src/text_script.rs @@ -631,7 +631,7 @@ impl TextScriptVM { OpCode::FAO => { let fade_type = read_cur_varint(&mut cursor)? as usize; if let Some(direction) = FadeDirection::from_int(fade_type) { - state.fade_state = FadeState::FadeOut(-15, direction); + state.fade_state = FadeState::FadeOut(-15, direction.opposite()); } exec_state = TextScriptExecutionState::WaitFade(event, cursor.position() as u32);