RF2 Update: Player class and crude movement

Discuss the development of Reality Factory 2
User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

RF2 Update: Player class and crude movement

Post by paradoxnj » Thu Oct 22, 2009 7:53 pm

I am currently working on the player class, camera class and movement using the both. Movement will work via a control object. The game will need to know what the control object is. So in script, if you want the camera to be the control object you would do:

Code: Select all

// cam is valid RF2Camera
RFGetGame().setControlObject(cam);
Player would be:

Code: Select all

RFGetGame().setControlObject(RFGetPlayer());
For network purposes, there can only be one player. Everything else is an object. The player is technically an object as well but we just call it a player.

There will be different types of cameras:

1. Generic camera (free look)
2. First Person Camera (duh)
3. Third Person Camera (first person with a z offset)
4. Chase Camera (chases the object it is attached to)
5. Isometric Camera (Diablo/Dungeon Siege style)
6. Cinematic Camera (Resident Evil style fixed camera with frustum detection to switch cameras)
7. Orbital Camera (rotates around the object at a specified offset)

The code for the shell is now available in the Subversion repository at SourceForge. The URL is:

https://realityfactory2.svn.sourceforge ... unk/RFOgre

I will post the code to the test scripts. Save each section to the file named at the top of the section. Drop it in the bin folder after you compile.

Code: Select all

// main.nut

function onInitGame()
{
	setWindowTitle("My Test Game");
	showConfigDialog(false);
	
	// Add bootstrap zip
	addResourcePath("Bootstrap", "./packs/OgreCore.zip", "Zip", false);
	
	// Add game specific paths here
	addResourcePath("General", "./", "FileSystem", false);
	addResourcePath("General", "./fonts", "FileSystem", false);
	addResourcePath("General", "./materials/programs", "FileSystem", false);
	addResourcePath("General", "./materials/scripts", "FileSystem", false);
	addResourcePath("General", "./materials/textures", "FileSystem", false);
	addResourcePath("General", "./models", "FileSystem", false);
	addResourcePath("General", "./overlays", "FileSystem", false);
	addResourcePath("General", "./particle", "FileSystem", false);
	addResourcePath("General", "./gui", "FileSystem", false);
	addResourcePath("General", "./DeferredShadingMedia", "FileSystem", false);
	addResourcePath("General", "./PCZAppMedia", "FileSystem", false);
	addResourcePath("General", "./packs/cubemap.zip", "Zip", false);
	addResourcePath("General", "./packs/dragon.zip", "Zip", false);
	addResourcePath("General", "./packs/fresneldemo.zip", "Zip", false);
	addResourcePath("General", "./packs/ogretestmap.zip", "Zip", false);
	addResourcePath("General", "./packs/skybox.zip", "Zip", false);
	
	runScript("plane.nut");
	runScript("light.nut");
	runScript("player.nut");
	
	print("onInitGame\n");
}

function onShutdown()
{
	print("onShutdown\n");
}

function quitGame(v)
{
	print("Quitting game\n");
	quit();
}

function onInitGraphics()
{
	print("onInitGraphics\n");

	local input = RFGetInput();
	input.bind(input.EVENT_TYPE_KEYPRESS, KEY_ESCAPE, "quitGame");
	input.bind(input.EVENT_TYPE_KEYPRESS, KEY_W, "moveForward");
	input.bind(input.EVENT_TYPE_KEYPRESS, KEY_S, "moveBackward");
	input.bind(input.EVENT_TYPE_KEYPRESS, KEY_A, "moveLeft");
	input.bind(input.EVENT_TYPE_KEYPRESS, KEY_D, "moveRight");
	
	local wrl = RFGetWorld();
	wrl.setAmbientLight(0.5, 0.5, 0.5);
	wrl.setSkyBox(true, "Examples/SpaceSkyBox", 50.0);
	
	cam <- RFBaseCamera("mainCamera");
	
	local vecTmp = Vector3(0.0, 99.0, 0.0);
	
	local tp = RFPlane("TestPlane01", "TestPlane");
	tp.setPosition(vecTmp);
	
	local l = RFLight("BlueLight01", "BlueSpotlight");
	local gl = RFLight("GreenLight01", "GreenSpotlight");
}

function moveForward(val)
{
	cam.moveForward(10.0);
}

function moveBackward(val)
{
	cam.moveBackward(5.0);
}

function moveLeft(val)
{
	cam.moveLeft(10.0);
}

function moveRight(val)
{
	cam.moveRight(10.0);
}

Code: Select all

// Light.nut
BlueSpotlight <- {
	DiffuseColor = "0.5 0.5 1.0 1.0",
	//SpecularColor = "0.0 0.0 0.0 0.0",
	//
	Type = LIGHT_TYPE_SPOTLIGHT
}

