X-Git-Url: https://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/5ca921b28d5ca2964e19dad8f9b8614b2aebca4d..2caeb2fc3c40ecae99f65b791864381fde3015dc:/src/gui/lbxgui.c diff --git a/src/gui/lbxgui.c b/src/gui/lbxgui.c index a3212a6..bb9e5e5 100644 --- a/src/gui/lbxgui.c +++ b/src/gui/lbxgui.c @@ -1,7 +1,7 @@ /* * 2ooM: The Master of Orion II Reverse Engineering Project * Graphical tool for inspecting LBX archives. - * Copyright (C) 2010 Nick Bowler + * Copyright (C) 2010, 2014 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,8 +29,6 @@ #include "bg.xbm" -extern char lbxgui_xml[]; - static GtkTreeStore *archives; static GtkBuilder *builder; @@ -101,13 +99,13 @@ static void tick(void *p, double delta) while (elapsed > seconds_per_frame) { elapsed -= seconds_per_frame; - if (++newframe >= info.nframes) { - if (!info.looping) { + if (++newframe >= image->frames) { + if (image->leadin == image->frames - 1) { gtk_toggle_button_set_active(play, FALSE); break; } - newframe = info.loopstart; + newframe = image->leadin; } } @@ -154,22 +152,20 @@ gboolean canvas_expose(GtkWidget *canvas, GdkEventExpose *event, gpointer data) static int alloc_framebuffer(struct lbx_image *image) { - struct lbx_imginfo info; GtkSpinButton *spin; if (framebuf) g_object_unref(framebuf); - lbx_img_getinfo(image, &info); framebuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, - info.width, info.height); + image->width, image->height); g_return_val_if_fail(framebuf, -1); spin = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "framespin")); - gtk_spin_button_set_range(spin, 0, info.nframes-1); + gtk_spin_button_set_range(spin, 0, image->frames-1); gtk_spin_button_set_value(spin, 0); - gtk_widget_set_size_request(canvas, info.width, info.height); + gtk_widget_set_size_request(canvas, image->width, image->height); return 0; } @@ -468,6 +464,7 @@ static void init_background(GdkDrawable *drawable) int main(int argc, char **argv) { + extern char lbxgui_glade[]; GtkWidget *window; GError *err = NULL; @@ -482,7 +479,7 @@ int main(int argc, char **argv) load_archive(*argv++); builder = gtk_builder_new(); - if (!gtk_builder_add_from_string(builder, lbxgui_xml, -1, &err)) { + if (!gtk_builder_add_from_string(builder, lbxgui_glade, -1, &err)) { fprintf(stderr, "%s\n", err->message); return EXIT_FAILURE; }