aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-10 17:18:40 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-10 17:18:40 +0100
commit3bec014a331152b111b4eecb4864ba26d2ab9ae3 (patch)
treef1f524e69d27ea10e5dbab6c8a6a66007f78545b /src/game_tab/left_panel/board
parentb7e48fe351005700d779210a6dcf68158d4266fe (diff)
Update chessarbiter and finish the implementation of pawns promotions
Diffstat (limited to 'src/game_tab/left_panel/board')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp13
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp1
2 files changed, 6 insertions, 8 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 7f045f9..3b65e91 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -9,7 +9,6 @@ tmp=rot_m.TransformPoint(tmp); \
(PT).x+=xsrc;(PT).y+=ysrc;}
wxDEFINE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
-wxDEFINE_EVENT(PLAY_PROMOTE, wxCommandEvent);
BoardCanvas::BoardCanvas(wxFrame *parent)
: wxPanel(parent), black_side(false), frozen(false),
@@ -469,17 +468,16 @@ void BoardCanvas::MouseEvent(wxMouseEvent &event) {
if((char)('a' + file)==gs.promotion[0]){
std::uint8_t prank=abs((int)gs.promotion[1]-(int)(char)('1' + rank));
if(prank<=3){
- wxLogDebug("%d",(int)prank);
- wxCommandEvent event(PLAY_PROMOTE, GetId());
+ wxCommandEvent event(PLAY_MOVE_EVENT, GetId());
event.SetEventObject(this);
if(prank==1)
- event.SetString("r");
+ event.SetInt((int)'r');
else if(prank==2)
- event.SetString("b");
+ event.SetInt((int)'b');
else if(prank==3)
- event.SetString("n");
+ event.SetInt((int)'n');
else
- event.SetString("q");
+ event.SetInt((int)'q');
ProcessEvent(event);
}
}
@@ -531,6 +529,7 @@ void BoardCanvas::MouseEvent(wxMouseEvent &event) {
std::to_string(+active_square.y + 1) +
((char)('a' + file)) + std::to_string(rank + 1);
event.SetString(move);
+ event.SetInt((int)'q'); // Promote to queen by default
ProcessEvent(event);
} else {
// If square not valid just redraw (place piece back to its square)
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index efd917b..a7193f3 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -12,7 +12,6 @@
// Local events
wxDECLARE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
-wxDECLARE_EVENT(PLAY_PROMOTE, wxCommandEvent);
#define REFRESH_MOUSE_LOCATION() \
{ \