Реконструкция ВОВ

Побывал я в воскресенье на реконструкции войны – интересная штука оказалась. Собралась огромная куча народа, которые были одеты в униформу того времени (замечу, что они тратят кучу денег и времени на поиск действительно тех вещей), выкопали траншеи и начали воевать 🙂 Ну точнее, когда я там появился, то все уже было подготовлено.
Имитировался 45 год, Зейдельские высоты, наши наступают и бьют немцев.


Фрагмент поля боя, если присмотреться, то даже видно танк 🙂

Зрелище действительно завораживающее – немцы сидят в окопах, наши идут, ползут, перебегают и выбивают немцев из первой линии обороны, после этого положение улучшается, так как в окопах не только немцы 🙂
Через некоторое время наши забрасывают дымовыми шашками немецкий дот, после чего подползли и подожгли его. А потом подъехали танки… Когда стреляет танк – это писец… Срабатывали все сигнализации у всех машин, если бы танк был не в 600, а в 100 метрах, то можно было бы и оглохнуть.
Замечу что пальба стояла невероятная, а когда начинал строчить пулемет, то понимаешь, насколько страшным изобретением он стал в свое время 🙂


А это я с stalker_rkka

Сумбур

Что-то давно не писал я, мысли вроде бы появляются, но потом хлоп – и нету 🙂
Съездил на праздники к бабушке в Ульяновку, что в 250 км от Киева. Прикольно там, спокойно, компов практически нету. С другой стороны, делать там, по большому счету, нечего. Вот народ и спивается потихоньку, или женится.
Для меня было несколько культурным шоком, что один мой друг, с которым я там даже в школе поучился, женился и даже уже имеет 10 месячного ребенка.
Когда тебе об этом рассказывают по телефону, то воспринимается это как-то так – формально, а вот когда ты заходишь к нему в гости, а там жена, ребенок, которому надо периодически пожрать дать, покачать на руках и еще как-то поразвлекать, внезапно что-то понимаешь…
Хотя сложно осознать, что чувак, с которым мы вместе прятались за столяркой покурить, ходили-бухали и вапще просто дружили, стал главой семейства.
Молод я и глуп еще, наверно 🙂

Возвращение

Я снова вернулся к программингу псп 🙂
Все-таки есть какая-то прелесть в том, что некоторое время ты программишь на “языке высокого уровня”, когда не надо особо задумываться над скоростью выполнения программы и можно поизощряться в применении всяких паттернов и использовании стандартных библиотек.
Но и в программинге псп тоже много интересного, например выжимание максимума из аццкого мипс процессора.

Кстати, вчера залез на gamedev.net форум и пофлеймил немного на тему stl vs no-stl, ну мне долго объясняли, что стл – это круто и не зачем изобретать велосипеды и все такое, я отбивался как мог, но получалось не очень убедительно, а потом пришли другие консольщики и всех порвали 🙂
В общем вывод из этого всего такой – на консоли стл явно “вне закона”, а на PC его надо знать, но стараться минимизировать использование. Мое имхо.

КРИ-2006

Итак, выставка прошла и мы наконец-то добрались домой. Хочу подбить некоторые результаты.
Выставка – это супер 🙂 При чем я полностью поддерживаю в мнении, что реально конференция – это не доклады, а реальное общение с реальными разработчиками, и как он же точно подметил, что посещение выставки – это +10 к морали девелопера. Было очень интересно пообщаться с девелоперами не на канале, а в живую 🙂 Познакомился с соканальщиками-флеймерами, познакомился со “столпами индустрии :)”, побывал в офисе 1С и Нивала, прикольно у них там, только у 1С как-то тесновато, имхо, у ниваловцев вроде побольше простора 🙂
Интересно было послушать разговоры Квакса, Руслана, Шодана и Нетерейзера на кухне в 4 часа утра 🙂
Геймдев-флейм пати тоже прикольная была, с мортал-комбатом на пс2, у даггера дома, жаль, что мы с Семеном вынуждены были свалить пораньше.
Самым главным приколом мероприятия было ожидание того, что люди с которыми ты знакомишься представляются совсем не так как они выглядят в реале 🙂
Вот пара фоток:

Это мы с в офисе 1С.


А это мы с отцом графики 5х героев – в офисе Нивала.

Думаю когда отосплюсь и соберу мысли в кучу, то еще чего-нить напощу 🙂