function BlueSpotlight::onCreate(obj)
{
	print("BlueSpotlight::onCreate\n");
	
	local pos = Vector3(-200.0, 150.0, -100.0);
	obj.setPosition(pos);
	
	local dir = Vector3(200.0, -150.0, 100.0);
	Vector3Normalize(dir);
	
	obj.setDirection(dir);
}

GreenSpotlight <- {
	DiffuseColor = "0.5 1.0 0.5 1.0",
	Type = LIGHT_TYPE_SPOTLIGHT
}

function GreenSpotlight::onCreate(obj)
{
	print("GreenSpotlight::onCreate\n");
	
	local pos = Vector3(0.0, 150.0, -100.0);
	obj.setPosition(pos);
	
	local dir = Vector3(0.0, -150.0, 100.0);
	Vector3Normalize(dir);
	
	obj.setDirection(dir);
}

Code: Select all

// Plane.nut
TestPlane <- {
	Normal = "0.0 1.0 0.0",
	Distance = 100.0,
	Width = 1500,
	Height = 1500,
	NumXSegments = 20,
	NumYSegments = 20,
	GenerateNormals = true,
	NumTexCoordSets = 1,
	TileU = 60.0,
	TileV = 60.0
}

function TestPlane::onCreate(obj)
{
	print("TestPlane::onCreate\n");
	obj.setMaterial("Examples/Rockwall");
	obj.setCastShadows(false);
}

Code: Select all

//player.nut
PlayerData <- {
	hp = 100,
	mp = 50
}

function PlayerData::onCreate(obj)
{
	obj.setMesh("robot.mesh");
	obj.setSkeleton("robot.skeleton");
	obj.setMaterial("Examples/Robot");
	
	obj.setPosition(Vector3(0.0, 0.0, 0.0));
	obj.setScale(Vector3(0.5, 0.5, 0.5));
	
	print("Player::onCreate\n");
}
Last edited by paradoxnj on Tue Oct 27, 2009 3:23 pm, edited 1 time in total.
Reason: Corrected link to Subversion repository
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Fri Oct 23, 2009 3:22 pm

Report by tortiose when going to download from svn https://realityfactory2.svn.sourceforge ... ry2/RFOgre .... "Error File does not Exist"
Edit: Also link above gives error 404 if try to access direct.

MakerOfGames
Posts: 866
Joined: Fri Jul 08, 2005 4:27 am
Location: PA, USA

Re: RF2 Update: Player class and crude movement

Post by MakerOfGames » Fri Oct 23, 2009 6:16 pm

The way the scripts are written looks simplistic and understandable. Great work! It looks like even non-programmers will be able to write basic scripts with minimal effort.

I would also just like to cheer on the RF dev team, as the forums seem to be slowing down and the future of this community may seem uncertain to some. I can't wait to see the finished product. Keep up the good work dev team!
Think outside the box.
To go on an adventure, one must discard the comforts and safety of the known and trusted.

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Re: RF2 Update: Player class and crude movement

Post by Jay » Fri Oct 23, 2009 9:02 pm

paradoxnj wrote:I am currently working on the player class, camera class and movement using the both. Movement will work via a control object. The game will need to know what the control object is. So in script, if you want the camera to be the control object you would do:

Code: Select all

// cam is valid RF2Camera
RFGetGame().setControlObject(cam);
This is looking like
paradoxnj wrote: 1. Generic camera (free look)
2. First Person Camera (duh)
3. Third Person Camera (first person with a z offset)
4. Chase Camera (chases the object it is attached to)
5. Isometric Camera (Diablo/Dungeon Siege style)
6. Cinematic Camera (Resident Evil style fixed camera with frustum detection to switch cameras)
7. Orbital Camera (rotates around the object at a specified offset)
8. Scripted Camera
:D

Or do you plan to implement the different camera types as scripts, and the user would then choose from those?

The idea of a control object is a good one, this makes the scripting very flexible. You could for example, easily script vehicles or teammates whom you can control at wish (you would just move over to another control object for the vehicle and exchange the control objects for the teammates)
It may also be possible to script 2 or more objects in the game by just one script by temporarily switching the control object of the script.

I have not yet downloaded the project. Maybe, if i get the time, i will download and build it.

EDIT: Wait, that's strange. I don't see the setControlObject(...) command used anywhere in the scripts you posted. Was this intended or does it work without it?
Everyone can see the difficult, but only the wise can see the simple.
-----

User avatar
zany_001
Posts: 1047
Joined: Fri Mar 02, 2007 8:36 am
Location: Aotearoa

Re: RF2 Update: Player class and crude movement

Post by zany_001 » Sat Oct 24, 2009 12:00 pm

