Page 18 of 22

Posted: Sat Sep 08, 2007 2:34 pm
by hybrid
You can use burning video driver by using the new enum value EDT_BURNINGSVIDEO instead of software2. And try to include <ctype.h> or <cctype> to get isspace declaration. That's usually better then making it manually.

audiere.lib

Posted: Sun Sep 09, 2007 3:42 am
by dennisbarnes
hello I am useing code blocks v10 and Irrlicht 1.3.1

when i run codeblocks i get this error

LINK : fatal error LNK1181: cannot open input file 'audiere.lib'

I try tp fix the problem When't to the Build Options Open the linker Libraies and add the audiere.lib
try to rebuild but the error came back can some one help me fix this problem
thankyou for all your help





Project : Irrlicht Project
Compiler : Microsoft Visual C++ Toolkit 2003 (called directly)
Directory : C:\irrlicht\myproject\
--------------------------------------------------------------------------------
Switching to target: default
GamePathManager.cpp
source\ai\GamePathManager.cpp(60) : warning C4018: '<' : signed/unsigned mismatch
source\ai\GamePathManager.cpp(164) : warning C4018: '<' : signed/unsigned mismatch
source\ai\GamePathManager.cpp(229) : warning C4244: 'argument' : conversion from 'int' to 'irr::f32', possible loss of data
source\ai\GamePathManager.cpp(229) : warning C4244: 'argument' : conversion from 'int' to 'irr::f32', possible loss of data
source\ai\GamePathManager.cpp(229) : warning C4244: 'argument' : conversion from 'int' to 'irr::f32', possible loss of data
source\ai\GamePathManager.cpp(207) : warning C4101: 'attr' : unreferenced local variable
c:\irrlicht\myproject\source\ai\gamepathmanager.cpp(122) : warning C4715: 'CGamePathManager::getWaypointAt' : not all control paths return a value
GamePather.cpp
ConfigManager.cpp
SoundConfig.cpp
tinystr.cpp
tinyxml.cpp
tinyxmlerror.cpp
tinyxmlparser.cpp
GameEntity.cpp
GameFXManager.cpp
source\core\GameFXManager.cpp(121) : warning C4244: 'argument' : conversion from 'irr::u32' to 'const irr::f32', possible loss of data
source\core\GameFXManager.cpp(121) : warning C4244: 'argument' : conversion from 'irr::u32' to 'const irr::f32', possible loss of data
GameItem.cpp
GameItemManager.cpp
source\core\GameItemManager.cpp(89) : warning C4018: '<' : signed/unsigned mismatch
GameManager.cpp
GameParticleEffect.cpp
GamePlayer.cpp
GameState.cpp
GameEnemy.cpp
GameEnemyManager.cpp
source\engine\GameEnemyManager.cpp(77) : warning C4018: '>=' : signed/unsigned mismatch
GameEnemyOwnedStates.cpp
GameWeapon.cpp
GameWeaponManager.cpp
GameWeaponOwnedStates.cpp
Game.cpp
GameCreditsState.cpp
GameIntroState.cpp
GameMenuState.cpp
GamePlayState.cpp
GameStateLevel01.cpp
GameStateLoad01.cpp
main.cpp
Console.cpp
source\script\Console.cpp(44) : warning C4156: deletion of an array expression without using the array form of 'delete'; array form substituted
source\script\Console.cpp(44) : warning C4154: deletion of an array expression; conversion to pointer supplied
ConsoleComands.cpp
AudiereSoundManager.cpp
FmodSoundManager.cpp
GameSoundManager.cpp
Linking console executable: Irrlicht.exe
LINK : fatal error LNK1181: cannot open input file 'audiere.lib'
Process terminated with status 1 (2 minutes, 6 seconds)
1 errors, 13 warnings

Posted: Sun Sep 09, 2007 1:36 pm
by Zigma
hybrid wrote:You can use burning video driver by using the new enum value EDT_BURNINGSVIDEO instead of software2. And try to include <ctype.h> or <cctype> to get isspace declaration. That's usually better then making it manually.
Hi

Thats interesting, <ctype.h> is already included in tinyxmlparser.cpp, tinyxml.h and tinyxml.cpp

i did try to also include <cctype> but no sucsess.

I have litle coding experience but i try to understand way i have to do the changes i posted before.

Im using VC++ 7.1 Irrlight 1.3.1 and Win XP

Obout software2 i dont need it in my project at this stage so i ust comented it out :wink:

Posted: Sun Sep 09, 2007 2:23 pm
by hybrid
Since you're using Irrlicht you can also use core::isspace which should work as expected.

Posted: Wed Sep 26, 2007 4:36 am
by a_haouchar
Thanks for the modification method Zigma

But im using the camera rpg code(i forgot what it was called) and it throws an error. I dont think their be much help but here

here: Image

Do you need the source code?

Posted: Wed Sep 26, 2007 11:09 am
by monkeycracks
If I'm not mistaken, the solution is to rename Frustrum to Frustum

Posted: Fri Sep 28, 2007 1:26 am
by a_haouchar
Thanks i'll try tonight.

