mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v060r09 release.
This release parses the 1.3MB cheats.xml file about 960x faster than the last release, no exaggeration at all there. The tiny 5-10ms lag to search now is probably more due to Qt than anything else. It also won't eat up an extra 40MB of RAM, instead only using about 100KB now. So yeah, please give it a try and let me know what you think of the new cheat lookup system. Aside from that, I fixed a tiny S-CPU typo bug where the IRQs were being tested one cycle too early in op dp,x and op dp,y opcodes. I also redid a bit of nall in C++0x. Most importantly, I've added move semantics to nall::string, which should cut out ~20% of the memory allocations bsnes needed before. I really wanted to write a variadic template string::printf replacement, but I couldn't come up with a syntax I liked, and I didn't want to write a sprintf clone because that takes forever and is ugly. So I just said fuck it, removed string::printf (and with it the very last vestige of va_list in all of my code, good riddance), and updated the str* functions to take template arguments to specify padding length and character. Both optional, another fun C++0x only thing - default function template arguments. Before: string foo = string::printf("%.4x", variable); -- went through raw sprintf(), va_list, and had a limited 4k buffer After: string foo = strhex<4>(variable); -- manually built by hand, no buffer issues nall/utility.hpp got my own copies of std::move and std::forward. I have no problem using the std:: ones, but the <move> header seems to be missing, and I already have my own traits library, so that was easy enough for now. Added a move-semantic swap as well. Using nall::sort on an array of nall::string objects should be almost as fast as sorting integers now. The cheat code editor .. whenever you import into a new slot, or clear that slot, it will uncheck the box now as well. [No archive available]
This commit is contained in:
parent
f1d1ab7ed1
commit
e710259611