Update to v095r06 release.

byuu says:

Changelog:
- fixed I/O register reads; perfect score on endrift's I/O tests now
- fixed mouse capture clipping on Windows [Cydrak]
- several hours of code maintenance work done on the SFC core

All higan/sfc files should now use the auto fn() -> ret; syntax. Haven't
converted all unsigned->uint yet. Also, probably won't do sfc/alt as
that's mostly just speed hack stuff.

Errata:
- forgot auto& instead of just auto on SuperFamicom::Video::draw_cursor,
  which makes Super Scope / Justifier crash. Will be fixed in the next
  WIP.
This commit is contained in:
Tim Allen
2015-11-14 11:52:51 +11:00
parent 6d9f43a37b
commit 40f4b91000
114 changed files with 1250 additions and 1199 deletions

View File

@@ -41,10 +41,10 @@ auto ManagedNode::_evaluate(string query) const -> bool {
switch(comparator) {
case Comparator::EQ: if(data.match(side(1)) == true) continue; break;
case Comparator::NE: if(data.match(side(1)) == false) continue; break;
case Comparator::LT: if(data.decimal() < side(1).decimal()) continue; break;
case Comparator::LE: if(data.decimal() <= side(1).decimal()) continue; break;
case Comparator::GT: if(data.decimal() > side(1).decimal()) continue; break;
case Comparator::GE: if(data.decimal() >= side(1).decimal()) continue; break;
case Comparator::LT: if(data.natural() < side(1).natural()) continue; break;
case Comparator::LE: if(data.natural() <= side(1).natural()) continue; break;
case Comparator::GT: if(data.natural() > side(1).natural()) continue; break;
case Comparator::GE: if(data.natural() >= side(1).natural()) continue; break;
}
return false;
@@ -65,10 +65,10 @@ auto ManagedNode::_find(const string& query) const -> vector<Node> {
name = p(0);
if(p(1).find("-")) {
p = p(1).split("-", 1L);
lo = p(0).empty() ? 0u : p(0).decimal();
hi = p(1).empty() ? ~0u : p(1).decimal();
lo = p(0).empty() ? 0u : p(0).natural();
hi = p(1).empty() ? ~0u : p(1).natural();
} else {
lo = hi = p(1).decimal();
lo = hi = p(1).natural();
}
}

View File

@@ -60,8 +60,8 @@ struct Node {
auto text() const -> string { return value().strip(); }
auto boolean() const -> bool { return text() == "true"; }
auto integer() const -> intmax_t { return text().integer(); }
auto decimal() const -> uintmax_t { return text().decimal(); }
auto integer() const -> intmax { return text().integer(); }
auto natural() const -> uintmax { return text().natural(); }
auto setName(const string& name = "") -> Node& { shared->_name = name; return *this; }
auto setValue(const string& value = "") -> Node& { shared->_value = value; return *this; }