Skip to content

Commit f517861

Browse files
author
Stefan Murawski
committed
Make sendStatus an extra enginge event
1 parent 320944e commit f517861

File tree

4 files changed

+36
-13
lines changed

4 files changed

+36
-13
lines changed

project/src/main/java/com/shurik/droidzebra/ZebraEngine.java

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public class ZebraEngine {
7070
MSG_CANDIDATE_EVALS = 13,
7171
MSG_ANALYZE_GAME = 14,
7272
MSG_NEXT_MOVE = 15,
73+
MSG_STATUS = 16,
7374
MSG_DEBUG = 65535;
7475

7576
// engine state
@@ -554,18 +555,6 @@ private JSONObject Callback(int msgcode, JSONObject data) {
554555

555556
case MSG_DEBUG: {
556557
String message = data.getString("message");
557-
if(message.startsWith("status")) {
558-
String[] split = message.split("\\s+");
559-
if(split.length > 3) {
560-
ZebraEngine.this.onDebugListener.onDebug("Depth: " + split[2]);
561-
try {
562-
currentGameState.setReachedDepth(Integer.parseInt(split[2]));
563-
} catch (NumberFormatException e) {
564-
Log.e("Status", e.toString(), e);
565-
}
566-
}
567-
568-
}
569558
ZebraEngine.this.onDebugListener.onDebug(message);
570559
}
571560
break;
@@ -721,6 +710,26 @@ private JSONObject Callback(int msgcode, JSONObject data) {
721710
}
722711
break;
723712

713+
714+
case MSG_STATUS: {
715+
String message = data.getString("status");
716+
ZebraEngine.this.onDebugListener.onDebug("Status: " + message);
717+
String[] split = message.split("\\s+");
718+
if(split.length > 1) {
719+
String reachedDepth = split[1];
720+
ZebraEngine.this.onDebugListener.onDebug("Depth: " + reachedDepth);
721+
try {
722+
currentGameState.setReachedDepth(Integer.parseInt(reachedDepth));
723+
} catch (NumberFormatException e) {
724+
Log.e("Status", e.toString(), e);
725+
}
726+
}
727+
728+
729+
ZebraEngine.this.onDebugListener.onDebug("Status: " + message);
730+
}
731+
break;
732+
724733
case MSG_CANDIDATE_EVALS: {
725734
JSONArray jscevals = data.getJSONArray("evals");
726735
CandidateMove cmoves[] = new CandidateMove[jscevals.length()];

project/src/main/jni/droidzebra-display.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ display_status( FILE *stream, int allow_repeat ) {
253253
// original
254254
if ( ((status_pos != 0) || allow_repeat ) &&
255255
(strlen( status_buffer ) > 0) ) {
256-
droidzebra_message_debug( "status: %s\n", status_buffer );
256+
droidzebra_msg_status(status_buffer );
257257
strcpy( stored_status_buffer, status_buffer );
258258
}
259259
status_pos = 0;

project/src/main/jni/droidzebra-msg.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,15 @@ droidzebra_msg_pv(void)
273273
droidzebra_message(MSG_PV, buffer);
274274
}
275275

276+
// MSG_PV
277+
void
278+
droidzebra_msg_status(char *status)
279+
{
280+
char buffer[128];
281+
sprintf(buffer, "{\"status\":\"%s\"}", status);
282+
droidzebra_message(MSG_STATUS, buffer);
283+
}
284+
276285
/*
277286
COMPARE_EVAL
278287
Comparison function for two evals. Same return value conventions

project/src/main/jni/droidzebra-msg.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#define MSG_CANDIDATE_EVALS 13
3737
#define MSG_ANALYZE_GAME 14
3838
#define MSG_NEXT_MOVE 15
39+
#define MSG_STATUS 16
3940
#define MSG_DEBUG 65535
4041

4142
#define UI_EVENT_EXIT 0
@@ -100,6 +101,10 @@ droidzebra_msg_eval(void);
100101
void
101102
droidzebra_msg_pv(void);
102103

104+
void
105+
droidzebra_msg_status(char *status);
106+
107+
103108
void
104109
droidzebra_msg_candidate_evals(void);
105110

0 commit comments

Comments
 (0)