Mercurial > hg > Game > Cerium
comparison Renderer/Engine/SceneGraphRoot.cc @ 544:dc59679d9a36 draft
ball_bound worked.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Oct 2009 21:39:57 +0900 |
parents | 1a31b8820a4d |
children | 00428ba0ba03 |
comparison
equal
deleted
inserted
replaced
543:0c53fa91602f | 544:dc59679d9a36 |
---|---|
60 /** | 60 /** |
61 * xml ファイルから生成された SceneGraph を sg_src に登録する。 | 61 * xml ファイルから生成された SceneGraph を sg_src に登録する。 |
62 * | 62 * |
63 * @param sg SceneGraph created by xmlfile | 63 * @param sg SceneGraph created by xmlfile |
64 */ | 64 */ |
65 | |
66 extern const char *sglist_table[]; | |
67 | |
65 void | 68 void |
66 SceneGraphRoot::registSceneGraph(SceneGraphPtr sg) | 69 SceneGraphRoot::registSceneGraph(SceneGraphPtr sg) |
67 { | 70 { |
68 for (int i = 0; i < sg_src_length; i++) { | 71 for (int i = 0; i < sg_src_length && sglist_table[i]; i++) { |
69 #if 0 | |
70 なんかやらないといけないらしい。なんで? | |
71 たぶん、SGList.h を読み込んで番号を付ける作業でしょう。 | |
72 if (strcmp(sg->name, sglist_table[i]) == 0) { | 72 if (strcmp(sg->name, sglist_table[i]) == 0) { |
73 sg->sgid = i; | 73 sg->sgid = i; |
74 if (i>= sg_src_length) { | 74 if (i>= sg_src_length) { |
75 sg_src_length += sizeof(SceneGraphPtr)*SGLIST_INIT_LENGTH ; | 75 sg_src_length += sizeof(SceneGraphPtr)*SGLIST_INIT_LENGTH ; |
76 sg_src = (SceneGraphPtr)realloc(sg_src, sg_src_length); | 76 sg_src = (SceneGraphPtr)realloc(sg_src, sg_src_length); |
77 } | 77 } |
78 sg_src[i] = sg; | 78 sg_src[i] = sg; |
79 return; | 79 return; |
80 } | 80 } |
81 #endif | |
82 } | 81 } |
83 | 82 |
84 fprintf(stderr, "error: (%s:%3d) Can't find Scene \"%s\"\n", | 83 fprintf(stderr, "error: (%s:%3d) Can't find Scene \"%s\"\n", |
85 __FUNCTION__, __LINE__, sg->name); | 84 __FUNCTION__, __LINE__, sg->name); |
86 } | 85 } |