Просмотр полной версии : Эксперименты...
Покурил это: http://www.psp-programming.com/code/doku.php?id=c:pspgu-neheport-lesson5
Затем поковырял вот это:
/pspdev/psp/sdk/doc/html/pspgum_8h.html
Это же практически голый OpenGL. Я в восторге! Как минимум половину своего старого движка я смогу портировать на PSP.
Так что попробую тренировки для написать что-то отдалённо похожее на Кримсонленд.
О результатах буду постить сюда. (:
добавлено через 2 часа 24 минуты
Помогите пожалуйста разобраться с функцией sceGuBlendFunc...
Её OpenGL аналог выглядит несколько примитивней, всего 2 параметра, против 5-и в sceGuBlendFunc.
Методом научного самотыка так и не удалось нащупать логику этой странной функии. ):
Помогите написать аналоги вот такого:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // sub
glBlendFunc(GL_SRC_ALPHA, GL_ONE); // add
glBlendFunc(GL_ZERO, GL_SRC_COLOR); // mult
Заранее благодарен.
BonifacE
21.03.2007, 11:12
У нас новенький ) Добро пожаловать камрад. Вот втыкай это http://forums.ps2dev.org/viewtopic.php?t=6906&highlight=scegublendfunc если этого не хватит то на том форуме сделай поиск по *sceGuBlendFunc* и будет тебе счастье.
К сожалению по непонятным мне причинам у меня обрубается доступ к сему презамечательному ресурсу. Через левую проксю удалось грузануть только заглавную страничку. На форум ни в какую не пускает. ):
Хотя с блендингом всё ж разобрался. Там оказалось что ещё и параметры текстр нужно по хитрому выставлять. (:
Настроек больше чем в ОГЛ...
BonifacE
"Не пускает" - в смысле вообще страничка не грузится! ): Так что регистрация тут, думается, не при чём.
Вот, начал писать маленький framework.
http://elmortem.mirgames.ru/tools/link.php?202
Буду его развивать дальше и не_до_кримсонленд так же буду писать на нём. (:
Есть ли аналог функций glVertex3f, glVertex2f и glTexCoord2f?
А то с этими буфферами (: я уже путаться начинаю... ):
добавлено через 7 часов 17 минут
Еее! (:
Я разобрался с 2д и ортографической проекцией на PSP.
Ушёл писать класс спрайта...
Новая версия фреймворка. Добавлен класс спрайта и внесены кое-какие изменения:
Искать тут: http://elmortem.mirgames.ru/?path=psp
Теперь хватает возможности. чтобы написать обещанные "Пятнашки". Вот этим завтра и займусь.
А как только прикручу шрифты и звук - сяду писать Кримсон.
добавлено через 15 часов 21 минуту
Пятнашки готовы! (:
Тут: http://elmortem.mirgames.ru/?path=psp
Новая версия движка и полностью переработанные Пятнашки. С исходниками ессно. (:
http://elmortem.mirgames.ru/?path=psp
Планирую написать по ним туториал...
Молодец ! Главное, код очень хороший и наглядный. Движок прикольный получается, еще добавить надо форматы png,jpg и для аудио: mp3 , at3 ( это помоему сразу в SDK есть) , и шрифты. Плюс описание и тогда совсем нормально
wSlava
Да, PNG и JPG сильно не хватает, а с музыкой я как раз сейчас разбираюсь. Описание будет, как только я доделаю основную часть фреймворка.
vAST
Ну там совсем обычные пятнашки... Даже и не знаю, нафига им скриншот? ^__^
Вот когда буду Кримсон писать - вот тогда и скриншоты можно будет постить.
vAST: вот скрин с тетриса че я написал :)
а вот ссылка на форум, где выложил http://www.pspx.ru/forum/showpost.php?p=393080&postcount=68
Скачал исходники libpng и libmad. Я понимаю, что я непроходимо тпой, но всё же - как заюзать их в своём проекте?
Да ладно притворяться :)
В обще так:
Для libpng нужно еще выкачать zlib
далее копируешь папки libpng, zlib в каталог SDK,
потом в cmd (я обычно в FAR) выполняешь
set PATH=%PSPDEV%/bin;%PATH%
затем переходишь в каталог zlib,
там сначала в Makefile замени все mkdir на mkdir2,
далее пишешь make <Enter>,
затем make install <Enter>, все, zlib готово,
затем переходишь в libpng и то же самое ,
так же и с libmad. Затем можешь мой последний исходник
тетриса смотреть, как я все это использую.
P.S. Скоро я выложу SDK все в одном, сейчас бился
с шрифтами freetype, вот там действительно засада, чтоб
установить это в сдк, пока не помогли никакие пляски с бубнами :)
ок, я подожду пока ты выложишь новый SDK, у меня компиляция через командную строку вызывает депрессию... (:
А шрифты я всё же предпочитаю текстурные, оными пока и займусь, звуки подождут...
Запарился со шрифтами freetype, это Linux библиотека, и чтоб ее поставить, нужно эмуль линукса под винду качать и дальше из под него скомпайлить, и залить в SDK, в общем жесть, выкачал я всего этого на 200 метров и ничего не вышло, нужно копать ох как глубоко, короче плюнул я на все это. Вот думаю, что со шрифтами делать ?
Mortem, у меня такая идея, может я напишу генератор битмапов (виндовую утилиту) из любого выбранного виндовз шрифта (на основе исходника что я выкладывал), генерить битмапы в виде статических матриц в файл исходника, чтоб не таскать за собой битмап картину. Если идея нравится, то может это все в виде модуля твоего фпеймворка организовать ,чтоб была группа функций работы с такими шрифтами: загрузка, вывод строки символов, поворот на угол и т.д. ???
предложи формат, в каком виде тебе лучше во фреймворк это вставить ....
спасибо за скрин, просто я не являюсь обладателем ПСП с недавних пор, а так хочется следить за вашими успехами. Молодцы, эксперементируйте дальше, судя по всему у вас не плохо получается
спасибо за скрин, просто я не являюсь обладателем ПСП с недавних пор, а так хочется следить за вашими успехами. Молодцы, эксперементируйте дальше, судя по всему у вас не плохо получается
Ну при таком раскладе согласен. Скоро выложу скрин.
Пример работы с текстом на PSPGL, каждая буковка в виде 3D объекта, красиво. В аттачменте хомбрю и исходники
(http://savepic.ru/64853.png)
P.S. Мортем, что ты думаешь насчет:
http://www.pspx.ru/forum/showpost.php?p=398537&postcount=15
Я битмапные шрифты в разных шрифтах уже несколько раз делал, так что в принципе можешь не заморачиваться в следующей версии фреймворка они будут. (:
Через пару дней выложу новую версию.
Генератор тож писал, у меня даж на сайте есть утилита подобная, правда под старый двиг.
В принципе если унифицировать данные, то лучше использовать xml.
Под винду я юзаю TimyXML, качал даже вроде как версию для PSP, но пока не пробовал её.
Так что если всё же хочешь сделать генератор - лучше писатать в XML. В крайнем случае напишу потом конвертер из твоего формата в свой, если другой сделаю... Или сделаю загрузку из разных форматов.
Ок, ну тогда конечно подожду, зачем велосипед изобретать :)
Йййахууу!!! Я разобрался с PNG и JPG. Так что сейчас фреймворк держит 3 формата текстур. Написал конвертер шрифтов от HGE в свой бинарный формат. Так что сегодня выложу работу со шрифтами и HGE'шную тулзень для их генерации. (:
Отлично ! У меня прям без шрифтов депрессия, ниче делать неохота :)
Правда начал блок проекта внедрять в PSPxIDE, тоже скоро доделаю, много изменений, те что и ты предлагал и BonifacE, в общем потом расскажу
В общем ясделал шрифты, но там какая-то дурная ошибка с цветом. Цвета просто колбасит нипадецки.
Отсюда возникает вопрос: функция sceGumDrawArray сраз пихает массив вершин на обработку? Или сохраняет где-то указатели на структуру данных? А потом их скопом обрабатывает...
Просто цвет задаётся в структуре вершины...
Вот такой вот сумбурный вопрос...
да, у меня тоже подобная трабла была в тетрисе: проставляю цвет кубикам
а они потом какието недоделанные, как будто часть треугольников не прорисовались и тоже "колбасит", это в версии 1.2 было при запуске
, в общем вылечил это "плясками с бубном", из какой то хомки подсмотрел, перед главным циклом ставь:
sceKernelDcacheWritebackAll();
sceDisplayWaitVblankStart();
мне помогло...
добавлено через 5 минут
Еще момент, если есть
dList = memalign( 16, 640 );
это буфер прорисовки, чем больше предполагается выводить
объектов, тем больше он должен быть.
У меня была проблема, когда я в тетрисе положил фон,
с какого-то момента он начинал стираться по строчке и
чем больше выводилось кубиков, тем хуже, затем перерыв
все и в том числе psdev, нашел решение-именно ту строчку с dList,
увеличил и все ОК, сейчас поставил
dList = memalign( 16, 50000 ); и все замечательно пашет !
Спасибо. Попробую...
лист у меня такой, подсмотрел в каком-то движке...
static unsigned int __attribute__((aligned(16))) list[262144];
добавлено через 2 часа 22 минуты
Блин, голова не соображает уже. ):
Если кто-то хочет помочь в отладке шрифтов (и, как я догадываюсь не только их) - могу выложить последнюю сборку с примером...
Ррррр, почему всё так заморочено??? И не почитаешь ведь нигде толком. ):
Выложи,конечно помогу. Да, очень напрягает отсутствие описалова, все практически методом тыка :(
Ок, тогда я сейчас напишу описалово всех классво, методов и функций - и выложу.
добавлено через 13 часов 23 минуты
http://elmortem.mirgames.ru/download/temp/mgf_0_0_3_1.rar (340 kb)
Колдовал, колдовал, так ничего умного и не наколдовал... ):
Пробовал разные варианты инициализации, выдранные из разных примеров из PSPSDK - без толку.
Чего-то я не вижу в упор. Чего-то важного.
Ведь это очень странно, когда один пример работает, а другой нет...
Начинаю грешить на всё подряд...
добавлено через 1 час 7 минут
Да, забыл совсем:
Утилита генерации шрифтов от движка HGE
http://elmortem.mirgames.ru/download/temp/hgefonted.rar (255 kb)
Утилита, конвертирующая HGE шрифты в формат MGFONT
http://elmortem.mirgames.ru/download/temp/fnt2fb.rar (30 kb)
Смотри, че компайлит:
******************************************
../mgffont.cpp: In member function 'float MGFFONT::GetWidth(const char*, bool)':
../mgffont.cpp(129) : error: '((MGFFONT*)this)->MGFFONT::Quads[((int)c)]->MGFQUAD::Width' cannot be used as a function
../mgffont.cpp: In member function 'void MGFFONT::Render(float, float, int, const char*)':
../mgffont.cpp(194) : error: 'struct MGFQUAD' has no member named 'Vertexes'
../mgffont.cpp(196) : error: '((MGFFONT*)this)->MGFFONT::Quads[((int)n)]->MGFQUAD::Width' cannot be used as a function
make: *** [../mgffont.o] Error 1
я посмотрел, и в правду в
struct MGFQUAD {
....
объявлено float Width, Height;
а в
float MGFFONT::GetWidth(const char *text, bool scale) {
Quads[c]->Width()
вызов как функции. Походу не последнюю версию mgf выложил ?
еще 'Vertexes нету в 'struct MGFQUAD' ....
Эх, Mortem, на кого ж ты нас покинул ... придется самому доделывать. В общем поправил недочеты предыдущего поста, там скорее всего mgfgeometry.сpp нехватало, а там определены прокси-функции доступа к свойствам, в общем Width нужно без скобок указать, и в mgffont.cpp в 195 строке указать
Quads[n]->Vertexes() заменить на Quads[n]->v .
Кстати, со шрифтами вроде разобрался, скоро новая версия териса будет ...
добавлено через 1 час 41 минуту
Прогу с mgf откомпайлил, очень интересно мигают текстуры шрифта :)
Нечто подобное нашел на pspdev:
You are reusing the vertices in DisplayVertices for every character. Vertices passed into sceGuDrawArray() need to remain valid until the GE has executed the operation, otherwise you will overwrite live data. Easy way to solve this is grab memory from the running display list using sceGuGetMemory()...
В общем, как я понял, что sceGuDrawArray() помещает вершины в буфер прорисовки и затем скопом все это отрисовывает при выводе очередного кадра (видится мне, что каждая sceGuDrawArray() выполняется параллельно в своем потоке), так вот, если выводится многократно один и тот же массив, то он в буфере тот же самый, и если менять информацию в вершине, то это может затронуть как последующую, так и предыдущую sceGuDrawArray ...
Решение, как вижу, либо копать этот dList (буфер вывода) , либо каждую строку текста делать отдельным объектом (либо один объект с несколькими Quad), хотя потестить не смог, создание подряд двух шрифтов
font1 = new MGFFONT("data/font.fb");
font2 = new MGFFONT("data/font.fb");
не работает ..
P.S. Сама реализация шрифта порадовала: масштабирование, угол наклона и т.д. очень прикольно
Удалось поправить шрифты под MGF, теперь все ОК !
http://savepic.ru/21866m.png (http://savepic.ru/21866.png)
Дело действительно в буфере вывода, я подсмотрел реализацию подобного момента в gufont из SDK и все получилось, теперь есть отличный шрифтовый движок в составе mgf.
Кому интересно, смотрите в аттачменте подправленный mgf и пример font (уже откомпайленый) на нем. Кстати, в архиве прилагается help, написанный Mortem, все довольно таки подробно описано. Сам движок очень прост и хорошо структурирован, так что с помощью него очень просто будет делать хомки !
Теперь осталось добавить в mgf работу со звуком и будет законченный мини- движок, думаю, дальше я его включу в SDK и сделаю на нем некоторое подобие шаблонов для PSPxIDE (эта идея пока вертится в голове). А пока доделаю тетрис, сначала скорей всего переведу исходникики на mgf ...
P.S. Так же проект по туториалу я сделаю на mgf, код программок будет очень легкий, так как всю рутину скроет mgf . А сейчас ,в принципе, даже небольшая хомка загромождена многими "тяжелыми" и труднообъяснимыми моментами. В общем, стремимся к совершенству :)
Поднял тему поддержки аудио форматов. Пишу
класс mgfaudio.cpp в стоставе MGF, вот такие вещи в базовом классе:
bool AutoNext;
bool Playing;
bool Paused;
int CurIndex;
int Count;
int Add(const char *filename);
int Delete(int Index);
int Play();
int Stop();
int Pause();
int Next();
int Prev();
int Clear();
void Update();
это будет работать для любого поддерживаемого формата музыки !
сейчас реализовал поддержку MP3 из libmad, так же добавлю AT3.
И еще ! в SDK добавил библиотеку mikmod (так же их привяжу к MGF), а она реализует воспроизведение WAV, MOD, XM, IT, S3M, STM, MTM, 669, FAR, DSM, MED, ULT, UNI !!! Также позже добавлю OGG.
Так что будет мощная поддержка аудио форматов, и после Tetris я наверно сделаю многоформатный аудио-плеер для PSP :neo:
wSlava
Респект! Думаю дело пойдёт быстро! (:
В конце недели вернусь из отпуска. Кримсонленд там небось заскуча... (:
Никак не получается вернутся из отпуска, но программерская ломка взяла своё - начал писать основные классы для кримсона. Думается к концу следующей недели будет работающая версия.
Очень жду обновлений от wSlava.
План игры:
Уровень игры представляет собой двумерное пространство (вид сверху) с расположенными на нём динамическими (аналог физики) и статическими препятствиями. На уровне располагаются один или несколько "генераторов монстров", которые нужно уничтожить игроку для успешного прохождения уровня.
Игра будет построена на линейном прохождении нескольких уровней.
Уровни отличаются количеством и расположением статических и динамических объектов и "генераторов монстров". Так же, возможно, для уровней будет сделана индивидуальная тайловая карта, хотя пока я склоняюсь не делать этого...
Пока планирую только один тип монстров.
Физика представляет из себя столкновения акружностей, поэтому все объекты, игрок и монстры имеют похожую форму. (:
В игре предположительно будет 3 вида оружия и несколько бонусов (обдумывается) - например ускорение игрока.
Очки в игре начисляются за количество убитых монстров и отнимаются за время, привышающее установленное для прохождения конкретного уровня.
Будет вестись таблица рекордов.
Игра по сети и глобальная таблица рекордов не планируются.
Сделаю это, а там посмотрим, задел на улучшение постараюсь заложить в структуре движка...
Прикольно. Я вчера чуть доработал MGF_AUDIO, так что вроде можно уже показать :) . Еще один баг нашел в MGF в спрайтах, там (точно не помню) есть при вычислении имени игдекс [b+1], так вот нужно [b], это и есть глюк, который в 30 посте описывал. Еще универсальное иерархическое меню в виде дерева организовал, можно потом подумать, как это в MGF вставить, выложу, посмотришь.
Сегодня вечером уже точно выложу SDK и подредактированный MGF.
Ещё в MGFFONT есть косяк с выравниванием по правому краю - что-то я там поломал, когда пытылся ошибку найти. В принципе пока не значительный баг - как только до среды разработки доберусь - поправлю.
В спрайтах гляну, может ещё что не доглядел... Т.к. частично переносил из старого движка.
В общем мне пока нравится, как всё идёт. (:
Надо бы после кримсона занятся разборками с 3д. (:
Выкладываю дополненный SDK http://www.ifolder.ru/2010023
в котором добавил библиотеку libmikmod, а это означает поддержку WAV и большинства треккерных файлов.
Так же выклыдываю свою редакцию MGF, нашел парочку глюков, поправил шрифты, и, самое главное, добавил базовый класс работы с аудио mgfaudio.
Пока реализовал поддержку MP3 и WAV, но позже добавлю треккерные файлы и OGG.
Mortem, посмотри, может чего сам добавишь.
Вот структура MakeFile, когда задействован практически весь движок (из тетриса, полную версию так же вскоре выложу)
TARGET=TETRIS
OBJS=MGF/vram.o MGF/mgfutils.o MGF/mgftexture.o MGF/tgatexture.o MGF/pngtexture.o MGF/jpgtexture.o MGF/mgfcallback.o MGF/mgf.o MGF/mgfsprite.o MGF/mgffont.o MGF/mgfaudio.o MGF/mp3player.o main.o game.o
INCDIR =MGF
CFLAGS=-g -G0 -O0
CXXFLAGS=$(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS=$(CFLAGS)
BUILD_PRX=0
LIBDIR=
LDFLAGS=
LIBS=-lstdc++ -lpspgum -lpspgu -lpng -lz -ljpeg -lpsprtc -lm -lmad -lmikmod -lpspaudiolib -lpspaudio -lpsppower
EXTRA_TARGETS=EBOOT.PBP
PSP_EBOOT_TITLE=tetris
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
пример использования mgfaudio:
MGFAUDIO *mp3_player,*snd;
mp3_player=new MGFAUDIO();
mp3_player->PlayFile("Music.mp3");
snd=new MGFAUDIO(10);
snd->Add(".MUSIC/Alert.wav");
snd->Add(".MUSIC/Beep.wav");
snd->Play(0);
snd->Play(1);
при этом в один момент времени можно проигрывать лишь один MP3 (в принципе есть возможность несколько каналов организовать, но MP3 очень ресурсоемкий и смысла пока в этом не вижу), а Wav
можно воспроизводить несколько одновременно (точнее я поставил 10) , так же Wav будет микширован с другими звуковыми каналами это полезно
для эффектов (например поверх фоновой музыки), правда можно использовать только MONO Wave в несжатом RIFF формате.
Ну вроде все, тетрис мой уже почти совсем готов, самому уже не терпится выложить, но хочу уже все доделать, а не выкладывать шлейф бета версий, так что все путем :)
P.S. Mortem, да, самому хочется что нибудь "навороченное" из 3D замутить, мозг размять, но пока надо имеющиеся проекты закончить :)
Ух, жесть, еще один серьезный баг.
В общем у тебя (Mortem) есть класс MGFTEXTURE, в
MGFTEXTURE *MGF::Texture_Add
идет создание по типу: tex = new TGATEXTURE(); или tex = new PNGTEXTURE(); или tex = new JPGTEXTURE();
так вот виртуальная функция Load здесь срабатывает, так как в tex
приведенный указатель к конкретному типу, а вот когда возникает
Remove в void MGF::Texture_Remove(MGFTEXTURE *tex) {
указатель уже MGFTEXTURE !!! соответсвенно вызывается пустой Remove из
MGFTEXTURE, и память через некоторое время кончается и зызы виснет...
сначала я в Texture_Remove перед delete поправил так:
((PNGTEXTURE*)t)->Remove() ...
но потом посмотрел что везде одно и тоже и удалил везде Remove
а в базовом MGFTEXTURE оставил невиртуальный базовый Remove ...
В аттачменте все поправлено и работает ОК.
Респект. Ща сяду разбираться. (:
Еще мелкое замечание, ты для таймера используешь float, особо не вдавался в анализ, но чего то странное с ним твориться стало (слабозаметные рывки при анимации), числа delta порядка 0.035, вроде должно нормально, потом посмотрел, что раньше у меня было double, поставил так же и все ОК...
Таймером я ещё хочу заняться позже, как с SDK лучше разберусь. Т.к. то, что он сейчас возвращает очень как-то слабо похоже на миллисекунды... Точнее иногда это миллисекунды, но порой его пробивает... В общем таймер у меня в листе исправлений записан.
Сегодня выложу последний релиз с твоими изменениями на сайте. Спасибо.
И буду сегодня пытаться откомпилить то, что в блокнотике накодил в отпуске! ^__^
добавлено через 6 часов 12 минут
Кстати, нет желания подключить к SDK ещё и TinyXML и Lua? (:
В принципе обе библиотеки есть в версиях для PSP, только откомпилить нужно да закинуть в общий архив.
Могу даже простые примеры, в рамках MGF, написать по работе с этими либами. Очень бы здорого было.
TinyXML закину обязательно, а LUA на слуху, но чесно говоря вживую не видел еще :) этож вроде не библиотека к SDK, а приложение - интерпретатор. Короче надо посмотреть.
Не, это либа, реализующая скриптовый компилятор. Собственно LuaPlayer и написан с использованием этой либы. Т.е. как минимум должны быть исходы, оптимизированные под PSP. К тому же вроде как исходы LuaPlayer доступны...
добавлено через 2 минуты
Жду вот пока скачается последний SDK - хочу сразу пример со звуком накатить в новой версии.
Плясал с бубном вокруг таймера - фигня какая-то. Пробовал несколько вариантов с форума ps2dev - без толку. Сейчас вот качаю разные исходники - пытаюсь высмотреть, как оно там работает. Глядишь когда скачается новый SDK - заборю эту проблему. (:
Вот что нарыл: TinyXML это не либа, а просто опенсорсные исходники под любой C/C++ компайлер, я выкладывал их:
http://www.pspx.ru/forum/showpost.php?p=328664&postcount=2
А вот чтото типа примера использования (сам еще не проверял):
TiXmlDocument *xml = new TiXmlDocument();
xml->Parse(str_xml);
if (xml->Error()) {
printf("Error!");
return;
}
for (TiXmlElement *pitem = xml->FirstChildElement();
pitem;
pitem = pitem->NextSiblingElement() ? pitem->NextSiblingElement() : pitem->FirstChildElement()) {
printf("%s = [", pitem->Value());
if (0 == strcmp(pitem->Value(), "ctext")) {
printf("bcolor = %s", pitem->Attribute("bcolor") ? pitem->Attribute("bcolor") : "ffffff");
}
if (0 == strcmp(pitem->Value(), "text")) {
printf("color = %s ", pitem->Attribute("color") ? pitem->Attribute("color") : "000000");
if (pitem->FirstChild()->Value()) {
printf("text = %s", pitem->FirstChild()->Value());
}
}
printf("]\n");
}
добавлено через 2 минуты
А LUA это и правда парсер LUA скрипта, на ps2dev есть библиотека, седня залью в SDK и выложу, в принципе, можешь не качать, я седня уже обновлю
А нельзя помимо полного SDK вести его версию и выкладывать ещё и аддон? А то по 50 метров качать каждый раз напряжно. (: У меня анлим, но мееедленный. ):
Хотя в этот раз всего 13 метров скачалось, так что подожду новую версию.
Аддон - это в принципе сама библиотека, только ее нужно с SVN-сервера pspdev выкачать, после инсталяции она себя разносит по подкаталогам SDK. В принципе, большинсто инсталируется просто (но из консоли :) ) , траблы у меня были с zlib,png и mikmod, а freetype к примеру, я так и не смог поставить, так как нужно эмулятор линукса под винду ставить, ваще жесть. Сейчас, в принципе уже в SDK все что нужно включил, следующие обновления - если уж только специфическое что нибудь будет нужно.
В принципе Lua же должно хватить, чтобы делать полноценные сложные проекты. Так что можно приостановить развитие самого SDK, и сосредоточится на IDE и играх.
У меня вот уже анимированный человечек по экрану бегает. С управлением почти определился:
Analog - перемещение курсора, нацеливание.
X, O, П, V - перемещение.
LShift - стрельба.
RShift - перезарядка, хотя скорее всего автоматом будет.
Текстуру человечка стыбрил из оригинального Кримсона. (:
очередной SDK. Вставил lua (подпапочка lua, там же примерчик есть в sample), ужал в 7z на удивление до 30 мегов по сравнению с rar ... http://ifolder.ru/2098910
Еще в аттачменте чуть поправил mgfaudio, сделал, чтоб WAV в отдельном потоке проигрывался
Т.е. теперь можно одновременно 2 вавчика проигрывать?
Не, количество одновременно проигрываемых WAV вот MikMod_SetNumVoices(-1, 10); - я 10 поставил, но можно до 64 аппаратных и 192 - программно микшируемых каналов, то есть всего 256 одновременно.
Я имел в виду, что раньше чтоб очередной сэмпл озвучить, я в MGF в Update
ставил вызов MikMod_Update(), а теперь я оформил в виде отдельного потока (sceKernelCreateThread) с циклом
int AudioChannelThread(int args, void *argp)
{
while (WAV_Inited)
{
MikMod_Update();
sceKernelDelayThread(1);
}
return (0);
}
это я сделал, так как при вызове через Update шли тормоза ...
Кстати, пока больше не изменяй MGFAUDIO - я хочу отформатировать под общий стандарт. В принципе могу отдельно выложить отформатированный код, либо дождись, когда всё выложу.
добавлено через 14 минут
Т.е. Update теперь не нужно вызывать? Или нужно для mp3?
добавлено через 20 минут
А, исправил ещё серьёзные косяки с анимацией спрайта. И у шрифтов починил форматирование по правому краю.
Для mp3 нужно. ОК, выложи, потом поправлю, нужно действительно автоматом Update делать
вот. RAR, переименованный в ZIP.
Написал пример по работе со звуком. mp3-файл проигрался нормально, а вот с WAV возникли проблемы. Из 4 файлов примера только 2 хоть что-то играют, да и то, совсем не то, что в семпле, просто нойз какой-то. Может там какой-то особый формат нужен? Битрейт? Моно? Может я чего пропустил?
Ссылка на пример с приложенными файлами:
http://elmortem.mirgames.ru/download/psp/mgf_ex7.rar
В принципе у меня всё готово (на сервак закачал), как только с WAV'чиками разберёмся - рилизну.
формат нужен MONO WAVE без сжатия (еще называют RIFF), я конвертил в принципе все ок, еще wav брал с библиотеки звуков (их полно в инете). Сейчас с багом разбираюсь, когда одновременно и WAV и MP3 играют, почему то если MP3 играет, после воспроизведения WAV (даже нескольких подрят) переключение на другую MP3 приводит к подвисанию, проблему нашел, это когда MP3_INIT проходит, разбираюсь...
P.S. Аську в личку скинул
добавлено через 14 часов 34 минуты
Починил аудио ! Долбануться можно, оказывается, когда несколько потоков создается посредством sceKernelCreateThread, то экспериментально я установил что sceKernelDelayThread(int delay), то бишь пауза сколько то микросекунд рассинхронизирует потоки (то бишь все виснет напрочь), и в таком случае нужно юзать sceKernelDelayThreadCB(int delay) ! Ща еще поделаю, уже завтра с утра выложу :)
Не исповедимы пути PSP-инженеров! (:
добавлено через 1 минуту
Хы, вот как сетевую либу буду писать - вот я там тоже с потоками поимеюсь... (:
Выкладываю новую версию mgfaudio, отформатированный под mgf :)
Вот некоторые изменения:
1)Исправил баг в mp3player.c, связанный с потоками
2)Wav - при добавлении в плейлист загружаются в память и потом при указании имени проигрываются, так в разы быстрее
Небольшое описание :
Есть 3 подхода к использованию mgf_audio:
1) Можно просто проиграть любой файл:
MGFAUDIO *player=new MGFAUDIO();
player->PlayFile("super.mp3")
2) Можно с помощью Add добавить любые файлы (сейчас это MP3 и Wav) в плейлист, а затем с помощью Play(),Next(), Prev(),Pause(),Stop() ... проигрывать плейлист:
player->Add("super1.mp3")
player->Add("super2.wav")
player->Add("super3.mp3")
...
Play()
...
Next()
3) Можно сформировать плейлист
player->Add("super1.mp3")
player->Add("super2.wav")
player->Add("super3.mp3")
а затем используя Play(Index),Stop(Index) воспроизводить необходимый файл. Это очень полезно для звуковых эфектов, например я так использую:
enum{
SND_DROP=0,
SND_SCORE,
SND_GAMEOVER
};
snd=new MGFAUDIO(3);
snd->Add("SOUND/drop.wav");
snd->Add("SOUND/score.wav");
snd->Add("SOUND/gameover.wav");
а затем в нужном месте snd->Play(SND_SCORE), причем Wav файлы проигрываются независимо друг от друга, то есть микшируются, сейчас поставил до 20 одновременно, если snd->Play вызывает mp3, то текущий проигрыеваемый mp3 остановится и запустится выбранный, и это не
влияет на Wav.
Еще ввел признак окончания проигрывания StopType:
MGF_HAND_STOP - это когда вручную вызывается Stop()
MGF_END_PLAYLIST - когда заканчивается плейлист
MGF_END_PLAYFILE - (сейчас только для MP3) когда заканчивается проигрывание по PlayFile()
Для атоматического воспроизведения по плейлисту следующей мелодии
нужно поставить AutoNext=true, для обработки данного события
нужно вызывать Update() (временно, далее будет автоматически)
Для очищения плейлиста используется функция Clear() (не нужно при удалении объекта)
Можешь ещё добавить 3 функции?
PlayRandom, GetVolume, SetVolume
Можешь ещё добавить 3 функции?
PlayRandom, GetVolume, SetVolume
ОК, точно полезно будет
Зарелизил MGF v.0.0.3.2...
http://elmortem.mirgames.ru/?path=psp
Пишу сейчас систему частиц...
Следующую версию MGF думаю выкладывать как только напишу Кримсон. Как раз туда войдут всякие штуки для 2д-игр. Документирую класс 2д-камеры и 2д-вектора, частицы, тайловую карту и т.д...
Кримсон зреет. Сделал простейшую физику, простейший интеллект монстров, землю, украшательства земли...
Следующее на очереди - оружие, кровь.
16 kb чистейшего кода! (:
прикольно, мне пора уже с тетрисом заканчивать :)
elvis live!
29.05.2007, 12:08
Тока ща увидел, офигенная тема с примерами, да и ещё и html-справочка по функциям - очень нужная новичкам вещь. Пасиб те большое))
нзшт...
___________
Наткнулся вот на сайтец: http://www.astralax.ru
Ща сяду изучать, может имеет смысл чистицы оттуда интегрить. Скриншоты красиво смотрятся.
Да, и демо-видеоролики ваще супер !
добавлено через 5 минут
Как я понял, это утилита-генератор, которая все сохраняет в иде последовательности кадров, Mortem, ты это имеешь хочешь прикрутить
в виде движущихся спрайтов, или исходнихи раздобыть и портировать хочешь ? Думаю, для такой системы частиц PSP чрезвычайно тормозить будет, ну это ИМХО, может и не так. Я вот с MP3 столкнулся, то что проигрывание 80% ресурсов сжирает на 266 MHz ...
Ну была мысль именно исходники портировать... Хотя подробнее изучив материал тоже пришёл к мысли, что PSP умрёт от зависти.
Так что систему частиц буду делать по старинке, без выкрутасов. Для крови, взрывов, дыма и пр. покатит - остальное - от лукавого...
Вроде доделал тетрис http://ifolder.ru/2190857
теперь нечто напоминающее полноценную игру :)
В общем, в начале попадаете в меню профиля, кнопки управления в меню:
'X' - выбор, 'O' - подняться в меню на уровень выше. Дальше можно поменять язык на русский ну и смотреть раздел помощи :) Посмотрите, если нормально, то через пару дней на общий форум выложу...
wSlava
Кстати, меня вот всегда интересовал вопрос, как реализовать кнопки ввода по умолчанию. Как в настройках PSP.
Вот я себе настройки ввода поменял под японский стандарт. У меня нолик - ввод, а крестик - отмена. И меня всегда раздражало в хоумбрюшках, когда программерами не учитывались эти моменты. Начинаешь путаться...
Даже в некоторых официальных играх этот косячёк наблюдается...
Хотел вот у себя его избежать...
P.S. Игру качаю...
добавлено через 1 час 34 минуты
Погонял тетрис. Респект. Играть интересно.
Есть несколько замечаний.
Интерфейс пользователя:
Навигация в меню сделана не удобно тем, что консоль нужно держать перевёрнутой, а кнопка выбора получается вверху. Предлагаю для меню заменить кнопку выбора - стрелкой вниз (вправо в перевёрнутом виде), а кнопку отмены - стрелкой вверх (влево в перевёрнутом виде).
Геймплей:
1. Когда я нажимаю влево, то фигура перемещается на 1 деление и нужно нажимать влево ещё раз. Хотелось бы чтобы пока я держу "влево" фигура перемещалась. Ну с некоторой скоростью ессно, а не сразу до упора. Можно выставить таймаут некоторый просто...
2. В других тетрисах когда фигура только что упала на дно её ещё можно на несколько делений подвинуть. Таким способом, например, можно закрывать косяки с боовыми дырками, если вдруг ошибся... Очень хотелось бы видеть такую штуку и в этом тетрисе.
Мой рекорд на среднем - 8300, 9 уровень... (:
ОК, с навигацией попробую сделать и посмотреть, может и удобней,
, Влево - вправо сделаю, чтоб не каждый раз жать, а вот когда фигурка упала, вроде делал чтоб еще можно чуть двигать, надо посмотреть.
P.S. Кстати вот какие фишки еще сделал:
1) Настройки игры сохраняются при выходе (сложность,текущий профиль, последяя mp3, и последний выбранный фон)
2) HighScores скидываю в hs.txt , при этом шифрую (хотя и примитивно) - типа защита от читеров :)
3) Еще заставку об авторах splash.png в бинарник залил, потом при старте восстанавливаю - защита авторских прав :)
Сделал:
1. Частицы (кровь, искры)
2. Порталы для монстров
3. Класс оружия (не прикручен, нет ракет)
4. Прикрутил оружие и стрельбу, частицы при попадании в людей и объекты.
Ближайшие планы:
1. Математика цвета (поправить косяки)
2. Добавить частицы взрывов
3. Добавить ракеты
В целом осталось:
1. Уровни (редактор, загрузка)
2. Основное меню
3. Экраны победы и поражения
4. Рекорды (ввод имени, сохранение рекордов)
5. Поймать утечки памяти
6. Заняться оптимизацией рендеринга, а то смотреть противно на такие тормоза.
Таки надеюсь увидеть тетрис и новую версию PSPxIDE ранье, чем закончу возиться с кримсоном... (:
http://elmortem.mirgames.ru/gfx/screenshot/thgm/thgm_shot_2.jpg
Привет, ура, почти финальный релиз Тетриса!!!
http://ifolder.ru/2378498
Сейчас выкладываю здесь , чтоб потестили, и уже можно выкладывать для всех.
Mortem, учел твои пожелания, со стрелками действительно удобней :) , ну еще сдвиг вправо/влево доделал.
Много чего еще добавил, например "квадратные" волны :) на фоне стакана (при игре), несколько звуковых эффектов, например если набираешь < 100 очков за игру, то голос из мортал комбата говорит "you are nothing !" :) , еще выбор уровня сложности прикольно "Choose your destiny !", в общем потестируйте ...
P.S. В начале, когда еще настройки не сохранены, при старте выдается хэлп по кнопкам, при следующем старте его уже не будет ...
добавлено через 4 минуты
Еще, Mortem, нашел косяк в mgfaudio, точно не помню, MP3_End() второй раз подряд пыталась сработать и все подвешивалось, вот функции замени в
MGF, зарелизишь когда сможешь.
//------------------------------------------
int MGFAUDIO::Stop(int Index) {
switch(PlayList[CurIndex].Type) {
case MGF_MP3:
if(Playing && !MP3_EndOfStream())MP3_End();
break;
case MGF_WAV:
int ind=Index==-1?CurIndex:Index;
if(PlayList[ind].voice!=-1 && !Voice_Stopped(PlayList[ind].voice))Voice_Stop(PlayList[ind].voice);
break;
}
StopType = MGF_HAND_STOP;
Playing = false;
Paused = false;
return 1;
}
и
//------------------------------------------
void MGFAUDIO::Update()
{
switch(PlayList[CurIndex].Type) {
case MGF_MP3:
if(AutoNext && Playing && MP3_EndOfStream()) {
if(Playing)MP3_End();
Playing = false;
if(Next()==-1)StopType=MGF_END_PLAYLIST;
} else if(MP3_EndOfStream()) {
if(Playing)MP3_End();
Playing = false;
StopType=MGF_END_PLAYFILE;
}
break;
case MGF_WAV:
break;
}
}
3.10-OE A'
1) Запуск на максимальной подсветке даёт чёрный экран в игре
2) Двойное нажатие на Home приводит к выходу из игры
3.10-OE A'
1) Запуск на максимальной подсветке даёт чёрный экран в игре
2) Двойное нажатие на Home приводит к выходу из игры
что то на 3.30ОЕ-А не смог повторить 1) ...
Home и вправду чет не так, буду смотреть,
еще пока никто не заметил, я сам нашел, из фигурок почемуто квадрат не вылазит :) ну эт я быстро закрою
добавлено через 1 час 49 минут
Все, поправил выход по Home и теперь есть все фигурки включая квадрат :)
http://ifolder.ru/2382443
P.S. Очень интересно, в PSP походу деструктор на выходе не нужен, если прописать, то стандартный выход по Home обламывается, а если не прописать, то все ОК, подозреваю, что по Home очищается вся память, выделенная приложением, поэтому даже в UMD играх выхода как такового нет...
pspowner
18.06.2007, 09:26
Потестил. Ну вроде всё нормально, единственное, что хотелось бы отметить -
не очень удобно играть с вертикально расположенной консолью. Ну и мне показалось, что управление слегка заторможенное, может стоит добавить регулировку чувствительности кнопок? Но это чисто субъективно, может и не требуется...
pspowner:
На PSP экран для Teris как раз вертикльно лучше смотрится, я сначала
делал как обычно, но слишком мало места сверху вниз, а по бокам наоборот
пустые просторы... А заторможенное в каком смысле, это подробней можешь описать ?
P.S. Сегодня уже вечерком тогда на общем форуме сделаю пост, вчера сам еще потестил, вроде все ОК
Ух, тут всё развивается. А у меня запарка с работой, поэтому по игре практически ничего не делал. Разве что немного оптимизировал математику. Хотя ещё не компилил, ен тестил. Надеюсь на лучшее. (:
P.S. Качаю тетрис, позже отпишусь...
Нашёл небольшое несоответствие в экране подсказок управления. Там перепутаны картинки кнопок вверх (вправо) и вниз (влево) для управлением вращением и ускорением фигурки.
В целом всё круто! (:
Подсказку поправил, в жизни б не заметил :)
Так же вставил возможность в режиме редактирования профиля менять язык алфавита с помощью кнопки правого триггера.
Вот последняя версия (бинарники)
http://ifolder.ru/2414162
а это все исходники:
http://ifolder.ru/2414244
еще сделал 3 скрина:
http://ifolder.ru/2414264
Нашел глючок в jpgtexture.cpp:
Файл открывается:
FILE* inFile = fopen(filename, "rb");
...
и усе, не закрывается :)
добавил в конце
fclose(inFile);
...
if(swizzle) Swizzle();
mgf->Release();
Приводило к облому загрузки текстуры и соотвественно к зависанию спрайта , походу на PSP существенно ограничено количество одновременно открытых дескрипторов файлов...
А я вот захожу в тему ТЕТРИС, смотрю ты версию обновил, сразу сюда, точно, коск нашёл... (:
Отличная работа! Пойду поправлю.
http://ifolder.ru/2483558
Технология работы:
в подкаталоге MGF\hgefonted\ утилитка,
запускаем, выбираем шрифт, диапазон символов,
формат текстур можно любой, но больше 1024 не советую, тормозно.
Затем сохраняешь например с именем my, получаем 2 файла:
my.fnt,my.png. Далее в MGF\fnt2fb\ запускаем
в командной строке fnt2fb.exe my.fnt my.fb, получается файл
my.fb. Далее при программировании нужно использовать
2 файла my.fb и my.png.
К примеру:
MGFFONT *font=new MGFFONT("times.fb");
font->SetScale(2.4f);
font->SetAngle(angle);
font->SetColor(0xFFFF00FF);
font->Render(10, 10, MGFFONT_CENTER, "Preved !");
Переписал все примеры под новую версию MGF. Одна проблема - тестирование. Хочу тестировать на новой версии PSPxIDE. (:
Так что релиз следующей версии MGF будет чуть после релизп PSPxIDE. (&
добавлено через 1 минуту
Из нововведений: оптимизация класса-вектора и добавление класа для более оптимизированной анимации.
Вышла моя первая шароварка. Смотреть сюда: http://karmateam.com
wSlava на IDE подзабил, и это очень печально. Т.к. без нормальной IDE у меня не получается доделать Кримсон. Да ещё с новым SDK какие-то текстурные глюки полезли, тоже не радует.
Отсюда возникает вопрос: кто каким IDE пользуется? Говорили, что как-то можно прикрутить Dev-C++, но все мои попытки оказались тщетны. ):
Пока решил немного размятся и написать что-нить простенькое. И так совпало, что начал портировать на PSP движёк для тектовых квестов QSP.
Двиган под винду, а так же сами квесты можно скачать тут: http://qsp.org.ru .
Форум QSP: http://qsp.borda.ru
Собственно портирование самого движка завершено и можно даже своеобразно погонять в тестовый квест.
Основной вопрос сейчас стоит в проектировании интерфейса, т.к. экранчик у PSP маленький и нету мышки. Так что релиз qsPSP планирую где-то через неделю.
Не будет поддержки сохранения в выбранный файл, а так же не будет поддержки музыки и картинок. Дальше нужно будет искать косяки в текстурах и универсальный модуль для проигрывания нескольких звуковых дорожек одновременно.
Вот такой вот у меня прогресс.
Уважаемый моретем, после долгих дней гемороя к пспсдк можно прикрутить еклипс. но "инлайн" отладки(ну когда можно на строки ставить точки и смотреть значения переменных и тп) всёравно у меня добиться не получилось :( там нужно долго курить доки по гдб-дебуг.
вообще еклипс весьма удобная штука. если знать что где ковырять.
но моему спалённому 1Сом мозгу конечно приятнее ИДЕ от Славы. где ничего ковырять ненадо и можно просто работать.
Слава, где ты :( мы скучаем...
Ну, сейчас у wSlava инлайн тож не до конца сделан. Например работает только в пределах одного файла. Так что в основном отладка всё равно основана на логе, с котрым я-таки разобрался. (:
Если не затруднит, можешь подробно написать, где скачать Эклисп и как его прикрутить к PSPSDK?
Даже если там есть стандартное смежение блоков по Tab - это будет очень круто. Т.к. от некоторых привычек очень сложно избавляться. (:
добавлено через 5 часов 33 минуты
Зарелизил первую версию порта QSP на PSP (ядро 1.5), основанную на QSP 5.4.0.
qsPSP v.0.1 (QSP 5.4.0)
- Нет поддержки звуков
- Нет поддержки картинок
- Нет поддержки стилей (цвет, шрифт, и т.д.)
- Нет сохранения и загрузки
- Нет меню для объектов
- Иногда строки переносятся не правильно
- Нет выбора квеста (test.gam)
- Нет строки ввода и её обработки
- Нет сообщений
В планах на версию 0.2:
- Поддержка картинок
- Сохранение в слотах
- Выбор квеста
- Меню для объектов
- Исправить перенос строки
Обладателей PSP просьба потестировать на разных квестах. Для этого нужно просто заменить test.gam на любой другой квест, переименовав его в test.gam.
Так же сейчас стоит вопрос с графическим оформлением. Очень нужна помощь людей, умеющих рисовать. Нужно будет сделать всякие кнопочки, окошки и прочую графику. Сейчас всё очень похоже на DOS-консоль. (:
Страничка проекта тут: http://elmortem.mirgames.ru/?path=psp-qsp
pspowner
02.11.2007, 12:31
Имхо, Сид прав, ядро 1.50 - уже вчерашний день.
Я себе на 3.71М33-2 даже пока 1.50 патч не ставил даже.
Я указал лишь совместимость. Теоретическую... (:
Тестил на 3.52 M33-2 - всё работает. Дальше апгрейдится пока не намерен, т.к. меня пока всё устраивает.
pspowner
02.11.2007, 13:40
Я прекрасно понял что ты указал. :) А вот ты меня походу не понял. Может я непонятно написал...
Я не про то что работает на 3.52 М33-2, и не призываю апдейтится если оно тебе не надо.
Я предлагаю компилить проги под ядро 3ХХ.
А то вот народ со слим-версией ПСП, например, уже должен извращаться чтобы проги для 1.50 запускать (кстати, не знаю запускаются ли они в принципе.)
Слимку мне обещали на даун принести. можно будет попробовать. если принесут конечно...
Хех, знать бы ещё, как её компилить под ядро 3.хх... (:
Я сказать прямо совсем не понял что имел в виду Мортем.
Как компилить под 3.71? просто поставить в мэйк файл буилд_прх=1, а в программе добавить директиву для увеличения кучи.
l3VGV
Ладно, с этим буду разбираться, когда всё будет работать быстро и без багов хотя бы под 1.50.
Сейчас вот встал вопрос с быстрым выводом текста. 1024 символа - и уже тормоза, что ого-го! Сейчас вот хочу глянуть исходники Bookr'а. Там же как-то выводят целые листинги в 800кб... С переносом строк и всеми прочими делами.
Пока сделал неполноценный гейм-браузер, так что можно ограниченно играть в разные игры. Но тестовый "Чукча" всё равно по стабильности заруливает всех. (:
Попробуй поиграть в майк файле ключами юз_пспдклиб_с, это даёт скорость.
pspowner
08.11.2007, 12:03
Экспериментирую с OSK (On Screen Keybyard (http://forums.ps2dev.org/viewtopic.php?p=59894))
Откомпилил приведённый пример от McZonc для для ядра 3.ХХ
Потребовались небольшие правки.
Всё работает, хотя поведение странновато, надо с параметрами поиграццо.
Может и русский удасцо заюзать. Потом внедрю всё это в свой Version Changer (http://www.pspx.ru/forum/showthread.php?t=57113)
Заборол страшный и очень тупой (с моей стороны) баг с Дельтой. Кусаю локти и думаю о том, как же я его такого пропустил. А ведь грешил на специфику работы со временем в PSP.
На днях выложу обновлённый MGF.
Вывод текста ускорил, хотя после 10000 символов фпс падает до 10-15. Но хоть не зависает наглухо - и то радость.
добавлено через 7 часов 13 минут
pspowner
Скачал и откомпилил OSK. Компилил с PSPxIDE с последней сборкой SDK от wSlawa (нет сейчас возможности скачать СОВСЕМ последнюю версию SDK). Запускал через PSPLINK 2.0 final.
В итоге увидел только серо-голубенький экран. Ничего похожего на ввод текста не заметил.
Так же пытался запустить откомпиленные примеры Диалоговых окон из PSPSDK - не пашут. Отдебажить никак не получается. ):
pspowner
11.11.2007, 10:07
Мортем, сложно сказать. Умну откомпилилось и работает(МессаджБокс тоже), также у Сида работает, он мне скришот сделал -
http://i012.radikal.ru/0711/d2/efd7d753ec56.jpg
Я уже выложил ВЧэнжер с ОСК, по ссылке http://www.pspx.ru/forum/showthread.php?t=57113
Попробуй запустить, если не заработает - значит прошивку тебе надо обновить.
Да, компилил Славиной сборкой СДК в ядро 3ХХ, последний СДК от ВГВ с ОСК почему-то не дружит :(
Запускать через ПСПЛИНК, даже не пробывал.
Если надо - в понедельник исходники могу выложить, но сразу предупреждая что код у меня карявый, на красоту не рассчитывай.
pspowner
Запустить попробую. Исходники тоже неплохо бы глянуть. То, что код некрасивый - так это не главное, у меня у самого не всегда получается красиво структерировать программу, так что не страшно.
pspowner
11.11.2007, 18:52
Мортем, ну как? )
Не пашет. Сэмплы с форумной ветки и из SDK тупо зависают, а твой Ченжер падает на загрузке.
Пока по qsPSP 0.2 готово:
- Сохранение в слотах
- Выбор квеста
- Исправлен перенос строки
Доделаю меню для объектов и выложу. Вьювер картинок и прогрывание музыки оставлю на самый конец.
Если так и не удасться прикрутить ОСК, то придётся для командной строки делать самопальный ввод. Навеное как wSlava делал в тетрисе.
добавлено через 3 часа 43 минуты
Обновил qsPSP до версии 0.2.
- Сохранение в слотах
- Выбор квеста
- Меню для объектов
- Исправлен перенос строки
Брать тут: http://elmortem.mirgames.ru/?path=psp-qsp
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot