1. Си / Говнокод #15487

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    if (other && other->client && other->s.number < MAX_CLIENTS)
    		{//player touched me
    			/*
    			char *text;
    			qboolean	keyTaken;
    			//give him my key
                            ...
    
    			*/
    			//rwwFIXMEFIXME: support for goodie/security keys?
    			/*
    			if ( keyTaken )
    			{//remove my key
    				NPC_SetSurfaceOnOff( self, "l_arm_key", 0x00000002 );
    				self->message = NULL;
    				//FIXME: temp pickup sound
    				G_Sound( player, G_SoundIndex( "sound/weapons/key_pkup.wav" ) );
    				//FIXME: need some event to pass to cgame for sound/graphic/message?
    			}
    			//FIXME: temp message
    			gi.SendServerCommand( NULL, text );
    			*/
    		}

    FIXMEFIXMEFIXME... Да ну нахуй, лучше все закомментим.

    Запостил: gost, 15 Марта 2014

    Комментарии (38) RSS

    • вап
      Ответить
    • NPC_SetSurfaceOnOff( self, "l_arm_key", 0x00000002 );

      OOP - style one pure C?
      Ответить
      • где тут ООП?
        Ответить
        • ООП стиль, создается структура с данными и ряд сишных функций принимающих на нее Указатель и другие параметры, часто для эрзаца инкапсуляции еще делают все манипуляции через детипизированный указатель - хендл.
          Ответить
          • Wat
            Ответить
            • Ну да это считается ООП стилем.
              Ответить
              • ООП, ООП... Да нет тут нихуя ООПа, это сплошной Си.
                Ответить
                • Можно писать на С, используя ООП стиль. GTK тому пример.
                  Ответить
                  • Это вроде account_get_username(conn_get_account(c) )? Можно, но зачем?
                    Ответить
      • self - это указатель на структуру. Так что никакого ООПа. Пысы, код из сорцов Jedi Academy 2003 года написания.
        Ответить
        • Что такое ООП?
          Ответить
        • Ну так и вызовы крестометодов транслируются в thiscall - первым идет указатель на класс(структуру), далее идут другие параметры. Это и есть ООП стиль, только по сишному корявый.
          Ответить
          • Вот, кстати гцц передаёт this через стек. Майкрософт — через ECX. Почему бы не передавать this через EAX. Тогда если функции много регистров не нужно и она делает return this ( или *this через ссылку) она может попросту еах не трогать. ОПТИМИЗАЦИЯ
            Ответить
            • Здрасте, ecx используется и в gcc, thiscall вроде как стандартизирован. Зря чтоли с Идой сидел в институте пока другие телок клеили!
              Ответить
              • Зависть это не хорошо.
                Ответить
                • Я считал что это круто!
                  Ответить
                  • Сидеть с компом пока другие с телками ? Я не соглашусь.
                    Ответить
                    • Ну да, пока другие сорятся/мирятся, обсуждают кто кого еб, кто с кем гуляет, кто больше наеб - я как-то занимался созидательной и развивающей деятельностью!
                      Ответить
                      • Это замечательная точка зрения, друг. Поставил бы 1000 плюсов, но увы, ставлю только 1.
                        Ответить
                      • Может кто то и обсуждал. Мне было некогда.
                        Ответить
                        • Зато теперь полно времени. Ну так что, сколько выеб?
                          Ответить
              • А я вот сегодня сидел с Идой и декомпилил код под солярку для sparc ЧИТАТЬ ДАЛЕЕ >>>

                Давным-давно пидорасы программисты из cisco решили обломать всех с написанием TCL скриптов, запретив исполнение оных без цифровой подписи. Хрен их знает зачем, видимо хотели на этом бабла подзаработать...

                Время шло, цисочники одумались, и в новых IOS'ах эту ебанутую полезную фичу убрали и заменили настоящей подписью с RSA (можно указать в настройках свой сертификат, либо вообще отключить проверку). А для старых IOS'ов выложили специальную тулзу под названием lockScript. Вот только подлость в том, что написана она под солярку для sparc...

                А тут как раз понадобилось на старую киску скрипты накатить. Вот и пришлось реверсить эту прогу вслепую, т.к. запустить ее не на чем... Благо дебажную инфу не пострипали, и имена функций и глобалок было видно.

                Для любознательных: "цифровая подпись" оказалась CRC16 с полиномом 0x8408 :)
                Ответить
                • мля ну 2 байтовый "хеш" - уже намекает
                  Ответить
                  • Намека мало ;) Там же куча параметров у црц, на той же вики 5 вариантов приведено... Угадывать - дело неблагодарное. Вот ради этих параметров и пришлось вникать в код.
                    Ответить
                • > А я вот сегодня сидел с Идой
                  Дай угадаю: это твой первый раз.
                  Ответить
                • Господи зачем нужна эта циска? Хотел себе вайфай ретранслятор купить в 2.5 раза дороже модели других фирм, свичи вообще судя по ценам золотые.
                  Ответить
                  • > в 2.5 раза дороже
                    Всего в 2.5? :) Что-то киски подешевели... Коммутаторы у них, кстати, довольно дешевые стали. Конкуренция со стороны китая дает о себе знать.

                    Ну а в моей истории речь идет о старой киске с телефонишными модулями. Ну не покупать же новый voip блочок, если в шкафу валяется циска...
                    Ответить
                  • кто сказал, что циска для нищебродов или для домашнего использования?
                    btw, цены в розницу и цены закупки (со скидкой 60% и больше) - две большие разницы
                    Ответить
                • > с Идой
                  Версия?
                  Ответить
                  • 6.1. Побоялся, что старая добрая пятерка не умеет в sparc.
                    Ответить
                    • Я так понимаю, эта версия последняя в паблике и новее не утекало просто.
                      Ответить
    • Сон как рукой сняло, еле успел убрать руку. Подхватываюсь и залезаю не него верхом, придавив коленями его руки. Сучёныш, засмеявшись, слабо сопротивляется, стараясь всё свести к шутке.
      Ответить

    Добавить комментарий