[Delphi] SteamWorks
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Наконец, решил опубликовать новость о данном проекте.
Суть проекта: перевод библиотеки Open SteamWorks на язык программирования Delphi.
Состояние: все заголовки переведены, создаются "переходники".
Примерное время завершения: 2-3 месяца :( .
Насчет "переходников": их необходимо было создавать в любом случае, так как в С++ у методов класса используется соглашение о вызовах _thiscall, которого в Delphi нет, поэтому приходится извращаться на ASM'е с передачей/возвратом параметров, что требует тестовых прогонов всех функций до тех пор, пока они не заработают корректно (не портя стек и регистры).
Здесь - программа с исходным кодом, позволяющая просмотреть список друзей и кланов, а так же их иконки. Используемые библиотеки пока не выкладываю, ибо они далеки от завершения (на данный момент работает только 4 класса из 83, да и то не полностью правильно - например, в интерфейсе ISteamFriends007 пока невозможно получить ник друга).
PS: Для работы программы требуется запущенный Steam, в который осуществлен вход пользователя ;)
Суть проекта: перевод библиотеки Open SteamWorks на язык программирования Delphi.
Состояние: все заголовки переведены, создаются "переходники".
Примерное время завершения: 2-3 месяца :( .
Насчет "переходников": их необходимо было создавать в любом случае, так как в С++ у методов класса используется соглашение о вызовах _thiscall, которого в Delphi нет, поэтому приходится извращаться на ASM'е с передачей/возвратом параметров, что требует тестовых прогонов всех функций до тех пор, пока они не заработают корректно (не портя стек и регистры).
Здесь - программа с исходным кодом, позволяющая просмотреть список друзей и кланов, а так же их иконки. Используемые библиотеки пока не выкладываю, ибо они далеки от завершения (на данный момент работает только 4 класса из 83, да и то не полностью правильно - например, в интерфейсе ISteamFriends007 пока невозможно получить ник друга).
PS: Для работы программы требуется запущенный Steam, в который осуществлен вход пользователя ;)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Проект конечно отличный, но вот зачем это делать?
Использование Open SteamWorks в проектах на c++ не составляет особого труда.
Там даже особых знаний языка не надо :)
Кстати говоря, когда будет следующее глобальное обновление API, придётся многое переписывать.
Использование Open SteamWorks в проектах на c++ не составляет особого труда.
Там даже особых знаний языка не надо :)
Кстати говоря, когда будет следующее глобальное обновление API, придётся многое переписывать.
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Snakeus
Ну, в любом случае, это неплохая попытка, как минимум. Да, на С++ легче в этом смысле, но и для Delphi некоторые основные классы тоже могли бы пригодиться.
andreil
Ну, я уж похвалил. Ну, просто молодец :D .
Ну, в любом случае, это неплохая попытка, как минимум. Да, на С++ легче в этом смысле, но и для Delphi некоторые основные классы тоже могли бы пригодиться.
andreil
Ну, я уж похвалил. Ну, просто молодец :D .
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Не придется ;) Пока все обновления заключаются в уточнении типов данных, что не особо и влияет на тело функций.Snakeus писал(а):Кстати говоря, когда будет следующее глобальное обновление API, придётся многое переписывать.
Насчет необходимости - мне и USE с остальными разработками на плюсы тоже перевести, что бы связать с данной разработкой :shock: ? Это же очччень много работы ;)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
- impulse666
- Полковник
- Сообщения: 7405
- Зарегистрирован: 08.12.2005
- Откуда: Atman
- Благодарил (а): 2340 раз
- Поблагодарили: 590 раз
andreil
А можно отставшему от... объяснить что такое Open SteamWorks?
А можно отставшему от... объяснить что такое Open SteamWorks?
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
x_000
Не только к steamclient, но и к steam.dll ;)
Не только к steamclient, но и к steam.dll ;)
Последний раз редактировалось $t@t!c_V()1D 12.11.2010, 08:29, всего редактировалось 1 раз.
Причина: Только сам хотел добавить %)
Причина: Только сам хотел добавить %)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
- impulse666
- Полковник
- Сообщения: 7405
- Зарегистрирован: 08.12.2005
- Откуда: Atman
- Благодарил (а): 2340 раз
- Поблагодарили: 590 раз
x_000
andreil
Что дадут они, в какой области (эмуляторописание?)
andreil
Что дадут они, в какой области (эмуляторописание?)
- nALLITeT
- Полковник
- Сообщения: 2560
- Зарегистрирован: 01.08.2008
- Откуда: 127.0.0.1
- Поблагодарили: 2 раза
- Контактная информация:
impulse666
Подходят для написания различных спаммеров, но если честно то более интересный проект - http://tracker.limetech.org/projects/steamre/
У них есть эмулятор клиента стима ( использование протокола стима для подключения к серверам стима, не требует вообще контент стима ), и очень интересный ClientApp - NetHook, позволяющий перехватывать пакеты.
Подходят для написания различных спаммеров, но если честно то более интересный проект - http://tracker.limetech.org/projects/steamre/
У них есть эмулятор клиента стима ( использование протокола стима для подключения к серверам стима, не требует вообще контент стима ), и очень интересный ClientApp - NetHook, позволяющий перехватывать пакеты.
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
impulse666
Ну, вообще говоря, полезно для написания тех же эмуляторов Steam.dll и Steamclient.dll
Ну, вообще говоря, полезно для написания тех же эмуляторов Steam.dll и Steamclient.dll
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- impulse666
- Полковник
- Сообщения: 7405
- Зарегистрирован: 08.12.2005
- Откуда: Atman
- Благодарил (а): 2340 раз
- Поблагодарили: 590 раз
Что дает наличие заголовков...тело функций ведь...все равно надо писать?
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Haoose
Есть пока мало чего. Вот возобновлю себе интернет в общаге и начну работать дальше (пока не придет заказанная на заводе плата, а это еще 2-3 месяца).
Есть пока мало чего. Вот возобновлю себе интернет в общаге и начну работать дальше (пока не придет заказанная на заводе плата, а это еще 2-3 месяца).
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).