From 992befeb4589b2846414d8ab7bb97bf7237410a4 Mon Sep 17 00:00:00 2001 From: Samat Agishev Date: Mon, 5 Feb 2018 19:53:52 +0500 Subject: [PATCH] animation doesn't work --- jni/main_code.cpp | 55 +++--------------------------- jni/main_code.h | 4 +-- jni/match3/match3field.cpp | 45 ++++++++++++------------ windows/Crystal of Rhylil.sln | 5 +++ windows/Crystal of Rhylil/main.cpp | 2 +- 5 files changed, 33 insertions(+), 78 deletions(-) diff --git a/jni/main_code.cpp b/jni/main_code.cpp index 0ae75ce..a9c1745 100644 --- a/jni/main_code.cpp +++ b/jni/main_code.cpp @@ -14,7 +14,7 @@ #include "main_code.h" #ifndef TARGET_IOS -boost::shared_ptr App(new TMyApplication); +std::shared_ptr App = std::make_shared(); #endif bool animPaused = false; @@ -115,48 +115,6 @@ void TMyApplication::InnerInit() Match3Controller.Match3Field = std::make_shared(Match3Controller); - - - /* - - ResourceManager->GUIManager.AddWidgetAndFill(boost::shared_ptr(new TSquareButton), - "ololo", "group1", - boost::shared_ptr(new TSquareButtonTriangleListFiller(vec2(100, 100), vec2(200, 200), "button_normal", "button_pressed"))); - - - ResourceManager->GUIManager.AddWidgetAndFill(boost::shared_ptr(new TSquareStatic), - "Background", "group1", - boost::shared_ptr(new TSquareStaticTriangleListFiller(vec2(0, 0), vec2(800, 480), "cave_hd"))); - - - ResourceManager->GUIManager.AddWidget(boost::shared_ptr(new TMatch3Field(Match3Controller)), - "match3", "group1"); - - ResourceManager->GUIManager.MoveWidget("ololo", vec2(-100, 0)); - - TOnClickTest OnClickTest; - */ - - - //ResourceManager->GUIManager.GetOnClickSignal("ololo").connect(OnClickTest); - - //testAnimObject.Serialize(FileToPropertyTree("test_animation_xml.xml")); - - //ResourceManager->HalibutAnimationManager.AddAnimationObject("test_anim", testAnimObject); - - //ResourceManager->HalibutAnimationManager.StartAnimation("test_anim"); - - - //ResourceManager->ShaderManager.AddShader("DefaultShader", "shader_vertex.txt", "shader_fragment.txt"); - /*HalibutRender->PushShader("DefaultShader"); - - ResourceManager->TexList.AddTexture(CONST_CONSOLE_TEX_NAME); - - ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.bmp32", "droid_sans14_font_charmap.txt"); - ResourceManager->FontManager.PushFont("droid_sans14");*/ - - //glDisable(GL_CULL_FACE); - } //What to do on deinit @@ -197,13 +155,10 @@ void TMyApplication::InnerOnTapUp(Eigen::Vector2f p) { } Match3Controller.Match3Field.get()->OnTapUp(p); } -void TMyApplication::InnerOnTapUpAfterMove(Eigen::Vector2f p) { - //Match3Controller.Match3Field.get()-> -} void TMyApplication::InnerOnMove(Eigen::Vector2f pos, Eigen::Vector2f shift) { - if (!Match3Controller.Match3Field.get()->CheckClick(pos)) { - return; - } - Match3Controller.Match3Field.get()->OnMove(pos); +// if (!Match3Controller.Match3Field.get()->CheckClick(pos)) { +// return; +// } +// Match3Controller.Match3Field.get()->OnMove(pos); } \ No newline at end of file diff --git a/jni/main_code.h b/jni/main_code.h index f6a4480..bd64f8b 100644 --- a/jni/main_code.h +++ b/jni/main_code.h @@ -64,13 +64,11 @@ public: virtual void InnerOnTapUp(Eigen::Vector2f p) override; - virtual void InnerOnTapUpAfterMove(Eigen::Vector2f p) override; - virtual void InnerOnMove(Eigen::Vector2f pos, Eigen::Vector2f shift) override; }; #ifndef TARGET_IOS -extern boost::shared_ptr App; +extern std::shared_ptr App; #endif #endif diff --git a/jni/match3/match3field.cpp b/jni/match3/match3field.cpp index e31d59f..bbcb47c 100644 --- a/jni/match3/match3field.cpp +++ b/jni/match3/match3field.cpp @@ -54,7 +54,7 @@ void TMatch3FieldParams::Serialize(boost::property_tree::ptree& propertyTree) ChipMatchTime = propertyTree.get("Match3Params.ChipMatchTime"); ChipTypeCount = propertyTree.get("Match3Params.ChipTypeCount"); - BOOST_FOREACH(boost::property_tree::ptree::value_type &v, propertyTree.get_child("Match3Params.ChipList")) + for (boost::property_tree::ptree::value_type &v : propertyTree.get_child("Match3Params.ChipList")) { boost::property_tree::ptree& p = v.second.get_child(""); chipTemplateParams.Serialize(p); @@ -181,14 +181,14 @@ Eigen::Vector2f TMatch3Logic::GetExpectedLeftBottomPos(size_t x, size_t y) void TMatch3Logic::StartAnimateChip(size_t x, size_t y) { + //return; SE::ResourceManager->HalibutAnimationManager.StartAnimation(ChipMatrix[x][y].AnimName); } void TMatch3Logic::StopAnimateChip(size_t x, size_t y) { - + //return; SE::ResourceManager->HalibutAnimationManager.StopAnimation(ChipMatrix[x][y].AnimName); - } @@ -413,8 +413,6 @@ void TMatch3Logic::MoveVertexListShiftBackWithoutAnimation(SE::TRenderPairList:: void TMatch3Logic::InnerAddChipToUp(size_t colNum, int chipType, Eigen::Vector2f spawnPos, TChip::TChipState chipState) { - size_t yPos = ChipMatrix[colNum].size(); - Eigen::Vector2f posFrom = spawnPos; Eigen::Vector2f posTo = posFrom + Eigen::Vector2f(Match3FieldParams.CellWidth, Match3FieldParams.CellHeight); @@ -448,9 +446,9 @@ void TMatch3Logic::InnerAddChipToUp(size_t colNum, int chipType, Eigen::Vector2f void TMatch3Logic::AddChipToUp(size_t colNum, int chipType, Eigen::Vector2f spawnPos, TChip::TChipState chipState) { - InnerAddChipToUp(colNum, chipType, spawnPos, chipState); + size_t yPos = ChipMatrix[colNum].size(); - size_t yPos = ChipMatrix[colNum].size() - 1; //? + InnerAddChipToUp(colNum, chipType, spawnPos, chipState); ReplaceAnimation(Eigen::Vector2i(colNum, yPos)); @@ -484,7 +482,7 @@ void TMatch3Logic::InsertEmptyChip(size_t colNum, size_t rowNum, int chipType) ReplaceAnimation(Eigen::Vector2i(colNum, rowNum)); - triangleList.NeedRefreshBuffer = true; + //triangleList.NeedRefreshBuffer = true; Eigen::Vector2f pos = GetExpectedLeftBottomPos(colNum, rowNum); @@ -565,8 +563,8 @@ void TMatch3Logic::UpdateChipSwapping(size_t dt) chip2.RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][chip2.VertexListShift + k] += shiftChip2; } - chip1.RenderPair->second.NeedRefreshBuffer = true; - chip2.RenderPair->second.NeedRefreshBuffer = true; + //chip1.RenderPair->second.NeedRefreshBuffer = true; + //chip2.RenderPair->second.NeedRefreshBuffer = true; } @@ -655,7 +653,7 @@ void TMatch3Logic::UpdateChipPosition(size_t dt) } - chip.RenderPair->second.NeedRefreshBuffer = true; + //chip.RenderPair->second.NeedRefreshBuffer = true; for (size_t k = j + 1; k < ChipMatrix[i].size(); k++) { @@ -671,7 +669,7 @@ void TMatch3Logic::UpdateChipPosition(size_t dt) chipAbove.ChipState = TChip::CS_FALLING; chipAbove.SetLeftBottomPos(chip.GetLeftBottomPos() + Eigen::Vector2f(0, Match3FieldParams.CellHeight)); chipAbove.Velocity = chip.Velocity; - chipAbove.RenderPair->second.NeedRefreshBuffer = true; + //chipAbove.RenderPair->second.NeedRefreshBuffer = true; } } } @@ -715,9 +713,10 @@ void TMatch3Logic::TryMatchAllChips() void TMatch3Logic::DestroyChip(Eigen::Vector2i p) { - ChipMatrix[p[0]][p[1]].RenderPair->second.NeedRefreshBuffer = true; + //ChipMatrix[p[0]][p[1]].RenderPair->second.NeedRefreshBuffer = true; SE::ResourceManager->HalibutAnimationManager.DeleteAnimationObject(ChipMatrix[p[0]][p[1]].AnimName); + ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].erase( ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].begin() + ChipMatrix[p[0]][p[1]].VertexListShift, @@ -761,14 +760,14 @@ void TMatch3Logic::ChangeChipType(Eigen::Vector2i p) MoveVertexListShiftBack(chip.RenderPair, chip.VertexListShift); - chip.RenderPair->second.NeedRefreshBuffer = true; + //chip.RenderPair->second.NeedRefreshBuffer = true; chip.ChipType = newChipType; RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].insert(RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].end(), vertexCoordSubVec.begin(), vertexCoordSubVec.end()); RenderPairIteratorVector[newChipType]->second.Data.Vec2CoordArr[SE::CONST_STRING_TEXCOORD_ATTRIB].insert(RenderPairIteratorVector[newChipType]->second.Data.Vec2CoordArr[SE::CONST_STRING_TEXCOORD_ATTRIB].end(), texCoordSubVec.begin(), texCoordSubVec.end()); - RenderPairIteratorVector[newChipType]->second.NeedRefreshBuffer = true; + //RenderPairIteratorVector[newChipType]->second.NeedRefreshBuffer = true; chip.RenderPair = RenderPairIteratorVector[newChipType]; chip.VertexListShift = RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].size() - 6; @@ -910,7 +909,7 @@ void TMatch3Logic::SwapChips(Eigen::Vector2i p1, Eigen::Vector2i p2, bool isRetu Eigen::Vector2f chip2PosFrom(LeftBottomPosField[0] + p2[0]*Match3FieldParams.CellWidth, LeftBottomPosField[1] + p2[1]*Match3FieldParams.CellHeight); ChipSwappingPairVector.push_back(TChipSwappingPair(p1, p2, chip1PosFrom, chip2PosFrom)); - (ChipSwappingPairVector.end() - 1)->IsReturning = isReturning; + ChipSwappingPairVector.back().IsReturning = isReturning; ChipMatrix[p1[0]][p1[1]].ChipState = TChip::CS_SWAPPING; ChipMatrix[p2[0]][p2[1]].ChipState = TChip::CS_SWAPPING; @@ -932,7 +931,7 @@ void TMatch3Logic::ResetChipPos(Eigen::Vector2i p) chip.RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][chip.VertexListShift + i] = vertexCoordVec[i]; } - chip.RenderPair->second.NeedRefreshBuffer = true; + //chip.RenderPair->second.NeedRefreshBuffer = true; } @@ -973,7 +972,7 @@ void TMatch3Logic::UpdateLogic(size_t dt) std::vector vertexCoordArr = SE::MakeVertexCoordVec(centerPos - (1.f - i->T)*halfPos, centerPos + (1.f - i->T)*halfPos, ZLEVEL); - for (int t = 0; t < 6; t++) + for (int t = 0; t < 6; t++) { ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][ChipMatrix[p[0]][p[1]].VertexListShift + t] = vertexCoordArr[t]; } @@ -994,6 +993,7 @@ void TMatch3Logic::UpdateLogic(size_t dt) } } + RemoveBubbles(); } @@ -1168,7 +1168,7 @@ void TMatch3Field::FillBasicChipMatrixAndTriangleList() for (SE::TRenderPairList::iterator i = TriangleListVector.begin(); i != TriangleListVector.end(); ++i) { - i->second.NeedRefreshBuffer = false; + //i->second.NeedRefreshBuffer = false; i->second.RefreshBuffer(); } @@ -1192,14 +1192,11 @@ void TMatch3Field::Update(size_t dt) TMatch3Logic::UpdateLogic(dt); - SE::TRenderPairList::iterator i; for (i = TriangleListVector.begin(); i != TriangleListVector.end(); ++i) { - if (i->second.NeedRefreshBuffer) - { - i->second.RefreshBuffer(); - } + i->second.RefreshBuffer(); + } int y = 6; diff --git a/windows/Crystal of Rhylil.sln b/windows/Crystal of Rhylil.sln index 7ac83c8..681bf0b 100644 --- a/windows/Crystal of Rhylil.sln +++ b/windows/Crystal of Rhylil.sln @@ -4,6 +4,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 14.0.25123.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Crystal of Rhylil", "Crystal of Rhylil\Crystal of Rhylil.vcxproj", "{0080A3E1-DFBF-4557-B198-E6D5D7724393}" + ProjectSection(ProjectDependencies) = postProject + {534F100C-E611-43BF-B6F3-AD9F9925F703} = {534F100C-E611-43BF-B6F3-AD9F9925F703} + {03736B28-58F6-4AEA-9D37-B6AC4F5F853B} = {03736B28-58F6-4AEA-9D37-B6AC4F5F853B} + {A05BADE1-D792-4620-9928-13A7AFD0F195} = {A05BADE1-D792-4620-9928-13A7AFD0F195} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Engine", "..\..\tes-engine\windows\Engine\Engine.vcxproj", "{534F100C-E611-43BF-B6F3-AD9F9925F703}" EndProject diff --git a/windows/Crystal of Rhylil/main.cpp b/windows/Crystal of Rhylil/main.cpp index 686da48..d85b715 100644 --- a/windows/Crystal of Rhylil/main.cpp +++ b/windows/Crystal of Rhylil/main.cpp @@ -7,7 +7,7 @@ #include "boost/foreach.hpp" -extern boost::shared_ptr App; +extern std::shared_ptr App; int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow)