Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Aug 21, 2019 9:21 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 54 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: Wed Dec 17, 2014 1:03 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
By the way, I have an idea to convert match-3 to other genre, I don't know name of this genre - instead of swapping blocks to reach column/row with 3 similar pictures, you just click on any block and it and all near similar block explodes too. It's not very hard to implement it, and if there is no same game already released for KolibriOS, maybe I will do it.

_________________
Roman Shuvalov


Top
   
PostPosted: Wed Dec 17, 2014 1:44 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
I think it's a good idea.

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
 Post subject:
PostPosted: Thu Dec 18, 2014 2:57 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
Производительность действительно стала ввше, особенно заметно на стареньком IBM.

_________________
я лишь учусь


Top
   
 Post subject: Re:
PostPosted: Thu Dec 18, 2014 3:55 am 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
punk_joker wrote:
Производительность действительно стала ввше, особенно заметно на стареньком IBM.

На самом деле просто меньше лишних отрисовок. Во время анимации взрывов производительность прежняя (но анимация длится недолго, поэтому в среднем нагрузка на ЦП упала). Будет ещё ниже, т.к. простор для оптимизации есть. Если я конечно новых ресурсоёмких фич не напридумываю :)

_________________
Roman Shuvalov


Top
   
PostPosted: Thu Dec 18, 2014 5:46 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Маленький вопрос по ассемблерной вставке в Си.

Code:
+---+--------------------+
| r |    Register(s)     |
+---+--------------------+
| a |   %eax, %ax, %al   |
| b |   %ebx, %bx, %bl   |
| c |   %ecx, %cx, %cl   |
| d |   %edx, %dx, %dl   |
| S |   %esi, %si        |
| D |   %edi, %di        |
+---+--------------------+


А каким операндом обозначить ebp?

Quote:
Функция 65 - вывести изображение с палитрой в окно.

Параметры:

eax = 65 - номер функции
ebx = указатель на изображение
ecx = [размер по оси x]*65536 + [размер по оси y]
edx = [координата по оси x]*65536 + [координата по оси y]
esi = число бит на пиксель, должно быть 1, 4, 8, 15, 16, 24 или 32
edi = указатель на палитру (2 в степени esi цветов 0x00RRGGBB); игнорируется при esi > 8
ebp = байтовое смещение между концом предыдущей строки изображения и началом следующей строки


Quote:
asm volatile ("int $0x40"::"a"(65), "b"(data), "c"(w*65536+h), "d"(0*65536+0), "D"(0), "S"(32), "ebp???"(0) );

_________________
Roman Shuvalov


Top
   
PostPosted: Thu Dec 18, 2014 6:28 pm 
Online
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1620
Никак.
Обходной вариант номер 1 - https://gcc.gnu.org/onlinedocs/gcc/Loca ... l-Reg-Vars. Не сможет скомпилироваться при отсутствии опции -fomit-frame-pointer.
Обходной вариант номер 2 - заполнять его самостоятельно внутри asm-блока, не забыв сохранить и восстановить его, asm("pushl %%ebp\n\tmovl %2, %%ebp\n\tint $0x40\n\tpopl %%ebp" : "=a"(...),"=b"(...) : "rmi"(delta), ...)

_________________
Сделаем мир лучше!


Top
   
PostPosted: Thu Dec 18, 2014 6:46 pm 
Online
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1620
По умолчанию флаги компиляции сделаны для оптимизации по размеру. Для критических по производительности файлов можно в Tupfile.lua переключить CFLAGS = CFLAGS_OPTIMIZE_SPEED перед вызовами compile_gcc - которых может быть несколько. Вызов 7-й функции в вызов 65-й функции это, естественно, не превратит, но может быть полезно иметь в виду.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Thu Dec 18, 2014 7:01 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Опаньки, неожиданно. Спасибо за объяснение.

В моём случае самым правильным решением будет реализовать у себя не только 32-битные, но и 24-битные текстуры, чтобы можно было просто 7-й функцией рисовать и всё.

_________________
Roman Shuvalov


Top
   
PostPosted: Thu Dec 18, 2014 9:42 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Обновление.
- плавные анимации
- разукрасил шарики, кристаллы не получились, пока оставлю так.

Скриншотик:

Image

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 19, 2014 3:22 am 
Offline
Just Flooding
User avatar

Joined: Thu Dec 11, 2014 1:31 am
Posts: 173
Гы.. :) Оставь так, только едкий рыжий цифровой/калькуляторный шрифт на фоне гранита как-то мне глаз режет.. ИМХО уже выглядит целостно, а фичи движка можно и позже допилить.. ИМХО игровая логика, поле и графика работают, можно сосредоточиться на контенте..


Last edited by kiv on Tue Dec 30, 2014 2:36 am, edited 1 time in total.

Top
   
PostPosted: Fri Dec 19, 2014 7:01 am 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
А, да, забыл написать, что шрифт - следующий кандидат на доработку. Ну и как писал выше, возможно, добавлю новый режим игры. Только это будет уже не матч-3. Возможно, сменю название.

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 19, 2014 1:45 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Обновление. Сделал нормальный шрифт.

Image

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 19, 2014 2:41 pm 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
А можно голубые камушки сделать более голубыми, а то у меня на ноутбуке синии и голубые сливаются...часто ошибаюсь..:)


Top
   
PostPosted: Fri Dec 19, 2014 3:11 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Спасибо за отзыв. Сделал их почти бирюзовыми, залью при следующем коммите вместе с локализацией.

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 19, 2014 8:37 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Обновление
- все строки вынесены в отдельные файлы для удобной локализации на другие языки
- мелкие косметические изменения

_________________
Roman Shuvalov


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 54 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited