Loading material scripts in Artifexterra

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
tippythop
Gnoblar
Posts: 11
Joined: Thu Apr 19, 2018 10:18 am

Loading material scripts in Artifexterra

Post by tippythop » Tue Feb 19, 2019 11:20 am

So I've posted before with little help and I am getting somewhere with this. I am re-designing an old MMO whose company doesn't exist anymore nor does the MMO. I'm using artifexterra to load up models from the game but having issues. I get hundreds and hundreds of errors pertaining to lines of code in their material files. One main one being this:

Compiler error: unknown error in WaterWall.material(1): base object named "bm_DTrans_NMSpec" not found in script definition

Code: Select all

material WaterWallDropsSh : bm_DTrans_NMSpec
{
  set_texture_alias NormalMap WallWaterDrops_Normal.tga
  set_texture_alias DiffuseMap WallWaterDrops_Color.dds

  technique
  {
    pass
    {
	  vertex_program_ref
	  {
		param_named_auto time time_0_x 1
		param_named timeBase float 1
	  }
      fragment_program_ref
      {
        param_named shininess float 10
      }
    }
  }
}
bm_DTrans_NMSpec.materal EXISTS in the same folder as WaterWall.materal so I don't quite understand. ALSO the line : fragment_program_ref which I have found that bm_DTrans_NMSpec.material has a sister file a CG file labeled DTrans_NMSpec.cg the "bm" refers to basematerial which was something they used within their program. I'm trying to wrap my head around fixing these errors to load up fully textured models. They have over 400 textured mesh files. Every last material,mesh,tga,dds resides in a single folder I have referenced in artifexterra. The mesh's load fine but show up untextured. I'd be willing to send these files to anyone who could help me figure out what the deal is. I am very adamant about getting this game going again but also need a program I can use to create new content. I also have the .scene files as well which I have been trying to figure out out to load up to view.
0 x

paroj
OGRE Team Member
OGRE Team Member
Posts: 814
Joined: Sun Mar 30, 2014 2:51 pm
x 131
Contact:

Re: Loading material scripts in Artifexterra

Post by paroj » Tue Feb 19, 2019 2:48 pm

tippythop wrote:
Tue Feb 19, 2019 11:20 am
bm_DTrans_NMSpec.materal EXISTS in the same folder as WaterWall.materal so I don't quite understand.
https://ogrecave.github.io/ogre/api/lat ... -Directive
tippythop wrote:
Tue Feb 19, 2019 11:20 am
ALSO the line : fragment_program_ref which I have found that bm_DTrans_NMSpec.material has a sister file a CG file labeled DTrans_NMSpec.cg the "bm" refers to basematerial which was something they used within their program.
https://ogrecave.github.io/ogre/api/lat ... -in-a-Pass
0 x

tippythop
Gnoblar
Posts: 11
Joined: Thu Apr 19, 2018 10:18 am

Re: Loading material scripts in Artifexterra

Post by tippythop » Tue Feb 19, 2019 6:59 pm

Here's the thing the game has a file aaaCgDeclarations.material that it loads which is the first one loaded. I have this in the same directory as all the others. I should point out that this game was built back in 2007-2008 on Ogre Shoggoth.

Code: Select all

