LINUX.ORG.RU

Сообщения eagleivg

 

Valve выпустили официальное заявление о дальнейшей поддержке Linux

Новости — Игры
Группа Игры

На фоне недавней шумихи, вызванной заявлением Canonical об прекращении поддержки 32-битной архитектуры в Ubuntu, и последующего отказа от своих планов из-за поднявшегося возмущения, Valve заявили о продолжении поддержки игр для Linux.

( читать дальше... )

>>> Полный текст заявления от Valve

 , ,

eagleivg
()

Стала доступна бета-версия S.T.A.L.K.E.R. Зов припяти на движке OpenXRay

Новости — Игры
Группа Игры

После полу-годовой работы над стабильностью, стала доступна бета-версия игрового движка OpenXRay.

Побеждены случайные вылеты, улучшен рендер (ближе к ванильной картинке), игру можно пройти до конца.

Известные баги и проблемы:

  • При выходе из игры процесс может зависнуть
  • При переходе между локациями/повторной загрузке сейвов портится картинка, игра может вылететь (пока решается только через перезапуск игры с загрузкой сейва)
  • Сейвы и логи не поддерживают UTF-8
  • Проект не собирается clang

Для работы игры понадобятся ресурсы от оригинальной игры, они должны находиться в ~/.local/share/GSC/SCOP/

Для steam их можно получить следующим образом:

steamcmd "+@sSteamCmdForcePlatformType windows" +login <username> +force_install_dir ~/.local/share/GSC/SCOP/ +app_update 41700 +quit

Если ресурсы из GOG, нужно привести все пути к нижнему регистру(это особенность движка)

Перед началом игры нужно исправить строку в ~/.local/share/GSC/SCOP/_appdata_/user.ltx renderer renderer_r1 на renderer renderer_gl, и vid_mode 1024x768 на ваше разрешение, иначе оно слетит.

PPA (пока только для bionic)

В планах дальнейшее улучшение рендера, поддержка ресурсов от ClearSky (сейчас в отдельной WIP ветке) и TЧ.

>>> Подробности

 , ,

eagleivg
()

Куда пропал oolite?

Форум — Games

Бубунта 18.04 - нет oolite в репах. Я что-то пропустил, почему его выкинули?

 ,

eagleivg
()

Big Blizzard is Watching You!

Форум — Games

Похоже, виндовая версия овервотча умеет определять, что она запущена в вайне: https://www.reddit.com/r/linux_gaming/comments/bbdfsd/til_that_blizzard_knows...

 ,

eagleivg
()

Общение с анонимусами

Форум — Linux-org-ru

При общении в треде с числом анонимусов более 2-х, становится трудно отслеживать, кому же ты отвечаешь. Прошу добавить нумерацию анонимусов.

 

eagleivg
()

Линуксокапец

Форум — Games

https://www.dsogaming.com/news/tim-sweeney-founder-of-epic-games-comments-cur...

Есть интересное высказывание Tim Sweeney, основателя Epic Games:
«... Я понимаю, что вам могут не нравиться эксклюзивы магазинов, но это другой вопрос, который не связан с проблемой закрытия платформ вроде Windows с целью монополизировать дистрибуцию, как это происходит на iOS. Microsoft пыталась создать закрытые версии Windows с помощью UWP, но ничего не получилось. Причём сторонники этой идей ушли, а их места заняли замечательные лидеры вроде Сатья Наделлы и Фила Спенсера, которые ведут Windows вперёд как открытую платформу», - сказал Суини.

Это что же получается, Стим для линукса сделал свое дело?

Правда, валвы продолжают пилить именно линукс как платформу (пусть и через протон), видимо это требует от них меньше усилий, чем тянуть за уши геймдев на линукс.

Но вот нужен ли он будет теперь? Не дропнут ли краны его поддержку, ибо мавр свое сделал?

 ,

eagleivg
()

Не было печалей - апдейтов накачали

Форум — Talks

https://www.theverge.com/2019/1/31/18205774/nio-ota-update-traffic-china-es8
Для не умеющих в англицкий - клиенты на тест-драйве китайского электромобиля Nio ES8 тыркнули на экране установку обновлений, машина на оживленной магистрали отрубилась полностью на час, ни дверей открыть, ни даже стекол опустить.

 ,

eagleivg
()

S.T.A.L.K.E.R. Зов припяти завезли в линукс

Форум — Games

Свершилось, теперь ЗП запускается под линуксом. Собирать отсюда:
https://github.com/OpenXRay/xray-16
Инструкция по сборке там же, инстукция по запуску в вики.

Нужны тестеры и баг-репорты.

Сразу предупреждаю, с лицензией есть засада, сорцы несвободны, но открыты для некоммерческого использования.

 ,

eagleivg
()

C++ и аллокаторы std::vector

Форум — Development

