eqemu

diff src/objfile.cc @ 6:977bc1cb055b

almost done
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 18 Jul 2014 02:35:06 +0300
parents 9b5bb05ae53a
children 2656099aff12
line diff
     1.1 --- a/src/objfile.cc	Fri Jul 18 00:42:15 2014 +0300
     1.2 +++ b/src/objfile.cc	Fri Jul 18 02:35:06 2014 +0300
     1.3 @@ -22,6 +22,7 @@
     1.4  	CMD(MTLLIB),	\
     1.5  	CMD(USEMTL),	\
     1.6  	CMD(NEWMTL),	\
     1.7 +	CMD(KE),		\
     1.8  	CMD(KA),		\
     1.9  	CMD(KD),		\
    1.10  	CMD(KS),		\
    1.11 @@ -30,6 +31,8 @@
    1.12  	CMD(D),			\
    1.13  	CMD(TR),		\
    1.14  	CMD(MAP_KD),	\
    1.15 +	CMD(MAP_REFL),	\
    1.16 +	CMD(MAP_BUMP),	\
    1.17  	CMD(MAP_KS),	\
    1.18  	CMD(MAP_NS),	\
    1.19  	CMD(MAP_D),		\
    1.20 @@ -68,6 +71,7 @@
    1.21  struct ObjMat {
    1.22  	string name;		// newmtl <name>
    1.23  	Color ambient, diffuse, specular;	// Ka, Kd, Ks
    1.24 +	Color emissive;		// Ke
    1.25  	float shininess;	// Ns
    1.26  	float ior;			// Ni
    1.27  	float alpha;		// d, Tr
    1.28 @@ -207,6 +211,7 @@
    1.29  					mat.diffuse = vmtl[i].diffuse;
    1.30  					mat.specular = vmtl[i].specular;
    1.31  					mat.shininess = vmtl[i].shininess;
    1.32 +					mat.emissive = vmtl[i].emissive;
    1.33  					mat.alpha = vmtl[i].alpha;
    1.34  
    1.35  					if(vmtl[i].tex_dif.length()) {
    1.36 @@ -383,6 +388,10 @@
    1.37  			}
    1.38  			break;
    1.39  
    1.40 +		case CMD_KE:
    1.41 +			parse_color(&mat.emissive);
    1.42 +			break;
    1.43 +
    1.44  		case CMD_KA:
    1.45  			parse_color(&mat.ambient);
    1.46  			break;
    1.47 @@ -421,6 +430,10 @@
    1.48  			mat.tex_dif = parse_map();
    1.49  			break;
    1.50  
    1.51 +		case CMD_MAP_REFL:
    1.52 +			mat.tex_refl = parse_map();
    1.53 +			break;
    1.54 +
    1.55  		default:
    1.56  			break;
    1.57  		}