mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-19 20:55:24 +01:00
byuu says: Changelog: - updated to newest hiro API - SFC performance profile builds once again - hiro: Qt port completed Errata 1: the hiro/Qt target won't run tomoko just yet. Starts by crashing inside InputSettings because hiro/Qt isn't forcefully selecting the first item added to a ComboButton just yet. Even with a monkey patch to get around that, the UI is incredibly unstable. Lots of geometry calculation bugs, and a crash when you try and access certain folders in the browser dialog. Lots of work left to be done there, sadly. Errata 2: the hiro/Windows port has black backgrounds on all ListView items. It's because I need to test for unassigned colors and grab the default Windows brush colors in those cases. Note: alternating row colors on multi-column ListView widgets is gone now. Not a bug. May add it back later, but I'm not sure. It doesn't interact nicely with per-cell background colors. Things left to do: First, I have to fix the Windows and Qt target bugs. Next, I need to go through and revise the hiro API even more (nothing too major.) Next, I need to update icarus to use the new hiro API, and add support for the SFC games database. Next, I have to rewrite my TSV->BML cheat code tool. Next, I need to post a final WIP of higan+icarus publicly and wait a few days. Next, I need to fix any bugs reported from the final WIP that I can. Finally, I should be able to release v095.
52 lines
1.0 KiB
C++
52 lines
1.0 KiB
C++
#if defined(Hiro_Group)
|
|
|
|
auto mGroup::allocate() -> pObject* {
|
|
return new pGroup(*this);
|
|
}
|
|
|
|
//
|
|
|
|
auto mGroup::append(sObject object) -> type& {
|
|
if(auto group = instance.acquire()) {
|
|
state.objects.append(object);
|
|
object->setGroup(group);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
auto mGroup::object(unsigned position) const -> Object {
|
|
if(position < objectCount()) {
|
|
if(auto object = state.objects[position].acquire()) {
|
|
return object;
|
|
}
|
|
}
|
|
return {};
|
|
}
|
|
|
|
auto mGroup::objectCount() const -> unsigned {
|
|
return state.objects.size();
|
|
}
|
|
|
|
auto mGroup::objects() const -> vector<Object> {
|
|
vector<Object> objects;
|
|
for(auto& weak : state.objects) {
|
|
if(auto object = weak.acquire()) objects.append(object);
|
|
}
|
|
return objects;
|
|
}
|
|
|
|
auto mGroup::remove(sObject object) -> type& {
|
|
object->setGroup();
|
|
for(auto offset : range(state.objects)) {
|
|
if(auto shared = state.objects[offset].acquire()) {
|
|
if(object == shared) {
|
|
state.objects.remove(offset);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
#endif
|