-fixed to compile with ppc r32 and libogc 1.8.20

-had to remove wii drive light flashing during wait animation. even though i added NULL to nanosleep() it caused wiiflow lite to freeze right when the wait animation was to start. when i removed it everything works fine. besides the wii u doesn't have a disc slot light.
-note - strangely going from ppc r30 to r32 wiiflow lite boot.dol grew about 24k. also somehow ext_booter.bin is now marked as changed but i don't know what's different.
This commit is contained in:
fledge68 2018-08-06 23:28:06 +00:00
parent 1ceffc252c
commit 30048fbd4e
9 changed files with 19 additions and 15 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -232,10 +232,10 @@ float HermiteKeyHandler::GetFrame(FrameNumber frame_number) const
// curvy code from marcan, :p
return
prev->second.slope * nf * (t + powf(t, 3) - 2 * powf(t, 2)) +
next->second.slope * nf * (powf(t, 3) - powf(t, 2)) +
prev->second.value * (1 + (2 * powf(t, 3) - 3 * powf(t, 2))) +
next->second.value * (-2 * powf(t, 3) + 3 * powf(t, 2));
prev->second.slope * nf * (t + pow(t, 3) - 2 * pow(t, 2)) +
next->second.slope * nf * (pow(t, 3) - pow(t, 2)) +
prev->second.value * (1 + (2 * pow(t, 3) - 3 * pow(t, 2))) +
next->second.value * (-2 * pow(t, 3) + 3 * pow(t, 2));
}
}

View File

@ -14,6 +14,7 @@ en exposed s_fsop fsop structure can be used by callback to update operation sta
#include <ogc/lwp_watchdog.h>
#include <malloc.h>
#include <sys/statvfs.h>
#include <sys/stat.h>
#include "fileOps/fileOps.h"
#include "gecko/gecko.hpp"

View File

@ -60,6 +60,8 @@ static const devoptab_t gecko_out = {
NULL, // device chmod_r
NULL, // device fchmod_r
NULL, // device rmdir_r
NULL, // lstat_r
NULL, // utimes_r
};
static void USBGeckoOutput()

View File

@ -578,8 +578,8 @@ void CVideo::waitMessage(const vector<TexData> &tex, float delay)// start wait i
{
m_WaitThreadRunning = true;
/* changing light */
wiiLightSetLevel(0);
wiiLightStartThread();// start thread in gekko.c that pulses the wii disc slot light on and off
//wiiLightSetLevel(0);
//wiiLightStartThread();// start thread in gekko.c that pulses the wii disc slot light on and off
/* onscreen animation */
m_showWaitMessage = true;// start wait images thread to animate them
LWP_CreateThread(&waitThread, _showWaitMessages, this, waitMessageStack, waitMessageStackSize, LWP_PRIO_HIGHEST);
@ -593,9 +593,9 @@ void * CVideo::_showWaitMessages(void *obj)// wait images thread
u32 frames = m->m_waitMessageDelay * 50;// set delay start
u32 waitFrames = frames;// set delay counter to delay start
s8 fadeDirection = 1;
//s8 fadeDirection = 1;
s8 PNGfadeDirection = 1;// set frames movement direction
s16 currentLightLevel = 0;
//s16 currentLightLevel = 0;
vector<TexData>::iterator waitItr = m->m_waitMessages.begin();// set start frame image
m->_clearScreen();
@ -606,7 +606,7 @@ void * CVideo::_showWaitMessages(void *obj)// wait images thread
//gprintf("Wait Message Thread: Start\nDelay: %d, Images: %d\n", waitFrames, m->m_waitMessages.size());
while(m->m_showWaitMessage)
{
currentLightLevel += fadeDirection * 5;
/*currentLightLevel += fadeDirection * 5;
if(currentLightLevel >= 255)
{
currentLightLevel = 255;
@ -616,8 +616,8 @@ void * CVideo::_showWaitMessages(void *obj)// wait images thread
{
currentLightLevel = 0;
fadeDirection = 1;
}
wiiLightSetLevel(currentLightLevel);
}*/
//wiiLightSetLevel(currentLightLevel);
if(waitFrames == 0)// if delay count reaches 0
{
@ -651,7 +651,7 @@ void CVideo::hideWaitMessage()// stop wait images thread and wii disc slot light
usleep(50);
LWP_JoinThread(waitThread, NULL);
/* end light thread */
wiiLightEndThread();
//wiiLightEndThread();
m_WaitThreadRunning = false;
}
waitThread = LWP_THREAD_NULL;

View File

@ -100,11 +100,11 @@ void *light_loop()
timeoff = light_timeoff;
// Turn on the light and sleep for a bit
wiiLightOn();
nanosleep(&timeon);
nanosleep(&timeon, NULL);
// Turn off the light (if required) and sleep for a bit
if(timeoff.tv_nsec > 0)
wiiLightOff();
nanosleep(&timeoff);
nanosleep(&timeoff, NULL);
}
return NULL;
}

View File

@ -128,7 +128,7 @@ void Sys_Exit(void)
exit(0);
}
void __Sys_ResetCallback(void)
void __Sys_ResetCallback(u32 irq, void *ctx)
{
reset = true;
}

View File

@ -1,6 +1,7 @@
#include <dirent.h>
#include <unistd.h>
#include <algorithm>
#include <sys/stat.h>
#include "menu.hpp"
#include "defines.h"
#include "lockMutex.hpp"