2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
\r
5 This file is part of GtkRadiant.
\r
7 GtkRadiant is free software; you can redistribute it and/or modify
\r
8 it under the terms of the GNU General Public License as published by
\r
9 the Free Software Foundation; either version 2 of the License, or
\r
10 (at your option) any later version.
\r
12 GtkRadiant is distributed in the hope that it will be useful,
\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
15 GNU General Public License for more details.
\r
17 You should have received a copy of the GNU General Public License
\r
18 along with GtkRadiant; if not, write to the Free Software
\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\r
22 #include <gtk/gtk.h>
\r
23 #include <gdk/gdkkeysyms.h>
\r
25 #include "surfdlg_plugin.h"
\r
27 #include "surfaceflagsdialog_heretic2.h"
\r
29 GtkWidget *surface_lightbutton;
\r
30 GtkWidget *surface_slickbutton;
\r
31 GtkWidget *surface_skybutton;
\r
32 GtkWidget *surface_warpbutton;
\r
33 GtkWidget *surface_trans33button;
\r
34 GtkWidget *surface_trans66button;
\r
35 GtkWidget *surface_flowingbutton;
\r
36 GtkWidget *surface_nodrawbutton;
\r
37 GtkWidget *surface_tallwallbutton;
\r
38 GtkWidget *surface_alphatexbutton;
\r
39 GtkWidget *surface_animspeedbutton;
\r
40 GtkWidget *surface_undulatebutton;
\r
42 GtkWidget *surf_gravel_radiobutton;
\r
43 GSList *surf_gravel_radiobutton_group = NULL;
\r
44 GtkWidget *surf_metal_radiobutton;
\r
45 GtkWidget *surf_stone_radiobutton;
\r
46 GtkWidget *surf_wood_radiobutton;
\r
48 GtkWidget *surf_value_entry;
\r
50 GtkWidget *notebook1;
\r
52 GtkWidget *content_solidbutton;
\r
53 GtkWidget *content_windowbutton;
\r
54 GtkWidget *content_illusbutton;
\r
55 GtkWidget *content_lavabutton;
\r
56 GtkWidget *content_slimebutton;
\r
57 GtkWidget *content_waterbutton;
\r
58 GtkWidget *content_mistbutton;
\r
59 GtkWidget *content_areaportalbutton;
\r
60 GtkWidget *content_playerclipbutton;
\r
61 GtkWidget *content_monsterclipbutton;
\r
62 GtkWidget *content_current0button;
\r
63 GtkWidget *content_current90button;
\r
64 GtkWidget *content_current180button;
\r
65 GtkWidget *content_current270button;
\r
66 GtkWidget *content_currentUPbutton;
\r
67 GtkWidget *content_currentDOWNbutton;
\r
68 GtkWidget *content_originbutton;
\r
69 GtkWidget *content_detailbutton;
\r
70 GtkWidget *content_ladderbutton;
\r
71 GtkWidget *content_camnoblockbutton;
\r
74 gboolean setup_buttons = TRUE;
\r
76 int working_surface_flags;
\r
78 int working_content_flags;
\r
81 gboolean surface_material_inconsistant = FALSE;
\r
83 inline void set_inconsistent(GtkWidget *toggle_button)
\r
85 gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON (toggle_button), TRUE);
\r
88 inline void clear_inconsistent(GtkWidget *toggle_button)
\r
90 if ( gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON (toggle_button)) )
\r
92 gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON (toggle_button), FALSE);
\r
97 void clear_all_inconsistent(void)
\r
99 clear_inconsistent( surface_lightbutton );
\r
100 clear_inconsistent( surface_slickbutton );
\r
101 clear_inconsistent( surface_skybutton );
\r
102 clear_inconsistent( surface_warpbutton );
\r
103 clear_inconsistent( surface_trans33button );
\r
104 clear_inconsistent( surface_trans66button );
\r
105 clear_inconsistent( surface_flowingbutton );
\r
106 clear_inconsistent( surface_nodrawbutton );
\r
107 clear_inconsistent( surface_tallwallbutton );
\r
108 clear_inconsistent( surface_alphatexbutton );
\r
109 clear_inconsistent( surface_animspeedbutton );
\r
110 clear_inconsistent( surface_undulatebutton );
\r
112 clear_inconsistent( surf_gravel_radiobutton );
\r
113 clear_inconsistent( surf_metal_radiobutton );
\r
114 clear_inconsistent( surf_stone_radiobutton );
\r
115 clear_inconsistent( surf_wood_radiobutton );
\r
117 clear_inconsistent( content_solidbutton );
\r
118 clear_inconsistent( content_windowbutton );
\r
119 clear_inconsistent( content_illusbutton );
\r
120 clear_inconsistent( content_lavabutton );
\r
121 clear_inconsistent( content_slimebutton );
\r
122 clear_inconsistent( content_waterbutton );
\r
123 clear_inconsistent( content_mistbutton );
\r
124 clear_inconsistent( content_areaportalbutton );
\r
125 clear_inconsistent( content_playerclipbutton );
\r
126 clear_inconsistent( content_monsterclipbutton );
\r
127 clear_inconsistent( content_current0button );
\r
128 clear_inconsistent( content_current90button );
\r
129 clear_inconsistent( content_current180button );
\r
130 clear_inconsistent( content_current270button );
\r
131 clear_inconsistent( content_currentUPbutton );
\r
132 clear_inconsistent( content_currentDOWNbutton );
\r
133 clear_inconsistent( content_originbutton );
\r
134 clear_inconsistent( content_detailbutton );
\r
135 clear_inconsistent( content_ladderbutton );
\r
136 clear_inconsistent( content_camnoblockbutton );
\r
139 void clear_all_buttons_and_values()
\r
141 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_lightbutton ), FALSE);
\r
142 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_slickbutton ), FALSE);
\r
143 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_skybutton ), FALSE);
\r
144 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_warpbutton ), FALSE);
\r
145 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_trans33button ), FALSE);
\r
146 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_trans66button ), FALSE);
\r
147 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_flowingbutton ), FALSE);
\r
148 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_nodrawbutton ), FALSE);
\r
149 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_tallwallbutton ), FALSE);
\r
150 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_alphatexbutton ), FALSE);
\r
151 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_animspeedbutton ), FALSE);
\r
152 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( surface_undulatebutton ), FALSE);
\r
154 // surface_material_inconsistant = TRUE;
\r
156 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_gravel_radiobutton ), FALSE);
\r
157 set_inconsistent(surf_gravel_radiobutton);
\r
159 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_metal_radiobutton ), FALSE);
\r
160 set_inconsistent(surf_metal_radiobutton);
\r
162 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_stone_radiobutton ), FALSE);
\r
163 set_inconsistent(surf_stone_radiobutton);
\r
165 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_wood_radiobutton ), FALSE);
\r
166 set_inconsistent(surf_wood_radiobutton);
\r
168 gtk_entry_set_text( (GtkEntry *)surf_value_entry, "");
\r
170 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_solidbutton ), FALSE);
\r
171 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_windowbutton ), FALSE);
\r
172 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_illusbutton ), FALSE);
\r
173 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_lavabutton ), FALSE);
\r
174 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_slimebutton ), FALSE);
\r
175 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_waterbutton ), FALSE);
\r
176 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_mistbutton ), FALSE);
\r
177 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_areaportalbutton ), FALSE);
\r
178 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_playerclipbutton ), FALSE);
\r
179 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_monsterclipbutton ), FALSE);
\r
180 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_current0button ), FALSE);
\r
181 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_current90button ), FALSE);
\r
182 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_current180button ), FALSE);
\r
183 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_current270button ), FALSE);
\r
184 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_currentUPbutton ), FALSE);
\r
185 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_currentDOWNbutton ), FALSE);
\r
186 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_originbutton ), FALSE);
\r
187 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_detailbutton ), FALSE);
\r
188 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_ladderbutton ), FALSE);
\r
189 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( content_camnoblockbutton ), FALSE);
\r
193 void SetFlagButtons_Heretic2(texdef_to_face_t *texdef_face_list, bool b_isListEmpty)
\r
199 int diff_contents = 0;
\r
200 int diff_flags = 0;
\r
201 gboolean diff_value = FALSE;
\r
203 texdef_t* tmp_texdef;
\r
204 texdef_to_face_t* temp_texdef_face_list;
\r
205 gboolean surface_which_material_inconsistant[4];
\r
206 int surface_iterator;
\r
208 setup_buttons = TRUE;
\r
209 working_surface_flags = 0;
\r
211 working_content_flags = 0;
\r
214 surface_material_inconsistant = FALSE;
\r
215 surface_which_material_inconsistant[0] = FALSE;
\r
216 surface_which_material_inconsistant[1] = FALSE;
\r
217 surface_which_material_inconsistant[2] = FALSE;
\r
218 surface_which_material_inconsistant[3] = FALSE;
\r
222 tmp_texdef = &texdef_face_list->texdef;
\r
223 contents = tmp_texdef->contents;
\r
224 flags = tmp_texdef->flags;
\r
225 value = tmp_texdef->value;
\r
227 surface_iterator = (tmp_texdef->flags & ~HERETIC2_SURF_MATERIAL_MASK) >> 24; // Inconsistant Material?
\r
228 surface_which_material_inconsistant[surface_iterator] = TRUE;
\r
230 for (temp_texdef_face_list = texdef_face_list->next; temp_texdef_face_list; temp_texdef_face_list = temp_texdef_face_list->next)
\r
232 tmp_texdef = &temp_texdef_face_list->texdef;
\r
233 diff_contents |= contents ^ tmp_texdef->contents; // Figure out which buttons are inconsistent
\r
234 diff_flags |= flags ^ tmp_texdef->flags;
\r
235 if (tmp_texdef->value != value)
\r
238 surface_iterator = (tmp_texdef->flags & ~HERETIC2_SURF_MATERIAL_MASK) >> 24; // Inconsistant Material?
\r
239 surface_which_material_inconsistant[surface_iterator] = TRUE;
\r
241 Sys_Printf("Diff_Flags: %d\t Surf_Iter: %d\n",diff_flags, surface_iterator);
\r
247 clear_all_inconsistent();
\r
249 // If no faces/brushes are selected, clear everything and bail
\r
252 clear_all_buttons_and_values();
\r
253 setup_buttons = FALSE;
\r
257 // Set surface buttons to reflect brush/face flags, contents, and values
\r
258 if(diff_flags & HERETIC2_SURF_LIGHT)
\r
259 set_inconsistent(surface_lightbutton);
\r
261 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (surface_lightbutton), (flags & HERETIC2_SURF_LIGHT));
\r
263 if(diff_flags & HERETIC2_SURF_SLICK)
\r
264 set_inconsistent(surface_slickbutton);
\r
265 else if(flags & HERETIC2_SURF_SLICK)
\r
266 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_slickbutton ), TRUE);
\r
268 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_slickbutton ), FALSE);
\r
270 if(diff_flags & HERETIC2_SURF_SKY)
\r
271 set_inconsistent(surface_skybutton);
\r
272 else if(flags & HERETIC2_SURF_SKY)
\r
273 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_skybutton ), TRUE);
\r
275 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_skybutton ), FALSE);
\r
277 if(diff_flags & HERETIC2_SURF_WARP)
\r
278 set_inconsistent(surface_warpbutton);
\r
279 else if(flags & HERETIC2_SURF_WARP)
\r
280 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_warpbutton ), TRUE);
\r
282 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_warpbutton ), FALSE);
\r
284 if(diff_flags & HERETIC2_SURF_TRANS33)
\r
285 set_inconsistent(surface_trans33button);
\r
286 else if(flags & HERETIC2_SURF_TRANS33)
\r
287 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_trans33button ), TRUE);
\r
289 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_trans33button ), FALSE);
\r
291 if(diff_flags & HERETIC2_SURF_TRANS66)
\r
292 set_inconsistent(surface_trans66button);
\r
293 else if(flags & HERETIC2_SURF_TRANS66)
\r
294 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_trans66button ), TRUE);
\r
296 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_trans66button ), FALSE);
\r
298 if(diff_flags & HERETIC2_SURF_FLOWING)
\r
299 set_inconsistent(surface_flowingbutton);
\r
300 else if(flags & HERETIC2_SURF_FLOWING)
\r
301 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_flowingbutton ), TRUE);
\r
303 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_flowingbutton ), FALSE);
\r
305 if(diff_flags & HERETIC2_SURF_NODRAW)
\r
306 set_inconsistent(surface_nodrawbutton);
\r
307 else if(flags & HERETIC2_SURF_NODRAW)
\r
308 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_nodrawbutton ), TRUE);
\r
310 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_nodrawbutton ), FALSE);
\r
312 if(diff_flags & HERETIC2_SURF_TALL_WALL)
\r
313 set_inconsistent(surface_tallwallbutton);
\r
314 else if(flags & HERETIC2_SURF_TALL_WALL)
\r
315 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_tallwallbutton ), TRUE);
\r
317 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_tallwallbutton ), FALSE);
\r
319 if(diff_flags & HERETIC2_SURF_ALPHA_TEXTURE)
\r
320 set_inconsistent(surface_alphatexbutton);
\r
321 else if(flags & HERETIC2_SURF_ALPHA_TEXTURE)
\r
322 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_alphatexbutton ), TRUE);
\r
324 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_alphatexbutton ), FALSE);
\r
326 if(diff_flags & HERETIC2_SURF_ANIMSPEED)
\r
327 set_inconsistent(surface_animspeedbutton);
\r
328 else if(flags & HERETIC2_SURF_ANIMSPEED)
\r
329 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_animspeedbutton ), TRUE);
\r
331 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_animspeedbutton ), FALSE);
\r
333 if(diff_flags & HERETIC2_SURF_UNDULATE)
\r
334 set_inconsistent(surface_undulatebutton);
\r
335 else if(flags & HERETIC2_SURF_UNDULATE)
\r
336 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_undulatebutton ), TRUE);
\r
338 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surface_undulatebutton ), FALSE);
\r
340 if(diff_flags & ~HERETIC2_SURF_MATERIAL_MASK)
\r
342 Sys_Printf("--> %d\n", (diff_flags & ~HERETIC2_SURF_MATERIAL_MASK) );
\r
343 Sys_Printf("%d\t%d\t%d\t%d\n", surface_which_material_inconsistant[0], surface_which_material_inconsistant[1], surface_which_material_inconsistant[2], surface_which_material_inconsistant[3]);
\r
345 if (surface_which_material_inconsistant[0])
\r
347 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_gravel_radiobutton ), FALSE);
\r
348 surface_material_inconsistant = TRUE;
\r
349 set_inconsistent(surf_gravel_radiobutton);
\r
351 if (surface_which_material_inconsistant[1])
\r
353 //if (!surface_material_inconsistant)
\r
355 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_metal_radiobutton ), FALSE);
\r
356 surface_material_inconsistant = TRUE;
\r
358 set_inconsistent(surf_metal_radiobutton);
\r
360 if (surface_which_material_inconsistant[2])
\r
362 //if (!surface_material_inconsistant)
\r
364 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_stone_radiobutton ), FALSE);
\r
365 surface_material_inconsistant = TRUE;
\r
367 set_inconsistent(surf_stone_radiobutton);
\r
369 if (surface_which_material_inconsistant[3])
\r
371 //if (!surface_material_inconsistant)
\r
373 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_wood_radiobutton ), FALSE);
\r
374 surface_material_inconsistant = TRUE;
\r
376 set_inconsistent(surf_wood_radiobutton);
\r
381 if(flags & ~HERETIC2_SURF_MATERIAL_MASK)
\r
383 surface_iterator = (flags & ~HERETIC2_SURF_MATERIAL_MASK) >> 24;
\r
384 if( surface_iterator == 1)
\r
385 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_metal_radiobutton ), TRUE);
\r
386 else if(surface_iterator == 2)
\r
387 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_stone_radiobutton ), TRUE);
\r
388 else if(surface_iterator == 3)
\r
389 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_wood_radiobutton ), TRUE);
\r
393 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( surf_gravel_radiobutton ), TRUE);
\r
397 // Set content buttons to reflect brush values
\r
398 if(diff_contents & HERETIC2_CONTENTS_SOLID)
\r
399 set_inconsistent(content_solidbutton);
\r
400 else if(contents & HERETIC2_CONTENTS_SOLID)
\r
401 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_solidbutton ), TRUE);
\r
403 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_solidbutton ), FALSE);
\r
405 if(diff_contents & HERETIC2_CONTENTS_WINDOW)
\r
406 set_inconsistent(content_windowbutton);
\r
407 else if(contents & HERETIC2_CONTENTS_WINDOW)
\r
408 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_windowbutton ), TRUE);
\r
410 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_windowbutton ), FALSE);
\r
412 if(diff_contents & HERETIC2_CONTENTS_ILLUSIONARY)
\r
413 set_inconsistent(content_illusbutton);
\r
414 else if(contents & HERETIC2_CONTENTS_ILLUSIONARY)
\r
415 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_illusbutton ), TRUE);
\r
417 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_illusbutton ), FALSE);
\r
419 if(diff_contents & HERETIC2_CONTENTS_LAVA)
\r
420 set_inconsistent(content_lavabutton);
\r
421 else if(contents & HERETIC2_CONTENTS_LAVA)
\r
422 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_lavabutton ), TRUE);
\r
424 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_lavabutton ), FALSE);
\r
426 if(diff_contents & HERETIC2_CONTENTS_SLIME)
\r
427 set_inconsistent(content_slimebutton);
\r
428 else if(contents & HERETIC2_CONTENTS_SLIME)
\r
429 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_slimebutton ), TRUE);
\r
431 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_slimebutton ), FALSE);
\r
433 if(diff_contents & HERETIC2_CONTENTS_WATER)
\r
434 set_inconsistent(content_waterbutton);
\r
435 else if(contents & HERETIC2_CONTENTS_WATER)
\r
436 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_waterbutton ), TRUE);
\r
438 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_waterbutton ), FALSE);
\r
440 if(diff_contents & HERETIC2_CONTENTS_MIST)
\r
441 set_inconsistent(content_mistbutton);
\r
442 else if(contents & HERETIC2_CONTENTS_MIST)
\r
443 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_mistbutton ), TRUE);
\r
445 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_mistbutton ), FALSE);
\r
447 if(diff_contents & HERETIC2_CONTENTS_AREAPORTAL)
\r
448 set_inconsistent(content_areaportalbutton);
\r
449 else if(contents & HERETIC2_CONTENTS_AREAPORTAL)
\r
450 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_areaportalbutton ), TRUE);
\r
452 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_areaportalbutton ), FALSE);
\r
454 if(diff_contents & HERETIC2_CONTENTS_PLAYERCLIP)
\r
455 set_inconsistent(content_playerclipbutton);
\r
456 else if(contents & HERETIC2_CONTENTS_PLAYERCLIP)
\r
457 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_playerclipbutton ), TRUE);
\r
459 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_playerclipbutton ), FALSE);
\r
461 if(diff_contents & HERETIC2_CONTENTS_MONSTERCLIP)
\r
462 set_inconsistent(content_monsterclipbutton);
\r
463 else if(contents & HERETIC2_CONTENTS_MONSTERCLIP)
\r
464 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_monsterclipbutton ), TRUE);
\r
466 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_monsterclipbutton ), FALSE);
\r
468 if(diff_contents & HERETIC2_CONTENTS_CURRENT_0)
\r
469 set_inconsistent(content_current0button);
\r
470 else if(contents & HERETIC2_CONTENTS_CURRENT_0)
\r
471 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current0button ), TRUE);
\r
473 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current0button ), FALSE);
\r
475 if(diff_contents & HERETIC2_CONTENTS_CURRENT_90)
\r
476 set_inconsistent(content_current90button);
\r
477 else if(contents & HERETIC2_CONTENTS_CURRENT_90)
\r
478 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current90button ), TRUE);
\r
480 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current90button ), FALSE);
\r
482 if(diff_contents & HERETIC2_CONTENTS_CURRENT_180)
\r
483 set_inconsistent(content_current180button);
\r
484 else if(contents & HERETIC2_CONTENTS_CURRENT_180)
\r
485 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current180button ), TRUE);
\r
487 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current180button ), FALSE);
\r
489 if(diff_contents & HERETIC2_CONTENTS_CURRENT_270)
\r
490 set_inconsistent(content_current270button);
\r
491 else if(contents & HERETIC2_CONTENTS_CURRENT_270)
\r
492 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current270button ), TRUE);
\r
494 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_current270button ), FALSE);
\r
496 if(diff_contents & HERETIC2_CONTENTS_CURRENT_UP)
\r
497 set_inconsistent(content_currentUPbutton);
\r
498 else if(contents & HERETIC2_CONTENTS_CURRENT_UP)
\r
499 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_currentUPbutton ), TRUE);
\r
501 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_currentUPbutton ), FALSE);
\r
503 if(diff_contents & HERETIC2_CONTENTS_CURRENT_DOWN)
\r
504 set_inconsistent(content_currentDOWNbutton);
\r
505 else if(contents & HERETIC2_CONTENTS_CURRENT_DOWN)
\r
506 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_currentDOWNbutton ), TRUE);
\r
508 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_currentDOWNbutton ), FALSE);
\r
510 if(diff_contents & HERETIC2_CONTENTS_ORIGIN)
\r
511 set_inconsistent(content_originbutton);
\r
512 else if(contents & HERETIC2_CONTENTS_ORIGIN)
\r
513 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_originbutton ), TRUE);
\r
515 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_originbutton ), FALSE);
\r
517 if(diff_contents & HERETIC2_CONTENTS_DETAIL)
\r
518 set_inconsistent(content_detailbutton);
\r
519 else if(contents & HERETIC2_CONTENTS_DETAIL)
\r
520 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_detailbutton ), TRUE);
\r
522 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_detailbutton ), FALSE);
\r
524 if(diff_contents & HERETIC2_CONTENTS_LADDER)
\r
525 set_inconsistent(content_ladderbutton);
\r
526 else if(contents & HERETIC2_CONTENTS_LADDER)
\r
527 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_ladderbutton ), TRUE);
\r
529 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_ladderbutton ), FALSE);
\r
531 if(diff_contents & HERETIC2_CONTENTS_CAMERANOBLOCK)
\r
532 set_inconsistent(content_camnoblockbutton);
\r
533 else if(contents & HERETIC2_CONTENTS_CAMERANOBLOCK)
\r
534 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_camnoblockbutton ), TRUE);
\r
536 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON ( content_camnoblockbutton ), FALSE);
\r
540 gtk_entry_set_text( (GtkEntry *)surf_value_entry, "");
\r
543 working_value = value;
\r
544 sprintf( tex_buff, "%d", value);
\r
545 gtk_entry_set_text( (GtkEntry *)surf_value_entry, tex_buff);
\r
548 setup_buttons = FALSE;
\r
551 void SetChangeInFlags_Face_Heretic2 (texdef_to_face_t *texdef_face_list)
\r
553 texdef_to_face_t *temp_texdef_face_list;
\r
554 texdef_t *tmp_texdef;
\r
556 for (temp_texdef_face_list = texdef_face_list; temp_texdef_face_list; temp_texdef_face_list = temp_texdef_face_list->next)
\r
558 tmp_texdef = &temp_texdef_face_list->texdef;
\r
559 tmp_texdef->flags = (tmp_texdef->flags & ~surface_mask) | working_surface_flags;
\r
560 tmp_texdef->contents = (tmp_texdef->contents & ~content_mask) | working_content_flags;
\r
561 tmp_texdef->value = working_value;
\r
562 Sys_Printf("content_flag: %d content_mask: %d\n",working_content_flags,content_mask);
\r
563 Sys_Printf("content: %d\n",tmp_texdef->contents);
\r
567 inline void change_surfaceflag (GtkWidget *togglebutton, int sur_flag) // For Material
\r
569 if (!setup_buttons) // If we're setting up the buttons, we really don't need to
\r
570 { // set flags that are already set
\r
571 if (surface_material_inconsistant)
\r
573 clear_inconsistent( surf_gravel_radiobutton );
\r
574 clear_inconsistent( surf_metal_radiobutton );
\r
575 clear_inconsistent( surf_stone_radiobutton );
\r
576 clear_inconsistent( surf_wood_radiobutton );
\r
578 surface_mask |= ~HERETIC2_SURF_MATERIAL_MASK;
\r
579 working_surface_flags = (working_surface_flags & HERETIC2_SURF_MATERIAL_MASK) | sur_flag;
\r
583 inline void change_material (GtkWidget *togglebutton)
\r
585 if (!setup_buttons) // If we're setting up the buttons, we really don't need to
\r
586 { // set flags that are already set
\r
587 if (surface_material_inconsistant)
\r
589 clear_inconsistent( surf_gravel_radiobutton );
\r
590 clear_inconsistent( surf_metal_radiobutton );
\r
591 clear_inconsistent( surf_stone_radiobutton );
\r
592 clear_inconsistent( surf_wood_radiobutton );
\r
594 if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_gravel_radiobutton)) )
\r
596 surface_mask |= ~HERETIC2_SURF_MATERIAL_MASK;
\r
597 working_surface_flags = (working_surface_flags & HERETIC2_SURF_MATERIAL_MASK) | HERETIC2_SURF_TYPE_GRAVEL;
\r
599 else if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_metal_radiobutton)) )
\r
601 surface_mask |= ~HERETIC2_SURF_MATERIAL_MASK;
\r
602 working_surface_flags = (working_surface_flags & HERETIC2_SURF_MATERIAL_MASK) | HERETIC2_SURF_TYPE_METAL;
\r
604 else if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_stone_radiobutton)) )
\r
606 surface_mask |= ~HERETIC2_SURF_MATERIAL_MASK;
\r
607 working_surface_flags = (working_surface_flags & HERETIC2_SURF_MATERIAL_MASK) | HERETIC2_SURF_TYPE_STONE;
\r
609 else if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_wood_radiobutton)) )
\r
611 surface_mask |= ~HERETIC2_SURF_MATERIAL_MASK;
\r
612 working_surface_flags = (working_surface_flags & HERETIC2_SURF_MATERIAL_MASK) | HERETIC2_SURF_TYPE_WOOD;
\r
617 inline void change_surfaceflag (GtkWidget *togglebutton, int sur_flag, gboolean change_flag_to)
\r
620 if (!setup_buttons) // If we're setting up the buttons, we really don't need to
\r
621 { // set flags that are already set
\r
622 if (gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON (togglebutton))) // Clear out inconsistent, if set
\r
623 clear_inconsistent(GTK_WIDGET (togglebutton));
\r
625 surface_mask |= sur_flag;
\r
627 if (change_flag_to)
\r
628 working_surface_flags |= sur_flag;
\r
630 working_surface_flags &= ~sur_flag;
\r
634 inline void change_contentflag (GtkWidget *togglebutton, int content_flag, gboolean change_flag_to)
\r
637 if ( (!setup_buttons) ) // If we're setting up the buttons, we really don't need to
\r
638 { // set flags that are already set
\r
640 if (gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON (togglebutton)))
\r
641 clear_inconsistent(togglebutton);
\r
642 //if (g_ptrSelectedFaces.GetSize() == 0) // Only changing content flags on whole brushes, not faces.
\r
644 content_mask |= content_flag;
\r
646 if (change_flag_to)
\r
647 working_content_flags |= content_flag;
\r
649 working_content_flags &= ~content_flag;
\r
654 // Surface Flags Callbacks
\r
656 on_surface_lightbutton_toggled (GtkToggleButton *togglebutton,
\r
657 gpointer user_data)
\r
659 change_surfaceflag(surface_lightbutton, HERETIC2_SURF_LIGHT, (GTK_TOGGLE_BUTTON (surface_lightbutton)->active));
\r
664 on_surface_slickbutton_toggled (GtkToggleButton *togglebutton,
\r
665 gpointer user_data)
\r
667 change_surfaceflag(surface_slickbutton, HERETIC2_SURF_SLICK, (GTK_TOGGLE_BUTTON (surface_slickbutton)->active));
\r
672 on_surface_skybutton_toggled (GtkToggleButton *togglebutton,
\r
673 gpointer user_data)
\r
675 change_surfaceflag(surface_skybutton, HERETIC2_SURF_SKY, (GTK_TOGGLE_BUTTON (surface_skybutton)->active));
\r
680 on_surface_warpbutton_toggled (GtkToggleButton *togglebutton,
\r
681 gpointer user_data)
\r
683 change_surfaceflag(surface_warpbutton, HERETIC2_SURF_WARP, (GTK_TOGGLE_BUTTON (surface_warpbutton)->active));
\r
688 on_surface_trans33button_toggled (GtkToggleButton *togglebutton,
\r
689 gpointer user_data)
\r
691 change_surfaceflag(surface_trans33button, HERETIC2_SURF_TRANS33, (GTK_TOGGLE_BUTTON (surface_trans33button)->active));
\r
696 on_surface_trans66button_toggled (GtkToggleButton *togglebutton,
\r
697 gpointer user_data)
\r
699 change_surfaceflag(surface_trans66button, HERETIC2_SURF_TRANS66, (GTK_TOGGLE_BUTTON (surface_trans66button)->active));
\r
704 on_surface_flowingbutton_toggled (GtkToggleButton *togglebutton,
\r
705 gpointer user_data)
\r
707 change_surfaceflag(surface_flowingbutton, HERETIC2_SURF_FLOWING, (GTK_TOGGLE_BUTTON (surface_flowingbutton)->active));
\r
712 on_surface_nodrawbutton_toggled (GtkToggleButton *togglebutton,
\r
713 gpointer user_data)
\r
715 change_surfaceflag(surface_nodrawbutton, HERETIC2_SURF_NODRAW, (GTK_TOGGLE_BUTTON (surface_nodrawbutton)->active));
\r
720 on_surface_tallwallbutton_toggled (GtkToggleButton *togglebutton,
\r
721 gpointer user_data)
\r
723 change_surfaceflag(surface_tallwallbutton, HERETIC2_SURF_TALL_WALL, (GTK_TOGGLE_BUTTON (surface_tallwallbutton)->active));
\r
728 on_surface_alphatexbutton_toggled (GtkToggleButton *togglebutton,
\r
729 gpointer user_data)
\r
731 change_surfaceflag(surface_alphatexbutton, HERETIC2_SURF_ALPHA_TEXTURE, (GTK_TOGGLE_BUTTON (surface_alphatexbutton)->active));
\r
736 on_surface_animspeedbutton_toggled (GtkToggleButton *togglebutton,
\r
737 gpointer user_data)
\r
739 change_surfaceflag(surface_animspeedbutton, HERETIC2_SURF_ANIMSPEED, (GTK_TOGGLE_BUTTON (surface_animspeedbutton)->active));
\r
744 on_surface_undulatebutton_toggled (GtkToggleButton *togglebutton,
\r
745 gpointer user_data)
\r
747 change_surfaceflag(surface_undulatebutton, HERETIC2_SURF_UNDULATE, (GTK_TOGGLE_BUTTON (surface_undulatebutton)->active));
\r
752 on_surf_gravel_radiobutton_toggled (GtkToggleButton *togglebutton,
\r
753 gpointer user_data)
\r
755 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_gravel_radiobutton)))
\r
756 change_material(GTK_WIDGET(togglebutton));
\r
760 on_surf_metal_radiobutton_toggled (GtkToggleButton *togglebutton,
\r
761 gpointer user_data)
\r
763 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_metal_radiobutton)))
\r
764 change_material(GTK_WIDGET(togglebutton));
\r
768 on_surf_stone_radiobutton_toggled (GtkToggleButton *togglebutton,
\r
769 gpointer user_data)
\r
771 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_stone_radiobutton)))
\r
772 change_material(GTK_WIDGET(togglebutton));
\r
776 on_surf_wood_radiobutton_toggled (GtkToggleButton *togglebutton,
\r
777 gpointer user_data)
\r
779 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(surf_wood_radiobutton)))
\r
780 change_material(GTK_WIDGET(togglebutton));
\r
783 // Content Flags Callbacks
\r
785 on_content_solidbutton_toggled (GtkToggleButton *togglebutton,
\r
786 gpointer user_data)
\r
788 change_contentflag(content_solidbutton, HERETIC2_CONTENTS_SOLID, (GTK_TOGGLE_BUTTON (content_solidbutton)->active));
\r
793 on_content_windowbutton_toggled (GtkToggleButton *togglebutton,
\r
794 gpointer user_data)
\r
796 change_contentflag(content_windowbutton, HERETIC2_CONTENTS_WINDOW, (GTK_TOGGLE_BUTTON (content_windowbutton)->active));
\r
801 on_content_illusbutton_toggled (GtkToggleButton *togglebutton,
\r
802 gpointer user_data)
\r
804 change_contentflag(content_illusbutton, HERETIC2_CONTENTS_ILLUSIONARY, (GTK_TOGGLE_BUTTON (content_illusbutton)->active));
\r
809 on_content_lavabutton_toggled (GtkToggleButton *togglebutton,
\r
810 gpointer user_data)
\r
812 change_contentflag(content_lavabutton, HERETIC2_CONTENTS_LAVA, (GTK_TOGGLE_BUTTON (content_lavabutton)->active));
\r
817 on_content_slimebutton_toggled (GtkToggleButton *togglebutton,
\r
818 gpointer user_data)
\r
820 change_contentflag(content_slimebutton, HERETIC2_CONTENTS_SLIME, (GTK_TOGGLE_BUTTON (content_slimebutton)->active));
\r
825 on_content_waterbutton_toggled (GtkToggleButton *togglebutton,
\r
826 gpointer user_data)
\r
828 change_contentflag(content_waterbutton, HERETIC2_CONTENTS_WATER, (GTK_TOGGLE_BUTTON (content_waterbutton)->active));
\r
833 on_content_mistbutton_toggled (GtkToggleButton *togglebutton,
\r
834 gpointer user_data)
\r
836 change_contentflag(content_mistbutton, HERETIC2_CONTENTS_MIST, (GTK_TOGGLE_BUTTON (content_mistbutton)->active));
\r
841 on_content_areaportalbutton_toggled (GtkToggleButton *togglebutton,
\r
842 gpointer user_data)
\r
844 change_contentflag(content_areaportalbutton, HERETIC2_CONTENTS_AREAPORTAL, (GTK_TOGGLE_BUTTON (content_areaportalbutton)->active));
\r
849 on_content_playerclipbutton_toggled (GtkToggleButton *togglebutton,
\r
850 gpointer user_data)
\r
852 change_contentflag(content_playerclipbutton, HERETIC2_CONTENTS_PLAYERCLIP, (GTK_TOGGLE_BUTTON (content_playerclipbutton)->active));
\r
857 on_content_monsterclipbutton_toggled (GtkToggleButton *togglebutton,
\r
858 gpointer user_data)
\r
860 change_contentflag(content_monsterclipbutton, HERETIC2_CONTENTS_MONSTERCLIP, (GTK_TOGGLE_BUTTON (content_monsterclipbutton)->active));
\r
865 on_content_current0button_toggled (GtkToggleButton *togglebutton,
\r
866 gpointer user_data)
\r
868 change_contentflag(content_current0button, HERETIC2_CONTENTS_CURRENT_0, (GTK_TOGGLE_BUTTON (content_current0button)->active));
\r
873 on_content_current90button_toggled (GtkToggleButton *togglebutton,
\r
874 gpointer user_data)
\r
876 change_contentflag(content_current90button, HERETIC2_CONTENTS_CURRENT_90, (GTK_TOGGLE_BUTTON (content_current90button)->active));
\r
881 on_content_current180button_toggled (GtkToggleButton *togglebutton,
\r
882 gpointer user_data)
\r
884 change_contentflag(content_current180button, HERETIC2_CONTENTS_CURRENT_180, (GTK_TOGGLE_BUTTON (content_current180button)->active));
\r
889 on_content_current270button_toggled (GtkToggleButton *togglebutton,
\r
890 gpointer user_data)
\r
892 change_contentflag(content_current270button, HERETIC2_CONTENTS_CURRENT_270, (GTK_TOGGLE_BUTTON (content_current270button)->active));
\r
897 on_content_currentUPbutton_toggled (GtkToggleButton *togglebutton,
\r
898 gpointer user_data)
\r
900 change_contentflag(content_currentUPbutton, HERETIC2_CONTENTS_CURRENT_UP, (GTK_TOGGLE_BUTTON (content_currentUPbutton)->active));
\r
905 on_content_currentDOWNbutton_toggled (GtkToggleButton *togglebutton,
\r
906 gpointer user_data)
\r
908 change_contentflag(content_currentDOWNbutton, HERETIC2_CONTENTS_CURRENT_DOWN, (GTK_TOGGLE_BUTTON (content_currentDOWNbutton)->active));
\r
913 on_content_originbutton_toggled (GtkToggleButton *togglebutton,
\r
914 gpointer user_data)
\r
916 change_contentflag(content_originbutton, HERETIC2_CONTENTS_ORIGIN, (GTK_TOGGLE_BUTTON (content_originbutton)->active));
\r
921 on_content_detailbutton_toggled (GtkToggleButton *togglebutton,
\r
922 gpointer user_data)
\r
924 change_contentflag(content_detailbutton, HERETIC2_CONTENTS_DETAIL, (GTK_TOGGLE_BUTTON (content_detailbutton)->active));
\r
929 on_content_ladderbutton_toggled (GtkToggleButton *togglebutton,
\r
930 gpointer user_data)
\r
932 change_contentflag(content_ladderbutton, HERETIC2_CONTENTS_LADDER, (GTK_TOGGLE_BUTTON (content_ladderbutton)->active));
\r
937 on_content_camnoblockbutton_toggled (GtkToggleButton *togglebutton,
\r
938 gpointer user_data)
\r
940 change_contentflag(content_camnoblockbutton, HERETIC2_CONTENTS_CAMERANOBLOCK, (GTK_TOGGLE_BUTTON (content_camnoblockbutton)->active));
\r
943 // Value Entry Callback
\r
945 on_surf_value_entry_changed (GtkEditable *editable,
\r
946 gpointer user_data)
\r
948 if ( (!setup_buttons) ) // If we're setting up the buttons, don't change value
\r
949 working_value = atoi( gtk_entry_get_text( (GtkEntry*)editable) );
\r
953 on_surf_value_entry_insert_text (GtkEditable *editable,
\r
955 gint new_text_length,
\r
957 gpointer user_data)
\r
966 // Limit input to digits, throwing out anything else
\r
967 // Modified from Gtk FAQ for text filtering of GtkEntry
\r
968 result = g_new (gchar, new_text_length);
\r
970 for (i=0; i < new_text_length; i++) {
\r
971 if (!isdigit(new_text[i]))
\r
973 result[count++] = new_text[i];
\r
977 gtk_signal_handler_block_by_func (GTK_OBJECT (editable),
\r
978 GTK_SIGNAL_FUNC (on_surf_value_entry_insert_text),
\r
980 gtk_editable_insert_text (editable, result, count, position);
\r
981 gtk_signal_handler_unblock_by_func (GTK_OBJECT (editable),
\r
982 GTK_SIGNAL_FUNC (on_surf_value_entry_insert_text),
\r
985 gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
\r
990 #define HERETIC2_FLAG_BUTTON_BORDER 3
\r
992 GtkWidget* Create_Heretic2FlagsDialog (GtkWidget* surfacedialog_widget)
\r
995 GtkWidget *notebook1;
\r
1000 GtkWidget *label4;
\r
1002 GtkWidget *table3;
\r
1003 GtkWidget *label5;
\r
1007 GtkWidget *label2;
\r
1008 GtkWidget *table2;
\r
1009 GtkWidget *label3;
\r
1012 frame1 = gtk_frame_new ("Brush/Face Flags");
\r
1013 gtk_widget_show (frame1);
\r
1014 gtk_container_add (GTK_CONTAINER (surfacedialog_widget), frame1);
\r
1016 notebook1 = gtk_notebook_new ();
\r
1017 gtk_widget_show (notebook1);
\r
1018 gtk_container_add (GTK_CONTAINER (frame1), notebook1);
\r
1020 vbox3 = gtk_vbox_new (FALSE, 0);
\r
1021 gtk_widget_show (vbox3);
\r
1022 gtk_container_add (GTK_CONTAINER (notebook1), vbox3);
\r
1024 table1 = gtk_table_new (3, 4, TRUE);
\r
1025 gtk_widget_show (table1);
\r
1026 gtk_box_pack_start (GTK_BOX (vbox3), table1, TRUE, TRUE, 0);
\r
1028 surface_lightbutton = gtk_toggle_button_new_with_mnemonic ("Light");
\r
1029 gtk_widget_show (surface_lightbutton);
\r
1030 gtk_table_attach (GTK_TABLE (table1), surface_lightbutton, 0, 1, 0, 1,
\r
1031 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1032 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1034 surface_slickbutton = gtk_toggle_button_new_with_mnemonic ("Slick");
\r
1035 gtk_widget_show (surface_slickbutton);
\r
1036 gtk_table_attach (GTK_TABLE (table1), surface_slickbutton, 1, 2, 0, 1,
\r
1037 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1038 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1040 surface_skybutton = gtk_toggle_button_new_with_mnemonic ("Sky");
\r
1041 gtk_widget_show (surface_skybutton);
\r
1042 gtk_table_attach (GTK_TABLE (table1), surface_skybutton, 2, 3, 0, 1,
\r
1043 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1044 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1046 surface_warpbutton = gtk_toggle_button_new_with_mnemonic ("Warp");
\r
1047 gtk_widget_show (surface_warpbutton);
\r
1048 gtk_table_attach (GTK_TABLE (table1), surface_warpbutton, 3, 4, 0, 1,
\r
1049 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1050 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1052 surface_trans33button = gtk_toggle_button_new_with_mnemonic ("Trans33");
\r
1053 gtk_widget_show (surface_trans33button);
\r
1054 gtk_table_attach (GTK_TABLE (table1), surface_trans33button, 0, 1, 1, 2,
\r
1055 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1056 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1058 surface_trans66button = gtk_toggle_button_new_with_mnemonic ("Trans66");
\r
1059 gtk_widget_show (surface_trans66button);
\r
1060 gtk_table_attach (GTK_TABLE (table1), surface_trans66button, 1, 2, 1, 2,
\r
1061 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1062 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1064 surface_flowingbutton = gtk_toggle_button_new_with_mnemonic ("Flowing");
\r
1065 gtk_widget_show (surface_flowingbutton);
\r
1066 gtk_table_attach (GTK_TABLE (table1), surface_flowingbutton, 2, 3, 1, 2,
\r
1067 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1068 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1070 surface_nodrawbutton = gtk_toggle_button_new_with_mnemonic ("NoDraw");
\r
1071 gtk_widget_show (surface_nodrawbutton);
\r
1072 gtk_table_attach (GTK_TABLE (table1), surface_nodrawbutton, 3, 4, 1, 2,
\r
1073 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1074 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1076 surface_tallwallbutton = gtk_toggle_button_new_with_mnemonic ("TallWall");
\r
1077 gtk_widget_show (surface_tallwallbutton);
\r
1078 gtk_table_attach (GTK_TABLE (table1), surface_tallwallbutton, 0, 1, 2, 3,
\r
1079 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1080 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1082 surface_alphatexbutton = gtk_toggle_button_new_with_mnemonic ("AlphaTex");
\r
1083 gtk_widget_show (surface_alphatexbutton);
\r
1084 gtk_table_attach (GTK_TABLE (table1), surface_alphatexbutton, 1, 2, 2, 3,
\r
1085 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1086 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1088 surface_animspeedbutton = gtk_toggle_button_new_with_mnemonic ("AnimSpeed");
\r
1089 gtk_widget_show (surface_animspeedbutton);
\r
1090 gtk_table_attach (GTK_TABLE (table1), surface_animspeedbutton, 2, 3, 2, 3,
\r
1091 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1092 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1094 surface_undulatebutton = gtk_toggle_button_new_with_mnemonic ("Undulate");
\r
1095 gtk_widget_show (surface_undulatebutton);
\r
1096 gtk_table_attach (GTK_TABLE (table1), surface_undulatebutton, 3, 4, 2, 3,
\r
1097 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1098 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1100 frame2 = gtk_frame_new (NULL);
\r
1101 gtk_widget_show (frame2);
\r
1102 gtk_box_pack_start (GTK_BOX (vbox3), frame2, FALSE, FALSE, 0);
\r
1103 gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_ETCHED_OUT);
\r
1104 gtk_container_set_border_width (GTK_CONTAINER (frame2), 4);
\r
1106 hbox4 = gtk_hbox_new (FALSE, 0);
\r
1107 gtk_widget_show (hbox4);
\r
1108 gtk_container_add (GTK_CONTAINER (frame2), hbox4);
\r
1110 surf_gravel_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, "Gravel");
\r
1111 gtk_widget_show (surf_gravel_radiobutton);
\r
1112 gtk_box_pack_start (GTK_BOX (hbox4), surf_gravel_radiobutton, TRUE, FALSE, 0);
\r
1114 surf_metal_radiobutton = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(surf_gravel_radiobutton), "Metal");
\r
1115 gtk_widget_show (surf_metal_radiobutton);
\r
1116 gtk_box_pack_start (GTK_BOX (hbox4), surf_metal_radiobutton, TRUE, FALSE, 0);
\r
1118 surf_stone_radiobutton = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(surf_metal_radiobutton), "Stone");
\r
1119 gtk_widget_show (surf_stone_radiobutton);
\r
1120 gtk_box_pack_start (GTK_BOX (hbox4), surf_stone_radiobutton, TRUE, FALSE, 0);
\r
1122 surf_wood_radiobutton = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(surf_stone_radiobutton), "Wood");
\r
1123 gtk_widget_show (surf_wood_radiobutton);
\r
1124 gtk_box_pack_start (GTK_BOX (hbox4), surf_wood_radiobutton, TRUE, FALSE, 0);
\r
1126 label4 = gtk_label_new ("Material");
\r
1127 gtk_widget_show (label4);
\r
1128 gtk_frame_set_label_widget (GTK_FRAME (frame2), label4);
\r
1129 gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
\r
1131 table3 = gtk_table_new (1, 4, FALSE);
\r
1132 gtk_widget_show (table3);
\r
1133 gtk_box_pack_start (GTK_BOX (vbox3), table3, FALSE, FALSE, 0);
\r
1134 gtk_container_set_border_width (GTK_CONTAINER (table3), 3);
\r
1136 hbox1 = gtk_hbox_new (FALSE, 0);
\r
1137 gtk_widget_show (hbox1);
\r
1138 gtk_table_attach (GTK_TABLE (table3), hbox1, 0, 1, 0, 1,
\r
1139 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1140 (GtkAttachOptions) (GTK_FILL), 0, 0);
\r
1142 label5 = gtk_label_new ("Value: ");
\r
1143 gtk_widget_show (label5);
\r
1144 gtk_table_attach (GTK_TABLE (table3), label5, 1, 2, 0, 1,
\r
1145 (GtkAttachOptions) (0),
\r
1146 (GtkAttachOptions) (0), 0, 0);
\r
1147 gtk_misc_set_alignment (GTK_MISC (label5), 0, 0);
\r
1148 gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_RIGHT);
\r
1150 surf_value_entry = gtk_entry_new ();
\r
1151 gtk_widget_show (surf_value_entry);
\r
1152 gtk_table_attach (GTK_TABLE (table3), surf_value_entry, 2, 3, 0, 1,
\r
1153 (GtkAttachOptions) (GTK_FILL),
\r
1154 (GtkAttachOptions) (0), 0, 0);
\r
1156 hbox2 = gtk_hbox_new (FALSE, 0);
\r
1157 gtk_widget_show (hbox2);
\r
1158 gtk_table_attach (GTK_TABLE (table3), hbox2, 3, 4, 0, 1,
\r
1159 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1160 (GtkAttachOptions) (GTK_FILL), 0, 0);
\r
1162 label2 = gtk_label_new ("Surface Flags");
\r
1163 gtk_widget_show (label2);
\r
1164 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label2);
\r
1165 gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
\r
1167 table2 = gtk_table_new (5, 4, TRUE);
\r
1168 gtk_widget_show (table2);
\r
1169 gtk_container_add (GTK_CONTAINER (notebook1), table2);
\r
1171 content_solidbutton = gtk_toggle_button_new_with_mnemonic ("Solid");
\r
1172 gtk_widget_show (content_solidbutton);
\r
1173 gtk_table_attach (GTK_TABLE (table2), content_solidbutton, 0, 1, 0, 1,
\r
1174 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1175 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1177 content_windowbutton = gtk_toggle_button_new_with_mnemonic ("Window");
\r
1178 gtk_widget_show (content_windowbutton);
\r
1179 gtk_table_attach (GTK_TABLE (table2), content_windowbutton, 1, 2, 0, 1,
\r
1180 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1181 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1183 content_illusbutton = gtk_toggle_button_new_with_mnemonic ("Illusion");
\r
1184 gtk_widget_show (content_illusbutton);
\r
1185 gtk_table_attach (GTK_TABLE (table2), content_illusbutton, 2, 3, 0, 1,
\r
1186 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1187 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1189 content_lavabutton = gtk_toggle_button_new_with_mnemonic ("Lava");
\r
1190 gtk_widget_show (content_lavabutton);
\r
1191 gtk_table_attach (GTK_TABLE (table2), content_lavabutton, 3, 4, 0, 1,
\r
1192 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1193 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1195 content_slimebutton = gtk_toggle_button_new_with_mnemonic ("Slime");
\r
1196 gtk_widget_show (content_slimebutton);
\r
1197 gtk_table_attach (GTK_TABLE (table2), content_slimebutton, 0, 1, 1, 2,
\r
1198 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1199 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1201 content_waterbutton = gtk_toggle_button_new_with_mnemonic ("Water");
\r
1202 gtk_widget_show (content_waterbutton);
\r
1203 gtk_table_attach (GTK_TABLE (table2), content_waterbutton, 1, 2, 1, 2,
\r
1204 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1205 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1207 content_mistbutton = gtk_toggle_button_new_with_mnemonic ("Mist");
\r
1208 gtk_widget_show (content_mistbutton);
\r
1209 gtk_table_attach (GTK_TABLE (table2), content_mistbutton, 2, 3, 1, 2,
\r
1210 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1211 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1213 content_areaportalbutton = gtk_toggle_button_new_with_mnemonic ("AreaPortal");
\r
1214 gtk_widget_show (content_areaportalbutton);
\r
1215 gtk_table_attach (GTK_TABLE (table2), content_areaportalbutton, 3, 4, 1, 2,
\r
1216 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1217 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1219 content_playerclipbutton = gtk_toggle_button_new_with_mnemonic ("PlayerClip");
\r
1220 gtk_widget_show (content_playerclipbutton);
\r
1221 gtk_table_attach (GTK_TABLE (table2), content_playerclipbutton, 0, 1, 2, 3,
\r
1222 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1223 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1225 content_monsterclipbutton = gtk_toggle_button_new_with_mnemonic ("MonsterClip");
\r
1226 gtk_widget_show (content_monsterclipbutton);
\r
1227 gtk_table_attach (GTK_TABLE (table2), content_monsterclipbutton, 1, 2, 2, 3,
\r
1228 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1229 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1231 content_current0button = gtk_toggle_button_new_with_mnemonic ("Current 0");
\r
1232 gtk_widget_show (content_current0button);
\r
1233 gtk_table_attach (GTK_TABLE (table2), content_current0button, 2, 3, 2, 3,
\r
1234 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1235 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1237 content_current90button = gtk_toggle_button_new_with_mnemonic ("Current 90");
\r
1238 gtk_widget_show (content_current90button);
\r
1239 gtk_table_attach (GTK_TABLE (table2), content_current90button, 3, 4, 2, 3,
\r
1240 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1241 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1243 content_current180button = gtk_toggle_button_new_with_mnemonic ("Current 180");
\r
1244 gtk_widget_show (content_current180button);
\r
1245 gtk_table_attach (GTK_TABLE (table2), content_current180button, 0, 1, 3, 4,
\r
1246 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1247 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1249 content_current270button = gtk_toggle_button_new_with_mnemonic ("Current 270");
\r
1250 gtk_widget_show (content_current270button);
\r
1251 gtk_table_attach (GTK_TABLE (table2), content_current270button, 1, 2, 3, 4,
\r
1252 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1253 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1255 content_currentUPbutton = gtk_toggle_button_new_with_mnemonic ("Current UP");
\r
1256 gtk_widget_show (content_currentUPbutton);
\r
1257 gtk_table_attach (GTK_TABLE (table2), content_currentUPbutton, 2, 3, 3, 4,
\r
1258 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1259 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1261 content_currentDOWNbutton = gtk_toggle_button_new_with_mnemonic ("Current DOWN");
\r
1262 gtk_widget_show (content_currentDOWNbutton);
\r
1263 gtk_table_attach (GTK_TABLE (table2), content_currentDOWNbutton, 3, 4, 3, 4,
\r
1264 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1265 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1267 content_originbutton = gtk_toggle_button_new_with_mnemonic ("Origin");
\r
1268 gtk_widget_show (content_originbutton);
\r
1269 gtk_table_attach (GTK_TABLE (table2), content_originbutton, 0, 1, 4, 5,
\r
1270 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1271 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1273 content_detailbutton = gtk_toggle_button_new_with_mnemonic ("Detail");
\r
1274 gtk_widget_show (content_detailbutton);
\r
1275 gtk_table_attach (GTK_TABLE (table2), content_detailbutton, 1, 2, 4, 5,
\r
1276 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1277 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1279 content_ladderbutton = gtk_toggle_button_new_with_mnemonic ("Ladder");
\r
1280 gtk_widget_show (content_ladderbutton);
\r
1281 gtk_table_attach (GTK_TABLE (table2), content_ladderbutton, 2, 3, 4, 5,
\r
1282 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1283 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1285 content_camnoblockbutton = gtk_toggle_button_new_with_mnemonic ("Cam No Block");
\r
1286 gtk_widget_show (content_camnoblockbutton);
\r
1287 gtk_table_attach (GTK_TABLE (table2), content_camnoblockbutton, 3, 4, 4, 5,
\r
1288 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
\r
1289 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
\r
1291 label3 = gtk_label_new ("Content Flags");
\r
1292 gtk_widget_show (label3);
\r
1293 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label3);
\r
1294 gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
\r
1296 // Signal Connects
\r
1297 g_signal_connect ((gpointer) surface_lightbutton, "toggled",
\r
1298 G_CALLBACK (on_surface_lightbutton_toggled),
\r
1300 g_signal_connect ((gpointer) surface_slickbutton, "toggled",
\r
1301 G_CALLBACK (on_surface_slickbutton_toggled),
\r
1303 g_signal_connect ((gpointer) surface_skybutton, "toggled",
\r
1304 G_CALLBACK (on_surface_skybutton_toggled),
\r
1306 g_signal_connect ((gpointer) surface_warpbutton, "toggled",
\r
1307 G_CALLBACK (on_surface_warpbutton_toggled),
\r
1309 g_signal_connect ((gpointer) surface_trans33button, "toggled",
\r
1310 G_CALLBACK (on_surface_trans33button_toggled),
\r
1312 g_signal_connect ((gpointer) surface_trans66button, "toggled",
\r
1313 G_CALLBACK (on_surface_trans66button_toggled),
\r
1315 g_signal_connect ((gpointer) surface_flowingbutton, "toggled",
\r
1316 G_CALLBACK (on_surface_flowingbutton_toggled),
\r
1318 g_signal_connect ((gpointer) surface_nodrawbutton, "toggled",
\r
1319 G_CALLBACK (on_surface_nodrawbutton_toggled),
\r
1321 g_signal_connect ((gpointer) surface_tallwallbutton, "toggled",
\r
1322 G_CALLBACK (on_surface_tallwallbutton_toggled),
\r
1324 g_signal_connect ((gpointer) surface_alphatexbutton, "toggled",
\r
1325 G_CALLBACK (on_surface_alphatexbutton_toggled),
\r
1327 g_signal_connect ((gpointer) surface_animspeedbutton, "toggled",
\r
1328 G_CALLBACK (on_surface_animspeedbutton_toggled),
\r
1330 g_signal_connect ((gpointer) surface_undulatebutton, "toggled",
\r
1331 G_CALLBACK (on_surface_undulatebutton_toggled),
\r
1334 g_signal_connect ((gpointer) surf_gravel_radiobutton, "toggled",
\r
1335 G_CALLBACK (on_surf_gravel_radiobutton_toggled),
\r
1337 g_signal_connect ((gpointer) surf_metal_radiobutton, "toggled",
\r
1338 G_CALLBACK (on_surf_metal_radiobutton_toggled),
\r
1340 g_signal_connect ((gpointer) surf_stone_radiobutton, "toggled",
\r
1341 G_CALLBACK (on_surf_stone_radiobutton_toggled),
\r
1343 g_signal_connect ((gpointer) surf_wood_radiobutton, "toggled",
\r
1344 G_CALLBACK (on_surf_wood_radiobutton_toggled),
\r
1347 g_signal_connect ((gpointer) surf_value_entry, "changed",
\r
1348 G_CALLBACK (on_surf_value_entry_changed),
\r
1350 g_signal_connect ((gpointer) surf_value_entry, "insert_text",
\r
1351 G_CALLBACK (on_surf_value_entry_insert_text),
\r
1353 g_signal_connect ((gpointer) content_solidbutton, "toggled",
\r
1354 G_CALLBACK (on_content_solidbutton_toggled),
\r
1356 g_signal_connect ((gpointer) content_windowbutton, "toggled",
\r
1357 G_CALLBACK (on_content_windowbutton_toggled),
\r
1359 g_signal_connect ((gpointer) content_illusbutton, "toggled",
\r
1360 G_CALLBACK (on_content_illusbutton_toggled),
\r
1362 g_signal_connect ((gpointer) content_lavabutton, "toggled",
\r
1363 G_CALLBACK (on_content_lavabutton_toggled),
\r
1365 g_signal_connect ((gpointer) content_slimebutton, "toggled",
\r
1366 G_CALLBACK (on_content_slimebutton_toggled),
\r
1368 g_signal_connect ((gpointer) content_waterbutton, "toggled",
\r
1369 G_CALLBACK (on_content_waterbutton_toggled),
\r
1371 g_signal_connect ((gpointer) content_mistbutton, "toggled",
\r
1372 G_CALLBACK (on_content_mistbutton_toggled),
\r
1374 g_signal_connect ((gpointer) content_areaportalbutton, "toggled",
\r
1375 G_CALLBACK (on_content_areaportalbutton_toggled),
\r
1377 g_signal_connect ((gpointer) content_playerclipbutton, "toggled",
\r
1378 G_CALLBACK (on_content_playerclipbutton_toggled),
\r
1380 g_signal_connect ((gpointer) content_monsterclipbutton, "toggled",
\r
1381 G_CALLBACK (on_content_monsterclipbutton_toggled),
\r
1383 g_signal_connect ((gpointer) content_current0button, "toggled",
\r
1384 G_CALLBACK (on_content_current0button_toggled),
\r
1386 g_signal_connect ((gpointer) content_current90button, "toggled",
\r
1387 G_CALLBACK (on_content_current90button_toggled),
\r
1389 g_signal_connect ((gpointer) content_current180button, "toggled",
\r
1390 G_CALLBACK (on_content_current180button_toggled),
\r
1392 g_signal_connect ((gpointer) content_current270button, "toggled",
\r
1393 G_CALLBACK (on_content_current270button_toggled),
\r
1395 g_signal_connect ((gpointer) content_currentUPbutton, "toggled",
\r
1396 G_CALLBACK (on_content_currentUPbutton_toggled),
\r
1398 g_signal_connect ((gpointer) content_currentDOWNbutton, "toggled",
\r
1399 G_CALLBACK (on_content_currentDOWNbutton_toggled),
\r
1401 g_signal_connect ((gpointer) content_originbutton, "toggled",
\r
1402 G_CALLBACK (on_content_originbutton_toggled),
\r
1404 g_signal_connect ((gpointer) content_detailbutton, "toggled",
\r
1405 G_CALLBACK (on_content_detailbutton_toggled),
\r
1407 g_signal_connect ((gpointer) content_ladderbutton, "toggled",
\r
1408 G_CALLBACK (on_content_ladderbutton_toggled),
\r
1410 g_signal_connect ((gpointer) content_camnoblockbutton, "toggled",
\r
1411 G_CALLBACK (on_content_camnoblockbutton_toggled),
\r