コード例 #1
0
ファイル: object.cpp プロジェクト: MaddTheSane/scummvm
int ScummEngine::whereIsObject(int object) const {
	int i;

	// Note: in MM v0 bg objects are greater _numGlobalObjects
	if (_game.version != 0 && object >= _numGlobalObjects)
		return WIO_NOT_FOUND;

	if (object < 1)
		return WIO_NOT_FOUND;

	if ((_game.version != 0 || OBJECT_V0_TYPE(object) == 0) &&
		 _objectOwnerTable[object] != OF_OWNER_ROOM)
	{
		for (i = 0; i < _numInventory; i++)
			if (_inventory[i] == object)
				return WIO_INVENTORY;
		return WIO_NOT_FOUND;
	}

	for (i = (_numLocalObjects-1); i > 0; i--) {
		if (_objs[i].obj_nr == object) {
			if (_objs[i].fl_object_index)
				return WIO_FLOBJECT;
			return WIO_ROOM;
		}
	}

	return WIO_NOT_FOUND;
}
コード例 #2
0
ファイル: script_v0.cpp プロジェクト: AlbanBedel/scummvm
bool ScummEngine_v0::ifEqualActiveObject2Common(bool checkType) {
	byte obj = fetchScriptByte();
	if (!checkType || (OBJECT_V0_TYPE(_cmdObject2) == kObjectV0TypeFG))
		return (obj == OBJECT_V0_ID(_cmdObject2));
	return false;
}