wiiload_plugin/src/main.cpp

46 lines
946 B
C++
Raw Normal View History

2019-11-24 14:35:38 +01:00
#include <wups.h>
#include "utils/TcpReceiver.h"
#include <whb/log_udp.h>
#include <coreinit/cache.h>
#include <sysapp/launch.h>
2019-11-24 14:35:38 +01:00
WUPS_PLUGIN_NAME("Wiiload");
WUPS_PLUGIN_DESCRIPTION("Wiiload Server");
WUPS_PLUGIN_VERSION("0.1");
WUPS_PLUGIN_AUTHOR("Maschell");
WUPS_PLUGIN_LICENSE("GPL");
WUPS_USE_WUT_CRT()
2020-06-03 19:45:51 +02:00
TcpReceiver *thread = NULL;
2019-11-24 14:35:38 +01:00
/* Entry point */
ON_APPLICATION_START(args) {
WHBLogUdpInit();
DEBUG_FUNCTION_LINE("Started wiiload thread");
2020-06-03 19:45:51 +02:00
thread = new TcpReceiver(4299);
2019-11-24 14:35:38 +01:00
}
2020-06-03 19:45:51 +02:00
void stopThread() {
if (thread != NULL) {
2019-11-24 14:35:38 +01:00
delete thread;
thread = NULL;
}
}
2020-06-03 19:45:51 +02:00
ON_APPLICATION_END() {
DEBUG_FUNCTION_LINE("Kill thread");
2019-11-24 14:35:38 +01:00
stopThread();
}
bool gDoRelaunch __attribute__((section(".data"))) = 0;
ON_VYSNC() {
// On each frame check if we want to exit.
if(gDoRelaunch){
SYSRelaunchTitle(0, NULL);
gDoRelaunch = 0;
DCFlushRange(&gDoRelaunch, sizeof(gDoRelaunch));
}
}