Перебираем двигатель через выхлопную трубу, или как получить нормальное клавиатурное управление в FIFA 12
Завязка истории тривиальна. Давным-давно, в далёкой-далёкой галактике была отличная игра под названием «Fifa». Она бы таковой и оставалась, если бы св нехорошие люди из ЕА в 2010м году не возжелали окончательно убить клавиатурное управление во имя геймпадов.
Я же решил нести возмездие во имя луны вернуть нормальное клавиатурное управление обратно. Хроники борьбы бобра с ослом можно посмотреть под катом.
Как было раньше
До знакового 2010го года фифа обладала вполне сносным клавиатурным управлением. Наибольшее преимущество геймпада (по крайней мере, на мой взгляд) заключалось в существенно большей доступности особых, уличных приёмов работы с мячом (для них применялся right analog stick). В клавиатурной версии оба стика (и движение, и финты) были привязаны к обычным стрелочкам, и нажатие левого шифта позволяло исполнять хитрые трюки. На самом деле, это вполне сносное решение, с которым вполне можно играть: одними стрелочками я могу управлять бегущим человеком и, когда нужно, исполнять трюки, удерживая LShift.
Как убивали клавишников в Fifa 11
А очень просто. В этой версии right stick целиком перенесли на numpad, а движение оставили на стрелках.
Что здесь плохого? Исключительно то, что теперь это — разные кнопки. Вся привычная схема, основанная на шифте, полетела к чёрту, и было совершенно очевидно, что восстановить такую схему не представляется возможным. Оно сработало, клавишников стало куда меньше, чем в 10ке.
Надо отметить, что я долго собирался. Терпел такое управление я целый год, но буквально пару дней назад чаша терпения была окончательно переполнена.
Начало боевых действий
Заварив чаю покрепче, скачал я WDK, открыл пример клавиатурного фильтра, и решил подкорректировать его под собственные нужды. Но беда была в том, что это был мой первый (и практически неудачный) опыт создания драйвера. Короче говоря, после примерно полусотни перезагрузок виртуальной машины (смена драйвера клавиатуры требовала перезагрузки) мне слегка наскучило ковыряться в сишном коде в шестом часу утра, и я уснул.
Утро, как известно, всегда вечера мудренее, и оно принесло свежую мысль. Если фифа так любит геймпад — почему бы и нет? Сэмулируем его… Надо сказать, многие ребята так и делали, пользуясь штуковиной под названием KeyToJoy. Она не умела того, чего хотел я, но пользовалась популярностью, так как в 11й фифе, например, клавиатура вообще не являлась полноценным контроллером. Предупрежу сразу, поиск по этому ключевому слову однажды привёл меня к архиву, в котором сидел вирус. Я предупредил.
В общем, я решил, что было бы неплохо найти какой-нибудь эмулятор геймпада, желательно с открытым кодом, и поправить его так, чтобы клавиатурное управление максимально приблизить к привычному мне.
И нашёл. Вот он: VJoy homepage.
Автор этого продукта — большая няша и просто хороший человек, поскольку обеспечил его прекрасным примером работы, переделать который нужным мне образом не составило никакого труда.
Установка виртуального геймпада
Ничего сложного. Качаем дистрибутив (ссылка на сайт выше), несколько раз нажимаем «далее» — и готово.
Нет, правда. А про что тут писать-то?
Настройка параметров девайса
После установки потребуется настроить параметры геймпада (число кнопок, осей. ), для чего потребуется утилита vJoyConf. Там тоже всё очень просто. Для фифы достаточно 10 кнопок (A,B,X,Y,start,back,LT,RT,LB,RB), четыре оси (х, у, z, rz), D-Pad с четырьмя направлениями. Программа не отражает текущих настроек виртуального геймпада, а только позволяет задать новые, поэтому не нужно пугаться, что «настройки не сохранились» — всё там сохранилось.
Настроились, где проверить?
Всё очень просто — запускаем апплет «игровые устройства» панели управления (joy.cpl в «выполнить» — самый быстрый вариант доступа) и смотрим на наш виртуальный геймпад. Что с ним делать? Пока ничего, т.к. им пока никто не управляет.
Управляем джойстиком
А для этого нам потребуется, например, MS Visual C++ Express. Ну да, сейчас мы будем слушать клавиатуру и говорить нашему геймпаду, какие кнопочки считать нажатыми. А что, мне в фифу без финтов что ли играть?
Итак, вот тут создатель VJoy дарит миру простенькое консольное приложение на С++, которое посылает геймпаду команды установки нового состояния.
Код примера отлично документирован, и за пару минут переделывается так, как требуется нам в контексте конкретной задачи (для игры в фифу). Например, вот этот код обеспечивает столь нужное мне переключение с left stick-а на right stick:
bool shift = 0!=GetAsyncKeyState(VK_LSHIFT); bool leftKey = 0!=GetAsyncKeyState(VK_LEFT); bool rightKey = 0!=GetAsyncKeyState(VK_RIGHT); bool upKey = 0!=GetAsyncKeyState(VK_UP); bool downKey = 0!=GetAsyncKeyState(VK_DOWN); Y = X = 0x3fff; //оси изначально в нейтральном положении Z = ZR = 0x3fff; //Вообще это очень топорное решение. Нужно плавнее. //Но финты относительно сносно работают уже даже так. if(!leftKey != !rightKey) < if (!shift) X = leftKey ? 0 : 0x7FFF; //Это такие крайние положения у осей else Z = leftKey ? 0 : 0x7FFF; >if(!upKey != !downKey) < if(!shift) Y = upKey ? 0 : 0x7FFF; else ZR = upKey ? 0 : 0x7FFF; >//Где-то много дальше по коду, после впиленных мной //тривиальных обработчиков для кнопок джойстика if (!DeviceIoControl (hDevice, IoCode, pPositionMessage, IoSize, NULL, 0, &bytes, NULL))
На самом деле, всё весьма несложно. Отслеживаем кнопочки, передаём их геймпаду.
В чём бонус? Очевидно, что сложность логики нажатия кнопочек может быть абсолютно любой,
а не только «одна кнопка клавиатуры = одна кнопка геймпада», как это бывает в простых готовых эмуляторах. Настроить можно как угодно, и это может представлять интерес.
Заключение
Кому всё это нужно? Не знаю, просто пишу о том, как я кое-что задумал и успешно исполнил задуманное. Вдруг кому-нибудь подобное решение окажется полезным?
Пару слов о получившемся эмуляторе. Полные исходники сырого, ненастраиваемого, однако рабочего изделия можно увидеть тут, в них, как мне кажется, нет ничего такого, о чём стоит писать отдельно и подробно. Более того, эта штука с точки зрения производительности не очень-то эффективна, я уверен, что можно сделать куда грамотнее, если посидеть с этим подольше. Однако в тот знаменательный вечер у меня слишком чесались руки опробовать творение, поэтому едва компилятор выплюнул ехе-файл, все мысли о модификациях моментально куда-то улетучились.
Ещё стоит отметить, что чтобы познакомить фифу с новым джойстиком, нужно слегка помухлевать с файлом buttonDataSetup.ini в пользовательском каталоге фифы. Я не уверен, что эти подробности (также установимые самостоятельно за пять-десять минут) имеет смысл приводить здесь, но если кого-то заинтересует этот вопрос, то я освещу и его.
UPD. Новая версия фидера. Теперь она эмулирует аналоговый стик плавнее, что положительно сказывается на качестве восприятия игрой финтов. При этом фидер достаточно умён, чтобы не создавать задержки реакции на резкие изменения направления движения. Мало ли, вдруг кто-то воспользуется.
Feeder
Community content is available under CC-BY-SA unless otherwise noted.
Advertisement
Fan Feed
- 1 MLB The Show 24
- 2 Skate 3
- 3 Saints Row 2
Explore properties
Follow Us
Overview
Community
- Community Central
- Support
- Help
- Do Not Sell or Share My Personal Information
Advertise
Fandom Apps
Take your favorite fandoms with you and never miss a beat.
Videogame soundtracks Wiki is a FANDOM Music Community.
Кто такие фидеры и зачем они откармливают своих близких
Говорят, о вкусах не спорят. И особенно сильно подкрепляет эти слова фидеризм — стремление раскормить себя или партнёра до необъятных размеров. Выражение «хорошего человека много не бывает» здесь уже приобретает другой смысл, понятный только самому фидеру и фиди — тому, кто кормит и кого кормят. Мы поговорили с некоторыми из них и спросили мнение психолога на этот счёт.
психолог-консультант
Фидеризм — это созависимые партнёрские отношения, где есть «доминант-агрессор» и «жертва».
Что такое фидеризм?
Фидеризм — это тяга к кормлению и набору веса, а ещё сексуальный фетиш. Направление зародилось в США и получило название от английского слово feed — «кормить». Фидером («кормящий») называют человека, который кормит другого. А фиди («кормящийся») — тот, кого кормит фидер. Первыми становятся чаще всего мужчины, но и среди женщин встречаются такие. На тему фидеризма написано мало — о своём увлечении фидеры и фиди рассказывают сами. У них есть сайты, где они знакомятся, ведут хронику набора веса и обмениваются опытом — в основном анонимно. Там же некоторые раскрывают причины своих пристрастий.
Фото: Елизавета Поломошнова, instagram.com/eli_mksm/
Одни находят лишний вес привлекательным, вторые толстеют во имя любви, чтобы угодить второй половинке. Третьи просто получают удовольствие от еды и полноты. Фидеризм практикуется как в рамках отношений, так и в одиночку. Последних называют гейнерами (от англ. gain — «набирать») — они самостоятельно набирают вес и мечтают вырасти до необъятных размеров.
Впрочем, этим мотивы не ограничиваются. Есть и те, кто стремится раскормить партнёра до такого состояния, чтобы тот не мог самостоятельно передвигаться. Яркий тому пример — американская пара Майк и Джейн. До знакомства с мужем девушка весила меньше 90 кг, однако вскоре тот раскормил её до 400 кг. Он предлагал девушке огромное количество фастфуда, попутно угрожая — не съешь, уйду. Какое-то время жертва подчинялась, но в конце концов опомнилась и разорвала нездоровые отношения.
Материалы по теме
В чём смысл этого фетиша?
Фидеризм — настолько непонятное явление, что сложно сказать, чем именно руководствуются фидеры и фиди. Известно, что фидерам-мужчинам нравятся полные женщины — именно в них они видят сексуальную привлекательность. Более того, для получения удовлетворения (в том числе сексуального) им необходимо лично кормить фиди — как мы уже сказали выше, в основном это женщины. Для мужчины в таком случае процесс кормления — это особый вид сексуального наслаждения. В то время как сама женщина по определённым причинам находит для себя приемлемым обильно есть, буквально постоянно отправляя что-то (чаще всего фастфуд) в желудок.
Фото: Елизавета Поломошнова, instagram.com/eli_mksm/
Тут возникает вопрос: зачем некоторые осознанно набирают вес, если это может навредить здоровью? Ожирение приводит к серьёзным последствиям, мешает нормально передвигаться и в целом сильно усложняет жизнь. На этот вопрос нет однозначного ответа. Но надо сказать, что удерживать вес на отметке 100 кг и больше не так просто, как может показаться. Много тех, кто останавливается на большой цифре в пользу здоровья. С одним из таких нам удалось пообщаться. Вот что фиди рассказал о своём увлечении.
Аноним: «Раньше я весил 68 кг, сейчас 80 кг. Моя цель — 100 кг, после этого, скорее всего, остановлюсь. Я не ищу себе фидера, делаю это просто из интереса. Набирать вес начал с начала ноября прошлого года, но родные этого не замечают. Ни в каком сообществе не состою, есть только несколько интернет-друзей.
Всё началось с того, что я познакомился с русской девушкой — она-то меня и воодушевила начать набирать. Многие гейнеры сильно поправляются, но на каком-то этапе останавливаются, заботясь о здоровье — как бы смешно это ни звучало. И просто наслаждаются едой. Лично мне этот процесс приносит положительные эмоции. Некоторые толстеют не ради мечты, а для себя, просто людям так нравится».
Fifa to probe Arsenal’s feeder-club deal
Arsenal are the subject of a Fifa inquiry after a money-laundering investigation in Belgium threw up evidence of an unusual financial relationship between the Champions League finalists and their feeder club Beveren. According to a report by the BBC’s Newsnight last night, opaque investments made in Beveren in 2001 drew the attention of Christian Du Four, the investigating magistrate in the Flemish region of Dendermonde. Fearing that the funds — initially a one-off payment of £1m — were being drawn from mafia sources, Du Four began to investigate their provenance.
«A company with no name wanted to invest £1m in the club,» said Du Four. «We thought it rather bizarre.» It became clear in the course of his fiscal probe that Arsenal, rather than criminal elements, were the source of the investments. The Premiership club had agreed in August 2001 to make a £205,000 payment to a certain Raoul de Waele in the form of an interest-free loan. The loan agreement, a copy of which is in Newsnight’s possession, stipulated that the money would be used to incorporate a company called Goal, which would in turn set up another company to purchase Beveren. It was signed by Arsenal’s vice-chairman David Dein. «Goal will hold a majority of the share capital [of the second company, which would be] formed for the purpose of acquiring the assets, liabilities, contracts and undertaking of VZW KSK Beveren,» the agreement stated. Although there is no suggestion that Arsenal have acted illegally, the Fifa president Sepp Blatter has ordered the Football Association to investigate. «Let Arsenal give to the FA, to [its chairman Geoff] Thompson and his crew a report and then he shall report it later to Fifa,» Blatter said yesterday. Arsenal insisted yesterday that it did not own shares in Beveren and had no influence over the running of the club. «Arsenal confirms that it has never owned, directly or indirectly, any shares in Beveren or had any power whatsoever to influence its management or administration,» said the club in a statement. «It did in 2001 provide funds of £1,077,855 by way of loan to a member of a consortium who used the money to assist in stabilising the finances of Beveren. «At no time has anyone at Arsenal been contacted by any regulatory or investigatory body with respect to its relationship with Beveren. Arsenal and all its staff have acted properly throughout, in accordance with all applicable rules and regulations, and in the best interests of Beveren, Arsenal and the broader footballing community.» Arsenal have certainly profited from their relationship with Beveren. They bought Emmanuel Eboué from the Belgian club in 2005 for an undisclosed sum and the Ivory Coast international, one of a number of players from that country recruited by Beveren, has become a trusted figure in the Arsenal defence. According a statement allegedly made to Du Four, Beveren’s chairman Frans van Hoof claims that Arsenal is Goal’s main shareholder. There is, however, nothing in the loan agreement to indicate Arsenal acquiring any shares in Goal. The timing of the accusations is embarrassing for Dein, who is today standing for re-election to the Premier League’s delegation of FA board members. Blatter is also concerned about the number of Ivorian players who represented Beveren after the investments were made. Under the guidance of the former France international Jean-Marc Guillou, who was well known to Arsène Wenger since he had acted as his assistant manager during a spell at Cannes, Beveren recruited players from the Ivory Coast. Guillou had set up an academy for young players in the Ivorian capital of Abidjan. Van Hoof claimed that the majority of Beveren profits from sales of the Ivorian players were supposed to go to Guillou and to Goal. In the first year of the company’s involvement, Van Hoof alleged to Newsnight, profits would be shared 60% to Goal, 30% to Guillou and only 10% to Beveren. This latter proportion was set to rise after the first 12 months of the relationship, with 30% going to the club and 40% to Goal. Blatter is now seeking to ensure such practices are not possible in future. «[At] Beveren there are 11 players from Africa in the same team; in Dinamo Moscow the last season there were 10 players from Brazil or Portugal,» he said. «These are deviations in football.»
Explore more on these topics