It's not needed in the script other than the first snippet he posted. The control object is set to 'cam', and 'cam' is the RFBaseCamera(''mainCamera'') (what's the mainCamera bit for?)
After that, the input commands are bound to keys (W is move forward etc.)
and later, applied to functions which define the distance to move and in which directon ( the functions.)

I'm guessing that cam.moveForward etc are predefined actions for 'cam'?

Correct me if I'm wrong, which I probably am.
Once I was sad, and I stopped being sad and was awesome instead.
True story.

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Re: RF2 Update: Player class and crude movement

Post by Jay » Sat Oct 24, 2009 2:49 pm

Ok, i think i misunderstood this whole control object stuff. I thought that every script has its own control object which it controls, and the player would then be accessed trough a script (so you have a player script which has the player as its control object. Then you just change the control object of that script, and you now have a different character you can control)

But as it seems, you create the objects and they have a script assigned to them, so it's basically the other way around. So now there is the onCreate() function which will be called when initalizing the object. I assume there also will be a onFrame() function which is called every frame?
Everyone can see the difficult, but only the wise can see the simple.
-----

User avatar
zany_001
Posts: 1047
Joined: Fri Mar 02, 2007 8:36 am
Location: Aotearoa

Re: RF2 Update: Player class and crude movement

Post by zany_001 » Sat Oct 24, 2009 9:44 pm

I believe the control object is, well, what you control. In that example, it was the camera, but it could be changed to a player, or a car etc. If it was changed to the player, the camera would become bound to some part of the player, probably a bone, and then you control the object with keys etc. The reason there is one at all(you could just have the keys control the player actor and skip the control object business) is so that you can easily change control objects. So you can get in a car, and change the car to the control object. There's probably other reasons but that's all I know ATM.
Once I was sad, and I stopped being sad and was awesome instead.
True story.

User avatar
jonas
Posts: 779
Joined: Tue Jul 05, 2005 5:43 pm
Location: Texas, USA
Contact:

Re: RF2 Update: Player class and crude movement

Post by jonas » Sun Oct 25, 2009 2:05 am

bernie wrote:Report by tortiose when going to download from svn https://realityfactory2.svn.sourceforge ... ry2/RFOgre .... "Error File does not Exist"
Edit: Also link above gives error 404 if try to access direct.
I believe this was the actual address to the source: https://realityfactory2.svn.sourceforge ... nk/RFOgre/

Going to give this a go compiling on a mac. :D
[Edit] *sigh* Uh... Never mind. Complete pain in the butt to do anything in xcode. Never have been able to get used to it. Then you throw Ogre's needs in there and its plain confusing.
Last edited by jonas on Mon Dec 14, 2009 7:12 pm, edited 1 time in total.
Jonas

Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better. - John Carmack

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Tue Oct 27, 2009 3:19 pm

Ok. I will post instructions on how to compile. It will not compile on any platform except Windows right now as the network code is using I/O completion ports which is specific to Windows.
I believe the control object is, well, what you control. In that example, it was the camera, but it could be changed to a player, or a car etc. If it was changed to the player, the camera would become bound to some part of the player, probably a bone, and then you control the object with keys etc.
You are exactly correct. I was debating about having a bone for the camera, but I wasn't sure if that would be a good idea. I'd like the communities input on this as this would change the way models are made.
It's not needed in the script other than the first snippet he posted. The control object is set to 'cam', and 'cam' is the RFBaseCamera(''mainCamera'') (what's the mainCamera bit for?)
After that, the input commands are bound to keys (W is move forward etc.)
and later, applied to functions which define the distance to move and in which directon ( the functions.)

I'm guessing that cam.moveForward etc are predefined actions for 'cam'?

Correct me if I'm wrong, which I probably am.
You are not wrong...you are correct. mainCamera is the name of the camera. The only thing is the argument is speed not distance. Distance is calculated by the shell based on the speed you give it. This will allow you to use status effects like haste or super speed in your games.
8. Scripted Camera


Or do you plan to implement the different camera types as scripts, and the user would then choose from those?
Actually...I was going to program these into the shell as cameras are very math intensive and should not be done in script. I was thinking of how to make a generic camera you could change via script to make your own camera angles. I'll think about it a bit more. I'm sure i'll come up with something.
The idea of a control object is a good one, this makes the scripting very flexible. You could for example, easily script vehicles or teammates whom you can control at wish (you would just move over to another control object for the vehicle and exchange the control objects for the teammates)
It may also be possible to script 2 or more objects in the game by just one script by temporarily switching the control object of the script.
That is exactly the reason behind using a control object. Vehicles are planned. You could:

1. Find a car
2. Open the door
3. Play the animation for the player to get into the car
4. Set the control object to the car
5. Make the player invisible.

Ok. Instructions to compile are as follows:

Requirements Ogre, Squirrel and SqPlus are included with the code.

Instructions to get code from Subversion
  • Open Windows Explorer
  • Pick a location on one of your hard drives and create a folder (I will use G:\RFOgre as my path)
  • Right click the folder and choose SVN Checkout...
  • In the "URL of repository field" put the following: https://realityfactory2.svn.sourceforge ... unk/RFOgre
  • Click OK. Files should start downloading into the folder you chose in step 1
Instructions to Compile
  • Add the path to the Boost libraries and headers to Visual Studio
  • Open the RFOgre_<VS Version>.sln file (I use RFOgre_2008.sln)
  • Hit compile
Running the shell
  • Run the prepare.cmd file in the root of the RFOgre code (mine is G:\RFOgre\prepare.cmd). This will copy all the needed files from the OgreSDK directory to the bin folder of RFOgre.
  • Take the script code from this post and save it into the NUT files as instructed
  • Run RFOgre.exe
Bernie...I corrected the link. Sorry about that.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Tue Oct 27, 2009 4:54 pm

Followed all the steps but wont build using VC9

Code: Select all

 
1>------ Build started: Project: Game, Configuration: Release Win32 ------
1>Compiling...
1>cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
1>stdafx.cpp
1>c:\rfogre\source\game\stdafx.h(59) : fatal error C1083: Cannot open include file: 'RFConsole.h': No such file or directory
1>Build log was saved at "file://c:\RFOgre\source\Game\Release\BuildLog.htm"
1>Game - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Tue Oct 27, 2009 5:10 pm

Bernie, I am on the IRC channel. I can help you better from there. I just downloaded in a new folder, opened it and it compiled. Did it do a project conversion when you opened it? Did you do an SVN update?
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Sat Nov 07, 2009 3:52 pm

Although Revision 203 still compiles ok.
Revision 204 will not compile. It gives errors

Code: Select all

1>------ Build started: Project: Game, Configuration: Debug Win32 ------
1>Compiling...
1>stdafx.cpp
1>c:\rfogrerev204\source\game\events\rfgameevents.h(17) : error C2057: expected constant expression
1>c:\rfogrerev204\source\game\events\rfgameevents.h(17) : error C2460: 'Evt_Init_ScriptEngine::<alignment member>' : uses 'Evt_Init_ScriptEngine', which is being defined
1>        c:\rfogrerev204\source\game\events\rfgameevents.h(11) : see declaration of 'Evt_Init_ScriptEngine'
1>c:\rfogrerev204\source\game\events\rfgameevents.h(17) : error C2071: 'Evt_Init_ScriptEngine::<alignment member>' : illegal storage class
1>c:\rfogrerev204\source\game\events\rfgameevents.h(17) : error C2473: '<alignment member>' : looks like a function definition, but there is no parameter list.
1>c:\rfogrerev204\source\game\events\rfgameevents.h(19) : error C2143: syntax error : missing ';' before '}'
1>c:\rfogrerev204\source\game\events\rfgameevents.h(19) : error C2059: syntax error : '}'
1>c:\rfogrerev204\source\game\events\rfgameevents.h(19) : error C2143: syntax error : missing ';' before '}'
1>c:\rfogrerev204\source\game\events\rfgameevents.h(19) : error C2059: syntax error : '}'
1>Creating browse information file...
1>Microsoft Browse Information Maintenance Utility Version 9.00.21022
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Build log was saved at "file://c:\RFOgreREV204\source\Game\Debug\BuildLog.htm"
1>Game - 8 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
It appears thie following line is at fault

Code: Select all

class Evt_Init_ScriptEngine : public RFEvent
{
public:
	static std::string gkName;

	explicit Evt_Init_ScriptEngine : RFEvent(RFEventType(Evt_Init_ScriptEngine::gkName.c_str()))
	{
	}
};
I think it should have brackets as follows.

Code: Select all

class Evt_Init_ScriptEngine : public RFEvent
{
public:
	static std::string gkName;

	explicit Evt_Init_ScriptEngine() : RFEvent(RFEventType(Evt_Init_ScriptEngine::gkName.c_str()))
	{
	}
};
However if I correct the line It builds, but the exe crashes with an exception (looks like a missing script or missing script line).

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Mon Nov 09, 2009 2:23 am

Yeah...I had to check in the code to move it to my laptop. I'll check in the compilable code tomorrow. Keep in mind that this is all a work in progress and there might be times that it won't compile. Just bear with me. :)
Many Bothans died to bring you this signature....

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Tue Nov 10, 2009 7:32 pm

