ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/proj/trunk/RenegadeMapSelector/RenegadeMapSelector.cpp
(Generate patch)

Comparing trunk/RenegadeMapSelector/RenegadeMapSelector.cpp (file contents):
Revision 75 by douglas, 2003-03-13T14:12:42-08:00 vs.
Revision 90 by douglas, 2003-03-15T22:15:08-08:00

# Line 8 | Line 8
8   #include "RenegadeConfig.h"
9  
10   #ifdef _WIN32
11 +
12   #include <io.h>
13   #include <fcntl.h>
14   #include "resource.h"
15 +
16   #else
17 < #include "gtk/gtk.h"
17 >
18 > #include "MapSelector.h"
19 >
20   #endif
21  
22   bool debug = false;
# Line 20 | Line 24 | string program;
24   RenegadeConfig* config;
25  
26   #ifndef _WIN32
27 +
28   inline string fix(const string& ansi) { return ansi; }
29   inline void munge(void) { debug = true; }
30 +
31   #else
32 +
33   inline string fix(const wstring& wide)
34   {
35          char* buffer = new char[wide.length() + 1];
# Line 65 | Line 72 | inline void munge(void)
72  
73          debug = true;
74   }
75 +
76   #endif
77  
78   #ifdef _WIN32
# Line 76 | Line 84 | int WINAPI WinMain(HINSTANCE hInstance,
84          int argc;
85          unsigned short** argv = CommandLineToArgvW(GetCommandLineW(), &argc);
86   #else
87 + void selector(void);
88 +
89   int main(int argc, char* argv[])
90   {
91 <        gtk_init(&argc, &argv);
91 >        if (!gtk_init_check(&argc, &argv))
92 >        {
93 >                cerr << argv[0] << ": Cannot open display, need a clue-by-four?\n";
94 >
95 >                return 1;
96 >        }
97   #endif
98  
99          string error;
# Line 106 | Line 121 | int main(int argc, char* argv[])
121  
122   #ifdef _WIN32
123                                  MessageBox(NULL, error.c_str(), "Bad Arguments", MB_ICONERROR);
124 + #else
125 +                                message(NULL, error, "Bad Arguments", GTK_MESSAGE_ERROR);
126   #endif
127                                  return 1;
128                          }
129                  }
130 +                else
131 +                {
132 +                        error = "The argument " + arg + " is not a valid argument.";
133 +
134 + #ifdef _WIN32
135 +                        MessageBox(NULL, error.c_str(), "Unknown Arguments", MB_ICONWARNING
136 +                                );
137 + #else
138 +                        message(NULL, error, "Unknown Arguments", GTK_MESSAGE_WARNING);
139 + #endif
140 +                }
141          }
142  
143   #ifdef _WIN32
# Line 125 | Line 153 | int main(int argc, char* argv[])
153  
154   #ifdef _WIN32
155                  MessageBox(NULL, error.c_str(), "Bad File", MB_ICONERROR);
156 + #else
157 +                message(NULL, error, "Bad File", GTK_MESSAGE_ERROR);
158   #endif
159                  return 1;
160          }
# Line 132 | Line 162 | int main(int argc, char* argv[])
162   #ifdef _WIN32
163          DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAP_SELECTOR), NULL, selector);
164   #else
165 <        gtk_main();
165 >        MapSelector selector;
166   #endif
167  
168          delete config;
# Line 149 | Line 179 | int main(int argc, char* argv[])
179   }
180  
181   #ifdef _WIN32
182 +
183   int CALLBACK selector(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
184   {
185          switch (uMsg)
# Line 173 | Line 204 | int CALLBACK selector(HWND hwndDlg, UINT
204                          GetCurrentDirectory(MAX_PATH + 1, directory);
205                          if (debug) cerr << "directory = " << directory << "\n";
206  
207 <                        char* data = new char[MAX_PATH + 1];
207 >                        char* data = new char[strlen(directory) + 12];
208                          sprintf(data, "%s\\data\\*.mix", directory);
209                          delete [] directory;
210                          if (debug) cerr << "data = " << data << "\n";
# Line 200 | Line 231 | int CALLBACK selector(HWND hwndDlg, UINT
231                          if (GetListBoxInfo(GetDlgItem(hwndDlg, IDC_SELECTED)) == 0)
232                          {
233                                  MessageBox(hwndDlg, "You need at least one map.", "No Maps",
234 <                                        MB_ICONEXCLAMATION);
234 >                                        MB_ICONINFORMATION);
235  
236                                  return false;
237                          }
# Line 453 | Line 484 | int CALLBACK selector(HWND hwndDlg, UINT
484  
485          return false;
486   }
487 +
488   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines