Hi To set binormals and tangents i do this?: GX_SetVtxDesc(GX_VA_NBT, GX_DIRECT); GX_SetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_F32, 0); Yes thats correct. And to draw the polygon? GX_Position3f32(-1.0f,1.0f,1.0f); GX_Normal3f32(-1.0f,1.0f,1.0f); //Does it stay like this? --> that's the NORMAL GX_Normal3f32(-1.0f,1.0f,1.0f); //Does it stay like this? --> thatby shagkur - Coding
Hi Is that your complet function to setup emboss bump mapping? I'm missing GX_SetNumTexGens...... Your mesh is drawn with Normals/Binormals and Tangents? As this is needed for emboss bump mapping. Otherwise i don't see anything which is wrong here. That's the TEV setup used for emboss bump mapping. Could you point me to your repository so i can take a deeper look into it?by shagkur - Coding
Hi, what you're looking for is something along this: GX_SetTevColor(GX_TEVREG0,GXColor{,0,0,0}); //TEVREG0 with only alpha value set is used here to scale/bump the displacement. GX_SetNumTexGens(3); GX_SetTexCoordGen(GX_TEXCOORD0,GX_TG_MTX2x4,GX_TG_TEX0,GX_TEXMTX0); // tex coords for displacement texture generated from vertex texcoord data GX_SetTexCoordGen(GX_TEXCOORD1,GX_TG_Bby shagkur - Coding
Hi, is 'vector' here a typedef to vector<> or are you really using the STL's vector class this way? regards shagkurby shagkur - Coding
therefor is memalign, which he commented out. And no, new doesn't align on a 32B boundery.by shagkur - Coding
ArminTamzarian: indeed that's a bug. i interpreted the flag the wrong way in the condition. it should be "while(mfwpar()&0x1);". i fixed that and already commited it. sorry for the hassle regards shagkurby shagkur - Coding
ekeeke: Well CVS still exists but isn't maintained anymore. You _have_ to switch to SVN.by shagkur - Coding
ekeeke: Both fixes, the Display list fix and the SYS_FontXXX fixes, are in the SVN. if you want to be sure then browse thru the SVN Webinterface on regards shagkurby shagkur - Coding
Hi after a look into those functions i figured some minor bugs. Those bugs should be fixed now. Thanks to Michael for giving the memory hint. It showed that i linked the DL fifo to the wrong point (GP instead of CPU). The changes are commited to SVN already. So happy testing. regards shagkurby shagkur - Coding
Hi, call ASND_Init prior to MP3Player_Init. It's using libASND now to allow multiple voices. regards shagkurby shagkur - Coding
Hi, what version of the libraries are you using currently? Latest versions, since 1.7.0, should've fixed that already. regards shagkurby shagkur - Coding
Hi, LWP_MutexLock returns with !=0 not < 0 and will only happen if you try to call MutexLock another time in the same thread without having it initialized as a recursive lock. regards shagkurby shagkur - Coding
Hi, Function_1 is enough. Also LWP_MutexInit takes a 2nd paramter which tells whether the lock should be recursive or not. By recursive means the thread which acquired the lock won't deadlock if LWP_MutexLock is called again. regards shagkurby shagkur - Coding
Hi, or you just could use if_config, which does the complete network init stuff for you and passes back the ip to you. I added if_configex where you pass in a "struct in_addr". This is usefull if you need to use the hosts ip for binding a socket. And yes, both functions, stuff the information into it. At the moment there's no way to manually configure your ip address. Because netwoby shagkur - Coding
Hi, 00195B5BE381 --> 81E35B5B1900 would be the correct reversing. 1Byte == 2 digits in the notation. regards shagkurby shagkur - Coding
Hi have a look at this post: You've to change your path according to this post. regards shagkurby shagkur - Coding
One can also use the debug library, which comes with the devkitPPC package, and a USB Gecko.by shagkur - Coding
Hi for the modplayer library & libasnd all changes/fixes from hermes should be in CVS and hence for libogc bin release 1.7.1. Indeed 1.7.0 was in the state to not work with libasnd. regards shagkurby shagkur - Coding
Hi, updated release of libogc (1.7.1) will have this added (again). regards shagkurby shagkur - Coding
Hi, declare your pBootScreenHandle just as "static lwp_t pBootScreenHandle" and initialize it with LWP_THREAD_NULL. And then call LWP_CreateThread(&pBootScreenHandle,........). This function expects a pointer to a lwp_t handle. While you already declare it as a pointer, initialized to NULL, LWP_CreateThread will dereferrence this pointer and thus is accessing an invalid memory location. BUMMby shagkur - Coding
Hi we're currently working on a new release of the toolchain and libraries. Latest sources of libogc from CVS should compile fine though. regards shagkurby shagkur - Coding