Писькомерство кулкодеров., Дабы было где пофлудить на програмерские темы. |
Здравствуйте, гость ( Авторизация | Регистрация )
Писькомерство кулкодеров., Дабы было где пофлудить на програмерские темы. |
25.03.2016, 20:14
Сообщение
#21
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
А давайте флудить тут, а не в новостях
Сообщение отредактировал jamakasi - 25.03.2016, 20:15 |
 
|
|
|
|
25.03.2016, 17:05
Сообщение
#22
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
25.03.2016, 17:32
Сообщение
#23
|
|
to life is to die Репутация: 730 Группа: Участник Сообщений: 4616 Награды: 6 Регистрация: 23.05.2004 |
безграмотные программисты Не используйте слово "программисты" в отношении мододелов) она ДОЛЖНА нормально компилироваться от студии 2003 и до 2100 А причем тут, собственно, Студия?) Если вы не используете никаких библиотек, и спецификация языка не изменилась за 7 лет, то с чего вдруг она не станет компилировать этот код? мягкотелые это реально умные, очень умные идиоты, не понимают простейших вещей Уж куда им до вас)) легче кодить на ассемблере чем разбирать это болото так вперед, кто мешает?) |
 
|
|
25.03.2016, 17:53
Сообщение
#24
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
Я вот сейчас в сталкере прикручиваю к классу CCar класс CRocketLauncher, т.е. ракетницу, хочу попробовать Град(РСЗО) сделать, и это всё на ассемблере МАСМ, мне так проще, чем разбираться с С++ и студией в частности. Стараюсь при этом использовать структуру С++, макросы, что бы можно было это дело в С++ конвертировать с минимальными проблемами. И вот зачем? "Хрень" и так собирается на студии\системах в случае сферического коня в вакуме. Кроме того вот сделаешь ты прикрутку ракетницы и забьешь, а те кто будут(хотя это ооочень спорный вопрос) разбираться просто плюнут и перепишут тоже самое на с\с++, скажем человек портировал двиг на х64 и ему проще переписать все на чистом с++ вместо колупания асмы. Кроме того MASM от версии к версии тоже некисло так меняется, WinAPI тоже меняется, хоть и незначительно, в каждой версии винды. Поэтому резонный вопрос: какой шанс что твой код на масм'е кто-то будет фиксить\разбирать если тоже самое с меньшими затратами может сделать с++ ? При этом(если с++) получится прямая зависимость уже от проекта в целом, вместо зависимости проекта и еще ассемблерных костылей в нем, которые вообще мало кто поймет. |
 
|
|
25.03.2016, 17:57
Сообщение
#25
|
|
to life is to die Репутация: 730 Группа: Участник Сообщений: 4616 Награды: 6 Регистрация: 23.05.2004 |
jamakasi, брось, кому ты объясняешь.. человеку, который не видит разницы между языком, IDE и компилятором..
|
 
|
|
25.03.2016, 18:08
Сообщение
#26
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Тут надо бы вставить шутку про триединство и действительно низкоуровневых погромистов
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
25.03.2016, 18:29
Сообщение
#27
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
И что тут не понятно.
Код CODE CCarWeapon__OnEvent proc ; esi - type u16 ; edi - P NET_Packet ; ebx - this CCar local rocket_id:dword .if si == GE_OWNERSHIP_TAKE ; P.r_u16(rocket_id); lea eax, rocket_id push eax mov ecx, edi call ds:r_u16 ; NET_Packet::r_u16(ushort &) ; CRocketLauncher::AttachRocket(rocket_id, this); mov eax, [ebx+m_car_weapon] ; CCarWeapon* push ebx ; this push rocket_id lea ecx, [eax+CCarWeaponRocketLaunch] call CRocketLauncher__AttachRocket .elseif si == GE_LAUNCH_ROCKET ; P.r_u16(rocket_id); lea eax, rocket_id push eax mov ecx, edi call ds:r_u16 ; NET_Packet::r_u16(ushort &) ; CRocketLauncher::DetachRocket(rocket_id, true); mov eax, [ebx+m_car_weapon] ; CCarWeapon* push true push rocket_id lea ecx, [eax+CCarWeaponRocketLaunch] call CRocketLauncher__DetachRocket .endif leave ; делаем что вырезали movzx eax, si sub eax, 1 jmp return__CCarWeapon__OnEvent CCarWeapon__OnEvent endp Код достаточно тривиален, кто шарит и МАСМе и С++ разберётся. Это вам не маландринус и ко в проекте XRay-Extensions для ТЧ в частности. Там код просто ужасный, я хоть молодец от рефакторил код для ЗП. ЗЫ Форматирования изуродовало код, не такой читабельный как в тексте. Сообщение отредактировал NanoBot-AMK - 25.03.2016, 18:45 -------------------- СТАЛКЕР только для ПК!
|
 
