-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 // curvy code from marcan, :p
return return
prev->second.slope * nf * (t + powf(t, 3) - 2 * powf(t, 2)) + prev->second.slope * nf * (t + pow(t, 3) - 2 * pow(t, 2)) +
next->second.slope * nf * (powf(t, 3) - powf(t, 2)) + next->second.slope * nf * (pow(t, 3) - pow(t, 2)) +
prev->second.value * (1 + (2 * powf(t, 3) - 3 * powf(t, 2))) + prev->second.value * (1 + (2 * pow(t, 3) - 3 * pow(t, 2))) +
next->second.value * (-2 * powf(t, 3) + 3 * powf(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 <ogc/lwp_watchdog.h>
#include <malloc.h> #include <malloc.h>
#include <sys/statvfs.h> #include <sys/statvfs.h>
#include <sys/stat.h>
#include "fileOps/fileOps.h" #include "fileOps/fileOps.h"
#include "gecko/gecko.hpp" #include "gecko/gecko.hpp"

View File

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

View File

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

View File

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

View File

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

View File

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