mirror of https://github.com/bsnes-emu/bsnes.git
Update to ananke v01r01 release.
This version fixes a problem where ananke would leave out the 'information' section (that is, the game name) when converting a game to a game folder, resulting in a folder named " (!)". It also includes the latest version of nall.
This commit is contained in:
parent
ba660600ad
commit
a7c35a65b4
|
@ -64,5 +64,7 @@ string Ananke::syncBsxSatellaview(const string &pathname) {
|
||||||
if(buffer.size() == 0) return "";
|
if(buffer.size() == 0) return "";
|
||||||
|
|
||||||
directory::remove(pathname);
|
directory::remove(pathname);
|
||||||
|
information.path = pathname;
|
||||||
|
information.name = notdir(string{pathname}.rtrim<1>("/"));
|
||||||
return openBsxSatellaview(buffer);
|
return openBsxSatellaview(buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,8 @@ string Ananke::syncGameBoyAdvance(const string &pathname) {
|
||||||
if(rtc.size() == 0) rtc = file::read({pathname, "rtc.rwm"});
|
if(rtc.size() == 0) rtc = file::read({pathname, "rtc.rwm"});
|
||||||
|
|
||||||
directory::remove(pathname);
|
directory::remove(pathname);
|
||||||
|
information.path = pathname;
|
||||||
|
information.name = notdir(string{pathname}.rtrim<1>("/"));
|
||||||
string outputPath = openGameBoyAdvance(buffer);
|
string outputPath = openGameBoyAdvance(buffer);
|
||||||
|
|
||||||
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
||||||
|
|
|
@ -49,6 +49,8 @@ string Ananke::syncGameBoy(const string &pathname) {
|
||||||
if(rtc.size() == 0) rtc = file::read({pathname, "rtc.rwm"});
|
if(rtc.size() == 0) rtc = file::read({pathname, "rtc.rwm"});
|
||||||
|
|
||||||
directory::remove(pathname);
|
directory::remove(pathname);
|
||||||
|
information.path = pathname;
|
||||||
|
information.name = notdir(string{pathname}.rtrim<1>("/"));
|
||||||
string outputPath = openGameBoy(buffer);
|
string outputPath = openGameBoy(buffer);
|
||||||
|
|
||||||
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include <nall/stdint.hpp>
|
#include <nall/stdint.hpp>
|
||||||
#include <nall/stream.hpp>
|
#include <nall/stream.hpp>
|
||||||
#include <nall/string.hpp>
|
#include <nall/string.hpp>
|
||||||
|
#include <nall/thread.hpp>
|
||||||
#include <nall/traits.hpp>
|
#include <nall/traits.hpp>
|
||||||
#include <nall/unzip.hpp>
|
#include <nall/unzip.hpp>
|
||||||
#include <nall/utility.hpp>
|
#include <nall/utility.hpp>
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
#ifndef NALL_THREAD_HPP
|
||||||
|
#define NALL_THREAD_HPP
|
||||||
|
|
||||||
|
#include <nall/platform.hpp>
|
||||||
|
#include <nall/function.hpp>
|
||||||
|
#include <nall/intrinsics.hpp>
|
||||||
|
|
||||||
|
#if defined(PLATFORM_X) || defined(PLATFORM_OSX)
|
||||||
|
#include <thread>
|
||||||
|
#elif defined(PLATFORM_WIN)
|
||||||
|
|
||||||
|
//TDM/GCC 4.7 does not support std::thread
|
||||||
|
//implement an extremely lightweight wrapper
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
inline DWORD WINAPI thread_entry_point(LPVOID parameter);
|
||||||
|
|
||||||
|
struct thread {
|
||||||
|
bool joinable() const {
|
||||||
|
return active == false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void join() {
|
||||||
|
while(active) usleep(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
thread(function<void ()> entryPoint) : entryPoint(entryPoint), active(true) {
|
||||||
|
CreateThread(NULL, 0, thread_entry_point, (void*)this, 0, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
function<void ()> entryPoint;
|
||||||
|
bool active;
|
||||||
|
friend DWORD WINAPI thread_entry_point(LPVOID);
|
||||||
|
};
|
||||||
|
|
||||||
|
inline DWORD WINAPI thread_entry_point(LPVOID parameter) {
|
||||||
|
thread *context = (thread*)parameter;
|
||||||
|
context->entryPoint();
|
||||||
|
context->active = false;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -78,6 +78,8 @@ string Ananke::syncSufamiTurbo(const string &pathname) {
|
||||||
if(save.size() == 0) save = file::read({pathname, "save.rwm"});
|
if(save.size() == 0) save = file::read({pathname, "save.rwm"});
|
||||||
|
|
||||||
directory::remove(pathname);
|
directory::remove(pathname);
|
||||||
|
information.path = pathname;
|
||||||
|
information.name = notdir(string{pathname}.rtrim<1>("/"));
|
||||||
string outputPath = openSufamiTurbo(buffer);
|
string outputPath = openSufamiTurbo(buffer);
|
||||||
|
|
||||||
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
||||||
|
|
|
@ -201,6 +201,8 @@ string Ananke::syncSuperFamicom(const string &pathname) {
|
||||||
if(rtc.size() == 0) rtc= file::read({pathname, "rtc.rwm"});
|
if(rtc.size() == 0) rtc= file::read({pathname, "rtc.rwm"});
|
||||||
|
|
||||||
directory::remove(pathname);
|
directory::remove(pathname);
|
||||||
|
information.path = pathname;
|
||||||
|
information.name = notdir(string{pathname}.rtrim<1>("/"));
|
||||||
string outputPath = openSuperFamicom(buffer);
|
string outputPath = openSuperFamicom(buffer);
|
||||||
|
|
||||||
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
if(save.size()) file::write({outputPath, "save.ram"}, save);
|
||||||
|
|
Loading…
Reference in New Issue