IS their any programmers that could help me implement a combat system in the engine, So lara can shoot because I have no clue how to do it:( So far she can run,jump and climb(buggy) and thats help from area51.

edit: Area51 is too busy to work on irrwizard, his too busy with work, thats all i know and cannot help anyone with irrwizard.

edit again: i got 3 errors now:
Image
Sorry for the lack of info, i can post the errors in-detail if you want?

Posted: Fri Sep 28, 2007 7:30 am
by hybrid
There have been more changes to the public API in the last releases, you simply have to adapt your code to the new API. The getFrustum method is now const (add the const after the parameters in declaration and definition). And the parameter for setDebugDataVisible has changed from bool to an enum. Change it to a proper value.

Posted: Fri Sep 28, 2007 12:01 pm
by abraham
thanks i''ll try tomorrow.

edit: crap i just relsied i have 2 accounts here!! sorry

Posted: Mon Oct 08, 2007 2:29 pm
by buzz44
I major flaw I realised tonight is that there is 1 Path Manager for all enemies. Meaning if you have more then 1 enemy you'll notice some strange thing's like them being able to go to nodes that they shouldn't be allowed to.

If anyone is experience things like that you need create a new path manager for every enemy so they can do their own thing, otherwise the values returned for calculating the paths, nodes etc, get scrambled because all the enemies are accessing the same values.

Posted: Wed Oct 10, 2007 8:39 pm
by christianclavet
Hi, I downloaded the 1.2 version from the SourceForge site and was able to compile de FPS Framework. It's great.

But is the AI working only in OPENGL? When switching on DirectX, the ennemies did nothing.

Also, the ennemies bullets seem to go thru the floors and walls. 30 second to live! We have to implement bullet collision with the environnement?

Posted: Sat Oct 20, 2007 12:21 pm
by smartwhiz
hav anyone tried compiling it with irrlicht latest version??

Posted: Mon Oct 22, 2007 9:49 pm
by roguelike
@buzz44 - I'm doing an RPG with it, and havn't noticed any problems with multiple NPC's using a single PathManager. I think you dont need to have many PathManagers, this would be a terrible waste of resources.
I have 50 NPC's running around a town I made, and they all behave very well. Flawles in fact.

Maybe your code has gone all wrong, I dont know. Or maybe the navGraph that comes with the test level is a little wrong. I have found strange things happen when this is slightly out.

Also, I did have a problem early on. The navGraph was OK, as it's built at the same time as my town is built (Random town). But I wanted my NPC's to wander around randomly as well.

What I found was if the start and end node is the same, you can get that is you use the getRandomWaypoint() thing with IrrWizard. It tried to calculate it, but somehow came up with a strange number.
Make sure you check for start and end node being the same, then change state.(But remember to put a 'return' after a change state to make sure it jump out and not calculate the path).

Anyway, just to say you dont need many PathManagers.

@christianclavet - The AI wont matter if it's OpenGL or DX, sounds like a rendering thing.

The shooting does go through the walls, it uses a poor mans way of shooting, my RPG dosnt matter for this, but I have noticed that you can add your own 'line of sight' check here:

Code: Select all

//! Test to see if a path is available to target position, has
//! line of sight and could move directly there.
bool CGameEnemy::isPathObstructed(core::vector3df targetPos)
{
     // to be implemented
    return false;
}
The FSM does actually call that method, but as you can see, always return false.

There are a few things like that, I think it's because you need to add much more error checking and stuff, they just give you the bare minimum to get things going. I think it makes it a bit easier to read without too much clutter and stuff though.

@smartwhiz My RPG uses Irrlicht 1.2, but I have compiled it to 1.4. Just a few minor changes s32 to u32's, a couple changed methods and a strange error with TinyXML (not sure how that got broke though). I just read through a few posts before, other people gave the answers. I had to go back because the RPG camera i used and a couple of other things broke as well. The standard irrWizard uses the normal Camera, so you should be alright.
________
Sc2 replays

Posted: Fri Oct 26, 2007 10:25 pm
by christianclavet
christianclavet - The AI wont matter if it's OpenGL or DX, sounds like a rendering thing.
I'm not so sure about that. If the code is only defining the display, that would be true, but I think it's doing more than that. There seem to be a flag there that disable the AI and ennemies from working.

I've haven't found were...

Posted: Sat Oct 27, 2007 8:39 am
by roguelike
Hi, Ive created a new project to test in both OpenGL and DirectX, (just changing the config.xml, not code), and they both worked fine.

When you said the AI didnt work, did you mean the enemies werent visable, or were visable but stood still?

I've been using it for a while now on my project, and havn't noticed any switch that disables the AI if in DirectX mode.

You could try updating your DX drivers, or maybe test it out on another PC.

It is a strange error you have though.

Here is a bit of code that does a line of sight check, you can put it in the isPathObstructed method above to stop the enimies shooting through walls:

Code: Select all

scene::ISceneNode* m_pSelectedSceneNode =	
		pEnemy->getGameManager()->getSceneManager()->getSceneCollisionManager()->
			getSceneNodeFromCameraBB(pEnemy->getGameManager()->getSceneManager()->getActiveCamera());

if (m_pSelectedSceneNode && m_pSelectedSceneNode->getID() == pEnemy->getMeshNode()->getID())
    return false;
else
    return true;
		
________
Video review