projects
/
vrlugburz
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed mixing of turning with mouse and keys
[vrlugburz]
/
src
/
tileset.c
diff --git
a/src/tileset.c
b/src/tileset.c
index
7be9c15
..
28adf31
100644
(file)
--- a/
src/tileset.c
+++ b/
src/tileset.c
@@
-21,6
+21,8
@@
int load_tileset(struct tileset *tset, const char *fname)
int type;
float xform[16], *vec;
int type;
float xform[16], *vec;
+ memset(tset, 0, sizeof *tset);
+
if(!(ts = ts_load(fname))) {
fprintf(stderr, "failed to load tileset: %s\n", fname);
return -1;
if(!(ts = ts_load(fname))) {
fprintf(stderr, "failed to load tileset: %s\n", fname);
return -1;
@@
-49,6
+51,8
@@
int load_tileset(struct tileset *tset, const char *fname)
tset->fname = strdup(fname);
tset->name = strdup(ts_get_attr_str(ts, "name", fname));
tset->fname = strdup(fname);
tset->name = strdup(ts_get_attr_str(ts, "name", fname));
+ tset->tile_size = ts_get_attr_num(ts, "tilesize", DEF_TILE_SIZE);
+
iter = ts->child_list;
while(iter) {
node = iter;
iter = ts->child_list;
while(iter) {
node = iter;
@@
-75,7
+79,7
@@
int load_tileset(struct tileset *tset, const char *fname)
cgm_midentity(xform);
if((vec = ts_get_attr_vec(node, "pos", 0))) {
cgm_midentity(xform);
if((vec = ts_get_attr_vec(node, "pos", 0))) {
- cgm_mtranslation(xform, vec[0], vec[1], vec[2]);
+ cgm_mtranslation(xform, -vec[0], -vec[1], -vec[2]);
}
init_meshgroup(&tile->mgrp);
}
init_meshgroup(&tile->mgrp);
@@
-167,7
+171,7
@@
struct tile *get_tile(struct tileset *tset, int ttype)
int tile_type(const char *tstr)
{
static const char *typenames[] = {
int tile_type(const char *tstr)
{
static const char *typenames[] = {
- "open", "straight", "corner", "tee", "cross", "str2open", "stropen", 0
+ "open", "straight", "corner", "opencorner", "tee", "cross", "str2open", "stropen", 0
};
int i;
};
int i;