aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-29 15:02:17 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-29 15:02:17 +0100
commit834387d7b23d264f44871bcd6a62fe2a68250e1e (patch)
treee24db50d4f5e9c865ba6803b172986df4e90592b /src/game_tab
parent796ba531eac19a6032000ef9b2faa79c89c84188 (diff)
Improve code
Diffstat (limited to 'src/game_tab')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp9
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp2
2 files changed, 6 insertions, 5 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index de9fac7..bf3e909 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -110,7 +110,7 @@ void BoardCanvas::SetupBoard(std::string board, bool is_black_turn,
Refresh();
}
-void BoardCanvas::Animate(std::string board, bool is_black_turn, std::map<char, std::uint8_t> captures, std::string src, std::string dst,bool faster){
+void BoardCanvas::Animate(const std::string &board, bool is_black_turn, std::map<char, std::uint8_t> captures, std::string src, std::string dst,bool faster){
adata.final_board=board;
adata.final_is_black_turn=is_black_turn;
adata.final_captures=captures;
@@ -151,15 +151,16 @@ void BoardCanvas::Animate(std::string board, bool is_black_turn, std::map<char,
adata.reuseBuffer=true;
int duration_backup=adata.duration;
adata.duration=faster ? adata.duration_fast : adata.duration;
+ int frame_duration=(1000/adata.fps);
adata.frame=0;
- adata.frames=adata.duration/(1000/adata.fps); // total number of frames
+ adata.frames=adata.duration/frame_duration; // total number of frames
int time_per_frame=adata.duration/adata.frames;
wxStopWatch sw;
for(int i=adata.frames;i>0;i--){
Refresh();
Update();
- int delay=sw.Time()-time_per_frame;
- if(delay>10){
+ int delay=sw.Time()-frame_duration;
+ if(delay>5){ // 5ms tolerance
wxMilliSleep(delay);
}
sw.Start(0);
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index 2f459c5..64e99b0 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -100,7 +100,7 @@ public:
void Swap();
void SetupBoard(std::string board, bool is_black_turn,
std::map<char, std::uint8_t> captures);
- void Animate(std::string board, bool is_black_turn, std::map<char, std::uint8_t> captures, std::string src, std::string dst,bool faster);
+ void Animate(const std::string &board, bool is_black_turn, std::map<char, std::uint8_t> captures, std::string src, std::string dst,bool faster);
void SetClockTime(short hours, short min, short sec, bool IsBlack);
DECLARE_EVENT_TABLE()
};