Magic Library - True Type windows font
Hi Emil:
I've tried to use your new system for collision, but I can't do it.
Can you explain more how we can use it?
What are the parameters of the function:
if(SpriteCollide->CheckPixelCollide(MsslCollide,Mx,My,
SprtX,100,Sprite->GetCurntFrame()))
What it do? Check the collision between SpriteCollide and MsslCollide? and what is sprite so??
And How can I use it if I have to check a collision between a TAnimImage (with only one frame) and a SMaterial?
Please, explain all that you can for your great work!
I've tried to use your new system for collision, but I can't do it.
Can you explain more how we can use it?
What are the parameters of the function:
if(SpriteCollide->CheckPixelCollide(MsslCollide,Mx,My,
SprtX,100,Sprite->GetCurntFrame()))
What it do? Check the collision between SpriteCollide and MsslCollide? and what is sprite so??
And How can I use it if I have to check a collision between a TAnimImage (with only one frame) and a SMaterial?
Please, explain all that you can for your great work!
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
Hi zarstar
sorry for not clear enough,here is the complete Example
so we want to chech the sollision between the Missle (SMaterial type) against Sprite (TAnimImage* type).
in the above example we created two masks , one for Missle (MsslCollide)and the other for Sprite (SpriteCollide),and those are the object we use when we chech the collision.
here is the prorotype of the function
let us apply it for our example,we want to chech if Sprite was collide with
the Missle,so we call CheckPixelCollide of the SpriteCollide just like this
the first parameter is a pointer to other object that you want to chech the collision with(MsslCollide),the 2nd and 3th parameters are the current coordinates of Other Object Missle Image(Mx,My)(mouse coordinates) ,the 4th and 5th parameters are the current coordinates of Sprite(animated Image)(SprtX,100),the last parameter is the current frame of animated Image and you can get it by call GetCurntFrame Member function of animated Image(Sprite->GetCurntFrame()).
that is all
i hope that it is become more clear by now.
thanks
sorry for not clear enough,here is the complete Example
Code: Select all
/************************************
Magic library
Collision 2D test will teach
you how to make it.
By Emil Halim
*************************************/
#include <irrlicht.h>
#include <Magic2d.hpp>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
// global declration of Irrlicht interfaces
IrrlichtDevice* device;
IVideoDriver* driver;
ISceneManager* smgr;
IGUIEnvironment* guienv;
int main()
{
device = createDevice(EDT_OPENGL, dimension2d<s32>(640, 480), 32);
bool rslt = InitMagic(device);
if(rslt == false)
printf("Magic Library will only work with OpenGL driver");
device->setWindowCaption(L"Hello World! - Magic 2d library for Irrlicht");
driver = device->getVideoDriver();
smgr = device->getSceneManager();
guienv = device->getGUIEnvironment();
SMaterial F17;
F17.Texture1 = driver->getTexture("../../media/F117.png");
driver->makeColorKeyTexture(F17.Texture1,position2d<s32>(0,0));
SMaterial Missle;
Missle.Texture1 = driver->getTexture("../../media/Missle.Bmp");
driver->makeColorKeyTexture(Missle.Texture1,position2d<s32>(0,0));
TAnimImage* Explode = new TAnimImage(driver);
Explode->Load("../../media/Explode.bmp",0,0,1024,64,64,64);
Explode->setSpeed(50);
Explode->setRepeatPlay(2);
TAnimImage* Sprite = new TAnimImage(driver);
Sprite->Load("../../media/sonwalk.bmp",0,0,40*8,40,40,40);
Sprite->setSpeed(100);
// collision stuff
TMaskCollision* SpriteCollide = new TMaskCollision;
SpriteCollide->Create("../../media/sonwalk.bmp",40,40);
TMaskCollision* MsslCollide = new TMaskCollision;
MsslCollide->Create("../../media/Missle.Bmp");
HideMouse();
int lastFPS = -1;
while(device->run())
{
driver->beginScene(true, true, SColor(0,0,0,0));
ViewOrtho();
static f32 SprtX=0,inc=0.1f;
if(SprtX>640){inc=-0.1f; Sprite->FlipX(true);}
if(SprtX<0){inc= 0.1f; Sprite->FlipX(false);}
SprtX+=inc;
SetBlend(ALPHABLEND);
SetColor(255,255,255);
SetAlpha(1.0);
static f32 Mx,My,Ey;
static bool flg = false,fire = false;
static s32 Expl = 0;
s32 MsX = MouseX();
driver->setMaterial(F17);
DrawImage(F17,(f32)MsX,450);
if(MouseLeftKeyDown())
{
My = 450;
Mx = (f32)MsX;
flg = true;
}
if(flg)
{
driver->setMaterial(Missle);
DrawImage(Missle,Mx,My);
My -= 1;
if(My < 0) flg = false;
}
//! check for collision between sprite and Missle
if(SpriteCollide->CheckPixelCollide(MsslCollide,Mx,My,SprtX,100,Sprite->GetCurntFrame()))
{
fire=true;
flg=false;
Ey = My;
My = 450;
}
//! draw explotion if collide take place
if(fire)
{
Explode->Update();
Expl=Explode->Draw(Mx,Ey);
SprtX=0;
}
if(Expl==1){fire = false; Explode->ResetRepeatPlay();}
if(!fire)
{
Sprite->Update();
Sprite->Draw(SprtX,100);
}
ViewPerspective();
// finally if we have some 3d stuff to draw , we use the next
// two lines
smgr->drawAll();
guienv->drawAll();
driver->endScene();
int fps = driver->getFPS();
if (lastFPS != fps)
{
wchar_t tmp[1024];
swprintf(tmp, 1024, L"Hello World! - Magic 2d library for Irrlicht (%s)(fps:%d)",driver->getName(), fps);
device->setWindowCaption(tmp);
lastFPS = fps;
}
}
device->drop();
return 0;
}
in the above example we created two masks , one for Missle (MsslCollide)and the other for Sprite (SpriteCollide),and those are the object we use when we chech the collision.
here is the prorotype of the function
Code: Select all
bool CheckPixelCollide(TMaskCollision* other,f32 other_x,f32 other_y,f32 x2,f32 y2,s32 frame);
the Missle,so we call CheckPixelCollide of the SpriteCollide just like this
Code: Select all
if(SpriteCollide->CheckPixelCollide(.............))
that is all
if i get it well ,why you use TAnimImage type for only one frame instead use SMaterial type?And How can I use it if I have to check a collision between a TAnimImage (with only one frame) and a SMaterial?
i hope that it is become more clear by now.
thanks
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
Hi Everybody
according to the thread of Irrlicht TechDemo
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=11267
there was a simple project that written by MikeR , i have decided to make a Splash window for this project , i have chenged it so that it uses Fmod library instead of audiere library.
here are a screenShots of Splas Window
download it from here
http://bcxdx.spoilerspace.com/BCXGL/IrrTechDemo.zip
hope that you like it and add your own contribution code to make a stuning Irrlicht techDemo .
here is the Splash code
here is the Main code
thanks
according to the thread of Irrlicht TechDemo
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=11267
there was a simple project that written by MikeR , i have decided to make a Splash window for this project , i have chenged it so that it uses Fmod library instead of audiere library.
here are a screenShots of Splas Window
download it from here
http://bcxdx.spoilerspace.com/BCXGL/IrrTechDemo.zip
hope that you like it and add your own contribution code to make a stuning Irrlicht techDemo .
here is the Splash code
Code: Select all
/************************************
Magic library
Splash Window For Irrlicht
TechDemo
By Emil Halim
*************************************/
#include <CFmod.cpp>
struct chrPostion
{
f32 initX,initY,initZ;
f32 finlX,finlY,finlZ;
f32 X,Y,Z;
void Create(f32 ix,f32 iy,f32 iz,f32 fx,f32 fy,f32 fz)
{
initX=X=ix;
initY=Y=iy;
initZ=Z=iz;
finlX=fx;
finlY=fy;
finlZ=fz;
}
void Update(f32 factor)
{
if(factor < 0.0f)
{
X=initX;
Y=initY;
Z=initZ;
return;
}
if(factor > 1.0f)
{
X=finlX;
Y=finlY;
Z=finlZ;
return;
}
X=factor*finlX+(1.0f-factor)*initX;
Y=factor*finlY+(1.0f-factor)*initY;
Z=factor*finlZ+(1.0f-factor)*initZ;
}
};
ISceneManager* SplashSmgr=0;
SMaterial FontA;
TMagicCharSceneNode *CharNode[8];
chrPostion ChrPos[8];
SMaterial Rain;
TTime *Timer1,*Timer2,*Timer3;
SMaterial logoimage;
SMaterial rastaImage;
TFadeInOut* Fade;
#define StarCount 1000
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define Speed 0.2f
#define NoOfLayers 3
SMaterial dot;
IFmod* Music;
struct STAR
{
f32 x,y;
};
STAR Star[StarCount];
BOOL RenderSplash()
{
device->run();
driver->beginScene(true, true, SColor(0,0,0,0));
if(Timer1->CheckStartTime())
{
static f32 intr=0.0f,rot=0.0f;
intr+=0.001f;
rot+=1;
if(rot>359) rot=0.0f;
for(s32 i=0; i<8; i++)
{
ChrPos[i].Update(intr);
CharNode[i]->setPosition(vector3df(ChrPos[i].X,ChrPos[i].Y,ChrPos[i].Z));
CharNode[i]->setRotation(core::vector3df(0,rot,0));
}
}
if(Timer2->CheckStartTime())
{
static f32 fade =0.0;
const f32 Fval = 0.05f*4;
fade+=0.001f;
for(s32 i=0; i<8; i++)
if(fade>Fval*i)
{
f32 a = 1.0f-fade+Fval*i;
CharNode[i]->setAlpha(a>0?a:0);
}
}
if(Timer3->CheckTime())
{
ViewOrtho();
SetBlend(ALPHABLEND);
SetColor(255,255,255);
static f32 fd=0.0;
fd += 0.01f;
if(fd>1.0)fd=1.0;
SetAlpha(fd);
driver->setMaterial(Rain);
SetScale(1.5,3.0);
DrawImage(Rain,320,265);
SetScale(1.0,1.0);
driver->setMaterial(dot);
for(int k=0; k<NoOfLayers; k++)
{
u32 c = k*70+100;
SetColor(c,c,c);
for(int i=0; i<StarCount/NoOfLayers; i+=NoOfLayers)
{
Star[i+k].x -= Speed * (k+1);
if(Star[i+k].x<0)Star[i+k].x=SCREEN_WIDTH;
DrawImage(dot,Star[i+k].x,Star[i+k].y);
}
}
SetBlend(LIGHTBLEND);
SetScale(1.0f,1.7f);
SetColor(100,0,255);
SetAlpha(fd);
driver->setMaterial(rastaImage);
f32 xstart=0,ycenter=70,scale=28;
static f32 angle=0,angleadd=5,freq=1;
angle+=angleadd;
for(f32 i=0;i<640;i++)
{
f32 temp = i+xstart;
if(temp>0 || temp<640)
DrawImage(rastaImage, temp, ycenter + sin((i+angle)*freq*3.14159265f/180)*scale);
DrawImage(rastaImage, temp, ycenter+300 + sin((i+angle)*freq*3.14159265f/180)*scale);
}
SetColor(255,0,0);
SetScale(0.5f,1.0f);
Fade->FadeInOut(500,500,500,true);
driver->setMaterial(FontA);
DrawText("CLICK LEFT MOUSE KEY FOR SKIP",100,448);
ViewPerspective();
}
else
{
ViewOrtho();
SetBlend(ALPHABLEND);
SetColor(255,255,255);
SetAlpha(1.0);
static f32 Sy=3.0;
Sy -= 0.01f;
if(Sy<0)Sy=0;
SetScale(1.5,Sy);
driver->setMaterial(Rain);
DrawImage(Rain,320,265);
SetColor(255,0,0);
SetScale(0.5f,1.0f);
Fade->FadeInOut(500,500,500,true);
driver->setMaterial(FontA);
DrawText("CLICK LEFT MOUSE KEY FOR SKIP",100,448);
ViewPerspective();
}
SplashSmgr->drawAll();
ViewOrtho();
SetScale(1.0f,1.0f);
SetColor(255,10,255);
glLineWidth(5);
glPointSize(5);
driver->setMaterial(dot);
DrawFrame(0,0,640,480);
ViewPerspective();
driver->endScene();
BOOL falg = true;
if(KeyDown(32) || MouseLeftKeyDown()) falg = false;
return falg;
}
void InitSplash()
{
ICameraSceneNode* SplashCam = SplashSmgr->addCameraSceneNode(0, vector3df(0,0,-200), vector3df(0,0,0));
FontA.Texture1 = driver->getTexture("../../media/FontAmiga.bmp");
driver->makeColorKeyTexture(FontA.Texture1,position2d<s32>(0,0));
GLuint fntA = CreateFont(FontA,32,28,32);
SetFont(fntA);
for(s32 i=0; i<8; i++)
{
CharNode[i] = new TMagicCharSceneNode(SplashSmgr->getRootSceneNode(),SplashSmgr, i);
CharNode[i]->setFont(fntA,&FontA);
CharNode[i]->setBlend(ALPHABLEND);
CharNode[i]->setColor(255,255,255);
CharNode[i]->setPosition(vector3df(0.0f,0.0f,-201.0f));
CharNode[i]->setScale(vector3df(1,1.5f,0));
ChrPos[i].Create(0,0,-200,-140.0f+i*40,0,0);
}
CharNode[0]->setChar('I');
CharNode[1]->setChar('R');
CharNode[2]->setChar('R');
CharNode[3]->setChar('L');
CharNode[4]->setChar('I');
CharNode[5]->setChar('C');
CharNode[6]->setChar('H');
CharNode[7]->setChar('T');
Rain.Texture1 = driver->addTexture(dimension2d<s32>(512,100),"");
TTextureManipulator* txtImage = new TTextureManipulator(Rain.Texture1);
txtImage->StartDrawing();
txtImage->Clear();
u32 clr=0x00;
for(int h=1;h<50;h++)
{
for(int w=0;w<512;w++)
txtImage->WritePixel(w, h, 0xFF000000|clr);
clr+=0x5;
}
for(int h=50;h<100;h++)
{
for(int w=0;w<512;w++)
txtImage->WritePixel(w, h, 0xFF000000|clr);
clr-=0x5;
}
txtImage->StopDrawing();
dot.Texture1 = driver->addTexture(dimension2d<s32>(2,2),"");
s32* map =(s32*)dot.Texture1->lock();
for(int i=0;i<3;i++)*map++ = 0xFFffffff;
dot.Texture1->unlock();
rastaImage.Texture1 = driver->addTexture(dimension2d<s32>(2,64),"");
txtImage->set(rastaImage.Texture1);
txtImage->StartDrawing();
txtImage->Clear();
clr=0x00;
for(int h=0;h<32;h+=2)
{
for(int w=0;w<1;w++)
{
txtImage->WritePixel(w, h , 0xFF000000|clr);
txtImage->WritePixel(w, h+1, 0xFF000000|clr);
}
clr+=0xf0f0f;
}
for(int h=32;h<64;h+=2)
{
for(int w=0;w<1;w++)
{
txtImage->WritePixel(w, h , 0xFF000000|clr);
txtImage->WritePixel(w, h+1, 0xFF000000|clr);
}
clr-=0xf0f0f;
}
txtImage->StopDrawing();
randomize(GetTickCount()/1000);
for(int i=0;i<StarCount;i++)
{
reRndX:
Star[i].x = rnd()*(SCREEN_WIDTH);
if(Star[i].x > SCREEN_WIDTH || Star[i].x < 0) goto reRndX;
reRndY:
Star[i].y = rnd()*100+180;
if(Star[i].y > 180+90 || Star[i].y < 180) goto reRndY;
}
Fade = new TFadeInOut();
FmodInit();
Music = new TMusic;
Music->Load("../../media/mod/Efy8100.mp3");
Music->Play();
Music->SetVolume(100);
TimeInit();
Timer1 = new TTime(2000,0);
Timer2 = new TTime(8000,0);
Timer3 = new TTime(0,48000);
}
Code: Select all
/*
This is a Demo project made by the Irrlicht Community, showing off as many of the features
as possible within a tech-demo.
This first part was made by Mike Rowley http://www.3dcentral.net and is just a basic structure for
the community to add to.
For this example, Irrlicht and audiere are in the root (C:|) directory.
*/
#include <irrlicht.h>
#include <Magic2d.hpp>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
IrrlichtDevice *device = 0;
s32 cnt = 0;
bool closeDevice=false;
video::IVideoDriver* driver;
scene::ISceneManager* smgr=0;
#include "splash.cpp"
/*
The first thing we have is our event reciever. We need this so that our users can press "esc"
to exit. The event reciever can also be extended to do other operations within our program.
*/
class MyEventReceiver : public IEventReceiver
{
public :
virtual bool OnEvent(SEvent event)
{
if(event.EventType = EET_KEY_INPUT_EVENT)
{
switch(event.KeyInput.Key)
{
case KEY_ESCAPE:
device->closeDevice();
break;
}
return false;
}
}
};
//Let's get our program running
int main()
{
//we need a device to render our program
MyEventReceiver receiver;
device = createDevice(video:: EDT_OPENGL ,
core::dimension2d<s32>(640, 480), 32, false,true,true,&receiver);
if (device == 0)
return 1; // could not create selected driver.
//! initializing Magic Library
bool rslt = InitMagic(device);
if(rslt == false)
printf("Magic Library will only work with OpenGL driver");
driver = device->getVideoDriver();
smgr = device->getSceneManager();
SplashSmgr = smgr->createNewSceneManager();
//Our main world is loaded from a pk3 zip file.
device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");
//************ MAIN WORLD MESH *************************************************
//This world is complete with Irrlicht Collisions
scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp"); //It's in the zip file. No need to give directions.
scene::ISceneNode* q3node = 0;
if (q3levelmesh)
q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0));
scene::ITriangleSelector* selector = 0;
if (q3node)
{
q3node->setPosition(core::vector3df(-1370,-130,-1400));
selector = smgr->createOctTreeTriangleSelector(q3levelmesh->getMesh(0), q3node, 128);
q3node->setTriangleSelector(selector);
selector->drop();
}
//******How about a fire made with the Particle Scene Node*********************
// create camp fire
scene::IParticleSystemSceneNode* campFire = 0;
campFire = smgr->addParticleSystemSceneNode(false);
campFire->setPosition(core::vector3df(50,50,600));
campFire->setScale(core::vector3df(2,2,2));
campFire->setParticleSize(core::dimension2d<f32>(20.0f, 10.0f));
scene::IParticleEmitter* em = campFire->createBoxEmitter(
core::aabbox3d<f32>(-7,0,-7,7,1,7),
core::vector3df(0.0f,0.06f,0.0f),
80,100, video::SColor(0,255,255,255),video::SColor(0,255,255,255), 800,2000);
campFire->setEmitter(em);
em->drop();
scene::IParticleAffector* paf = campFire->createFadeOutParticleAffector();
campFire->addAffector(paf);
paf->drop();
campFire->setMaterialFlag(video::EMF_LIGHTING, false);
campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
campFire->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
//FPS CAMERA ************No Camera, No Scene*************************************
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f);
camera->setPosition(core::vector3df(-100,50,-150));
//Let's add a collision animator to the camera so that we have collision and gravity
scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
selector, camera, core::vector3df(30,50,30),
core::vector3df(0,-3,0),
core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop(); //Do not forget to drop the animator when we are finished with it.
// disable mouse cursor ******We don't want to see that ugly thing.*********
device->getCursorControl()->setVisible(false);
//***********************************************************
scene::ISceneNode* selectedSceneNode = 0;
scene::ISceneNode* lastSelectedSceneNode = 0;
//**********************************************************
//********************************************************
// splash window stuff & music
InitSplash();
TSplash *splah = new TSplash(driver);
splah->playSplash(RenderSplash,55000,640,200);
SplashSmgr->drop();
Music->SetVolume(0);
//********************************************************
int lastFPS = -1;
while(device->run())
if (device->isWindowActive())
{
driver->beginScene(true, true, 0);
smgr->drawAll(); //Draw the scene.
core::line3d<f32> line;
line.start = camera->getPosition();
line.end = line.start + (camera->getTarget() - line.start).normalize() * 1000.0f;
core::vector3df intersection;
core::triangle3df tri;
if (smgr->getSceneCollisionManager()->getCollisionPoint(
line, selector, intersection, tri))
{
driver->setTransform(video::ETS_WORLD, core::matrix4());
}
selectedSceneNode = smgr->getSceneCollisionManager()->getSceneNodeFromCameraBB(camera);
if (lastSelectedSceneNode)
lastSelectedSceneNode->setMaterialFlag(video::EMF_LIGHTING, false);
if (selectedSceneNode == q3node)
selectedSceneNode = 0;
if (selectedSceneNode)
selectedSceneNode->setMaterialFlag(video::EMF_LIGHTING, false);
lastSelectedSceneNode = selectedSceneNode;
/*
That's it, we just have to finish drawing.
*/
driver->endScene();
int fps = driver->getFPS();
if (lastFPS != fps)
{
core::stringw str = L"DemoWorld - Irrlicht Engine Example [";
str += driver->getName();
str += "] FPS:";
str += fps;
device->setWindowCaption(str.c_str());
lastFPS = fps;
}
}
device->drop();
return 0;
}
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
post some of those link errors to tell you what libraries to link with.
i am working on new Magic library that relies on shader language,see this link
http://irrlicht.sourceforge.net/phpBB2/ ... 9862#79862
i am working on new Magic library that relies on shader language,see this link
http://irrlicht.sourceforge.net/phpBB2/ ... 9862#79862
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
Code: Select all
main.o(.text+0x3d2e):main.cpp: undefined reference to `InitMagic(irr::IrrlichtDevice*)'
main.o(.text+0x5450):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x545c):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x5d80):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x5d8c):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x5dca):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x5dd6):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x5df2):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x5dff):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x5e6b):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x5e77):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x5f0a):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x5f16):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x5f32):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x5f3f):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x6086):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x6092):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6125):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x6131):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x614d):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x615a):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x62a1):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x62ad):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6340):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x634c):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6368):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x6375):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x64bc):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x64c8):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x655b):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x6567):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6583):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x6590):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x66d7):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x66e3):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6776):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x6782):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x679e):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x67ab):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x68f2):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x68fe):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x6991):main.cpp: undefined reference to `ViewOrtho()'
main.o(.text+0x699d):main.cpp: undefined reference to `SetBlend(int)'
main.o(.text+0x69b9):main.cpp: undefined reference to `SetColor(unsigned char, unsigned char, unsigned char)'
main.o(.text+0x69c6):main.cpp: undefined reference to `SetAlpha(float)'
main.o(.text+0x7844):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x788a):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x78d0):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x7916):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x795c):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x79a2):main.cpp: more undefined references to `DrawImage(irr::video::SMaterial, float, float)' follow
main.o(.text+0x7db5):main.cpp: undefined reference to `KeyDown(unsigned long)'
main.o(.text+0x7e23):main.cpp: undefined reference to `KeyDown(unsigned long)'
main.o(.text+0x7e91):main.cpp: undefined reference to `KeyDown(unsigned long)'
main.o(.text+0x7f7e):main.cpp: undefined reference to `KeyDown(unsigned long)'
main.o(.text+0x812d):main.cpp: undefined reference to `SetRotation(float)'
main.o(.text+0x8171):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x81d5):main.cpp: undefined reference to `SetRotation(float)'
main.o(.text+0x81fb):main.cpp: undefined reference to `DrawImage(irr::video::SMaterial, float, float)'
main.o(.text+0x8208):main.cpp: undefined reference to `SetRotation(float)'
main.o(.text+0x8224):main.cpp: undefined reference to `ViewPerspective()'
main.o(.text+0x8230):main.cpp: undefined reference to `SetBlend(int)'
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
instead of creating new one for Dx dev-C++ users, as i said ,i am working in new Magic Library that will has most of Magic2D library features and could be applied to 3D Chars and 2D Images , also it will be one code for Dx and Opengl users.
see the previous link.
see the previous link.
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
yes , it is a testing stage, you could copy and past the test codes from code snippets to a new project that you create and test it.
first i want to test that base code in many systemes befor i go farther, in my system i have test it with High and low level Dx shader and only low level Opengl my system does not supports GLSL.
first i want to test that base code in many systemes befor i go farther, in my system i have test it with High and low level Dx shader and only low level Opengl my system does not supports GLSL.
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
Hi All
here is the an Open source of Magic3D Library , it is based on Shader Laguage, it is testing stage so please if you want to contribute this project , test it and feed back your opinuion.
the media files needed are in media folder of any magic2d Library.
here is the link
http://bcxdx.spoilerspace.com/BCXGL/tes ... Lbrary.zip
Enjoy it.
here is the an Open source of Magic3D Library , it is based on Shader Laguage, it is testing stage so please if you want to contribute this project , test it and feed back your opinuion.
the media files needed are in media folder of any magic2d Library.
here is the link
http://bcxdx.spoilerspace.com/BCXGL/tes ... Lbrary.zip
Enjoy it.
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
alguem
wait please,i know that you want Magic2d for Dev-C++ for DX.
first directx 9 under Dev-C++ is illegal,
socend Dx version has not have all the features those were in Opengl,
3th Magic3D will have most of the features of OpenGL and will be open source and one code for OpenGl and directx users.
4th wait please it will take some times for Magic3D Library to be ready for use
wait please,i know that you want Magic2d for Dev-C++ for DX.
first directx 9 under Dev-C++ is illegal,
socend Dx version has not have all the features those were in Opengl,
3th Magic3D will have most of the features of OpenGL and will be open source and one code for OpenGl and directx users.
4th wait please it will take some times for Magic3D Library to be ready for use
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
hybrid: it is Microsoft strategy,you know i hate this company.
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/