本文整理汇总了C++中GfxView::getLoopCount方法的典型用法代码示例。如果您正苦于以下问题:C++ GfxView::getLoopCount方法的具体用法?C++ GfxView::getLoopCount怎么用?C++ GfxView::getLoopCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GfxView
的用法示例。
在下文中一共展示了GfxView::getLoopCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: throttleSpeed
void GfxAnimate::throttleSpeed() {
switch (_lastCastData.size()) {
case 0:
// No entries drawn -> no speed throttler triggering
break;
case 1: {
// One entry drawn -> check if that entry was a speed benchmark view, if not enable speed throttler
AnimateEntry *onlyCast = &_lastCastData[0];
if ((onlyCast->viewId == 0) && (onlyCast->loopNo == 13) && (onlyCast->celNo == 0)) {
// this one is used by jones talkie
if ((onlyCast->celRect.height() == 8) && (onlyCast->celRect.width() == 8)) {
_s->_gameIsBenchmarking = true;
return;
}
}
// first loop and first cel used?
if ((onlyCast->loopNo == 0) && (onlyCast->celNo == 0)) {
// and that cel has a known speed benchmark resolution
int16 onlyHeight = onlyCast->celRect.height();
int16 onlyWidth = onlyCast->celRect.width();
if (((onlyWidth == 12) && (onlyHeight == 35)) || // regular benchmark view ("fred", "Speedy", "ego")
((onlyWidth == 29) && (onlyHeight == 45)) || // King's Quest 5 french "fred"
((onlyWidth == 1) && (onlyHeight == 5)) || // Freddy Pharkas "fred"
((onlyWidth == 1) && (onlyHeight == 1))) { // Laura Bow 2 Talkie
// check further that there is only one cel in that view
GfxView *onlyView = _cache->getView(onlyCast->viewId);
if ((onlyView->getLoopCount() == 1) && (onlyView->getCelCount(0))) {
_s->_gameIsBenchmarking = true;
return;
}
}
}
_s->_gameIsBenchmarking = false;
_s->_throttleTrigger = true;
break;
}
default:
// More than 1 entry drawn -> time for speed throttling
_s->_gameIsBenchmarking = false;
_s->_throttleTrigger = true;
break;
}
}