HGE 1.81 для Mac OS X & iOS
  • PepperPepper August 2011
    Привет всем!

    Педставляю Вашему вниманию мой порт hge 1.81 на Mac OS X и iOS. Страничка проекта на Google Code - http://code.google.com/p/hge181-for-osx/

    OS X
    Портированно все. Порт тестировался на PowerPC и Intel архитектурах.
    В разделе Downloads лежит архив с собранными туториалами.

    iOS
    Не до конца портированы система сообщений. Разработка в процессе.


    В общем пользуйтесь на здоровье, дополняйте. :)
  • dharryadharrya August 2011
    Биг сенкс!
    Ушел качать;)
  • PepperPepper August 2011
    Проверь если тебе не трудно или сорцы из папки experimental собираются с туториалами. А то я пока не имею компа с маком.
  • dharryadharrya August 2011
    из _experimental не собирается вообще. Ненаходит файла "core/core.h"
  • PepperPepper August 2011
    А в каком файле он ошибка? Попробуй закоментировать это включение.
    Если не поможет - придется притащить домой мак на выходные и самому разобраться. :)
  • PepperPepper August 2011
    Если не прокатит - попробуй такой Core.h ему подсунуть.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    //------------------------------------------------------------------------------
    #if defined(_DEBUG) && !defined(DEBUG)
    # define DEBUG
    #endif
     
    //------------------------------------------------------------------------------
     
    #ifndef NULL
    #define NULL 0
    #endif
     
    //------------------------------------------------------------------------------
    #ifndef DWORD
    typedef unsigned long DWORD;
    #endif DWORD
    //------------------------------------------------------------------------------
    #ifndef min
    template <class>
    inline T min(T a, T b)
    {
    return a < b ? a : b;
    }
    #endif
     
    #ifndef max
    template <class>
    inline T max(T a, T b)
    {
    return a > b ? a : b;
    }
    #endif
     
    //------------------------------------------------------------------------------
    #ifndef M_PI
    #define M_PI 3.14159265358979323846f
    #define M_PI_2 1.57079632679489661923f
    #define M_PI_4 0.785398163397448309616f
    #define M_1_PI 0.318309886183790671538f
    #define M_2_PI 0.636619772367581343076f
    #endif
     
    //------------------------------------------------------------------------------
  • dharryadharrya August 2011
    hge скомпилился. hgehelp не хочет, говорит не может найти "core/file_system/FileSystem.h"
  • dharryadharrya August 2011
    Завел experimental. Скомпилил пример - 0 FPS. буду разбираться:)
  • PepperPepper August 2011
    Видимо с таймером что-то не так, или еще что-то. В общем буду разбираться...
    А не экспериментальный сколько ФПС-а дает?
  • dharryadharrya August 2011
    Таак...с 0 FPS разобрался, изменил MAIN LOOP в файле system.mm:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    do { dt= round (CFAbsoluteTimeGetCurrent ()*1000.f- t0); } while(dt <1>= nFixedDelta)
    {
    // fDeltaTime = time step in seconds returned by Timer_GetDelta
     
    fDeltaTime=dt/1000.0f;
     
    // Cap too large time steps usually caused by lost focus to avoid jerks
     
    if(fDeltaTime > 0.2f)
    {
    fDeltaTime = nFixedDelta ? nFixedDelta/1000.0f : 0.01f;
    }
     
    // Update time counter returned Timer_GetTime
     
    fTime += fDeltaTime;
     
    // Store current time for the next frame
    // and count FPS
     
    t0=CFAbsoluteTimeGetCurrent ()*1000;
    if(t0-t0fps <= 1000) cfps++;
    else
    {
    nFPS=cfps; cfps=0; t0fps=t0;
    /// _UpdatePowerStatus();
    }

    так было не в experimental и все завелось как часы. Огромное спасибо за ваш труд! Пошел думать над звуком;)
  • PepperPepper August 2011
    Закомитил твои обновления. У меня тут полторы недели времени нарисовалось - пока художники на отдыхе. Может кое-что из недостающих возможностей доделаю и переведу экспериментальный билд на основные рельсы. Звук тогда за тобой. :)
  • dharryadharrya August 2011
    Договорились:)
    Завтра звук будет;)
  • stayerstayer August 2011
    Звук однозначно в OpenAl.
  • dharryadharrya August 2011
    Чем BASS не устраивает то?
  • PepperPepper August 2011
    Если кого не устраивает Bass за его платность. Я сделал мак-порт Audiere. Да, это старая, давно не развивающаяся либа, но так нужно было .:) Если кого интересует как альтернатива Bass могу выложить сорцы. Но к hge ее прикручивать не возьмусь.
  • dharryadharrya August 2011
    Я не считаю 200 евро за Win32+MacOS особо большими деньгами. При учете комерческого использования. для фриварных вещей BASS бесплатен.
  • evilsquareevilsquare August 2011
    как известно "если не видно разницы - зачем платить больше?" =)

    ....

    раз пошла такая пьянка гулянка - а не поможете рядовому геймдизайнеру, не испытывающему восторга от ковыряния в этих ваших движках, и не добавите туда пару фичь? =)

    я тут писал в одной из тем, что единственное чего не хватает в хге для полного счастья - блендинг, батчинг и шейдеры. часть кода для всего этого тут уже имеется, но написан он возможно не самым лучшим образом. если проект получиться - тех же 200 евро будет не жаль вручить этим героям кода и дебагера xD
  • dharryadharrya August 2011
    А конкретнее чего не хватает по блендингу?
    Какая версия движка интерисует? Например в порте под Delphi есть и батчинг и шейдеры.
    Так же в какой-то из тем был выложен исходный код hge под DX9 с прикручеными шейдерами на C++. Батчинг не реализовывал - небыло нужды.
    Ну или же я могу залить и дать ссылку.

    Т.е. просто сделайте списочек чего именно нехватает, а там думаю народ поможет.
  • evilsquareevilsquare August 2011
    в идеале - как в фотошопе. ну или как минимум нормальное вычитание, что бы тени можно было без особого увеличения филрэйта сделать

    дх9 с шейдерами и я в том числе выкладывал где-то тут. опять же в идеале - мультиплатформенную версию для винды и мака, что бы никого особо не обидеть

    давай, заливай ;)

    куда его кинуть только. тут-то периодически вспыхивают темы, но как-то всё быстро затихает
  • PepperPepper August 2011
    Обновил СВН.
    - Сделал проекты для всех туториалов
    - Удалил лишние папки
    - Пофиксил туториал №4
    - Теперь все собирается без танцев с бубном (собираем core, helpers и после этого уже туториалы).


    2dharrya- как там со звуком у тебя дела?
  • stayerstayer August 2011
    Блин как можно посмотреть-то исходники??? Тортоисом чекаут пытаюсь сделать-пишет ошибка 405(Что это х его з). И создается пустая папка, что я не так делаю????
  • evilsquareevilsquare August 2011
    2Pepper
    в англоязычной ветке выкладывали интересный порт с поддержкой плагинов. но видать автор снёс тему или что - не нашёл. там многое было не доделано по части графики типа отсутствия рендера в текстуру и тп, но успел стянуть - погляди, может так проще будет звук добавлять и басс и оал
  • PepperPepper August 2011


    2Pepper
    в англоязычной ветке выкладывали интересный порт с поддержкой плагинов. но видать автор снёс тему или что - не нашёл. там многое было не доделано по части графики типа отсутствия рендера в текстуру и тп, но успел стянуть - погляди, может так проще будет звук добавлять и басс и оал



    Спасибо за сорцы - гляну сегодня.
    Та звук не проблема добавить. Если dharrya не станет с этим заморачиваться - сам сделаю. ;) Там работы не так уж и много.

    Еще в моей версии нет поддержки пак файлов, работы с ini файлами и прочего, что касается ресурсов. Думаю до конца этой недели исправить эти недостатки и получить полноценный порт hge 1.81.

    2stayer

    Блин как можно посмотреть-то исходники??? Тортоисом чекаут пытаюсь сделать-пишет ошибка 405(Что это х его з). И создается пустая папка, что я не так делаю????


    Не знаю. У меня таких проблем на было. В гугле есть пару решений этой проблемы, если не помогут - маякуй - вышлю сорцы архивом.

    У меня получает сорцы на ура. И под маком (из консоли) и под виндой (через тортоис свн) - только что проверял.
  • evilsquareevilsquare August 2011


    Еще в моей версии нет поддержки пак файлов, работы с ini файлами и прочего, что касается ресурсов. Думаю до конца этой недели исправить эти недостатки и получить полноценный порт hge 1.81.


    это всё разве не платформ-индепендент? копипаст и ок =)

    может тогда это.. блендинг с батчингом и шейдеры докодить? под дх-то я более менее разобрался как что, не хватает лишь скила и отваги всё это добить х) а под огл я вообще хз как там всё :)
  • dharryadharrya August 2011
    to Pepper Что-то видимо у меня не хватает опыта работы с Mac:(
    Все прикрутил, на тестовом полигоне все работает.
    В туториале нет, все ресурсы загружаются, все работает но звука нет.
    Подозрения на то что я BASS`у при инициализации указую не то окно в котором он должен играть звук.
    Пробовал ему указывать 0 вместо hwnd - толку никакого (в теории должен играть в текущем окне). Выкладую пока все что есть:
    http://anri.a-two.com.ua/hge/
    Это уже подправленые файлы исходников. Я их сегодня с твоей СВН стянул, как я понял ты уже перевел с _experimental?
    libbass.dylib нужно скормить туториалу.
  • PepperPepper August 2011
    2dharrya
    Оки, спасибо за сорцы - попробую разобраться, в чем может быть проблема.

    Да, core я уже перевел на experimental, допилил рабботу с render target'ами. experimental грохну их свн-а сегодня за ненадобностью.
  • stayerstayer August 2011

    Error: Error while performing action: Server sent unexpected return value (405 Method Not Allowed) in response to OPTIONS request for 'http://code.google.com/p/hge181-for-osx'


    вот такое под маком пишет
  • dharryadharrya August 2011
    я под маком 10.6.6 через svn вполне нормально обновляюсь.
  • stayerstayer August 2011
    У меня и под маком такое пишет(мак честный, не хак), и под виндой через последний тортоис.
  • PepperPepper August 2011
    Не знаю, может и у меня в самом svn проблема. Попробую перезалить все на днях. Если хочешь - вышлю сорцы в архиве.
  • PepperPepper August 2011
    Добавил звук в движек и в туториалы.
  • stayerstayer August 2011
    А чего там с СВН???? Или надо исходники )))
  • PepperPepper August 2011
    Прикрутил зип файлы и поиск папок/файлов.
    По ходу остается только поддержка ini-файлов.
  • PepperPepper August 2011
    Запустил редактор партиклов. :)
    image
  • dharryadharrya September 2011
    2 Pepper. Запустил свой проект на твоем движке, все отлично.
    Нехватало только обработки bActive. Подправил, файл system.mm:
    в функции System_Start():
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		// Get messages
    NSEvent *event = 0;
    do
    {
    [application run];
    pHGE->_FocusChange([application isActive]); // обработка bActive
    event = [application eventGet];
    if (0 != event && !_ProcessMessage (event)) [application handleEvent];
    } while (event);

    ну и сама _FocusChange:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void HGE_Impl::_FocusChange(bool bAct)
    {
    if (bActive!=bAct)
    {
    bActive=bAct;
     
    if(bActive)
    {
    if(procFocusGainFunc) procFocusGainFunc();
    }
    else
    {
    if(procFocusLostFunc) procFocusLostFunc();
    }
    }
    }


    Возникла еще одна проблема, может подскажешь куда лучше копать исходя из твоего кода:
    В фуллскрине не отображется Force Quit Dialog (Cmd+Alt+Esc), игра его перекрывает и тупо фризится.
    Как думаешь, что лучше сделать? Изменить создание фуллскрина под работу с окном? Т.е. создавать окно размером с экран и ставить его по уровню на 1 выше чем меню?
  • PepperPepper September 2011
    Я сейчас довожу до ума IOS версию - пока занят. Затвра/послезавтра гляну, что можно сделать с этой проблемой.
  • dharryadharrya September 2011
    Я в целом сделал как и говорил(создается окно и разворачивается на весь экран), могу выложить исправления если хочешь.
    iOS версию тоже выложишь в паблик?
  • dharryadharrya September 2011
    не правильно работал Gfx_SetTransform, поправил:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    void CALL HGE_Impl::Gfx_SetTransform(float x, float y, float dx, float dy, float rot, float hscale, float vscale)
    {
     
    _render_batch();
    if(vscale==0.0f)
    {
    GLint mvStackDepth = 1;
    glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, &mvStackDepth);
    if (1 == mvStackDepth) return;
    glMatrixMode (GL_MODELVIEW);
    glPopMatrix();
    glPushMatrix();
    }
    else
    {
    glPopMatrix ();
    glPushMatrix ();
    glTranslatef(x, y, 0.0f);
    glTranslatef(-x+dx, y+dy, 0.0f);
    glScalef ( hscale, vscale, 1.0f ); // Scale
    glRotatef(rot*180/M_PI, 0.0f, 0.0f, 1.0f); // Rotate
    }
    }
  • PepperPepper September 2011
    Спасибо, Gfx_SetTransform закину в SVN.

    IOS версию выложу, но позже, недели через две. Сейчас она интегрирована в наш фреймворк. Нужно будет ее красиво оформить, туториалы и все такое.
  • dharryadharrya September 2011
    Это тебе спасибо!
    продолжу тестировать твой порт и ждать версию под iOS;)
  • stayerstayer September 2011
    Ну что там? свежачок то есть?
  • PepperPepper September 2011
    Есть, но нужно время его оформить.
    Уже запустил порт на IOS, но пока нет возможности проверить его на реальном девайсе, и звук не прикручен. Думаю на следующей неделе выложу и IOS ветку.
  • PepperPepper October 2011
    Если кто не может импользовать Bass вот мой порт Audiere дял OS X.
    Скачать можно со странички HGE на Google Code.
    http://code.google.com/p/hge181-for-osx/downloads/list
  • Mahmud+ZurapMahmud Zurap October 2011
    [quote="Pepper"]Есть, но нужно время его оформить.
    Уже запустил порт на IOS, но пока нет возможности проверить его на реальном девайсе, и звук не прикручен. Думаю на следующей неделе выложу и IOS ветку.

    выкладывай, я проверю на реальном девайсе ) И уже прошла следующая неделя :cry:
  • PepperPepper October 2011
    Да, я знаю. Брал незапланированный отпуск. :) Так что на этой неделе все будет.
  • Mahmud+ZurapMahmud Zurap October 2011
    супер, ждёмс
  • PepperPepper October 2011
    Выложил в SVN версию для iOS с одним туториалом. Пробная версия, много чего не реализовано, только базовый функционал. Если кто может - проверьте работоспособность на реальном девайсе (очень интересует первый iPAD).

    P. S.
    Если кто может сделать по-людски загрузку изображений для TextureLoad, милости просим. У меня сейчас нет времени доводить все до ума.

  • Mahmud+ZurapMahmud Zurap October 2011
    отлично, как будет свободная минутка, это вскорей всего завтра, заценю и проверю на 1-ом iPad, спасибо.
  • dharryadharrya October 2011
    Круто! В понедельник начну тестить и по возможности исправлять:)
  • Mahmud+ZurapMahmud Zurap October 2011
    на iPad 1 - работает
  • PepperPepper October 2011
    Круто! А можешь по тестировать какой FPS выдает?

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Apply for Membership

In this Discussion

Tagged

Who's Online (2)