|
|
25.03.2016, 18:29
Сообщение
#28
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
Немного очередного оффтопа в печку о языках. Ораклы выкатили новую рекомендацию для явы9, так вот в рекомендации говорится о динамичной типизации(это-ж модно, молодежно чтоб как у всех), писать вместо "SomeClass insA = new SomeClass()" вот такую чушь "var insA = new SomeClass(). Сообщество явистов очень сильно негодует по этому возможному нововведения
|
 
|
|
25.03.2016, 18:37
Сообщение
#29
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
Шутка в том, что xray-extensions, который допиливает NanoBot-AMK, собирается исключительно масмом от 2010 студии.
Немного очередного оффтопа в печку о языках. Ораклы выкатили новую рекомендацию для явы9, так вот в рекомендации говорится о динамичной типизации(это-ж модно, молодежно чтоб как у всех), писать вместо "SomeClass insA = new SomeClass()" вот такую чушь "var insA = new SomeClass(). Сообщество явистов очень сильно негодует по этому возможному нововведения А это не вывод типов компилятором при статической типизации? Как бы тут и не зачем писать 2 раза SomeClass. |
 
|
|
25.03.2016, 18:37
Сообщение
#30
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
А какая разница между SomeClass insA = new SomeClass() и var insA = new SomeClass()
Вроде всё понятно, и там, и там, создать объект класса SomeClass. Хотя я в джаве не очень. -------------------- СТАЛКЕР только для ПК!
|
 
|
|
25.03.2016, 18:42
Сообщение
#31
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
И что тут не понятно. Код Код достаточно тривиален, кто шарит и МАСМе и С++ разберётся Вот я когда то давно изучал С++ но не асм\тасм\масм. Могу очень легко понять код С++\С\Java\Pascal\Delphi\Basic т.к. их изучал, могу так же понять код написанный на Mono\C#\F#\Ruby\Python\Scala или даже разобраться почти без сложности в Objective C и Perl. Но вот высер который спрятан под спойлером пусть лучше там и остается ибо глядя на этот кошмар я бы его сразу с корнем вырезал и даже не пытался бы разбираться в нем. Какой смысл калечить людям нервы и заставлять их выковыривать глаза зубной нитью? Производительность? Да сейчас в чайниках уже давно стоят 2-4 ядерные процы. У меня к примеру в телефоне 8 ядер+ 3гб озу, или на компе 8 ядер + 16 гб озу Да я потерплю падение производительность участка кода на 5 да даже на 20% чем буду сам себе лепить геморой в виде вставок асмы, даже иной раз не пользуюсь JNI(это нативный с\с++\асм код в яве) в проектах потому что пара процентов производительности не стоит всего того гемороя. Я искренне сочувствую вашей аутентичности. |
 
|
|
25.03.2016, 18:43
Сообщение
#32
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
Цитата собирается исключительно масмом от 2010 студии Это у них нормально получилось, вот и использую. В общем, МАСМ мне нравится, хотя низкоуровневые программисты называют его язык с печатью Баала, правда прикола я не понял, но это типа, язык не достаточно низкоуровневый. А мне то что, макросы облегчают программирования, и это самое главное. -------------------- СТАЛКЕР только для ПК!
|
 
|
|
25.03.2016, 18:49
Сообщение
#33
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
А какая разница между SomeClass insA = new SomeClass() и var insA = new SomeClass() Это да, а как тебе такой случай. "var myObject = SomeNetUtils.getData()" . Нука угадай какой тип теперь у переменной? А что если такой случай: где то в недрах кода, псевдокод(смотреть после нижнего кода): int lososni(int); byte lososni(byte); tuna lososni(short); Какой тип у "var item = lososni(1)" На |
 
|
|
25.03.2016, 18:50
Сообщение
#34
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
Это у них нормально получилось, вот и использую. В общем, МАСМ мне нравится, хотя низкоуровневые программисты называют его язык с печатью Баала, правда прикола я не понял, но это типа, язык не достаточно низкоуровневый. А мне то что, макросы облегчают программирования, и это самое главное. Эээ, что? А как же "должен собираться в 2003 студии"? А иначе "идиот"(С) Сообщение отредактировал abramcumner - 25.03.2016, 18:50 |
 
