-\r
-// list.h\r
-\r
-#ifndef LIST_H\r
-#define LIST_H\r
-\r
-// includes\r
-\r
-#include "board.h"\r
-#include "move.h"\r
-#include "util.h"\r
-\r
-// constants\r
-\r
-const int ListSize = 256;\r
-\r
-// types\r
-\r
-struct list_t {\r
- sint16 size;\r
- move_t move[ListSize];\r
- sint16 value[ListSize];\r
-};\r
-\r
-// functions\r
-\r
-extern bool list_is_ok (const list_t * list);\r
-\r
-extern void list_clear (list_t * list);\r
-extern void list_add (list_t * list, int move, int value = 0);\r
-extern void list_remove (list_t * list, int index);\r
-\r
-extern bool list_is_empty (const list_t * list);\r
-extern int list_size (const list_t * list);\r
-\r
-extern int list_move (const list_t * list, int index);\r
-extern int list_value (const list_t * list, int index);\r
-\r
-extern void list_copy (list_t * dst, const list_t * src);\r
-\r
-extern void list_note (list_t * list);\r
-extern void list_sort (list_t * list);\r
-\r
-extern bool list_contain (const list_t * list, int move);\r
-extern bool list_equal (list_t * list_1, list_t * list_2);\r
-\r
-extern void list_disp (const list_t * list, const board_t * board);\r
-\r
-#endif // !defined LIST_H\r
-\r
-// end of list.h\r
-\r
+
+// list.h
+
+#ifndef LIST_H
+#define LIST_H
+
+// includes
+
+#include "board.h"
+#include "move.h"
+#include "util.h"
+
+// defines
+
+#define ListSize 256
+
+// types
+
+typedef struct {
+ sint16 size;
+ move_t move[ListSize];
+ sint16 value[ListSize];
+} list_t;
+
+// functions
+
+extern bool list_is_ok (const list_t * list);
+
+extern void list_clear (list_t * list);
+extern void list_add (list_t * list, int move);
+extern void list_add_ex (list_t * list, int move, int value);
+
+extern void list_remove (list_t * list, int index);
+
+extern bool list_is_empty (const list_t * list);
+extern int list_size (const list_t * list);
+
+extern int list_move (const list_t * list, int index);
+extern int list_value (const list_t * list, int index);
+
+extern void list_copy (list_t * dst, const list_t * src);
+
+extern void list_note (list_t * list);
+extern void list_sort (list_t * list);
+
+extern bool list_contain (const list_t * list, int move);
+extern bool list_equal (list_t * list_1, list_t * list_2);
+
+extern void list_disp (const list_t * list, const board_t * board);
+
+#endif // !defined LIST_H
+
+// end of list.h
+