paysages: Sources refactoring (splitting lib and gui).
git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@200 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
parent
bfd25bcf42
commit
ef68f38061
14 changed files with 88 additions and 157 deletions
2
Makefile
2
Makefile
|
@ -1,7 +1,9 @@
|
||||||
all:
|
all:
|
||||||
cd lib_paysages && make
|
cd lib_paysages && make
|
||||||
|
cd gui_gtk && make
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
cd lib_paysages && make clean
|
cd lib_paysages && make clean
|
||||||
|
cd gui_gtk && make clean
|
||||||
|
|
||||||
.PHONY:all clean
|
.PHONY:all clean
|
||||||
|
|
21
gui_gtk/Makefile
Normal file
21
gui_gtk/Makefile
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
SOURCES=$(wildcard *.c)
|
||||||
|
OBJECTS=${SOURCES:.c=.o}
|
||||||
|
HEADERS=$(wildcard ../lib_paysages/shared/*.h ../lib_paysages/*.h *.h)
|
||||||
|
RESULT=paysages-gtk
|
||||||
|
CC_FLAGS=-g -pg -Wall $(shell pkg-config --cflags gtk+-3.0) -I..
|
||||||
|
CC_LDFLAGS=$(shell pkg-config --libs gtk+-3.0) -L../lib_paysages/ -lpaysages
|
||||||
|
|
||||||
|
all:${RESULT}
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f ${OBJECTS}
|
||||||
|
rm -f ${RESULT}
|
||||||
|
|
||||||
|
%.o:%.c ${HEADERS}
|
||||||
|
${CC} -c ${CC_FLAGS} $< -o $@
|
||||||
|
|
||||||
|
${RESULT}:${OBJECTS}
|
||||||
|
${CC} $^ ${CC_LDFLAGS} -o $@
|
||||||
|
|
||||||
|
.PHONY:all clean
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
|
||||||
#include "../shared/types.h"
|
#include "lib_paysages/shared/types.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ static inline GtkWidget* _get_widget(const char* name, const char* file, int lin
|
||||||
}
|
}
|
||||||
#define GET_WIDGET(_name_) (_get_widget(_name_, __FILE__, __LINE__))
|
#define GET_WIDGET(_name_) (_get_widget(_name_, __FILE__, __LINE__))
|
||||||
|
|
||||||
|
void guiUpdate();
|
||||||
|
|
||||||
void guiTerrainInit();
|
void guiTerrainInit();
|
||||||
|
|
||||||
void guiWaterInit();
|
void guiWaterInit();
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/* Noise editor dialog */
|
/* Noise editor dialog */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
|
|
||||||
static GtkWidget* _dialog;
|
static GtkWidget* _dialog;
|
||||||
static SmallPreview* _preview;
|
static SmallPreview* _preview;
|
||||||
|
@ -28,13 +28,13 @@ static Color _cbPreview2DRenderPixel(SmallPreview* preview, double x, double y,
|
||||||
{
|
{
|
||||||
Color col;
|
Color col;
|
||||||
double max_value;
|
double max_value;
|
||||||
|
|
||||||
/* TODO Cache this value */
|
/* TODO Cache this value */
|
||||||
max_value = noiseGetMaxValue(_generator);
|
max_value = noiseGetMaxValue(_generator);
|
||||||
|
|
||||||
col.r = col.g = col.b = (noiseGet2DTotal(_generator, x, y) / max_value) * 0.5 + 0.5;
|
col.r = col.g = col.b = (noiseGet2DTotal(_generator, x, y) / max_value) * 0.5 + 0.5;
|
||||||
col.a = 1.0;
|
col.a = 1.0;
|
||||||
|
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,16 +42,16 @@ static void _setPreviewMode(int mode)
|
||||||
{
|
{
|
||||||
GtkButton* button;
|
GtkButton* button;
|
||||||
double max_value;
|
double max_value;
|
||||||
|
|
||||||
max_value = noiseGetMaxValue(_generator);
|
max_value = noiseGetMaxValue(_generator);
|
||||||
|
|
||||||
button = GTK_BUTTON(GET_WIDGET("noise_editor_preview_mode"));
|
button = GTK_BUTTON(GET_WIDGET("noise_editor_preview_mode"));
|
||||||
if (mode == 1)
|
if (mode == 1)
|
||||||
{
|
{
|
||||||
_current_mode = 1;
|
_current_mode = 1;
|
||||||
guiPreviewSetRenderer(_preview, _cbPreview1DRenderPixel);
|
guiPreviewSetRenderer(_preview, _cbPreview1DRenderPixel);
|
||||||
gtk_button_set_label(button, "1D");
|
gtk_button_set_label(button, "1D");
|
||||||
|
|
||||||
guiPreviewConfigScrolling(_preview, -max_value * 100.0, max_value * 100.0, -max_value, max_value);
|
guiPreviewConfigScrolling(_preview, -max_value * 100.0, max_value * 100.0, -max_value, max_value);
|
||||||
}
|
}
|
||||||
else if (mode == 2)
|
else if (mode == 2)
|
||||||
|
@ -59,10 +59,10 @@ static void _setPreviewMode(int mode)
|
||||||
_current_mode = 2;
|
_current_mode = 2;
|
||||||
guiPreviewSetRenderer(_preview, _cbPreview2DRenderPixel);
|
guiPreviewSetRenderer(_preview, _cbPreview2DRenderPixel);
|
||||||
gtk_button_set_label(button, "2D");
|
gtk_button_set_label(button, "2D");
|
||||||
|
|
||||||
guiPreviewConfigScrolling(_preview, -max_value * 100.0, max_value * 100.0, -max_value * 100.0, max_value * 100.0);
|
guiPreviewConfigScrolling(_preview, -max_value * 100.0, max_value * 100.0, -max_value * 100.0, max_value * 100.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
guiPreviewConfigScaling(_preview, max_value * 0.001, max_value * 0.1, max_value * 0.001);
|
guiPreviewConfigScaling(_preview, max_value * 0.001, max_value * 0.1, max_value * 0.001);
|
||||||
guiPreviewSetViewport(_preview, 0.0, 0.0, max_value * 0.01);
|
guiPreviewSetViewport(_preview, 0.0, 0.0, max_value * 0.01);
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ static void _redrawPreview()
|
||||||
static void _resetPreview()
|
static void _resetPreview()
|
||||||
{
|
{
|
||||||
_setPreviewMode(_current_mode);
|
_setPreviewMode(_current_mode);
|
||||||
|
|
||||||
_redrawPreview();
|
_redrawPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
GtkBuilder* gui_definition;
|
GtkBuilder* gui_definition;
|
||||||
|
@ -106,3 +106,11 @@ void guiUpdate()
|
||||||
|
|
||||||
guiPreviewRedrawAll();
|
guiPreviewRedrawAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
paysagesInit();
|
||||||
|
guiInit();
|
||||||
|
guiStart();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -3,11 +3,10 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/types.h"
|
#include "lib_paysages/shared/types.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "../shared/system.h"
|
#include "lib_paysages/shared/system.h"
|
||||||
#include "../water.h"
|
|
||||||
|
|
||||||
#define MAX_PREVIEWS 30
|
#define MAX_PREVIEWS 30
|
||||||
|
|
||||||
|
@ -17,7 +16,7 @@ struct SmallPreview
|
||||||
double conf_scroll_xmax;
|
double conf_scroll_xmax;
|
||||||
double conf_scroll_ymin;
|
double conf_scroll_ymin;
|
||||||
double conf_scroll_ymax;
|
double conf_scroll_ymax;
|
||||||
|
|
||||||
double conf_scale_min;
|
double conf_scale_min;
|
||||||
double conf_scale_max;
|
double conf_scale_max;
|
||||||
double conf_scale_step;
|
double conf_scale_step;
|
||||||
|
@ -241,7 +240,7 @@ static inline int _fixScaling(SmallPreview* preview, double scaling, double* new
|
||||||
static int _cbMouseScroll(GtkEventBox* image, GdkEventScroll* event, gpointer data)
|
static int _cbMouseScroll(GtkEventBox* image, GdkEventScroll* event, gpointer data)
|
||||||
{
|
{
|
||||||
SmallPreview* preview = (SmallPreview*)data;
|
SmallPreview* preview = (SmallPreview*)data;
|
||||||
|
|
||||||
/* TODO Center the zoom on the cursor */
|
/* TODO Center the zoom on the cursor */
|
||||||
|
|
||||||
if (event->direction == GDK_SCROLL_UP)
|
if (event->direction == GDK_SCROLL_UP)
|
||||||
|
@ -262,7 +261,7 @@ static int _cbMouseScroll(GtkEventBox* image, GdkEventScroll* event, gpointer da
|
||||||
}
|
}
|
||||||
mutexRelease(preview->lock);
|
mutexRelease(preview->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,18 +286,18 @@ static int _cbMouseMove(GtkEventBox* image, GdkEventMotion* event, gpointer data
|
||||||
if (event->state & GDK_BUTTON1_MASK)
|
if (event->state & GDK_BUTTON1_MASK)
|
||||||
{
|
{
|
||||||
mutexAcquire(preview->lock);
|
mutexAcquire(preview->lock);
|
||||||
|
|
||||||
dx = (int)event->x - preview->mousex;
|
dx = (int)event->x - preview->mousex;
|
||||||
dy = (int)event->y - preview->mousey;
|
dy = (int)event->y - preview->mousey;
|
||||||
|
|
||||||
if (_fixScroll(preview, dx, dy, &dx, &dy))
|
if (_fixScroll(preview, dx, dy, &dx, &dy))
|
||||||
{
|
{
|
||||||
_scrollPixbuf(preview, dx, dy);
|
_scrollPixbuf(preview, dx, dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
preview->mousex = (int)event->x;
|
preview->mousex = (int)event->x;
|
||||||
preview->mousey = (int)event->y;
|
preview->mousey = (int)event->y;
|
||||||
|
|
||||||
mutexRelease(preview->lock);
|
mutexRelease(preview->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
/* Terrain tab */
|
/* Terrain tab */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "../clouds.h"
|
#include "lib_paysages/clouds.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
static SmallPreview* _preview;
|
static SmallPreview* _preview;
|
||||||
|
@ -21,16 +21,16 @@ static void _revertCurrentLayer()
|
||||||
{
|
{
|
||||||
cloudsCopyDefinition(cloudsGetDefinition(_current_layer), &_definition);
|
cloudsCopyDefinition(cloudsGetDefinition(_current_layer), &_definition);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO Revert layer from config */
|
/* TODO Revert layer from config */
|
||||||
|
|
||||||
guiPreviewRedraw(_preview);
|
guiPreviewRedraw(_preview);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _applyCurrentLayer()
|
static void _applyCurrentLayer()
|
||||||
{
|
{
|
||||||
/* TODO Apply layer config */
|
/* TODO Apply layer config */
|
||||||
|
|
||||||
guiUpdate();
|
guiUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ static void _revertAll()
|
||||||
gtk_list_store_append(_list_layers_model, &row);
|
gtk_list_store_append(_list_layers_model, &row);
|
||||||
gtk_list_store_set(_list_layers_model, &row, 0, layer.ymin, 1, layer.ymax - layer.ymin, -1);
|
gtk_list_store_set(_list_layers_model, &row, 0, layer.ymin, 1, layer.ymax - layer.ymin, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_current_layer < 0 || _current_layer >= n)
|
if (_current_layer < 0 || _current_layer >= n)
|
||||||
{
|
{
|
||||||
_current_layer = -1;
|
_current_layer = -1;
|
||||||
|
@ -62,7 +62,7 @@ static Color _cbPreviewPixel(SmallPreview* preview, double x, double y, double x
|
||||||
{
|
{
|
||||||
Color result, layer_color;
|
Color result, layer_color;
|
||||||
Vector3 start, end;
|
Vector3 start, end;
|
||||||
|
|
||||||
if (_current_layer < 0)
|
if (_current_layer < 0)
|
||||||
{
|
{
|
||||||
return COLOR_BLACK;
|
return COLOR_BLACK;
|
||||||
|
@ -118,7 +118,7 @@ void guiCloudsInit()
|
||||||
guiPreviewConfigScrolling(_preview, -10000.0, 10000.0, -10000.0, 10000.0);
|
guiPreviewConfigScrolling(_preview, -10000.0, 10000.0, -10000.0, 10000.0);
|
||||||
guiPreviewSetViewport(_preview, 0.0, 0.0, 10.0);
|
guiPreviewSetViewport(_preview, 0.0, 0.0, 10.0);
|
||||||
guiPreviewSetRenderer(_preview, _cbPreviewPixel);
|
guiPreviewSetRenderer(_preview, _cbPreviewPixel);
|
||||||
|
|
||||||
g_signal_connect(_list_layers, "cursor-changed", G_CALLBACK(_cbLayerSelected), NULL);
|
g_signal_connect(_list_layers, "cursor-changed", G_CALLBACK(_cbLayerSelected), NULL);
|
||||||
|
|
||||||
guiCloudsUpdate();
|
guiCloudsUpdate();
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
/* Terrain tab */
|
/* Terrain tab */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "../shared/globals.h"
|
#include "lib_paysages/shared/globals.h"
|
||||||
#include "../shared/system.h"
|
#include "lib_paysages/shared/system.h"
|
||||||
|
|
||||||
static GtkImage* _render_final;
|
static GtkImage* _render_final;
|
||||||
static GdkPixbuf* _render_buffer = NULL;
|
static GdkPixbuf* _render_buffer = NULL;
|
||||||
|
@ -59,20 +59,20 @@ static void* _threadRender(void* data)
|
||||||
static void _cbStartRender(GtkWidget* widget, gpointer data)
|
static void _cbStartRender(GtkWidget* widget, gpointer data)
|
||||||
{
|
{
|
||||||
Thread* thread;
|
Thread* thread;
|
||||||
|
|
||||||
/* Prepare render */
|
/* Prepare render */
|
||||||
renderSetSize(gtk_spin_button_get_value(GTK_SPIN_BUTTON(GET_WIDGET("render_width"))), gtk_spin_button_get_value(GTK_SPIN_BUTTON(GET_WIDGET("render_height"))));
|
renderSetSize(gtk_spin_button_get_value(GTK_SPIN_BUTTON(GET_WIDGET("render_width"))), gtk_spin_button_get_value(GTK_SPIN_BUTTON(GET_WIDGET("render_height"))));
|
||||||
autoSetRenderQuality((int)gtk_range_get_value(GTK_RANGE(GET_WIDGET("render_quality"))));
|
autoSetRenderQuality((int)gtk_range_get_value(GTK_RANGE(GET_WIDGET("render_quality"))));
|
||||||
gtk_widget_set_size_request(GET_WIDGET("render_preview"), render_width, render_height);
|
gtk_widget_set_size_request(GET_WIDGET("render_preview"), render_width, render_height);
|
||||||
gtk_image_clear(GTK_IMAGE(GET_WIDGET("render_preview")));
|
gtk_image_clear(GTK_IMAGE(GET_WIDGET("render_preview")));
|
||||||
renderSetPreviewCallbacks(_previewResize, _previewClear, _previewDraw, _previewUpdate);
|
renderSetPreviewCallbacks(_previewResize, _previewClear, _previewDraw, _previewUpdate);
|
||||||
|
|
||||||
/* Open render dialog */
|
/* Open render dialog */
|
||||||
gtk_window_set_deletable(GTK_WINDOW(GET_WIDGET("dialog_render")), 0);
|
gtk_window_set_deletable(GTK_WINDOW(GET_WIDGET("dialog_render")), 0);
|
||||||
gtk_widget_show(GET_WIDGET("dialog_render"));
|
gtk_widget_show(GET_WIDGET("dialog_render"));
|
||||||
gtk_widget_set_sensitive(GET_WIDGET("render_stop"), 1);
|
gtk_widget_set_sensitive(GET_WIDGET("render_stop"), 1);
|
||||||
gtk_widget_set_sensitive(GET_WIDGET("render_close"), 0);
|
gtk_widget_set_sensitive(GET_WIDGET("render_close"), 0);
|
||||||
|
|
||||||
/* Do the render */
|
/* Do the render */
|
||||||
_rendering = 1;
|
_rendering = 1;
|
||||||
thread = threadCreate(_threadRender, NULL);
|
thread = threadCreate(_threadRender, NULL);
|
||||||
|
@ -85,7 +85,7 @@ static void _cbStartRender(GtkWidget* widget, gpointer data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
threadJoin(thread);
|
threadJoin(thread);
|
||||||
|
|
||||||
/* Clean up */
|
/* Clean up */
|
||||||
renderSetPreviewCallbacks(NULL, NULL, NULL, NULL);
|
renderSetPreviewCallbacks(NULL, NULL, NULL, NULL);
|
||||||
gtk_widget_set_sensitive(GET_WIDGET("render_stop"), 0);
|
gtk_widget_set_sensitive(GET_WIDGET("render_stop"), 0);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
/* Terrain tab */
|
/* Terrain tab */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "../sky.h"
|
#include "lib_paysages/sky.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
static SmallPreview* _preview_horizon;
|
static SmallPreview* _preview_horizon;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* Terrain tab */
|
/* Terrain tab */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
|
|
||||||
static SmallPreview* _preview;
|
static SmallPreview* _preview;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ static Color _cbPreviewRenderPixel(SmallPreview* preview, double x, double y, do
|
||||||
|
|
||||||
result.r = result.g = result.b = terrainGetHeightNormalized(x, y);
|
result.r = result.g = result.b = terrainGetHeightNormalized(x, y);
|
||||||
result.a = 1.0;
|
result.a = 1.0;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ static void _cbEditNoise(GtkWidget* widget, gpointer data)
|
||||||
void guiTerrainInit()
|
void guiTerrainInit()
|
||||||
{
|
{
|
||||||
g_signal_connect(GET_WIDGET("terrain_noise_edit"), "clicked", G_CALLBACK(_cbEditNoise), NULL);
|
g_signal_connect(GET_WIDGET("terrain_noise_edit"), "clicked", G_CALLBACK(_cbEditNoise), NULL);
|
||||||
|
|
||||||
_preview = guiPreviewNew(GTK_IMAGE(GET_WIDGET("terrain_preview")));
|
_preview = guiPreviewNew(GTK_IMAGE(GET_WIDGET("terrain_preview")));
|
||||||
guiPreviewConfigScaling(_preview, 0.01, 1.0, 0.05);
|
guiPreviewConfigScaling(_preview, 0.01, 1.0, 0.05);
|
||||||
guiPreviewConfigScrolling(_preview, -1000.0, 1000.0, -1000.0, 1000.0);
|
guiPreviewConfigScrolling(_preview, -1000.0, 1000.0, -1000.0, 1000.0);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
/* Terrain tab */
|
/* Terrain tab */
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "../shared/functions.h"
|
#include "lib_paysages/shared/functions.h"
|
||||||
#include "../shared/constants.h"
|
#include "lib_paysages/shared/constants.h"
|
||||||
#include "../water.h"
|
#include "lib_paysages/water.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
static SmallPreview* _preview_coverage;
|
static SmallPreview* _preview_coverage;
|
||||||
|
|
|
@ -3,7 +3,7 @@ OBJECTS=${SOURCES:.c=.o}
|
||||||
HEADERS=$(wildcard shared/*.h *.h)
|
HEADERS=$(wildcard shared/*.h *.h)
|
||||||
RESULT=libpaysages.so
|
RESULT=libpaysages.so
|
||||||
CC_FLAGS=-g -pg -Wall $(shell pkg-config --cflags glib-2.0)
|
CC_FLAGS=-g -pg -Wall $(shell pkg-config --cflags glib-2.0)
|
||||||
CC_LDFLAGS=$(shell pkg-config --libs glib-2.0)
|
CC_LDFLAGS=$(shell pkg-config --libs glib-2.0) -lIL -lILU
|
||||||
|
|
||||||
all:${RESULT}
|
all:${RESULT}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ clean:
|
||||||
${CC} -c ${CC_FLAGS} $< -o $@
|
${CC} -c ${CC_FLAGS} $< -o $@
|
||||||
|
|
||||||
${RESULT}:${OBJECTS}
|
${RESULT}:${OBJECTS}
|
||||||
${CC} -o $@ -shared -Wl ${CC_LDFLAGS} $*
|
${CC} $^ -shared ${CC_LDFLAGS} -o $@
|
||||||
|
|
||||||
.PHONY:all clean
|
.PHONY:all clean
|
||||||
|
|
||||||
|
|
|
@ -12,94 +12,8 @@
|
||||||
#include "shared/functions.h"
|
#include "shared/functions.h"
|
||||||
#include "shared/globals.h"
|
#include "shared/globals.h"
|
||||||
|
|
||||||
/*static char _filename[22];
|
void paysagesInit()
|
||||||
|
|
||||||
static void _setupFilename(int number)
|
|
||||||
{
|
{
|
||||||
_filename[15] = (char)(97 + number / 26);
|
|
||||||
_filename[16] = (char)(97 + number % 26);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _doRender(int number, int postonly)
|
|
||||||
{
|
|
||||||
_setupFilename(number);
|
|
||||||
fprintf(stderr, "Rendering %s...\n", _filename);
|
|
||||||
|
|
||||||
autoRenderAll(postonly);
|
|
||||||
|
|
||||||
fprintf(stderr, "Saving %s...\n", _filename);
|
|
||||||
remove(_filename);
|
|
||||||
renderSaveToFile(_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _renderTurnTable(int count)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
cameraSetLocation(sin(M_PI * 2.0 * (double)i / (double)count) * 20.0, 8.0, cos(M_PI * 2.0 * (double)i / (double)count) * 20.0);
|
|
||||||
|
|
||||||
_doRender(i, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _renderFly(int count, double speed)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
double x, y, z, ty1;
|
|
||||||
|
|
||||||
x = 0.0;
|
|
||||||
y = 8.0;
|
|
||||||
z = 0.0;
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
cameraSetLocation(x, y, z);
|
|
||||||
cameraSetTarget(x, y, z + 1.0);
|
|
||||||
_doRender(i, 0);
|
|
||||||
|
|
||||||
ty1 = terrainGetHeight(x, z);
|
|
||||||
if (y > ty1 + 9.0)
|
|
||||||
{
|
|
||||||
y -= speed;
|
|
||||||
}
|
|
||||||
if (y < ty1 + 7.0)
|
|
||||||
{
|
|
||||||
y += speed;
|
|
||||||
}
|
|
||||||
z += speed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _renderDayTime(int count)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
autoSetDaytimeFraction(0.4 + (double)i / (double)count);
|
|
||||||
|
|
||||||
_doRender(i, i > 0 ? 1 : 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _renderQuality()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 1; i <= 10; i++)
|
|
||||||
{
|
|
||||||
autoSetRenderQuality(i);
|
|
||||||
renderSetSize(800, 600);
|
|
||||||
|
|
||||||
_doRender(i - 1, 0);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
/*strcpy(_filename, "./output/result__.png");*/
|
|
||||||
|
|
||||||
ilInit();
|
ilInit();
|
||||||
iluInit();
|
iluInit();
|
||||||
|
|
||||||
|
@ -107,20 +21,8 @@ int main(int argc, char** argv)
|
||||||
cameraSetTarget(0.0, 5.0, 0.0);
|
cameraSetTarget(0.0, 5.0, 0.0);
|
||||||
|
|
||||||
autoInit();
|
autoInit();
|
||||||
guiInit();
|
|
||||||
|
|
||||||
autoSetRenderQuality(5);
|
autoSetRenderQuality(5);
|
||||||
autoGenRealisticLandscape(0);
|
autoGenRealisticLandscape(0);
|
||||||
autoSetDaytime(8, 30);
|
autoSetDaytime(8, 30);
|
||||||
|
|
||||||
guiStart();
|
|
||||||
|
|
||||||
//_doRender(0, 0);
|
|
||||||
//_renderTurnTable(600);
|
|
||||||
//_renderDayTime(600);
|
|
||||||
//_renderFly(600, 0.1);
|
|
||||||
//_renderQuality();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void paysagesInit();
|
||||||
|
|
||||||
/* array.c */
|
/* array.c */
|
||||||
void arrayCreate(Array* array, int item_size);
|
void arrayCreate(Array* array, int item_size);
|
||||||
void arrayDelete(Array* array);
|
void arrayDelete(Array* array);
|
||||||
|
@ -91,11 +93,6 @@ void fogSetColor(Color col);
|
||||||
void fogSetDistance(double near, double far);
|
void fogSetDistance(double near, double far);
|
||||||
Color fogApplyToLocation(Vector3 location, Color base);
|
Color fogApplyToLocation(Vector3 location, Color base);
|
||||||
|
|
||||||
/* gui.c */
|
|
||||||
void guiInit();
|
|
||||||
void guiStart();
|
|
||||||
void guiUpdate();
|
|
||||||
|
|
||||||
/* lighting.c */
|
/* lighting.c */
|
||||||
void lightingSave(FILE* f);
|
void lightingSave(FILE* f);
|
||||||
void lightingLoad(FILE* f);
|
void lightingLoad(FILE* f);
|
||||||
|
|
Loading…
Reference in a new issue