Welcome! Log In Create A New Profile

Advanced

Libwiisprite Sprite error

Posted by Copephobia 
Libwiisprite Sprite error
July 29, 2009 05:49AM
Just started to use libwiisprite, and I can't seem to get passed the sprite error. I am using the libwiisprite tutorial on wiibrew.

#include 
#include 
 
// libwiisprite uses wsp as it's namespace
using namespace wsp;
 
int main(int argc, char **argv)
{
	// Create the game window and initalise the VIDEO subsystem
	GameWindow gwd;
	gwd.InitVideo();
 
	gwd.SetBackground((GXColor){ 255, 255, 255, 255 });
 
	// Initialise Wiimote
	WPAD_Init();
 
	for(;;)
	{
		WPAD_ScanPads();
		if(WPAD_ButtonsDown(WPAD_CHAN_0)&WPAD_BUTTON_HOME)
			break;
		gwd.Flush();
	}
	return 0;
}

That code compiles perfectly, but as soon as I add:

Sprite sprite;

Adding that both above and below the int main part causes this error:
> "make" 
main.cpp
linking ... main.elf
c:/devkitPro/libogc/lib/wii\libwiisprite.a(sprite.o): In function `wsp::Sprite::Draw(float, float) const':
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:422: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:423: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:424: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:425: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:426: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:427: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:428: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:429: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:430: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:431: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:432: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:433: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:434: undefined reference to `GX_End'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:405: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:406: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:407: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:408: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:409: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:410: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:411: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:412: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:413: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:414: undefined reference to `GX_Position2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:415: undefined reference to `GX_Color4u8'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:416: undefined reference to `GX_TexCoord2f32'
/home/chaosteil/code/wii/libwiisprite/source/sprite.cpp:417: undefined reference to `GX_End'
collect2: ld returned 1 exit status
make[1]: *** [/c/devkitpro/examples/wii/main/main.elf] Error 1
"make": *** [build] Error 2

> Process Exit Code: 2
> Time Taken: 00:01



Any ideas?
Re: Libwiisprite Sprite error
July 29, 2009 06:21AM
Those missing functions are no longer found in libogc.a, but in gx.h. You need to either recompile your libwiisprite.a, or find one built with the current libogc.
Re: Libwiisprite Sprite error
July 29, 2009 06:23AM
okay, thanks a ton
Re: Libwiisprite Sprite error
August 01, 2009 04:08AM
There is a a library that works with the current libogc here: Arikado's Page
Re: Libwiisprite Sprite error
August 01, 2009 06:41PM
Ahh thank you. Now the question is, how do I make animation sequences from a sprite sheet? I didn't understand the tutorial that much.
I understand the sprite sheet and how to divide it up into different tiles, but how do I use each tile in a sequence?
Re: Libwiisprite Sprite error
August 01, 2009 08:00PM
To make a sprite sheet, first figure out what you would like the size of each frame to be. Remember that you must choose a width and height value that is a multiple of 4.

After that, make a .png image with images (frames/tiles) of that specified width and height value. Save the entire thing as one .png image.

Then in your code:
//Initialize for rendering
Image MySpriteSheet;
Sprite MySprite;
MySpriteSheet.LoadImage(path);
MySprite.SetImage(MySpriteSheet, width, height);

//Render
MySprite.SetPosition(X, Y);
MySprite.Draw();

//Advance to the next frame
MySprite.Next();

//Advance to the previous frame
MySprite.Prev();
Re: Libwiisprite Sprite error
August 01, 2009 08:43PM
Thank you very much!
Sorry, only registered users may post in this forum.

Click here to login