vertex_program NMSpecVP cg
{
	source NMSpec.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program NMSpecFP cg
{
	source NMSpec.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}

vertex_program DSpecVP cg
{
	source DSpec.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

vertex_program DSpecVPScroll cg
{
	source DSpec.cg
	entry_point main_vp_scroll
	profiles vs_1_1 arbvp1
}

fragment_program DSpecFP cg
{
	source DSpec.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}

vertex_program DReflect_NMVP cg
{
	source DReflect_NM.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program DReflect_NMFP cg
{
	source DReflect_NM.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}

vertex_program NM_LVP cg
{
	source NM_L.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_LFP cg
{
	source NM_L.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}

vertex_program NM_LSpecVP cg
{
	source NM_LSpec.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_LSpecFP cg
{
	source NM_LSpec.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}


vertex_program DSpec_LSpecVP cg
{
	source DSpec_LSpec.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_LSpecFP cg
{
	source DSpec_LSpec.cg
	entry_point main_fp
	profiles ps_2_x fp30 
}

vertex_program DTrans_NMSpecVP cg
{
	source DTrans_NMSpec.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTrans_NMSpecFP cg
{
	source DTrans_NMSpec.cg
	entry_point main_fp
	profiles ps_2_x fp30
}

vertex_program DTransVP cg
{
	source DTrans.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTransFP cg
{
	source DTrans.cg
	entry_point main_fp
	profiles ps_2_x fp30
}

vertex_program DSpec_LCausticVP cg
{
	source DSpec_LCaustic.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_LCausticFP cg
{
	source DSpec_LCaustic.cg
	entry_point main_fp
	profiles ps_2_x fp30
}

vertex_program NMSpec_LCausticVP cg
{
	source NMSpec_LCaustic.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program NMSpec_LCausticFP cg
{
	source NMSpec_LCaustic.cg
	entry_point main_fp
	profiles ps_2_x fp30
}

vertex_program TransReflectVP cg
{
	source TransReflect.cg
	entry_point main_vp
	profiles vs_1_1 arbvp1
}

fragment_program TransReflectFP cg
{
	source TransReflect.cg
	entry_point main_fp
	profiles ps_2_x fp30
}

vertex_program PhantomAmbientOneTextureVP cg
{
	source NMSpec.cg
	entry_point ambientOneTexture_vp
	profiles vs_1_1 arbvp1

	default_params
	{
		param_named_auto worldViewProj worldviewproj_matrix
		param_named_auto ambient ambient_light_colour
	}
	
}

vertex_program render_black_vp cg
{
	source render_black.cg
	entry_point render_black_vp
	profiles vs_1_1 arbvp1
}

vertex_program simple_vp cg
{
	source simple.cg
	entry_point simple_vp
	profiles vs_1_1 arbvp1
}

fragment_program simple_fp cg
{
	source simple.cg
	entry_point simple_fp
	profiles ps_2_x fp30
}

vertex_program renderglow_vp cg
{
	source renderglow.cg
	entry_point renderglow_vp
	profiles vs_1_1 arbvp1
}

fragment_program renderglow_fp cg
{
	source renderglow.cg
	entry_point renderglow_fp
	profiles ps_2_x fp30
}

vertex_program NM_LSpec_MultilightBaseColorVP cg
{
	source NM_LSpec_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_LSpec_MultilightBaseColorFP cg
{
	source NM_LSpec_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program NM_LSpec_MultilightSpecularOnlyVP cg
{
	source NM_LSpec_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_LSpec_MultilightSpecularOnlyFP cg
{
	source NM_LSpec_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program NM_L_MultilightBaseColorVP cg
{
	source NM_L_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_L_MultilightBaseColorFP cg
{
	source NM_L_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program NM_L_MultilightSpecularOnlyVP cg
{
	source NM_L_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program NM_L_MultilightSpecularOnlyFP cg
{
	source NM_L_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program DReflect_NM_MultilightBaseColorVP cg
{
	source DReflect_NM_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program DReflect_NM_MultilightBaseColorFP cg
{
	source DReflect_NM_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program DReflect_NM_MultilightSpecularOnlyVP cg
{
	source DReflect_NM_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program DReflect_NM_MultilightSpecularOnlyFP cg
{
	source DReflect_NM_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program DSpec_MultilightBaseColorVP cg
{
	source DSpec_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_MultilightBaseColorFP cg
{
	source DSpec_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program DSpec_MultilightSpecularOnlyVP cg
{
	source DSpec_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_MultilightSpecularOnlyFP cg
{
	source DSpec_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program DSpec_LSpec_MultilightBaseColorVP cg
{
	source DSpec_LSpec_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_LSpec_MultilightBaseColorFP cg
{
	source DSpec_LSpec_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program DSpec_LSpec_MultilightSpecularOnlyVP cg
{
	source DSpec_LSpec_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program DSpec_LSpec_MultilightSpecularOnlyFP cg
{
	source DSpec_LSpec_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program DTrans_MultilightBaseColorVP cg
{
	source DTrans_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTrans_MultilightBaseColorFP cg
{
	source DTrans_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program DTrans_MultilightSpecularOnlyVP cg
{
	source DTrans_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTrans_MultilightSpecularOnlyFP cg
{
	source DTrans_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program NMSpec_MultilightBaseColorVP cg
{
	source NMSpec_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program NMSpec_MultilightBaseColorFP cg
{
	source NMSpec_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program NMSpec_MultilightSpecularOnlyVP cg
{
	source NMSpec_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program NMSpec_MultilightSpecularOnlyFP cg
{
	source NMSpec_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}

vertex_program DTrans_NMSpec_MultilightBaseColorVP cg
{
	source DTrans_NMSpec_Multilight.cg
	entry_point base_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTrans_NMSpec_MultilightBaseColorFP cg
{
	source DTrans_NMSpec_Multilight.cg
	entry_point base_fp
	profiles ps_2_x fp30 
}

vertex_program DTrans_NMSpec_MultilightSpecularOnlyVP cg
{
	source DTrans_NMSpec_Multilight.cg
	entry_point spec_vp
	profiles vs_1_1 arbvp1
}

fragment_program DTrans_NMSpec_MultilightSpecularOnlyFP cg
{
	source DTrans_NMSpec_Multilight.cg
	entry_point spec_fp
	profiles ps_2_x fp30 
}
[/CODE/
0 x

tippythop
Gnoblar
Posts: 11
Joined: Thu Apr 19, 2018 10:18 am

Re: Loading material scripts in Artifexterra

Post by tippythop » Tue Feb 19, 2019 9:15 pm

Ok so I got a good bit of textures to start rendering on alot of the mesh's. However there are still some with this error:

WARNING: material AtriumWallsSh_AT has no supportable Techniques and will be blank

There is a material file called Sub2Materials.material that has a declaration for the _AT

Code: Select all

//_ML : 	MainLobby
//_DLMLSA : DogLeg connecting MainLobby to Slots A
//_SA : 	Slots Room A
//_SWSASB : Stair Way connecting Slots A to Slots B
//_SB : 	Slots B
//_SWSBSC : Stair Way connecting Slots B to Slots C
//_SC : 	Slots C
//_SWSBSD : Stair Way connecting Slots B to Slots D
//_SD : 	Slots D
//_DLHLSD : DogLeg connecting HotelLobby to Slots D

//_CA :		Casino Room A
//_CB :		Casino Room B
//_CD :		Casino Room D
//_BR :		Bingo Room
//_PR :		Poker Room
//_RB :		Race Book
//_RBS :	Race Book Stadium
//_SPB :		Sports Book
//_SWCBCA :	Stair Way connecting Caino B to Casino A
//_SWCBBR :	Stair Way connecting Caino B to Bingo Room
//_SWCBCD :	Stair Way connecting Caino B to Casino D
//_DLHLCD :	DogLeg connecting HotelLobby to Casino D
//_DLMLCA :	DogLeg connecting MainLobby to Casino A

//_ESHLMS : Escalator form Hotel Lobby to Mall
//_ELV	:	Elevator

//_DR	:	Dressing Room for character creator
//_MS	:	Mall and Stores

//_CH	:	Convention Hall
//_CL	:	Convention Lobby
//_GH	:	Guild Hall
//_AT	:	Atrium
//_EL	:	Elevator Lobby

material AtriumWallsSh_AT : AtriumWallsSh
{
	set_texture_alias LightMap Atrium_LightMap.dds
}
Just giving a small sample of what is in that material script because its LARGE.

As stated in a previous post I am rather new to 3d engines. I'm more of a C++ coder and database expert.
0 x

Post Reply