<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Tutorial 4: Cursors</title>
	<atom:link href="http://www.codemii.com/2008/08/31/tutorial-4-cursors/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/</link>
	<description>Home of the Homebrew Browser and Wii tutorials</description>
	<lastBuildDate>Thu, 02 Feb 2012 00:41:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: JwopDk</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-12051</link>
		<dc:creator>JwopDk</dc:creator>
		<pubDate>Sat, 26 Nov 2011 04:32:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-12051</guid>
		<description>2 questions:
1. Would the following code draw a single dot at a given location? (this is your code but edited by me)

void DrawDot(int x, int y, u32 colour) {
	x &gt;&gt;= 1;
	u32 *tmpfb = xfb;
	tmpfb[x+(640*y)/2] = colour;
}

2. Are there any lines that are completely wrong in this code that I made to display a BMP image (yes, it&#039;s been tested and it crashed my wii)? 

// x and y are the image dimensions defined in the BMP header

int stoi(char *s) {
	int i, j = 0;
	int x[strlen(s)], k, l, a, b, num = 0;
	for (i = 0; s[i]; i++) {
		if (isdigit(s[i])) {
			x[j] = ((int)s[i] - 0x30);
			j++;
		}
	} for (k = 0, l = j-1; k &lt; j; k++, l++) {
		a = (int)pow(10, k);
		if (k == 0) a = 1;
		b = x[j];
		b *= a;
		num += b;
	} return num;
}

int x1 = 0, x2 = 0, y1 = 0, y2 = 0;

if (x % 2 != 0) {
		x1 = 320-((x-1)/2);
		x2 = x1+1;
}
else if (x % 2 == 0)
        x1 = x2 = 320-(x/2);
if (y % 2 != 0) {
	y1 = 240-((y-1)/2);
	y2 = y1+1;
} 
else if (y % 2 == 0)
        y1 = y2 = 240-(y/2);
u32 cp[x*y], d;
for (i = 0; i &lt; y; i++) {
	for (j = i*x*3+i*2+54, k = 0; j &lt;= i*x*3+i*2+66; j += 3, k++) {
		a = (int)buf[i+1];
		b = (int)buf[i];
		c = a&#124;b;
		char t[] = {(char)c, buf[i+2], (char)c, buf[i], &#039;&#039;};
		d = stoi(t);
		cp[k+i*y] = d;
	}
}
i = j = k = l = 0;
printf(&quot;\x1b[2J&quot;);
while(1) {
	VIDEO_ClearFrameBuffer(rmode, xfb, COLOUR_BLACK);
	i = j = k = l = 0;
	for (l = 0, j = x1; l &lt; x; l++, j++) {
		for (i = 0, k = y1; i &lt; y; i++) {
			DrawDot(j, k, cp[i+l*y]);
		}
	} WPAD_ScanPads();
	u32 home = WPAD_ButtonsDown(0);
	if (home &amp; WPAD_BUTTON_HOME) {
		printf(&quot;\x1b[2J&quot;);
		printf(&quot;\x1b[16;35HExiting...&quot;);
		return 0;
	} VIDEO_WaitVSync();
}</description>
		<content:encoded><![CDATA[<p>2 questions:<br />
1. Would the following code draw a single dot at a given location? (this is your code but edited by me)</p>
<p>void DrawDot(int x, int y, u32 colour) {<br />
	x &gt;&gt;= 1;<br />
	u32 *tmpfb = xfb;<br />
	tmpfb[x+(640*y)/2] = colour;<br />
}</p>
<p>2. Are there any lines that are completely wrong in this code that I made to display a BMP image (yes, it&#8217;s been tested and it crashed my wii)? </p>
<p>// x and y are the image dimensions defined in the BMP header</p>
<p>int stoi(char *s) {<br />
	int i, j = 0;<br />
	int x[strlen(s)], k, l, a, b, num = 0;<br />
	for (i = 0; s[i]; i++) {<br />
		if (isdigit(s[i])) {<br />
			x[j] = ((int)s[i] &#8211; 0&#215;30);<br />
			j++;<br />
		}<br />
	} for (k = 0, l = j-1; k &lt; j; k++, l++) {<br />
		a = (int)pow(10, k);<br />
		if (k == 0) a = 1;<br />
		b = x[j];<br />
		b *= a;<br />
		num += b;<br />
	} return num;<br />
}</p>
<p>int x1 = 0, x2 = 0, y1 = 0, y2 = 0;</p>
<p>if (x % 2 != 0) {<br />
		x1 = 320-((x-1)/2);<br />
		x2 = x1+1;<br />
}<br />
else if (x % 2 == 0)<br />
        x1 = x2 = 320-(x/2);<br />
if (y % 2 != 0) {<br />
	y1 = 240-((y-1)/2);<br />
	y2 = y1+1;<br />
}<br />
else if (y % 2 == 0)<br />
        y1 = y2 = 240-(y/2);<br />
u32 cp[x*y], d;<br />
for (i = 0; i &lt; y; i++) {<br />
	for (j = i*x*3+i*2+54, k = 0; j &lt;= i*x*3+i*2+66; j += 3, k++) {<br />
		a = (int)buf[i+1];<br />
		b = (int)buf[i];<br />
		c = a|b;<br />
		char t[] = {(char)c, buf[i+2], (char)c, buf[i], &#039;&#039;};<br />
		d = stoi(t);<br />
		cp[k+i*y] = d;<br />
	}<br />
}<br />
i = j = k = l = 0;<br />
printf(&quot;\x1b[2J&quot;);<br />
while(1) {<br />
	VIDEO_ClearFrameBuffer(rmode, xfb, COLOUR_BLACK);<br />
	i = j = k = l = 0;<br />
	for (l = 0, j = x1; l &lt; x; l++, j++) {<br />
		for (i = 0, k = y1; i &lt; y; i++) {<br />
			DrawDot(j, k, cp[i+l*y]);<br />
		}<br />
	} WPAD_ScanPads();<br />
	u32 home = WPAD_ButtonsDown(0);<br />
	if (home &amp; WPAD_BUTTON_HOME) {<br />
		printf(&quot;\x1b[2J&quot;);<br />
		printf(&quot;\x1b[16;35HExiting&#8230;&quot;);<br />
		return 0;<br />
	} VIDEO_WaitVSync();<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: teknecal</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-12017</link>
		<dc:creator>teknecal</dc:creator>
		<pubDate>Mon, 17 Oct 2011 09:07:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-12017</guid>
		<description>&quot;Temporary framebuffer&quot; pointer to xfb.

You could just remove the line (u32 *tmpfb = xfb;) and change the tmpfb in the next line to xfb.</description>
		<content:encoded><![CDATA[<p>&#8220;Temporary framebuffer&#8221; pointer to xfb.</p>
<p>You could just remove the line (u32 *tmpfb = xfb;) and change the tmpfb in the next line to xfb.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nelatonin</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-12016</link>
		<dc:creator>Nelatonin</dc:creator>
		<pubDate>Mon, 17 Oct 2011 05:57:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-12016</guid>
		<description>what does tmpfb mean?</description>
		<content:encoded><![CDATA[<p>what does tmpfb mean?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kevin</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-11467</link>
		<dc:creator>kevin</dc:creator>
		<pubDate>Wed, 16 Jun 2010 01:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-11467</guid>
		<description>Thanks man! Coming from a C#/Java/PHP developer, C is insanely difficult, but your tutorials make it a lot easier! &lt;3
Thank you~</description>
		<content:encoded><![CDATA[<p>Thanks man! Coming from a C#/Java/PHP developer, C is insanely difficult, but your tutorials make it a lot easier! &lt;3<br />
Thank you~</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-11451</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Sat, 29 May 2010 19:49:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-11451</guid>
		<description>I am trouble adapting this technique to a project that uses double buffering and textured quads.  I was going to directly access the frame buffer to do some blurring post effects, but it doesn&#039;t seem to have any effect.  I imagine it just has to do with certain GX calls, but I&#039;m not getting any sort of errors.  The following code draws my textures properly, but not any of the frame buffer adjustments.

I have my frame buffer declared as :

static void *frameBuffer[2] = { NULL, NULL};

and my blur function which is currently just testing if I can draw to the frame buffer successfully:

void BlurScreen(int amount)
{
        u32 *tmpBuffer = (u32 *)frameBuffer[fb];

        int x, y = 50;  //arbitrary position for now

       //Lets see if we can make a point appear

        tmpBuffer[y*320+x-1] = 0xffffffff;
        tmpBuffer[(y-1)*320+x-1] = 0xffffffff;
        tmpBuffer[(y-1)*320+x] = 0xffffffff;
        tmpBuffer[y*320+x] = 0xffffffff;
}

my GX setup is as follows:

void Initialise()
{
        VIDEO_Init();
        WPAD_Init();
        WPAD_SetVRes(0, 640, 480);
        WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR);
        Mtx44 view;
        guVector cam = {320, 240, -110.0f},
        up = { 0.0f, -1.0f, 0.0f},
        look = { 320, 240, 0.0f};

        rmode = VIDEO_GetPreferredMode(NULL);

        fb = 0;
        first_frame = 1;

        frameBuffer[0] = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));
        frameBuffer[1] = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));

        VIDEO_Configure(rmode);
        VIDEO_SetNextFramebuffer(frameBuffer[fb]);
        VIDEO_SetBlack(FALSE);
        VIDEO_Flush();
        VIDEO_WaitVSync();
        if(rmode-&gt;viTVMode&amp;VI_NON_INTERLACE) VIDEO_WaitVSync();

        fb ^= 1;

        gp_fifo = memalign(32,DEFAULT_FIFO_SIZE);
        memset(gp_fifo,0,DEFAULT_FIFO_SIZE);

        GX_Init(gp_fifo,DEFAULT_FIFO_SIZE);

        GX_SetCopyClear(background, 0x00ffffff);
        GX_SetViewport(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight,0,1);
        yscale = GX_GetYScaleFactor(rmode-&gt;efbHeight,rmode-&gt;xfbHeight);
        xfbHeight = GX_SetDispCopyYScale(yscale);
        GX_SetScissor(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight);
        GX_SetDispCopySrc(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight);
        GX_SetDispCopyDst(rmode-&gt;fbWidth,xfbHeight);
        GX_SetCopyFilter(rmode-&gt;aa,rmode-&gt;sample_pattern,GX_TRUE,rmode-&gt;vfilter);
        GX_SetFieldMode(rmode-&gt;field_rendering,((rmode-&gt;viHeight==2*rmode-&gt;xfbHeight)?GX_ENABLE:GX_DISABLE));

        if (rmode-&gt;aa)
                GX_SetPixelFmt(GX_PF_RGB565_Z16, GX_ZC_LINEAR);
        else
                GX_SetPixelFmt(GX_PF_RGB8_Z24, GX_ZC_LINEAR);

        GX_SetCullMode(GX_CULL_NONE);
        GX_CopyDisp(frameBuffer[fb],GX_TRUE);
        GX_SetDispCopyGamma(GX_GM_1_0);

        GX_InvVtxCache();
        GX_ClearVtxDesc();
        GX_InvalidateTexAll();

        GX_SetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0);
        GX_SetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
 GX_RGBA8, 0);


        GX_SetNumChans(1);
        GX_SetNumTexGens(1);
        GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE);
        GX_SetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
        GX_SetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY);

        GX_SetVtxDesc(GX_VA_POS, GX_DIRECT);
        GX_SetVtxDesc(GX_VA_TEX0, GX_DIRECT);

        guLookAt (view, &amp;cam, &amp;up, &amp;look);
        GX_LoadPosMtxImm(view, GX_PNMTX0);

        guOrtho (perspective, 240, -240, -400, 400, 1.0F, 300.0F);
        GX_LoadProjectionMtx (perspective, GX_ORTHOGRAPHIC);
}


After that I just call BlurScreen in my main loop and there is no effect.

also I have a post draw function:

void PostDraw()
{
        GX_DrawDone();

        GX_SetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
        GX_SetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
        GX_SetAlphaUpdate(GX_TRUE);
        GX_SetColorUpdate(GX_TRUE);
        GX_CopyDisp(frameBuffer[fb],GX_TRUE);

        VIDEO_SetNextFramebuffer(frameBuffer[fb]);
        if(first_frame) {
                VIDEO_SetBlack(FALSE);
                first_frame = 0;
        }
        VIDEO_Flush();
        VIDEO_WaitVSync();
        fb ^= 1;
}

I have to admit a lot of this is just copy and pasting from existing examples in order to understand GX better, but I&#039;m a little lost in &quot;Cargo&quot; programming at the moment.  That is, at lot of lines of code are included because they seem to do something and I&#039;m afraid to remove them and break my textures which are finally working.  With the libogc documentation site down I&#039;m not really sure where to go to get info.  Any help would be appreciated.</description>
		<content:encoded><![CDATA[<p>I am trouble adapting this technique to a project that uses double buffering and textured quads.  I was going to directly access the frame buffer to do some blurring post effects, but it doesn&#8217;t seem to have any effect.  I imagine it just has to do with certain GX calls, but I&#8217;m not getting any sort of errors.  The following code draws my textures properly, but not any of the frame buffer adjustments.</p>
<p>I have my frame buffer declared as :</p>
<p>static void *frameBuffer[2] = { NULL, NULL};</p>
<p>and my blur function which is currently just testing if I can draw to the frame buffer successfully:</p>
<p>void BlurScreen(int amount)<br />
{<br />
        u32 *tmpBuffer = (u32 *)frameBuffer[fb];</p>
<p>        int x, y = 50;  //arbitrary position for now</p>
<p>       //Lets see if we can make a point appear</p>
<p>        tmpBuffer[y*320+x-1] = 0xffffffff;<br />
        tmpBuffer[(y-1)*320+x-1] = 0xffffffff;<br />
        tmpBuffer[(y-1)*320+x] = 0xffffffff;<br />
        tmpBuffer[y*320+x] = 0xffffffff;<br />
}</p>
<p>my GX setup is as follows:</p>
<p>void Initialise()<br />
{<br />
        VIDEO_Init();<br />
        WPAD_Init();<br />
        WPAD_SetVRes(0, 640, 480);<br />
        WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR);<br />
        Mtx44 view;<br />
        guVector cam = {320, 240, -110.0f},<br />
        up = { 0.0f, -1.0f, 0.0f},<br />
        look = { 320, 240, 0.0f};</p>
<p>        rmode = VIDEO_GetPreferredMode(NULL);</p>
<p>        fb = 0;<br />
        first_frame = 1;</p>
<p>        frameBuffer[0] = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));<br />
        frameBuffer[1] = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));</p>
<p>        VIDEO_Configure(rmode);<br />
        VIDEO_SetNextFramebuffer(frameBuffer[fb]);<br />
        VIDEO_SetBlack(FALSE);<br />
        VIDEO_Flush();<br />
        VIDEO_WaitVSync();<br />
        if(rmode-&gt;viTVMode&amp;VI_NON_INTERLACE) VIDEO_WaitVSync();</p>
<p>        fb ^= 1;</p>
<p>        gp_fifo = memalign(32,DEFAULT_FIFO_SIZE);<br />
        memset(gp_fifo,0,DEFAULT_FIFO_SIZE);</p>
<p>        GX_Init(gp_fifo,DEFAULT_FIFO_SIZE);</p>
<p>        GX_SetCopyClear(background, 0&#215;00ffffff);<br />
        GX_SetViewport(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight,0,1);<br />
        yscale = GX_GetYScaleFactor(rmode-&gt;efbHeight,rmode-&gt;xfbHeight);<br />
        xfbHeight = GX_SetDispCopyYScale(yscale);<br />
        GX_SetScissor(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight);<br />
        GX_SetDispCopySrc(0,0,rmode-&gt;fbWidth,rmode-&gt;efbHeight);<br />
        GX_SetDispCopyDst(rmode-&gt;fbWidth,xfbHeight);<br />
        GX_SetCopyFilter(rmode-&gt;aa,rmode-&gt;sample_pattern,GX_TRUE,rmode-&gt;vfilter);<br />
        GX_SetFieldMode(rmode-&gt;field_rendering,((rmode-&gt;viHeight==2*rmode-&gt;xfbHeight)?GX_ENABLE:GX_DISABLE));</p>
<p>        if (rmode-&gt;aa)<br />
                GX_SetPixelFmt(GX_PF_RGB565_Z16, GX_ZC_LINEAR);<br />
        else<br />
                GX_SetPixelFmt(GX_PF_RGB8_Z24, GX_ZC_LINEAR);</p>
<p>        GX_SetCullMode(GX_CULL_NONE);<br />
        GX_CopyDisp(frameBuffer[fb],GX_TRUE);<br />
        GX_SetDispCopyGamma(GX_GM_1_0);</p>
<p>        GX_InvVtxCache();<br />
        GX_ClearVtxDesc();<br />
        GX_InvalidateTexAll();</p>
<p>        GX_SetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0);<br />
        GX_SetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);<br />
 GX_RGBA8, 0);</p>
<p>        GX_SetNumChans(1);<br />
        GX_SetNumTexGens(1);<br />
        GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE);<br />
        GX_SetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);<br />
        GX_SetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2&#215;4, GX_TG_TEX0, GX_IDENTITY);</p>
<p>        GX_SetVtxDesc(GX_VA_POS, GX_DIRECT);<br />
        GX_SetVtxDesc(GX_VA_TEX0, GX_DIRECT);</p>
<p>        guLookAt (view, &amp;cam, &amp;up, &amp;look);<br />
        GX_LoadPosMtxImm(view, GX_PNMTX0);</p>
<p>        guOrtho (perspective, 240, -240, -400, 400, 1.0F, 300.0F);<br />
        GX_LoadProjectionMtx (perspective, GX_ORTHOGRAPHIC);<br />
}</p>
<p>After that I just call BlurScreen in my main loop and there is no effect.</p>
<p>also I have a post draw function:</p>
<p>void PostDraw()<br />
{<br />
        GX_DrawDone();</p>
<p>        GX_SetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);<br />
        GX_SetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);<br />
        GX_SetAlphaUpdate(GX_TRUE);<br />
        GX_SetColorUpdate(GX_TRUE);<br />
        GX_CopyDisp(frameBuffer[fb],GX_TRUE);</p>
<p>        VIDEO_SetNextFramebuffer(frameBuffer[fb]);<br />
        if(first_frame) {<br />
                VIDEO_SetBlack(FALSE);<br />
                first_frame = 0;<br />
        }<br />
        VIDEO_Flush();<br />
        VIDEO_WaitVSync();<br />
        fb ^= 1;<br />
}</p>
<p>I have to admit a lot of this is just copy and pasting from existing examples in order to understand GX better, but I&#8217;m a little lost in &#8220;Cargo&#8221; programming at the moment.  That is, at lot of lines of code are included because they seem to do something and I&#8217;m afraid to remove them and break my textures which are finally working.  With the libogc documentation site down I&#8217;m not really sure where to go to get info.  Any help would be appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: teknecal</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-11398</link>
		<dc:creator>teknecal</dc:creator>
		<pubDate>Wed, 07 Apr 2010 08:53:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-11398</guid>
		<description>You would change the (0) value to (1) for the second controller, (2) for the third controller, etc.

ir_t ir1;
WPAD_IR(1, &amp;ir1);
u32 pressed_ctrl1 = WPAD_ButtonsDown(1);</description>
		<content:encoded><![CDATA[<p>You would change the (0) value to (1) for the second controller, (2) for the third controller, etc.</p>
<p>ir_t ir1;<br />
WPAD_IR(1, &#038;ir1);<br />
u32 pressed_ctrl1 = WPAD_ButtonsDown(1);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-11392</link>
		<dc:creator>Thomas</dc:creator>
		<pubDate>Tue, 06 Apr 2010 19:39:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-11392</guid>
		<description>Thanks for the tutorial, very nice! Just wondering, how can I use more than one controller?</description>
		<content:encoded><![CDATA[<p>Thanks for the tutorial, very nice! Just wondering, how can I use more than one controller?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kevin</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-10941</link>
		<dc:creator>kevin</dc:creator>
		<pubDate>Sun, 27 Dec 2009 09:08:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-10941</guid>
		<description>just thank you :)</description>
		<content:encoded><![CDATA[<p>just thank you <img src='http://www.codemii.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: teknecal</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-10771</link>
		<dc:creator>teknecal</dc:creator>
		<pubDate>Wed, 21 Oct 2009 08:56:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-10771</guid>
		<description>Hmm, in the makefile do you have wii_rules or gamecube_rules?</description>
		<content:encoded><![CDATA[<p>Hmm, in the makefile do you have wii_rules or gamecube_rules?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse</title>
		<link>http://www.codemii.com/2008/08/31/tutorial-4-cursors/#comment-10767</link>
		<dc:creator>Jesse</dc:creator>
		<pubDate>Tue, 20 Oct 2009 15:32:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemii.com/?p=164#comment-10767</guid>
		<description>My problem is that whenever I try to run the .dol file with gcube, gcube just pops up for half a second and closes, and then when I put it on my SD Card and run it with the HBC the Wiimote doesn&#039;t ever connect... help?</description>
		<content:encoded><![CDATA[<p>My problem is that whenever I try to run the .dol file with gcube, gcube just pops up for half a second and closes, and then when I put it on my SD Card and run it with the HBC the Wiimote doesn&#8217;t ever connect&#8230; help?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