It should be compilable now. Be sure to update from the root and not just the source folder as I updated the test scripts as well. Let me know if you need help.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Tue Nov 10, 2009 9:06 pm

Compiles ok but crashes with runtime error. The application has requested the Runtime to terminate in an unusual way. Please contact the applications support team for more information.

squirrel log:

Code: Select all

Executed script main.nut

Executed script plane.nut

Executed script light.nut

Executed script player.nut

onInitGame
onInitGraphics
onInitInput
RealityFactoryOgre log:

Code: Select all

19:59:07: Creating resource group General
19:59:07: Creating resource group Internal
19:59:07: Creating resource group Autodetect
19:59:07: SceneManagerFactory for type 'DefaultSceneManager' registered.
19:59:07: Registering ResourceManager for type Material
19:59:07: Registering ResourceManager for type Mesh
19:59:07: Registering ResourceManager for type Skeleton
19:59:07: MovableObjectFactory for type 'ParticleSystem' registered.
19:59:07: OverlayElementFactory for type Panel registered.
19:59:07: OverlayElementFactory for type BorderPanel registered.
19:59:07: OverlayElementFactory for type TextArea registered.
19:59:07: Registering ResourceManager for type Font
19:59:07: ArchiveFactory for archive type FileSystem registered.
19:59:07: ArchiveFactory for archive type Zip registered.
19:59:07: FreeImage version: 3.10.0
19:59:07: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
19:59:07: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
19:59:07: DDS codec registering
19:59:07: Registering ResourceManager for type HighLevelGpuProgram
19:59:07: Registering ResourceManager for type Compositor
19:59:07: MovableObjectFactory for type 'Entity' registered.
19:59:07: MovableObjectFactory for type 'Light' registered.
19:59:07: MovableObjectFactory for type 'BillboardSet' registered.
19:59:07: MovableObjectFactory for type 'ManualObject' registered.
19:59:07: MovableObjectFactory for type 'BillboardChain' registered.
19:59:07: MovableObjectFactory for type 'RibbonTrail' registered.
19:59:07: *-*-* OGRE Initialising
19:59:07: *-*-* Version 1.6.3 (Shoggoth)
19:59:07: Loading library RenderSystem_GL
19:59:07: Installing plugin: GL RenderSystem
19:59:07: OpenGL Rendering Subsystem created.
19:59:08: Plugin successfully installed
19:59:08: Loading library RenderSystem_Direct3D9
19:59:08: Installing plugin: D3D9 RenderSystem
19:59:08: D3D9 : Direct3D9 Rendering Subsystem created.
19:59:08: D3D9: Driver Detection Starts
19:59:08: D3D9: Driver Detection Ends
19:59:08: Plugin successfully installed
19:59:08: Loading library Plugin_OctreeSceneManager
19:59:08: Installing plugin: Octree & Terrain Scene Manager
19:59:08: Plugin successfully installed
19:59:08: Loading library Plugin_ParticleFX
19:59:08: Installing plugin: ParticleFX
19:59:08: Particle Emitter Type 'Point' registered
19:59:08: Particle Emitter Type 'Box' registered
19:59:08: Particle Emitter Type 'Ellipsoid' registered
19:59:08: Particle Emitter Type 'Cylinder' registered
19:59:08: Particle Emitter Type 'Ring' registered
19:59:08: Particle Emitter Type 'HollowEllipsoid' registered
19:59:08: Particle Affector Type 'LinearForce' registered
19:59:08: Particle Affector Type 'ColourFader' registered
19:59:08: Particle Affector Type 'ColourFader2' registered
19:59:08: Particle Affector Type 'ColourImage' registered
19:59:08: Particle Affector Type 'ColourInterpolator' registered
19:59:08: Particle Affector Type 'Scaler' registered
19:59:08: Particle Affector Type 'Rotator' registered
19:59:08: Particle Affector Type 'DirectionRandomiser' registered
19:59:08: Particle Affector Type 'DeflectorPlane' registered
19:59:08: Plugin successfully installed
19:59:08: Added resource location 'scripts' of type 'FileSystem' to resource group 'General'
19:59:08: D3D9 : RenderSystem Option: Allow NVPerfHUD = No
19:59:08: D3D9 : RenderSystem Option: Anti aliasing = None
19:59:08: D3D9 : RenderSystem Option: Floating-point mode = Fastest
19:59:08: D3D9 : RenderSystem Option: Full Screen = Yes
19:59:08: D3D9 : RenderSystem Option: Rendering Device = NVIDIA GeForce 6800
19:59:08: D3D9 : RenderSystem Option: VSync = No
19:59:08: D3D9 : RenderSystem Option: Video Mode = 800 x 600 @ 32-bit colour
19:59:08: D3D9 : RenderSystem Option: sRGB Gamma Conversion = No
19:59:08: Creating resource group Bootstrap
19:59:08: Added resource location './packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
19:59:08: Added resource location './' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './fonts' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './materials/programs' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './materials/scripts' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './materials/textures' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './models' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './overlays' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './particle' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './gui' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './DeferredShadingMedia' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './PCZAppMedia' of type 'FileSystem' to resource group 'General'
19:59:08: Added resource location './packs/cubemap.zip' of type 'Zip' to resource group 'General'
19:59:08: Added resource location './packs/dragon.zip' of type 'Zip' to resource group 'General'
19:59:08: Added resource location './packs/fresneldemo.zip' of type 'Zip' to resource group 'General'
19:59:08: Added resource location './packs/ogretestmap.zip' of type 'Zip' to resource group 'General'
19:59:08: Added resource location './packs/skybox.zip' of type 'Zip' to resource group 'General'
19:59:08: CPU Identifier & Features
19:59:08: -------------------------
19:59:08:  *   CPU ID: GenuineIntel: Intel(R) Pentium(R) D CPU 3.20GHz
19:59:08:  *      SSE: yes
19:59:08:  *     SSE2: yes
19:59:08:  *     SSE3: yes
19:59:08:  *      MMX: yes
19:59:08:  *   MMXEXT: yes
19:59:08:  *    3DNOW: no
19:59:08:  * 3DNOWEXT: no
19:59:08:  *     CMOV: yes
19:59:08:  *      TSC: yes
19:59:08:  *      FPU: yes
19:59:08:  *      PRO: yes
19:59:08:  *       HT: yes
19:59:08: -------------------------
19:59:08: D3D9 : Subsystem Initialising
19:59:08: D3D9RenderSystem::_createRenderWindow "My Test Game", 800x600 fullscreen  miscParams: FSAA=0 FSAAQuality=0 colourDepth=32 gamma=false useNVPerfHUD=false vsync=false 
19:59:08: D3D9 : Created D3D9 Rendering Window 'My Test Game' : 800x600, 32bpp
19:59:08: Registering ResourceManager for type Texture
19:59:08: Registering ResourceManager for type GpuProgram
19:59:08: D3D9: Vertex texture format supported - PF_FLOAT32_RGB
19:59:08: D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
19:59:08: D3D9: Vertex texture format supported - PF_FLOAT32_R
19:59:08: RenderSystem capabilities
19:59:08: -------------------------
19:59:08: RenderSystem Name: Direct3D9 Rendering Subsystem
19:59:08: GPU Vendor: nvidia
19:59:08: Device Name: NVIDIA GeForce 6800
19:59:08: Driver Version: 6.14.10.7774
19:59:08:  * Fixed function pipeline: yes
19:59:08:  * Hardware generation of mipmaps: yes
19:59:08:  * Texture blending: yes
19:59:08:  * Anisotropic texture filtering: yes
19:59:08:  * Dot product texture operation: yes
19:59:08:  * Cube mapping: yes
19:59:08:  * Hardware stencil buffer: yes
19:59:08:    - Stencil depth: 8
19:59:08:    - Two sided stencil support: yes
19:59:08:    - Wrap stencil values: yes
19:59:08:  * Hardware vertex / index buffers: yes
19:59:08:  * Vertex programs: yes
19:59:08:  * Fragment programs: yes
19:59:08:  * Geometry programs: no
19:59:08:  * Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
19:59:08:  * Texture Compression: yes
19:59:08:    - DXT: yes
19:59:08:    - VTC: no
19:59:08:  * Scissor Rectangle: yes
19:59:08:  * Hardware Occlusion Query: yes
19:59:08:  * User clip planes: yes
19:59:08:  * VET_UBYTE4 vertex element type: yes
19:59:08:  * Infinite far plane projection: yes
19:59:08:  * Hardware render-to-texture: yes
19:59:08:  * Floating point textures: yes
19:59:08:  * Non-power-of-two textures: yes
19:59:08:  * Volume textures: yes
19:59:08:  * Multiple Render Targets: 4
19:59:08:    - With different bit depths: no
19:59:08:  * Point Sprites: yes
19:59:08:  * Extended point parameters: yes
19:59:08:  * Max Point Size: 8192
19:59:08:  * Vertex texture fetch: yes
19:59:08:    - Max vertex textures: 4
19:59:08:    - Vertex textures shared: no
19:59:08:  * Render to Vertex Buffer : no
19:59:08:  * DirectX per stage constants: yes
19:59:08: ***************************************
19:59:08: *** D3D9 : Subsystem Initialised OK ***
19:59:08: ***************************************
19:59:08: ResourceBackgroundQueue - threading disabled
19:59:08: Particle Renderer Type 'billboard' registered
19:59:08: SceneManagerFactory for type 'OctreeSceneManager' registered.
19:59:08: SceneManagerFactory for type 'TerrainSceneManager' registered.
19:59:08: Parsing scripts for resource group Autodetect
19:59:08: Finished parsing scripts for resource group Autodetect
19:59:08: Parsing scripts for resource group Bootstrap
19:59:08: Parsing script OgreCore.material
19:59:08: Parsing script OgreProfiler.material
19:59:08: Parsing script Ogre.fontdef
19:59:08: Parsing script OgreDebugPanel.overlay
19:59:08: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
19:59:08: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
19:59:08: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
19:59:08: Font BlueHighwayusing texture size 512x512
19:59:08: Info: Freetype returned null for character 127 in font BlueHighway
19:59:08: Info: Freetype returned null for character 128 in font BlueHighway
19:59:08: Info: Freetype returned null for character 129 in font BlueHighway
19:59:08: Info: Freetype returned null for character 130 in font BlueHighway
19:59:08: Info: Freetype returned null for character 131 in font BlueHighway
19:59:08: Info: Freetype returned null for character 132 in font BlueHighway
19:59:08: Info: Freetype returned null for character 133 in font BlueHighway
19:59:08: Info: Freetype returned null for character 134 in font BlueHighway
19:59:08: Info: Freetype returned null for character 135 in font BlueHighway
19:59:08: Info: Freetype returned null for character 136 in font BlueHighway
19:59:08: Info: Freetype returned null for character 137 in font BlueHighway
19:59:08: Info: Freetype returned null for character 138 in font BlueHighway
19:59:08: Info: Freetype returned null for character 139 in font BlueHighway
19:59:08: Info: Freetype returned null for character 140 in font BlueHighway
19:59:08: Info: Freetype returned null for character 141 in font BlueHighway
19:59:08: Info: Freetype returned null for character 142 in font BlueHighway
19:59:08: Info: Freetype returned null for character 143 in font BlueHighway
19:59:08: Info: Freetype returned null for character 144 in font BlueHighway
19:59:08: Info: Freetype returned null for character 145 in font BlueHighway
19:59:08: Info: Freetype returned null for character 146 in font BlueHighway
19:59:08: Info: Freetype returned null for character 147 in font BlueHighway
19:59:08: Info: Freetype returned null for character 148 in font BlueHighway
19:59:08: Info: Freetype returned null for character 149 in font BlueHighway
19:59:08: Info: Freetype returned null for character 150 in font BlueHighway
19:59:08: Info: Freetype returned null for character 151 in font BlueHighway
19:59:08: Info: Freetype returned null for character 152 in font BlueHighway
19:59:08: Info: Freetype returned null for character 153 in font BlueHighway
19:59:08: Info: Freetype returned null for character 154 in font BlueHighway
19:59:08: Info: Freetype returned null for character 155 in font BlueHighway
19:59:08: Info: Freetype returned null for character 156 in font BlueHighway
19:59:08: Info: Freetype returned null for character 157 in font BlueHighway
19:59:08: Info: Freetype returned null for character 158 in font BlueHighway
19:59:08: Info: Freetype returned null for character 159 in font BlueHighway
19:59:08: Info: Freetype returned null for character 160 in font BlueHighway
19:59:08: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
19:59:08: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
19:59:08: Parsing script OgreLoadingPanel.overlay
19:59:08: Finished parsing scripts for resource group Bootstrap
19:59:08: Parsing scripts for resource group General
19:59:08: Parsing script Examples.program
19:59:08: Parsing script StdQuad_vp.program
19:59:08: Parsing script deferred.glsl.program
19:59:08: Parsing script deferred.hlsl.program
19:59:08: Parsing script deferred.program
19:59:08: Parsing script deferred_post_ambient.program
19:59:08: Parsing script deferred_post_debug.glsl.program
19:59:08: Parsing script deferred_post_debug.hlsl.program
19:59:08: Parsing script deferred_post_debug.program
19:59:08: Parsing script deferred_post_minilight.glsl.program
19:59:08: Parsing script deferred_post_minilight.hlsl.program
19:59:08: OGRE EXCEPTION(2:InvalidParametersException): Parameter called lightFalloff does not exist.  in GpuProgramParameters::_findNamedConstantDefinition at ..\src\OgreGpuProgram.cpp (line 1097)
19:59:08: Compiler error: invalid parameters in deferred_post_minilight.hlsl.program(27): setting of constant failed
19:59:08: Parsing script deferred_post_minilight.program
19:59:08: Parsing script deferred_post_multipass.glsl.program
19:59:08: Parsing script deferred_post_multipass.hlsl.program
19:59:08: Parsing script deferred_post_onepass.glsl.program
19:59:08: Parsing script deferred_post_onepass.hlsl.program
19:59:08: Parsing script deferred_post_vs.program
19:59:08: Parsing script ASCII.material
19:59:08: Parsing script ASMSwizzle.material
19:59:08: Compiler error: object unsupported by render system in ASMSwizzle.material(1)
19:59:08: Parsing script BlackAndWhite.material
19:59:08: Parsing script Bloom.material
19:59:08: Parsing script Bloom2.material
19:59:08: Parsing script CGSwizzle.material
19:59:08: Parsing script DepthShadowmap.material
19:59:09: Parsing script Dither.material
19:59:09: Parsing script DOF.material
19:59:09: Parsing script Embossed.material
19:59:09: Parsing script Example-DynTex.material
19:59:09: Parsing script Example-Water.material
19:59:09: Parsing script Example.material
19:59:09: Parsing script Examples-Advanced.material
19:59:09: Parsing script facial.material
19:59:09: Parsing script Glass.material
19:59:09: Parsing script GLSLSwizzle.material
19:59:09: Parsing script Halftone.material
19:59:09: Parsing script hdr.material
19:59:09: Parsing script HeatVision.material
19:59:09: Parsing script highlander.material
19:59:09: Parsing script highlanderhouse.material
19:59:09: Parsing script Hurt.material
19:59:09: Parsing script instancing.material
19:59:09: Parsing script Invert.material
19:59:09: Parsing script IsoSurf.material
19:59:09: Parsing script Laplace.material
19:59:09: Parsing script MotionBlur.material
19:59:09: Parsing script MRTtest.material
19:59:09: Parsing script NightVision.material
19:59:09: Parsing script Ocean.material
19:59:09: Parsing script OffsetMapping.material
19:59:09: Parsing script Ogre.material
19:59:09: Parsing script OldMovie.material
19:59:09: Parsing script OldTV.material
19:59:09: Parsing script ParticleGS.material
19:59:09: Parsing script Posterize.material
19:59:09: Parsing script pssm.material
19:59:09: Parsing script RadialBlur.material
19:59:09: Parsing script RZR-002.material
19:59:09: Parsing script SharpenEdges.material
19:59:09: Parsing script skeleton.material
19:59:09: Parsing script smoke.material
19:59:09: Parsing script Tiling.material
19:59:09: Parsing script VarianceShadowmap.material
19:59:09: Parsing script deferred.material
19:59:09: Parsing script deferreddemo.material
19:59:09: Parsing script deferred_post_ambient.material
19:59:09: Parsing script deferred_post_debug.material
19:59:09: Parsing script deferred_post_minilight.material
19:59:09: Parsing script deferred_post_multipass.material
19:59:09: Parsing script deferred_post_onepass.material
19:59:09: Parsing script ROOM.material
19:59:09: Parsing script RomanBath.material
19:59:09: Parsing script emitted_emitter.particle
19:59:09: Parsing script Example-Water.particle
19:59:09: Parsing script Example.particle
19:59:09: Parsing script smoke.particle
19:59:09: Parsing script Examples.compositor
19:59:09: Parsing script deferred.compositor
19:59:09: Parsing script sample.fontdef
19:59:09: Parsing script Compositor.overlay
19:59:09: Parsing script DP3.overlay
19:59:09: Parsing script Example-CubeMapping.overlay
19:59:09: Parsing script Example-DynTex.overlay
19:59:09: Parsing script Example-Water.overlay
19:59:09: Parsing script Shadows.overlay
19:59:09: Finished parsing scripts for resource group General
19:59:09: Parsing scripts for resource group Internal
19:59:09: Finished parsing scripts for resource group Internal
19:59:09: OGRE EXCEPTION(5:ItemIdentityException): Could not find material console/background in SimpleRenderable::setMaterial at ..\src\OgreSimpleRenderable.cpp (line 64)
GameLog

Code: Select all

19:59:08: Creating rendering window...
19:59:08: Game Initializing...
19:59:08: Initializing resource groups...
19:59:09: Creating default scene manager...
19:59:09: Creating camera...
19:59:09: Creating viewport...
19:59:09: Setting up frame listener...
19:59:09: Calling onInitGraphics script function...
19:59:09: Initializing input subsystem...
19:59:09: Calling onInitInput script function...
19:59:09: Key: 1 bound to function quitGame for key press event
19:59:09: Key: 17 bound to function moveForward for key press event
19:59:09: Key: 31 bound to function moveBackward for key press event
19:59:09: Key: 30 bound to function moveLeft for key press event
19:59:09: Key: 32 bound to function moveRight for key press event
19:59:09: Initializing console....

Post Reply