summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--projects/openttd_vs80.vcproj4
-rw-r--r--projects/openttd_vs90.vcproj4
-rw-r--r--source.list1
-rw-r--r--src/autoreplace_gui.cpp13
-rw-r--r--src/group.h8
-rw-r--r--src/group_gui.cpp14
-rw-r--r--src/group_type.h18
-rw-r--r--src/openttd.h2
-rw-r--r--src/order.h1
-rw-r--r--src/vehicle_base.h1
-rw-r--r--src/window_gui.h27
11 files changed, 57 insertions, 36 deletions
diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj
index 5b61359f0..5dae4b1d6 100644
--- a/projects/openttd_vs80.vcproj
+++ b/projects/openttd_vs80.vcproj
@@ -984,6 +984,10 @@
>
</File>
<File
+ RelativePath=".\..\src\group_type.h"
+ >
+ </File>
+ <File
RelativePath=".\..\src\gui.h"
>
</File>
diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj
index 98c44fdff..058034e30 100644
--- a/projects/openttd_vs90.vcproj
+++ b/projects/openttd_vs90.vcproj
@@ -981,6 +981,10 @@
>
</File>
<File
+ RelativePath=".\..\src\group_type.h"
+ >
+ </File>
+ <File
RelativePath=".\..\src\gui.h"
>
</File>
diff --git a/source.list b/source.list
index 8081cf4d6..46fda4ddc 100644
--- a/source.list
+++ b/source.list
@@ -154,6 +154,7 @@ gfx_type.h
gfxinit.h
group.h
group_gui.h
+group_type.h
gui.h
heightmap.h
industry.h
diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp
index 3ea1cbdb4..9c6eb3466 100644
--- a/src/autoreplace_gui.cpp
+++ b/src/autoreplace_gui.cpp
@@ -23,6 +23,19 @@
#include "table/sprites.h"
#include "table/strings.h"
+struct replaceveh_d {
+ byte sel_index[2];
+ EngineID sel_engine[2];
+ uint16 count[2];
+ bool wagon_btnstate; ///< true means engine is selected
+ EngineList list[2];
+ bool update_left;
+ bool update_right;
+ bool init_lists;
+ GroupID sel_group;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(replaceveh_d));
+
static RailType _railtype_selected_in_replace_gui;
static bool _rebuild_left_list;
diff --git a/src/group.h b/src/group.h
index 2693523ac..da6ec7f2a 100644
--- a/src/group.h
+++ b/src/group.h
@@ -5,18 +5,12 @@
#ifndef GROUP_H
#define GROUP_H
+#include "group_type.h"
#include "oldpool.h"
#include "player_type.h"
#include "vehicle_type.h"
#include "engine.h"
-enum {
- ALL_GROUP = 0xFFFD,
- DEFAULT_GROUP = 0xFFFE, ///< ungrouped vehicles are in this group.
- INVALID_GROUP = 0xFFFF,
-};
-
-struct Group;
DECLARE_OLD_POOL(Group, Group, 5, 2047)
struct Group : PoolItem<Group, GroupID, &_Group_pool> {
diff --git a/src/group_gui.cpp b/src/group_gui.cpp
index 8525c883c..667dcaea9 100644
--- a/src/group_gui.cpp
+++ b/src/group_gui.cpp
@@ -29,6 +29,20 @@
#include "table/strings.h"
#include "table/sprites.h"
+struct grouplist_d {
+ const Group **sort_list;
+ list_d l; // General list struct
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(grouplist_d));
+
+struct groupveh_d : vehiclelist_d {
+ GroupID group_sel;
+ VehicleID vehicle_sel;
+
+ grouplist_d gl;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(groupveh_d));
+
struct Sorting {
Listing aircraft;
Listing roadveh;
diff --git a/src/group_type.h b/src/group_type.h
new file mode 100644
index 000000000..9d4f269ed
--- /dev/null
+++ b/src/group_type.h
@@ -0,0 +1,18 @@
+/* $Id$ */
+
+/** @file group_type.h Types of a group. */
+
+#ifndef GROUP_TYPE_H
+#define GROUP_TYPE_H
+
+typedef uint16 GroupID;
+
+enum {
+ ALL_GROUP = 0xFFFD,
+ DEFAULT_GROUP = 0xFFFE, ///< ungrouped vehicles are in this group.
+ INVALID_GROUP = 0xFFFF,
+};
+
+struct Group;
+
+#endif /* GROUP_TYPE_H */
diff --git a/src/openttd.h b/src/openttd.h
index 1459f5a61..53be15a00 100644
--- a/src/openttd.h
+++ b/src/openttd.h
@@ -12,7 +12,6 @@
struct Waypoint;
struct ViewPort;
struct DrawPixelInfo;
-struct Group;
typedef byte VehicleOrderID; ///< The index of an order within its current vehicle (not pool related)
typedef byte LandscapeID;
typedef uint16 EngineID;
@@ -24,7 +23,6 @@ typedef EngineID *EngineList; ///< engine list type placeholder acceptable for C
typedef uint16 WaypointID;
typedef uint16 OrderID;
typedef uint16 SignID;
-typedef uint16 GroupID;
typedef uint16 EngineRenewID;
enum GameModes {
diff --git a/src/order.h b/src/order.h
index 952cfa760..b9557adce 100644
--- a/src/order.h
+++ b/src/order.h
@@ -11,6 +11,7 @@
#include "vehicle_type.h"
#include "tile_type.h"
#include "date_type.h"
+#include "group_type.h"
typedef uint16 DestinationID;
diff --git a/src/vehicle_base.h b/src/vehicle_base.h
index 8bcaa2b47..75982b0a7 100644
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -20,6 +20,7 @@
#include "order.h"
#include "cargopacket.h"
#include "texteff.hpp"
+#include "group_type.h"
/** Road vehicle states */
enum RoadVehicleStates {
diff --git a/src/window_gui.h b/src/window_gui.h
index 97e3b9520..de3c2f231 100644
--- a/src/window_gui.h
+++ b/src/window_gui.h
@@ -331,19 +331,6 @@ struct tooltips_d {
};
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tooltips_d));
-struct replaceveh_d {
- byte sel_index[2];
- EngineID sel_engine[2];
- uint16 count[2];
- bool wagon_btnstate; ///< true means engine is selected
- EngineList list[2];
- bool update_left;
- bool update_right;
- bool init_lists;
- GroupID sel_group;
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(replaceveh_d));
-
struct depot_d {
VehicleID sel;
VehicleType type;
@@ -443,20 +430,6 @@ struct vehiclelist_d {
};
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vehiclelist_d));
-struct grouplist_d {
- const Group **sort_list;
- list_d l; // General list struct
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(grouplist_d));
-
-struct groupveh_d : vehiclelist_d {
- GroupID group_sel;
- VehicleID vehicle_sel;
-
- grouplist_d gl;
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(groupveh_d));
-
/****************** THESE ARE NOT WIDGET TYPES!!!!! *******************/
enum WindowWidgetBehaviours {
WWB_PUSHBUTTON = 1 << 5,