diff --git a/core/modules/Game.cpp b/core/modules/Game.cpp index b5e549a6..c126f724 100644 --- a/core/modules/Game.cpp +++ b/core/modules/Game.cpp @@ -69,13 +69,9 @@ void e2d::Game::Start() last = now; input->Update(); - if (!paused_) - { - timer->Update(); - UpdateScene(); - } - + UpdateScene(); DrawScene(); + window->Poll(); } else @@ -168,6 +164,9 @@ bool e2d::Game::IsTransitioning() const void e2d::Game::UpdateScene() { + if (paused_) + return; + if (transition_) { transition_->Update(); diff --git a/core/objects/Image.cpp b/core/objects/Image.cpp index 105a902a..78edcf99 100644 --- a/core/objects/Image.cpp +++ b/core/objects/Image.cpp @@ -160,7 +160,7 @@ bool e2d::Image::Preload(const Resource& res) IWICImagingFactory *imaging_factory = Renderer::GetImagingFactory(); ID2D1HwndRenderTarget* render_target = Renderer::GetInstance()->GetRenderTarget(); - IWICBitmadecoder *decoder = nullptr; + IWICBitmapDecoder *decoder = nullptr; IWICBitmapFrameDecode *source = nullptr; IWICStream *stream = nullptr; IWICFormatConverter *converter = nullptr; @@ -172,8 +172,8 @@ bool e2d::Image::Preload(const Resource& res) // ¶¨Î»×ÊÔ´ res_handle = ::FindResourceW( - HINST_THISCOMPONENT, - MAKEINTRESOURCE(res.id), + HINST_THISCOMPONENT, + MAKEINTRESOURCE(res.id), (LPCWSTR)res.type ); @@ -292,7 +292,7 @@ bool e2d::Image::Preload(const String & file_name) IWICImagingFactory *imaging_factory = Renderer::GetImagingFactory(); ID2D1HwndRenderTarget* render_target = Renderer::GetInstance()->GetRenderTarget(); - IWICBitmadecoder *decoder = nullptr; + IWICBitmapDecoder *decoder = nullptr; IWICBitmapFrameDecode *source = nullptr; IWICStream *stream = nullptr; IWICFormatConverter *converter = nullptr; diff --git a/core/objects/Node.cpp b/core/objects/Node.cpp index 4ecdf114..6dbdb8e5 100644 --- a/core/objects/Node.cpp +++ b/core/objects/Node.cpp @@ -69,6 +69,11 @@ e2d::Node::~Node() SafeRelease(action); } + for (auto task : tasks_) + { + SafeRelease(task); + } + for (auto child : children_) { SafeRelease(child); diff --git a/core/tools/File.cpp b/core/tools/File.cpp index 78c2accc..347cda8f 100644 --- a/core/tools/File.cpp +++ b/core/tools/File.cpp @@ -23,6 +23,9 @@ e2d::File::~File() bool e2d::File::Open(const String & file_name) { + if (file_name.IsEmpty()) + return false; + auto FindFile = [=](const String & path) -> bool { if (::_waccess((const wchar_t*)path, 0) == 0) diff --git a/core/tools/Music.cpp b/core/tools/Music.cpp index d6e1175c..c808793c 100644 --- a/core/tools/Music.cpp +++ b/core/tools/Music.cpp @@ -80,7 +80,7 @@ bool e2d::Music::Open(const e2d::String & file_path) } File music_file; - if (!music_file.Open(file_name)) + if (!music_file.Open(file_path)) { WARN("Music::Open error: File not found."); return false;