UFO2000
Для тех кто играет в ufo2000.
Хотите чтоб она ресурсов жрала меньше?
1. Соберите (скомпилируйте и установите) последнюю Allegro (у меня
4.1.15)
2. В кодах ufo2000 (каталог src) нужно исправить:
connect.cpp
функция Connect::do_planer
Найти цикл ожидания событий от пользователя. Начинается с
while (!DONE) {
g_console->redraw(screen, 0, SCREEN2H);
и внести следующие изменения
while (!DONE) {
rest(40);
g_console->redraw(screen, 0, SCREEN2H);
где величина (40) изменяться по вашему усмотрению: чем она
меньше - тем больше ресурсов будет жрать игра, чем больше
тем глючней анимация (дергаются движения, мыша не плавно
бегает, меньше fps).
main.cpp
функция gameloop
Найти цикл ожидания событий от пользователя. Начинается с
while (!DONE) {
if (MODE != WATCH && g_time_left == 0) {
и добавить опять строку
while (!DONE) {
rest(40);
if (MODE != WATCH && g_time_left == 0) {
для затравки можно также снизить потребление ресурсов в главном
меню:
mainmenu.h
одну строчку ("MAINMENU_YIELD,")
MAINMENU_HOTSEAT,
MAINMENU_INTERNET,
MAINMENU_YIELD,
MAINMENU_COUNT,
// Currently disabled menu items come next
mainmenu.cpp
функция do_mainmenu()
Найти строчки
the_dialog[MAINMENU_QUIT].key = 27;
the_dialog[MAINMENU_COUNT].proc = NULL;
И добавить в них строчку
the_dialog[MAINMENU_QUIT].key = 27;
the_dialog[MAINMENU_YIELD].proc = d_yield_proc;
the_dialog[MAINMENU_COUNT].proc = NULL;
3. Перекомпилируем саму ufo2000
Я послал эти изменения разработчикам ufo2000, но они пока их не
приняли...