Tried compiling release 7 lately? Notice all the errors? I sure did. I was trying to put together a new compile of Gens/GS r7 with my "fixes" for DMA audio on the 32X. It's AWESOME! Only if you can get past the errors...
First up! You get some kind of message about the GdkDragContext not having a targets member... huh? It's right there in the include! Well, sort of. It actually says "GdkTargetList * GSEAL (targets);"... err, what the heck is that?!?!
It turns out, you're not SUPPOSED to be using the member vars in GDK structs. I KNOW they're public, but you should be using accessor functions so that the structs can change without needing to rewrite the code. So what does GSEAL() do? It makes the public member private. Sneaky, huh?
So that function in gens_window_callbacks.cpp should be:
Okay, what's next... oh, a notice that GtkNotebookPage isn't defined. Huh? That's in the docs, right... err, SOME of them. Looking at others, it says the switch_page signal passes a widget. So in pmgr_window.cpp, search for all instances of GtkNotebookPage and replace with GtkWidget.
One more down, dozens to go! The next booboo actually is one fix for a LOT of files. All those dialog files in the gtk ui all have the same problem: "gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE);" doesn't grok. So what's the official fix?
Yeppers, that is indeed "official". There's one file with that error you might have trouble finding - "src/mdp/misc/game_genie/gg_window_gtk2.cpp" is that file if you have trouble locating it.
Once you've done all that and my changes to pwm.c for DMA PWM, you shouldn't have any trouble running my MOD player for 32X. See how easy that was?
What? Where are my fixes again? Try here:
http://forums.sonicretro.org/index.php?sho...mp;#entry396935
What? You can't find the mod player? It's in the techies forum. What? You don't see that forum? You're not a techy? DAMN LEECHES!
Just kidding! You wouldn't be trying to compile Gen/GS if you weren't worthy.
latest mod player
A couple mods might be a bit sluggish... I'm looking into why... they USED to be fine. Don't you just love goofing up something that was fine before.
First up! You get some kind of message about the GdkDragContext not having a targets member... huh? It's right there in the include! Well, sort of. It actually says "GdkTargetList * GSEAL (targets);"... err, what the heck is that?!?!
It turns out, you're not SUPPOSED to be using the member vars in GDK structs. I KNOW they're public, but you should be using accessor functions so that the structs can change without needing to rewrite the code. So what does GSEAL() do? It makes the public member private. Sneaky, huh?
So that function in gens_window_callbacks.cpp should be:
CODE
gboolean gens_window_drag_drop(GtkWidget *widget, GdkDragContext *context,
gint x, gint y, guint time, gpointer user_data)
{
GSFT_UNUSED_PARAMETER(x);
GSFT_UNUSED_PARAMETER(y);
GSFT_UNUSED_PARAMETER(user_data);
if (gtk_drag_dest_get_target_list(widget))
{
GdkAtom target_type = gtk_drag_dest_find_target(widget, context, gtk_drag_dest_get_target_list(widget));
gtk_drag_get_data(widget, context, target_type, time);
return true;
}
return false;
}
gint x, gint y, guint time, gpointer user_data)
{
GSFT_UNUSED_PARAMETER(x);
GSFT_UNUSED_PARAMETER(y);
GSFT_UNUSED_PARAMETER(user_data);
if (gtk_drag_dest_get_target_list(widget))
{
GdkAtom target_type = gtk_drag_dest_find_target(widget, context, gtk_drag_dest_get_target_list(widget));
gtk_drag_get_data(widget, context, target_type, time);
return true;
}
return false;
}
Okay, what's next... oh, a notice that GtkNotebookPage isn't defined. Huh? That's in the docs, right... err, SOME of them. Looking at others, it says the switch_page signal passes a widget. So in pmgr_window.cpp, search for all instances of GtkNotebookPage and replace with GtkWidget.
One more down, dozens to go! The next booboo actually is one fix for a LOT of files. All those dialog files in the gtk ui all have the same problem: "gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE);" doesn't grok. So what's the official fix?
CODE
#if !GTK_CHECK_VERSION(2,21,8)
gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE);
#endif
gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE);
#endif
Yeppers, that is indeed "official". There's one file with that error you might have trouble finding - "src/mdp/misc/game_genie/gg_window_gtk2.cpp" is that file if you have trouble locating it.
Once you've done all that and my changes to pwm.c for DMA PWM, you shouldn't have any trouble running my MOD player for 32X. See how easy that was?
What? Where are my fixes again? Try here:
http://forums.sonicretro.org/index.php?sho...mp;#entry396935
What? You can't find the mod player? It's in the techies forum. What? You don't see that forum? You're not a techy? DAMN LEECHES!
Just kidding! You wouldn't be trying to compile Gen/GS if you weren't worthy.
latest mod player
A couple mods might be a bit sluggish... I'm looking into why... they USED to be fine. Don't you just love goofing up something that was fine before.


00