Программирование колибри

Applications development, KoOS API questions
  • Сейчас я пишу игровой движок для windows.Но когда я постигну колибри я портирую его на колибри :D !А чем он будет отличатся от RenPy?Тем что у него будет среда разработки.И любой желающий сможет создавать на нем игры! :D
  • Привет, какие языки знаешь?
    Какой опыт программирования?
    Ты уже смотрел местную Wiki?
    Скачал себе SDK?
    Last edited by kiv on Mon Jan 05, 2015 11:35 pm, edited 2 times in total.
  • Немного си.немного асм.неплохо делфи/паскаль
  • В рамдиске есть файл example.asm, где создается форма.
  • Функция 0 - определить и нарисовать окно.
    Как пользоваться SVN сервером KolibriOS.
    Box_lib и прочие библиотеки, еще больше библиотек.
    Использование компиляторов в KOS.
    Разбор example.asm можешь посмотреть в e-zine (немного устарел).
    bodyawm wrote:Сейчас я пишу игровой движок [...] портирую его на колибри :D ! [...] у него будет среда разработки.И любой желающий сможет создавать на нем игры! :D
    Рад этому, может будет интересно/полезно - tengine :: tiny multiplatform 2d engine.
    Если что-то будет не понятно, спрашивай смело...
    Last edited by kiv on Thu Jan 08, 2015 11:00 pm, edited 1 time in total.
  • Раз уж мы ушли в оффтоп в ветке EasyShot, давайте продолжим где-то здесь.
    Немного мыслей вслух.

    На ассемблере раньше как оно было и в большинстве случаев остается:

    Code: Select all

    mov eax,8
    mov edi,11
    mov ebx,10*65536+100
    ...
    je eax,11
    ...
    
    Местами стало получше:

    Code: Select all

    mov eax,SF_DEFINE_BUTTON 
    mov edi,BTN_APPLY
    mov ebx,POSX*65536+100
    ...
    je eax,BTN_APPLY
    ...
    
    В плане С-- я пришел к мысли, что структуры - это хорошо и элементы ООП вроде инкапсуляции - просто прекрасно. Большую программу без ООП написать НАМНОГО сложнее, чем с ним.
    Так что чем дальше, тем больше

    Code: Select all

    DefineButton(10,20,100,20, 30, 0xFFFfff);
    WriteText(.............., "Appy")
    if (id==30) dosmth();
    Превращается в

    Code: Select all

    button Apply = { "Appy" };
    Apply.draw(10, 20);
    if (Apply.click(id)) dosmth();
    id выделяется автоматически, и мы оперируем не им, а объектом.
    У объекта есть функции и свойства. Наверное, для многих избитые истины.
    Да, это немного увеличивает размер бинарника, но дает возможность удобного чтения, контроля и расширения. Скажем, в будущем можно будет сделать перемещение по разным элементам с помощью TAB.
    Из хаоса в космос
  • Доброго всем времени) Я еще не юзал колибри, но что хотел заранее спросить - есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
  • sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
    Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm
  • tsdima wrote:
    sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
    Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm
    Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
    Почему я и спрашивал есть ли прямая поддержка масма)
  • sniv wrote:
    tsdima wrote:
    sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
    Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm
    Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
    Почему я и спрашивал есть ли прямая поддержка масма)
    А в чем такая принципиальная разница ?
    Для меня ассемблеры выглядят максимально совместимыми - минимум переделок по коду
  • sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке
    В самом дистрибутиве нет. Но как уже было написано выше http://kolibri-n.org/inf/hll/hll#masm
    Также есть возможность использовать MASM-совместимый JWASM\UASM:
    http://board.kolibrios.org/viewtopic.php?p=55776#p55776
    http://board.kolibrios.org/viewtopic.php?f=32&t=3583
    При желании можно даже собрать UASM под KolibriOS — исходный код открыт.
    В качестве примера программы, написанной на MASM-совместимом ассемблере и входящей в дистрибутив, можно привести эту http://board.kolibrios.org/viewtopic.php?f=9&t=3584 её исходный код можно найти на svn вот тут http://websvn.kolibrios.org/listing.php ... f773176113
    sniv wrote:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме.
    Но зачем??? Или под словом "портирование" подразумевается что-то иное?
  • sniv wrote:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
    Насколько я понимаю, FASM там используется только лишь для того, чтобы вытащить из .exe нужный код и ещё кое-какие данные. Можно написать отдельный конвертор, типа pe2kos. А может быть и он подойдет (тут я не в курсе).
  • Спасибо за инфу, уже знакомлюсь
  • sniv wrote:Спасибо за инфу, уже знакомлюсь
    Там ещё не представлен для программирования Форт (Forth) в Колибри. (есть темы на местном форуме + ForthEC с трансляцией кода в MASM)
    В нём тоже можно использовать много ассемблера. :)
  • Who is online

    Users browsing this forum: No registered users and 9 guests