diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/assets.cpp | 2 | ||||
| -rw-r--r-- | src/render/model.h | 19 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/game/assets.cpp b/src/game/assets.cpp index 2a73756..f1fa37b 100644 --- a/src/game/assets.cpp +++ b/src/game/assets.cpp @@ -11,6 +11,8 @@ void assets_init( GAME_DATA *game ) { game->assets.test = gl_texture_from_file( game->gl, "uvtest.png" ); game->assets.fonts_init = 0; MODEL model = model_from_obj( "../assets/obj/", "base" ); + MODEL earth = model_from_obj( "../assets/obj/", "earth" ); + MODEL latest = model_from_obj( "../assets/obj/", "latest" ); } void assets_create_fonts( struct GAME_DATA *game ) { diff --git a/src/render/model.h b/src/render/model.h index 0c61fdc..63b053c 100644 --- a/src/render/model.h +++ b/src/render/model.h @@ -36,7 +36,8 @@ namespace MTL { Ke = ( 'K' | ( 'e' << 8 ) ), Ni = ( 'N' | ( 'i' << 8 ) ), d = ( 'd' | ( ' ' << 8 ) ), - illum = ( 'i' | ( 'l' << 8 ) ) + illum = ( 'i' | ( 'l' << 8 ) ), + map_Kd = ( 'm' | ( 'a' << 8 ) ) }; struct MTLDATA { @@ -49,6 +50,7 @@ namespace MTL { F32 Ni; F32 d; I32 illum; + STR map_Kd; }; struct MTLLIB { @@ -131,8 +133,19 @@ namespace MTL { break; } } break; + case LINE_TYPES::map_Kd: { + char* start = f_mtl + i + 7; + char* end = start; + while( *end && *end != '\n' ) ++end; + U32 len = end - start; + STR temp; + temp.reserve( len + 1 ); + memcpy( temp, start, len ); + temp.data[len] = 0; + mtl.data[mtl.data.size - 1].map_Kd = temp.data; + } break; case LINE_TYPES::comment: break; - default: dlog( "unhandled char combo %c%c\n", c0, c1 ); break; + default: dlog( "mtl_from_file() : unhandled char combo %c%c\n", c0, c1 ); break; } while( f_mtl[i] && f_mtl[i] != '\n' ) ++i; @@ -309,7 +322,7 @@ namespace OBJ { case LINE_TYPES::comment: case LINE_TYPES::o: case LINE_TYPES::s: break; - default: dlog( "unhandled char combo %c%c\n", c0, c1 ); break; + default: dlog( "obj_from_file() : unhandled char combo %c%c\n", c0, c1 ); break; } while( f_obj[i] && f_obj[i] != '\n' ) ++i; |
