Изменяем основной цвет букв в меню ( Автор : Heming)
Изменяем основной цвет букв в меню
Ладно, думаю этого пока будет достаточно.Статья предусматривает то, что вы умеете создавать директории для модов, а также что у вас имеется Visual C++ 6.0 он полностью настроен на работу с SDK. Также данная статья предусматривает, что Вы разобрались с редактированием классов Serious Sam: TSE. © Ну, что-ж статья посвящена следующему: * Научиться изменять цвет шрифта в меню * Научиться изменять цвет шрифта в игре Результаты : На 1 скриншоте мы видим что цвет букв белый( прямо как в xbox моде ), а на втором скриншоте мы замечаем что интерфейс "посинел". Ну, что - ж приступим. Для достижения результата на 1 картинке мы открываем наш проект GameMP и ищем в нем файл SEColors.h Далее видим.. #ifndef __SECOLORS_H #define __SECOLORS_H 1 #define SE_COL_ORANGE_LIGHT 0xffd70000 #define SE_COL_ORANGE_NEUTRAL 0xee9c0000 #define SE_COL_ORANGE_DARK 0x9b4b0000 #define SE_COL_ORANGE_DARK_LT 0xbc6a0000 #define SE_COL_BLUE_DARK_HV 0x151c2300 #define SE_COL_BLUE_DARK 0x2a384600 #define SE_COL_BLUE_DARK_LT 0x43596f00 #define SE_COL_BLUE_NEUTRAL 0x5c7a9900 #define SE_COL_BLUE_NEUTRAL_LT 0x6097cc00 #define SE_COL_BLUE_LIGHT 0x64b4ff00 #define SE_COL_BLUEGREEN_LT 0x6cff6c00 #define SE_COL_PURPLE 0x6a556000 #define SE_COL_BLACK 0x00000000 #define SE_COL_WHITE 0xffffffff #endif Вы наверное заметили, что трех последних параметров у вас нет. Так и должно быть. Просто добавьте их в свой SEColors.h, после чего сохраните. Итак, мы добавили 3 цвета - Фиолетовый, черный и белый. Добавлять цвета можно с помощью NameEditor. Теперь мы как-то должны их использовать. Для этого мы открываем файл Game.cpp в проекте GameMP. Обратим внимание на следующие строки кода: if (!strcmp(strName, "thumbnail border")) { colDefault = SE_COL_BLUE_NEUTRAL|255; } else if (!strcmp(strName, "no thumbnail")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "popup box")) { colDefault = SE_COL_BLUE_NEUTRAL|255; } else if (!strcmp(strName, "tool tip")) { colDefault = SE_COL_ORANGE_LIGHT|255; } else if (!strcmp(strName, "unselected")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "selected")) { colDefault = SE_COL_ORANGE_LIGHT|255; } else if (!strcmp(strName, "disabled selected")) { colDefault = SE_COL_ORANGE_DARK_LT |255; } else if (!strcmp(strName, "disabled unselected")) { colDefault = SE_COL_ORANGE_DARK|255; } else if (!strcmp(strName, "label")) { colDefault = C_WHITE|255; } else if (!strcmp(strName, "title")) { colDefault = C_WHITE|255; } else if (!strcmp(strName, "editing")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "hilited")) { colDefault = SE_COL_ORANGE_LIGHT|255; } else if (!strcmp(strName, "hilited rectangle")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "edit fill")) { colDefault = SE_COL_BLUE_DARK_LT|75; } else if (!strcmp(strName, "editing cursor")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "model box")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "hiscore header")) { colDefault = SE_COL_ORANGE_LIGHT|255; } else if (!strcmp(strName, "hiscore data")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "hiscore last set")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "slider box")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "file info")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "display mode")) { colDefault = SE_COL_ORANGE_NEUTRAL|255; } else if (!strcmp(strName, "bcg fill")) { colDefault = SE_COL_BLUE_DARK|255; } В этих строках содержатся цвета букв, а именно if (!strcmp(strName, "thumbnail border")) { Этот параметр означает, какой цвет будет в границе .Tbn файла при выборе уровня в меню.Я поменял его на SE_COL_WHITE. Компилируем и тестируем. Собственно, вот, появилась белая рамочка. Полный размер : Следующий параметр называется.. } else if (!strcmp(strName, "no thumbnail")) { Что же означает этот параметр? Этот параметр регулирует цвет текста " фото отсутствует " при выборе уровня, если автор карты забыл выложить .tbn файл вместе со своей картой. Третий параметр : } else if (!strcmp(strName, "popup box")) { Popup box - Насколько translate.google.ru говорит правильно, "всплывающее окно". Я долго искал значение и наконец, не нашел его :-( Возможно, он заменяет цвет чего-либо в всплывающем окне, когда вы нажимаете "Выйти из игры" или "Завершение игры". Четвертый параметр : } else if (!strcmp(strName, "tool tip")) { Tool Tip - подсказка, показываемая внизу экрана при наведении на параметр меню. Скажем.. Пятый параметр : } else if (!strcmp(strName, "unselected")) { Unselected - не выбранное. То есть... Я думаю, здесь ничего объяснять не надо. Шестой параметр: } else if (!strcmp(strName, "selected")) { Selected - это выбранное. Оно обозначено оранжевым. Здесь все ясно. Следующий параметр: } else if (!strcmp(strName, "editing")) { Он регулирует цвет букв тогда, когда вы что-либо редактируете. Например, никнейм. Итак, следующий параметр это.. } else if (!strcmp(strName, "hilited")) { Он регулирует цвет цифры в так называемой "коробочке" для номера игрока. У меня белым цветом цифра 6. } else if (!strcmp(strName, "hilited rectangle")) { Этот параметр регулирует цвет в самой "коробочке" :) Далее идут 2 схожих с собой параметра } else if (!strcmp(strName, "edit fill")) { } else if (!strcmp(strName, "editing cursor")) { Первый регулирует цвет в поле для изменения ника игрока: А второй регулирует курсор. Переходим ко второму файлу - HUD.cpp Мы хотим добиться вот этого результата. Или какого-либо другого, тут уже на ваш вкус. Найдем строки в которых упоминается "SE_COL". Так мы сразу обнаружим цвет. Первое, что попадается на глаза - это : .. _pDP->Fill( fSizeI-fBlackStrip-1, 0, fBlackStrip+1, fSizeJ, C_BLACK|CT_OPAQUE); colMask = LerpColor(SE_COL_BLUE_NEUTRAL_LT, C_WHITE, 0.25f); // здесь я изменил цвет. FLOAT _fYResolutionScaling = (FLOAT)_pixDPHeight/480.0f; Как-то так. Параметр регулирует цвет в снайперском прицеле. Нам это не понадобится, поэтому ищем далее. _colHUD = 0x4C80BB00; _colHUDText = SE_COL_BLUE_NEUTRAL_LT; /* а эта штука регулирует цвет патронов в правом нижнем углу экрана. */ _ulAlphaHUD = NormFloatToByte(hud_fOpacity); _tmNow = _pTimer->CurrentTick(); Тут я тоже поменял. Но можно сделать и покрасивее, но тут уже как вы хотите. Ищем далее. COLOR colMax = SE_COL_BLUE_NEUTRAL_LT; // Здесь происходит колоризация COLOR colTop = SE_COL_BLUE_NEUTRAL_LT; // например, когда полоска жизней наверху, при Enemy Counter'e COLOR colMid = LerpColor(colTop, C_WHITE, 0.5f); // или здоровья, когда его много, средне и мало. Вот так. Все оказалось проще, чем я думал. Удачи! © Heming Hitrowski. Источник: http://St-games.ucoz.net | |
Категория: SDK | Добавил: Heming (06.03.2011) | | |
Просмотров: 1606 | |
Всего комментариев: 0 | |