Нужен направляющий пинок. Имеется вектор, с переопределенным аллокатором tbb::tbb_allocator. Переопределены операторы new и delete на использование scalable_malloc/free из того же tbb. И со всем этим добром творится непонятная хрень: push_back в этот вектор приводит к сегфолту, но не всегда, и каждый раз в разных местах. Подозреваю, что есть некая гонка в разных потоках, но понять где именно, не могу. Минимальный пример для воспроизведения тоже не смог сделать - 1М элементов в 8 потоков прекрасно добавились и ни разу не упали. Подскажите, куда еще можно копать, у меня идеи кончились вообще, а понимание происходящего кончилось еще раньше.

 ,

eagleivg
()

Чудесный код С++

Форум — Development

Хотите поржать?

BOOL ShaderElement::equal(ShaderElement* S)
{
    if (nullptr == S && nullptr == this)
        return TRUE;
    if (nullptr == S || nullptr == this)
        return FALSE;
    return equal(*S);
}
Как вы думаете, для чего оно?

( читать дальше... )

 

eagleivg
()

использование using и возвращаемые типы

Форум — Development

Есть 2 класса: B.h:

#pragma once

class B
{
public:
	B();
	virtual ~B();
};
и A.h, в котором класс B используется как поле.
#pragma once

#include "B.h"

class A
{
public:
	using bns = B; // И вот если мы обявим его через using, то начинаются чудеса
private:
	bns* m_Bclass;
public:
	A();
	virtual ~A();

	bns* get_b();
	void set_b(bns* b);
};
И собственно A.cpp
#include "A.h"

A::A()
{
	m_Bclass = nullptr;
}

A::~A()
{
}

void A::set_b(bns* b) // тут всё нормально
{
	m_Bclass = b;
}

bns* A::get_b() // а тут error: ‘bns’ does not name a type
{
	return m_Bclass;
}
Я понимаю, что чего-то не понимаю. Почему публично обявленный через using тип можно принимать, но нельзя возвращать?

 

eagleivg
()

Будь проклят тот день #3 [С++ template hell]

Форум — Development

Снова MSVC против g++ :

template <typename TIndex>
struct CVertexManagerFixed
{
    template <typename TPathBuilder, typename TCompoundVertex>
    class CDataStorage : public TPathBuilder::template CDataStorage<TCompoundVertex>
    {
    public:
        using CDataStorageBase = typename TPathBuilder::template CDataStorage<TCompoundVertex>;
        using Vertex = TCompoundVertex;
        using Index = TIndex;

    public:
        inline CDataStorage(const u32 vertex_count);
        inline virtual ~CDataStorage();
        inline Vertex& get_node(const Index& vertex_id) const;
    };
};


#define TEMPLATE_SPECIALIZATION                           \
    template <typename TIndex> \
    template <typename TPathBuilder, typename TCompoundVertex>

#define CFixedVertexManager \
    CVertexManagerFixed<TIndex>::CDataStorage<TPathBuilder, TCompoundVertex>

TEMPLATE_SPECIALIZATION
inline CFixedVertexManager::CDataStorage(const u32 vertex_count)
    : CDataStorageBase(vertex_count)
{
}

TEMPLATE_SPECIALIZATION
inline typename CFixedVertexManager::Vertex& CFixedVertexManager::get_node(const Index& vertex_id) const
{
    VERIFY(vertex_id < m_max_node_count);
    VERIFY(is_visited(vertex_id));
    return *m_indexes[vertex_id].m_vertex;
}

Лог ошибок:

../src/test_cpp.cpp:54:34: error: non-template ‘CDataStorage’ used as template
     CVertexManagerFixed<TIndex>::CDataStorage<TPathBuilder, TCompoundVertex>
                                  ^
../src/test_cpp.cpp:63:17: note: in expansion of macro ‘CFixedVertexManager’
 inline typename CFixedVertexManager::Vertex& CFixedVertexManager::get_node(const Index& vertex_id) const
                 ^
../src/test_cpp.cpp:54:34: note: use ‘CVertexManagerFixed<TIndex>::template CDataStorage’ to indicate that it is a template
     CVertexManagerFixed<TIndex>::CDataStorage<TPathBuilder, TCompoundVertex>
                                  ^
../src/test_cpp.cpp:63:17: note: in expansion of macro ‘CFixedVertexManager’
 inline typename CFixedVertexManager::Vertex& CFixedVertexManager::get_node(const Index& vertex_id) const
                 ^
../src/test_cpp.cpp:54:59: error: expected unqualified-id before ‘,’ token
     CVertexManagerFixed<TIndex>::CDataStorage<TPathBuilder, TCompoundVertex>
                                                           ^
../src/test_cpp.cpp:63:46: note: in expansion of macro ‘CFixedVertexManager’
 inline typename CFixedVertexManager::Vertex& CFixedVertexManager::get_node(const Index& vertex_id) const
Я не понимаю, почему объявление возвращаемого типа метода get_node дает такую ошибку. Ведь CDataStorage - это только шаблон, нигде как класс он не объявлен?

 ,

eagleivg
()

Будь проклят тот день #2 [С++ template hell]

Форум — Development