|
|
25.03.2016, 18:52
Сообщение
#35
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
Вся очень понятно, все остальные языки пр. от лукавого, только асм может дать полный контроль над кодом. ЗЫ Если кто не заметил то там про комментировано кодом С++, так что, кому надо разберётся. Но не всегда я смогу транслировать код асм в С++, просто я не знаю как там это делается. Сообщение отредактировал NanoBot-AMK - 25.03.2016, 19:16 -------------------- СТАЛКЕР только для ПК!
|
 
|
|
25.03.2016, 19:02
Сообщение
#36
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Регистрация: 12.07.2007 |
хотя низкоуровневые программисты называют его язык с печатью Баала Потому что даже средний проект на масме заставит тебя быстрее повеситься чем писать коментарии и пытаться найти ошибку или отдебажить его. Из всех кого знаю максимум что используют это чистый С даже для написать драйверов или прошивок микрух. асм может дать полный контроль над кодом. Такое было только когда програмки были простетские. Вот давайка напиши мне самый простой веб сервер который может принимать геты и посты |
 
|
|
25.03.2016, 19:04
Сообщение
#37
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
Потому что даже средний проект на масме заставит тебя быстрее повеситься чем писать коментарии и пытаться найти ошибку или отдебажить его. Из всех кого знаю максимум что используют это чистый С даже для написать драйверов или прошивок микрух. Он же использует код из ИДЫ, сгенерированный компилятором из с++. Так можно писать проекты любого размера. Сообщение отредактировал abramcumner - 25.03.2016, 19:04 |
 
|
|
25.03.2016, 19:14
Сообщение
#38
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
Цитата Он же использует код из ИДЫ, сгенерированный компилятором из с++. Так можно писать проекты любого размера. Так и есть, можно считать что я выполняю ручную компиляцию кода С++ в ассемблер. Но и писать на МАСМе не слишком сложные программки реально, сейчас есть простейшая среда разработки оконных приложений для МАСМе, там не сложную программу можно сочинить так же легко, как в Визуал Студии. Сообщение отредактировал NanoBot-AMK - 25.03.2016, 19:15 -------------------- СТАЛКЕР только для ПК!
|
 
|
|
25.03.2016, 19:30
Сообщение
#39
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Не так говоришь - делать каждую версию так, чтобы не было будущей совместимости А в чем проблема, чтобы учесть будущую совместимость? Почему бы в первой версии не сделать базу, после чего, с дальнейшими версиями и обновлениями наращивать фичи, которые просто не будут работать в более старых версиях, но не ломают полностью совместимость? Не используйте слово "программисты" в отношении мододелов) Ага, программистами могут быть только тру-мелкософтные фетишисты)) © Это вам не маландринус и ко в проекте XRay-Extensions для ТЧ в частности. Там код просто ужасный, я хоть молодец от рефакторил код для ЗП. И что там такого ужасного? asm-код, как правило либо работает, либо нет, другого не дано. Другое дело, что в самих файлах слишком много тестового хлама, отсутствуют пояснения к коду, что мешает его разбору через время, но это никак не влияет на его работу в движке. Сообщение отредактировал RayTwitty - 25.03.2016, 19:39 -------------------- |
 
|
|
25.03.2016, 19:45
Сообщение
#40
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
А в чем проблема, чтобы учесть будущую совместимость? Почему бы в первой версии не сделать базу, после чего, с дальнейшими версиями и обновлениями наращивать фичи, которые просто не будут работать в более старых версиях, но не ломают полностью совместимость? Проблема ровно одна - ты не знаешь, что будет в будущем. Выпусти хотя бы одну версию PZ, чтобы не надо было начинать НИ после фиксов Не говоря уже о двух версиях. В 2010 студии кстати сделали ровно, как ты сказал. Проекты от последующих студий открываются, но не работают более новые фичи. Сообщение отредактировал abramcumner - 25.03.2016, 20:04 |
 
|
|
25.03.2016, 19:53
Сообщение
#41
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Проблема ровно одна - ты не знаешь что будет в будущем. Это плохо. Выпусти хотя бы одну версию PZ, чтобы не надо было начинать НИ после фиксов Сказал один из разработчиков OGSE 0693, для которого вышло... 15... 20 патчей? Если уже говорить в контексте игры, то достаточно просто один раз запилить спавн, остальное же меняется на ходу и не требует НИ. Соответственно, все зависит от прямоты рук геймдизайнера. В 2010 студии кстати сделали ровно, как ты сказал. Проекты от последующих студий открываются, но не работают более новые фичи. Вот только чет на завелись исходники ЗП (чистые) сохраненные под 13 студией в 10. -------------------- |
 
|
|
Текстовая версия | Сейчас: 29.03.2024, 11:55 |