well I've got code that can give any ship texture nonlit ambient glow or transparency
unfortunately I don't have any way to set the level of glow and the transparency value seems to be filtered after the poly is lit, wich means this would probly only be good for a cloaking device or some specal thing like that.
add these two guys to the polymodel struct in model.h
int ambient[MAX_MODEL_TEXTURES]; // ambient light-Bobboau
int transparent[MAX_MODEL_TEXTURES]; // flag this texture as being a transparent blend-Bobboau
in the part of read_model_file in modelread.cpp in the section that deals with the TXTR chunk add
pm->transparent[i]=0; //it's transparent
pm->ambient[i]=0; //ambient glow
wich is just above
[i]note this is only here if you've got my animated texture thing[/i] pm->is_ani[i]=0; //animated textures
if ( strstr(tmp_name, "thruster") || strstr(tmp_name, "invisible") || strstr(tmp_name, "warpmap") ) { //added warp map for subspace rift rendering-Bobboau
// Don't load textures for thruster animations or invisible textures
pm->textures[i] = -1;
} else {
and just below that add this
if(strstr(tmp_name, "trans")){
pm->transparent[i]=1;
nprintf(("%s is transparent, oooow\n",tmp_name));
}
if(strstr(tmp_name, "amb")){
pm->ambient[i]=1;
nprintf(("%s is amient, aaaahhh\n",tmp_name));
}
as you can see the code looks for the string "trans" within the name of the texture as a flag that it is transparent and "amb" if it is ambient
in modelinterp.cpp in model_interp_tmappoly were it says
if(Interp_flags & MR_ALL_XPARENT){
gr_set_bitmap( texture, GR_ALPHABLEND_FILTER, GR_BITBLT_MODE_NORMAL, Interp_xparent_alpha );
} else {
gr_set_bitmap( texture );
}
replace with
if(Interp_flags & MR_ALL_XPARENT){
gr_set_bitmap( texture, GR_ALPHABLEND_FILTER, GR_BITBLT_MODE_NORMAL, Interp_xparent_alpha );
} else {
if(pm->transparent[w(p+40)]){ //trying to get transperent textures-Bobboau
gr_set_bitmap( texture, GR_ALPHABLEND_FILTER, GR_BITBLT_MODE_NORMAL, 0.8f );
}else{
gr_set_bitmap( texture );
}
}