Снова код с винды:

template <typename _param, //  shadows template parm ‘class _param’
    typename _param_ptr = _param*> // shadows template parm ‘class _param_ptr’
class CTest
{
public:
    typedef _param CParam;

    struct STest
    {
    	_param_ptr m_operator;

        inline STest(_param_ptr _param) // declaration of ‘_param_ptr _param’
            : m_operator(_param)
        {
        }
    };
};

Как я понимаю, основная засада в инлайновом методе внутри структуры - он воспринимается как новое объявление класса. Как же тогда передать туда параметр шаблона?

 ,

eagleivg
()

Будь проклят тот день...[С++ template hell]

Форум — Development

Портирую код с винды на линукс.

struct CDestroyer
{
...
    template <typename T>
    struct CHelper4
    {
        template <bool a>
        static void delete_data(T& data)
        {
            CHelper2<T>::delete_data<object_type_traits::is_pointer<T>::value>(data);
        }

        template <> // explicit specialization in non-namespace scope ‘struct CDestroyer::CHelper4<T>’
        static void delete_data<true>(T& data) //error: template-id ‘delete_data<true>’ in declaration of primary template

        {
            CHelper3::delete_data(data);
        }
    };

    template <typename T> 
    static void delete_data(T& data)
    {
        CHelper4<T>::delete_data<object_type_traits::is_stl_container<T>::value>(data);
    }
};
Получаю ошибки написанные в комментариях. Гуглинг показал, что частичная спецификация для функций недопустима по стандарту (ну а MSVS традиционно на это кладёт).

Вопрос: как это обойти?

Я в кресты не умею, только в си, так что при ответе пожалуйста учитывайте. Ну или ткните носом в доки, каким образом можно делать условный выбор шаблонов в целом.

 ,

eagleivg
()

Игра Deus Ex: Mankind Divided стала доступна для GNU/Linux

Новости — Игры
Группа Игры

3 ноября в Steam стало доступным для GNU/Linux продолжение культовой серии Deus Ex.

( читать дальше... )

Порт предоставлен Feral Interactive; также планируется выпуск Deus Ex: Mankind Divided для macOS.

Уже доступна версия на русском языке, а также DLC.

Примечание к релизу: видеокарты AMD и Intel на момент выпуска не поддерживаются!

>>> Подробности

 , ,

eagleivg
()

Возможно Deus Ex: Mankind Divided выйдет на линуксе и маке.

Форум — Games

Не могу не поделиться радостью.
Пруф:
https://steamdb.info/app/337000/depots/
Пока под мак и лялих нет DLC, вангую что задерживается именно из-за этого.

Думаю, надо брать как выпустят, вроде тогда статистика по линуху засчитается. И да, есть надежда, что Denuvo на другие платформы портировать не будут.

 , ,

eagleivg
()

ЭлектроМагнетизм и электро-магнитные волны - как это работает?

Форум — Science & Engineering

Электромагнитные волны возбуждаются попеременным движением электронов в проводнике в противоположных направлениях, т.е. переменным током. Движение же электронов в одном направлении возбуждает просто магнитное поле, без волн.
Изменения магнитного поля способно двигать электроны, т.е. возбуждать токи. Но что такое ЭМ-волна в вакууме - там же нет электронов, чтобы цепной реакцией возбуждались токи и далее менялось магнитное поле?

Правильно ли я понимаю, что если просто помахать магнитом в вакууме, то ЭМ волны не возникнет? Ведь тогда сам термин «электро-магнитная волна» некорректен?

Пробовал почитать литературу, нагугленную по «возбуждение электромагнитных волн», нашел это, так ничего и не понял. Математики дофига, но я не понимаю, как это интерпретировать.

В общем, я совсем запутался, может кто-нибудь пролить свет на это темное дело?

P.S. Эфиродинамщиков прошу не беспокоиться.

 магнетизм, ,

eagleivg
()

Выпустили HTC Vive

Форум — Science & Engineering

Видео здесь: https://www.youtube.com/watch?v=qYfNzhLXYGc

Вопрос к специалистам: кроме игрулек это на что-то годится? По идее, можно устроить что-то вроде CAD-Wall для конструкторов, но не за лярды долларов, а всего за восемьсот бачинских. Ещё на ум приходят биологи - там вроде есть задача визуализации белков и ручная корректировка цепочек. Всякие программеры в пролёте - тексты в этом шлеме видны отстойно.

Для чего ещё полезного можно такое использовать?

 cave, ,

eagleivg
()

Feral портирует Tomb Raider

Форум — Games

Обещают до лета выпустить приключения сисек на линукс. Пруф.

Для Ъ: порт игры от 2013 года.

 ,

eagleivg
()

Arma 3 доступна для скачивания в Steam

Форум — Games

Сабж. Бинари добавили для лялеха (эх, Саныч не дожил) и для мака.

Подробности: http://dev.arma3.com/post/sitrep-00120

 arma iii, ,

eagleivg
()

RSS подписка на новые темы