Едем на КРИ

Сегодня вечером едем на кри, вот сфоткал то, что мы купили с собой 🙂

Пре-КРИ

Что-то настроение перед кри какое-то не рабочее, вообще работать не получается, зато в старкрафт поигрался, правда не очень успешно 🙂
Теперь еще пару реплеев правильных гляну для размышлений и домой поеду.

Add-in stable alpha

Ура! Я наконец-то сделал более-менее стабильный адд-ин, который может работать не только на моей машине 🙂
На данный момент реализовано:
1. Компиляция
1.1. Компилируется каждый файл по отдельности. Файлы берутся из проекта в студии.
1.2. Ошибки/предупреждения парсятся и выводятся в формате, который понимает студия, благодаря чему можно кликнуть на ошибку и перейти на строчку в файле.
1.3. Если ошибок нету – идем линковаться 🙂
2. Линковка – все полученные объектные файлы линкуются и получается исполняемый бинарник.
3. Настройки компиляции/линковки – есть пропертиГрид в котором можно выставить настройки компиляции, пока что самые необходимые 🙂
4. Копирование на ПСП – если компиляция успешна, то бинарник копируется на псп и его можно сразу запускать.

На данный момент этот модуль работает с проектами типа Makefile project, но в будущем перейдем на собственный формат проекта.

Вот вроде бы и все 🙂

Закрытие сезона

Сегодня приехал из гор – опять на выходные катались в Карпаты. Думаю, что в этом сезоне уже больше туда не поедем 🙂
Отдохнули отлично – в субботу стояла солнечная погода, было где-то +3, но снег был отличным. Один этот день стоил недели отдыха, спустились раз 15. На следующий день было похуже, снег уже подмок и лыжи начинали тормозить, да и погодка стояла пасмурная и даже что-то капать начинало. Главным сюрпризом для нас стало то, что мы часы перевели не как нормальные люди – на час вперед, а как обычно – на час назад, в результате было очень удивительно узнать, что уже почти 3 часа дня, а не час, как мы наивно предполагали. Хорошо, что узнали пораньше, а то могли и на поезд не попасть 🙂

Вообще – закрыли сезон отлично 🙂

Сегодня когда дибажили с KVaks’ом адд-ин, то обнаружили интересную особенность студии.
Левые файлы, которые открыты в студии не висят просто так – они лежат в проекте под названием Miscellaneous Files, а это значит, что если вы думаете, будто у вас только один проект в солюшене (ну или там пять, шесть), то вы ошибаетесь – их может быть на один больше 🙂

Assembler в Add-in

Разрабатывая аддин возникло желание добавить возможность просмотра ассемблерного кода для выбранного файла проекта – так же как это реализовано в CodeWarrior.
Для этого нам надо сделать следующее:

1. Добавить кнопку в контекстное меню файла.
2. Отдать компилятору на съедение выбранный файл
3. Создать окно отображения кода в студии
4. Вывести в это окно то, что нам отдал компилятор

Добавление кнопки.
Тут все просто, мы просто передираем код, любезно предоставленный нам Add-in Wizard когда мы создавали проект и меняем название и местоположение кнопочки 🙂
Единственным моментом является получение контекстного меню файла, это делается следующим образом:

_CommandBars cmdBars = (_CommandBars)_applicationObject.CommandBars;
CommandBar cmdBar = cmdBars[“Code Window”];
command.AddControl(cmdBar, 1);

Кормежка компилятора

Нам нужно получить название файла для скармливания – в данный момент мы делаем правый щелчок на открытом файле в текстовом редакторе и выбираем в нем нашу команду.
Имя файла получаем следующим образом:

_applicationObject.ActiveDocument.FullName;

Для того, чтобы компилятор сгенерировал нам ассемблерный код, мы запускаем его с ключем -S: gcc -S filename_cpp


ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = “psp-gcc”;
psi.Arguments = ” -S ” + filename;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;

Process.Start(psi);

Полученный файл с расширением .s будет лежать в текущей директории

Создание окна отображения кода в студии и вывод на экран.
Тут в принципе тоже ничего сложного.
_applicationObject.ItemOperations.OpenFile(asm_filename, Constants.vsViewKindCode);

Просто открываем файл, который нам сгенерировал компилятор.

Собсно вот и все 🙂