PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=101)
-   -   PSPxIDE - мини IDE для разработок под PSP (https://www.pspx.ru/forum/showthread.php?t=28898)

BonifacE 15.03.2007 11:34

Слава щас обновлю тему про игру и отныне все что косается этого проекта будет там. Моя графическая подсистема использует смешанную схему рендеринга через графические пайплайны. В основном это PSPGL с вставками асма и чистого GU, но схема универсальная поэтому туда любой апи не составит проблем прикрутить.

Mortem 20.03.2007 23:11

1. Качаю пример туториала с сайта http://www.psp-programming.com/code/...heport-lesson5.
2. Открываю в PSPxIDE файл main.cpp, сохраняю проект в директорию с Makefile, который был в архиве с примером.
3. Открываю окно редактирования Makefile. Оно пустое. Ни тебе объектных файлов, ни имени проги. Но компилится всё на ура, только при попытке запустить, сообщается, что проект не откомпилен. Открываю Makefile в редакторе - всё нормально, данные на месте.
4. Пытаюсь добавить данные в окне настройки - выдаётся сообщение, что лучше бы мне использовать адвансет-настройку Makefile.
5. Залезаю в адвансет - вижу куча TAB-ов. Видимо косяк был в них. Возвращаюсь в простой режим и ставлю галку ГДБ-отладки.
6. Нажимаю ОК - вываливается сообщение об ошибке list_что-то там (-1).
7. Нажимаю отмену. Закрываю проект. Удаляю Makefile. Открываю проект заного, прописываю данные в Makefile. Ура, всё заработало.

Как уже говорил в другой теме, для повышения юзабилити нужно как минимум:
1. Сделать отдельные настройки IDE.
2. Отказаться от Makefile и заменить его настройками проекта. объектные файлы и стандартные библиотеки добавлять автоматически. И соответсвенно при компиляции Makefile генерить автоматически.
3. Сделать нормальную систему управления файлами проекта. С поддержкой виртуальных поддиректорий, удобной системы добавления и удаления файлов в проект.

wSlava
После переустановки PSPSDK косяк с PSPLINK не повторялся.
С обновлением окна списка функций тоже. Видимо там проблема глубже.

Лог файл, обязательно нужен лог файл. В который будет писаться ВСЁ, что пользователь делает в ИДЕ. Какие окна открывает, что нажимает. Какие сообщения выводятся...
Можно сделать либо отдельный девелоперско-тестовый билд, в котором в лог фиксируется абсолютно всё, либо настройку отдельную.

добавлено через 1 минуту
Да, вот ещё что.
Я настроил файлы с расширением *.psp так, чтобы они открывались PSPxIDE, но сама ИДЕ не отлавливает запуск с параметром. Хотелось бы это поправить.

добавлено через 3 часа 18 минут
В окне поиска текста не работает Ctrl+V. Текст вставляется в код.

добавлено через 1 час 4 минуты
В окне вывода не работает Ctrl+C. (:
И вообще, в какой кодировке там данные выводятся? А то пытаюсь копировать в форум - он крокозябры вместо русского постит...
Вот такие вот:

Попытка подключения к PSP ...
OK
Попытка запуска ...
Ошибка ... Попробуйте заново :)
Сброс PSP ...
Ошибка сброса ...

добавлено через 15 минут
Чудеса, блин. А когда копировал в форму быстрого ответа оно мне крокозябры нарисовало...

wSlava 21.03.2007 12:23

Спасибо огромное, однозначно в авторство включу :) Все посмотрю. Несколько багов пофиксил уже, те, что Mortem в общем форуме говорил. В общем, делаю.

добавлено через 6 минут
Mortem: "когда копировал в форму быстрого ответа оно мне крокозябры нарисовало... " - это виндовый общеизвесный глюк, нужно, когда копируешь русский текст, то чтоб раскладка клавы стояла русская ! Если в это время другая раскладка, например англицкая стоит, то копируется бред :)
P.S. У себя в ERP системе (на работе), мы принудительно перед копированием активируем нужную раскладку. Если очень нужно то сюда тоже вставлю

Mortem 21.03.2007 14:12

wSlava
К слову, то был лог сообщений при глюках PSPLINK. Думается по нему ошибку ни за что не отловить. (:
Так что жду новую версию проги с тотальным логированием. ^__^

Да, как я понял прога написана на Delphi, в настройках проекта пропиши нормальный Title для Application'а. А то в панели задачь пишется скромное "Pspxide". (:

BonifacE
Нет, я скромный программер-отморозок... (:

wSlava 21.03.2007 23:48

Вот еще размышления:
//1. Сделать отдельные настройки IDE.
А какие еще "отдельные настройки " нужны ? Сейчас есть Опции проекта, если чего надо, то сюда и вставлю , предложи свое видение

//2. Отказаться от Makefile и заменить его настройками проекта.
// объектные файлы и стандартные библиотеки добавлять автоматически. И //соответсвенно при компиляции Makefile генерить автоматически.
Вот я тоже над этим голову ломал:
а) хотелось бы чтоб для нового проекта его легко генерить, вот и придумал упрощенную форму.
б) А как быть с проектами, где есть makefile ? makefile в некоторых случаях - сам как программа, так что классифицировать нереально. Поэтому добавил произвольную форму.
в) "объектные файлы и стандартные библиотеки добавлять автоматически"
Тоже здесь есть много НО, во первых, как определить, что один из .cpp самостоятельно компилится а не входит косвенно через какой нибудь .h ? Даже в Delphi и Visual Studio частенько нужно руками указывать что прилинковать. Плюс там для стандартных h есть однозначное соответсвие библиотек. А тут даже на pspdev никто мне не ответил, как по набору include определить, что добавлять в LIB. Я придумал функцию поиска ,описание из хэлпа:

"Одна из распространненых ошибок, это ‘undefined reference to …’, когда компилятор на этапе сборки не может найти реализацию функции, вызываемой в программе. Для исправления данной ошибки нужно указать в Makefile набор библиотек, функции которых используются в программе. В PSPxIDE реализован механиз поиска нужных библиотек. Когда в результате компиляции в окне сообщений появляются ошибки ‘undefined reference to …’, то нужно запустить поиск библиотек из меню Проект->Поиск библиотек. Процедура проводит поиск по всем библиотекам, находящимся в подкаталогах SDK, и выдает необходимый набор, который нужно включить в раздел Makefile –Библиотеки. Важно ! Поиск находит все библиотеки, где встречаются нужные функции, но не всегда может однозначно выдать правильную последовательность библиотек, так как функции могут быть реализованы в разных библиотеках, либо важен порядок подключения библиотек."

Так вот есть странные ситуации, когда важен даже ПОРЯДОК следования в списке LIB ! очень интересно, что одна и таже функция может быть определена в двух библиотеках , при этом первая в списке и берется как источник. Я сканирую заголовки библиотек и выдаю их список, но это не гарантия что если этот список внести в LIB, то все откомпилится. Так же очень вероятно, что некоторые найденные библиотеки можно отбросить ...
Если у кого есть решение этих проблем то я очень рад буду его применить :)


//3. Сделать нормальную систему управления файлами проекта. С //поддержкой виртуальных поддиректорий, удобной системы добавления и //удаления файлов в проект.

Тут я еще только в начале пути :) Вообще у меня изначально была идея сделать не навороченную программистскую студию, а что то более понятное даже начинающему программисту.

Mortem 22.03.2007 04:22

Эмс...

Для начала определимся в терминологии. (:
Проект - файл *.psp и совокупность подключаемых к нему (нестандартных) *.h и *.c\cpp файлов, файла Makefile и иных ресурсов (например картинки для EBOOT'а).
Проект открывается в IDE и использует её настройки при компиляции и сборке.

Опции IDE:
1. Путь к PSPSDK.
2. Пути к дополнительным include'никам.
3. Пути к дополнительным lib'ам.
Тут нужно оставить задел на будущее...

Опции Отдельного проекта:
1. Пути к дополнительным include'никам.
2. Пути к дополнительным lib'ам.
3. Объектные файлы. + кнопка "По умолчанию"
4. Подключаемые библиотеки. + кнопка "По умолчанию"
5. Настройки EBOOT'а.
6. Ручное конфигурирование Makefile'а.

В настройках проекта не нужно хранить путь к PSPSDK, т.к. проект может компилится на разных компах с разными путями к оному. Что повысит мобильность (: проекта. Не придётся каждый раз эту настройку менять.

Объектные файлы прописываются автоматически при добавлении соответсвующих файлов к проекту. Дальше их можно как угодно менять местами или вообще удалить. Если подобными действиями я что-то накосячил (лишнего удалил), то я могу нажать кнопку "По умолчанию" и IDE пересчитает все объектные файлы по новой.
Та же система с библиотеками. За исключением того момента, что предварительно юзается "скрытая компиляция"+"поиск библиотек" и результаты добавляются в указанное поле. Дальше с ними можно делать всё, что угодно в том числе повторно пересчитать нажав на кнопку "По умолчанию".

Настройки EBOOT'а понятно.
Ручное конфигурирование Makefile'а тоже. (:

Цитата:

Вообще у меня изначально была идея сделать не навороченную программистскую студию
Мне кажется для начинающих программистов важно, чтобы тулза:
1. Наглядно показывало с какими файлами ты работаешь в данном проекте.
2. Хотя бы отдалённо напоминала аналоги (VC, DevCpp, etc.)
3. Имела всплывающие подсказки (или как там их правильно) по функциям и их параметрам.

Третий пункт видится мне достаточно сложным, особенно учитывая количество файлов в PSPSDK. А вот первые два пункта вполне реализуемы и были бы отличным подспорьем для изучения этой среды разработки.

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


P.S. Видел скриншоты редактора игр от чуваков, которые Irrlicht портировали под PSPSDK - много думал и сверкал глазами. (:

BonifacE 22.03.2007 13:49

Собственно а что сложного в управлении проектом? Возьмите к примеру за основу идеологию .net solution - имеем простой файл в формате xml в котором расписаны файлы, физические и виртуальные пути, версии сборки, линки, параметры проекта и прочий проектный мусор. Если у вас руки до этого не доходят могу сам написать.

wSlava 22.03.2007 17:29

BonifacE, конечно, если хочешь все что связано с проектом сделать, без проблем :) Мне например, сейчас интересно Code Completion, подсказки описания сделать и подсказки по параметрам... Давай по асе спишимся, обсудим ...

Mortem 22.03.2007 19:00

BonifacE
Ну собственно мне интересна именно визуальная часть управления проектом. А структура файла, в который этот проект (т.е. его настройки) будут сохраняться - это дело второе. Можно и обычный INI-файл использовать. (:

wSlava
О, респект! (:

BonifacE 23.03.2007 10:24

wSlava не пугайся - ЧебурБон это я, это все шутки Коса

Mortem 23.03.2007 20:33

wSlava
Начал писать маленький framework (mgf, см. мою тему) и сталкнулся с таким неприятным моментом:
Все файлы связанные с mgf я размещаю в отдельной директории, отличной от директрии примера, который его использует. Я настройках Makefile я добавляю путь к директории с mgf. Так вот, мне пришлось для обюъектных файлов прописывать относительные пути непосредственно к директории mgf, что меня немного смутило, учитывая то, что я везде юзал #include <...> и поидее IDE должна по добавленному ранее пути автоматически схватить и откомпилить нужное файло.
Вооот... Хотелось бы чтобы не приходилось их прописывать. Либо на этапе компиляции искать в директориях указанные объектные файлы и автоматически перегенерировать Makefile, либо, если есть такая возможность, отдельно прописывать в Makefile, пути к объектным файлам.

И вот ещё вопрос: как я понимаю, можно как-то откомпилить либу. Как? Ведь в этом случае подобная проблема должна отпасть сама собой...

pspowner 23.03.2007 21:50

вСлава, извини, возможно идея бредовая... Вобщем, возможно ли полностью вывести экран ЗЫЗ на комп? Я имею в виду чтобы Run вызывал PSP screenshot - только полностью... т.е. работа приложения полностью отображалась на компьютере. Может с Тиранидом по этому поводу связаться... ну вобщем извиняюсь ещё раз если глупая затея.

Mortem 23.03.2007 22:54

Что-то мне кажется, что usb-дырки не хватит, чтобы пересылать данные в реалтайме с приличным fps...
С другой стороны а зафигом оно? У меня вот PSP лежит перед монитором, взгляд опустил и смотришь...

wSlava 24.03.2007 01:10

Mortem

Да, есть такая засада, все *.o надо вписать в раздел OBJ в Makefile, по крайней мере я не нашел решения, а в таких проектах как эмулятор макинтоша Basilisk II или почтовик PSPoste в исходниках так же все *.o указаны в OBJ, вот пример:

OBJS = ../main.o main_psp.o ../prefs.o prefs_psp.o \
prefs_editor_psp.o sys_psp.o ../rom_patches.o \
../slot_rom.o ../rsrc_patches.o ../emul_op.o \
../macos_util.o ../xpram.o xpram_psp.o ../timer.o \
timer_psp.o clip_psp.o ../adb.o ../serial.o \
serial_psp.o ../ether.o ether_psp.o ../sony.o ../disk.o \
../cdrom.o ../scsi.o scsi_psp.o ../video.o video_psp.o \
../audio.o audio_psp.o \
../user_strings.o user_strings_psp.o \
$(CPUSRCS)

сегодня переписывался с BonifacE, он обещал написать управление проектом, там все это учтем, вроде выработали универсальную идею.
Второй вариант, это сделать библиотеку, можешь посмотреть на примере zlib , исходники сюда положил http://ifolder.ru/1464200. Смотри Makefile и zlib.h, из контекста можно понять как делать либу.


pspowner

Привет. Идея прикольная, но полностью с удобоваримым FPS это вряд ли получится, сейчас делается BMP скрин и копируется на комп, я тестил, максимум 1-2 скрина в секунду. Просто ИМХО мощности PSP не хватит (учитывая запущеную хомку) оцифровывать даже с десяток экранов в /сек, а это еще и на комп надо скинуть, еще заметил, что в с PSPLINK хомки чуть медленей выполняются. Могу в экран скрина в IDE интервал снятия скринов поставить и позволить на весь экран разворачиваться, и можно будет смотреть слайдшоу :) это прям щас сделаю, самому интересно :)

добавлено через 12 минут
Mortem: с глюками что ты указывал, за выходные думаю разберусь. Еще надо туториал на общий форум сделать (игра пятнашки).
Идею выложить на PSPDEV пока отставлю, так как проект здесь закрутился, вот доведем до ума и огорошим буржуев :)

добавлено через 1 час 50 минут
pspowner: сделал автоскрины :)
новая версия http://pspx.ru/ide/PSPXIDEv_2_1_4.zip
В о бщем в окне скрина (когда оно не встроено в главное окно) клик 2 раза мышой - открыть/закрыть полноэкранный режим, можно и как обычно окно растянуть. Появился бокс со стрелками - интервал в милисекундах (именно таймера, а скрин придет как получится) обновления скринов с псп, если 0 то только по кнопке, если больше, то автоматом, прибавляю по 100. Как я и говорил 2 FPS - это максимум. Но все равно, эфект прикольный! Я открыл экзампл \pspdev\psp\sdk\samples\gu\lights\, откомпайлил , запустил, и радовался полноэкранному слайдшоу, правда красиво, советую посмотреть. В принципе, все равно эту тему можно поднять, может TyraniD что то придумает.

pspowner 24.03.2007 01:39

ААААА! Вот *** ЖЖОШЬ! АБАЛДЕТЬ! ОГРОМНЫЙ РЕСПЕКТ! извините за нецензурщину. Вот это я и хотел!
А контролер на клаву можно повесить? Чтоб sceCtrlReadBufferPositive/sceCtrlPeekBufferPositive - ловились на клаве и передовались проге.

Просто не в каждой проге нужен высокий ФПС для отладки. А тут - ну просто нет слов. Класс! Слав, Тираниду надо писать. Или уже на форум пс2дев постить. Имхо, это важнее чем пятнашки =)

Mortem 24.03.2007 19:16

wSlava
Пропала функция смещения выделенных блоков по Tab и Shift+Tab.

Ты, кстати, TODO пишешь? А то мы тут сейчас понапишем всякого,а оно потом потеряется... ):

Mortem 24.03.2007 19:49

Вложений: 1
Текущая сборка изобилует (: всякими нехорошими (тяжело повторить) багами.
Вылезают сообщения о нехватке памяти, иде часто зависает или просто вылетает без всяких сообщений.

Вот ещё один баг нашёл. Сейчас разбираюсь с двумерным рендерингом (ortho). И вдруг пример перестал компилится, указывая на какой-то quad_t. Полнотекстовой поиск дал, что это какой-то тип в psptypes.h

Так вот, в консоли выдаётся сообщение об ошибках в строке, которой впринципе не может быть, т.к. в файле строк меньше (приложил скриншот).

Если нажать два раза на эту строку с ошибкой, то ИДЕ зависает, а потом и вовсе вываливается без предупреждений.

wSlava 24.03.2007 22:23

Mortem
//по Tab и Shift+Tab,
а было ли ? В делфи по жизни только Ctrl-k-i - вправо, Shift-Ctrl-k-i вслево

//в консоли выдаётся сообщение об ошибках в строке, которой впринципе //не может быть, т.к. в файле строк меньше
ошибки выдает компилятор gcc ! PSPxIDE надстройка, отправмл запрос - получил ответ, что зависает при клике, не есть гуд, поправлю.

//Текущая сборка изобилует (: всякими нехорошими (тяжело повторить) //багами.
//Вылезают сообщения о нехватке памяти, иде часто зависает или просто //вылетает без всяких сообщений.
Лог сделаю, будет понятней, что и в какой момент валится

добавлено через 4 минуты
P.S. Что ошибки компайлер неправильно иногда выдает - это особенность c++? Семантика языка такова, что много ситуаций, когда ошибку определить невозможно ! Я лично писал LLK, LRK анализаторы C++ (из теории языков и конечных автоматов), там по поводу c++ много трепа, что данный язык неоднозначен ! Так что такие ситуации возникают в разных компиляторах, очень часто в таких ситуациях виновны фигурные скобки { }, если где то не проставлена или больше чем надо, компиляторы очень часто выдают бред :)

Mortem 25.03.2007 01:22

wSlava
На счёт неоднозначности С++ знаю... Просто уже всё перерыл. ): Ладно, буду ковыряться дальше.

> а было ли ? В делфи по жизни только Ctrl-k-i - вправо, Shift-Ctrl-k-i вслево
Дельфи? Хде дельфи? Там ж С\С++... (:
Кстати, я за эти хоткеи Дельфи больше всего ненавидел. Кажись в BDS это поправили, нет? Таки можно сделать нармальное табирование? Пусть и в дополнение к дельфт-стилю...

> ошибки выдает компилятор gcc
Да, я это понимаю, как раз имел виду проблему именно с кликом, просто подробно описывал. (:

добавлено через 38 секунд
В общем я пока откатился на прежнюю версию, она постабильнее будет (:
Жду новый билд.

добавлено через 11 минут
С некомпилированием и косяками компилятора разобрался. Всё дело было в абсолютных путях к файлам в проекте.
Я новые семпл стал делать на основе уже имеющегося, а файлы открывались всё равно от первого семпла, только там пути к *.h файлам были не прописаны в Makefile'е, ведь редактировал-то я Makefile от текущего проекта... (:

Так что этот момент тоже нужно учесть когда будешь реализовывать нормальную работу с проектом. Пути только относительные, как и везде в других местах...

Ух, прямо камень с головы... Ушёл кодить.

добавлено через 1 час 40 минут
В публичной ветке какой-то товарищь писал про "зацикливание". Так вот, оно происходит при двойном клике на кнопку "Билд". Актуально для обоих версий.

wSlava 25.03.2007 12:14

Вложений: 1
pspowner:

Есть там гдето привязка клавы, обязательно посмотрю.

Mortem:

За отлов ошибки: "двойном клике на кнопку "Билд"" особое спасибо, в жизни б не догадался ) Респект за помощь )

Еще, горячие клавиши можно назначить самому:
Из меню Файл-Настройки
Закладка Команды, в Категории Edit:
EditIdent - смещение блока вправо
EditUndent - влево
можешь свои горячие клавиши поставить

Там косячок был, в русском языке интерфейса не было указано chkCtrl.Caption=Ctrl
chkShift.Caption=Shift
chkAlt.Caption=Alt
добавил, смотри вложение, его Russian.ini брось в каталог Languages

P.S. Думаю, надо добавить отдельные файлы схем HotKey: Delphi , VC т.к. у всех свои предпочтения

wSlava 27.03.2007 00:39

Новая версия http://pspx.ru/ide/PSPXIDEv_2_1_5.zip, вроде разгреб несколько глюков, теперь буду их фиксировать строже, так как лог появился :) еще завел changelog.txt (будет идти с каждой версией), тоже упорядочу исправления.

вот содержание changelog.txt

Версия 2.1.5

-Добавлено логирование. В каталоге программы
пишется Log.txt. Теперь ошибки без его отсутсвия в
качестве подтверждения не рассматриваются :)
- По двойному клику на кнопку компиляции
происходило "зацикливание". Исправлено
- Исправлена кодировка при выводе в окно сообщений
- Поддержка русских символов в имени каталогов хомбрю
- Исправлена ошибка при копировании результата после
компиляции
- Исправлена ситуация с запретом редактирования кода
после неудачной копмиляции
- Добавлено: в окне скриншотов (когда оно не встроено в главное окно)
клик 2 раза мышкой - открыть/закрыть полноэкранный режим,
можно и как обычно окно растянуть. Появился бокс со стрелками
интервал в милисекундах (менно таймера, скриншот придет как получится)
обновления скриншотовов с PSP, если 0 то только по кнопке,
если больше, то автоматом.

Mortem 27.03.2007 03:10

Ошибки списка функций:
1. В настройках стоит показ нумерации строк с 0. Но в списке функций они отображаются с 1, что вводит в заблуждение. (:
2. Если играться со скрытием текста, а затем обновить окно функций, то номера функций не соответсвуют действительности. У меня всегда показывалась строка 200. При двойном клике на заглючившее отображение функцию прога зависает.

http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_1.jpg
Красными стрелками показана описанная ошибка. А зелёной стрелкой показано то, что функция поиска функций (: находит не только функции. (:
Простите за каламбурчик.

Вот лог:
Action) 27.03.2007 2:55:06 FileWorkspaceOpen
Action) 27.03.2007 2:55:11 SearchFunctionList
Action) 27.03.2007 2:55:29 SearchFunctionList
Action) 27.03.2007 2:55:45 EditSelectAll
Action) 27.03.2007 2:55:46 ViewCollapseAll
Action) 27.03.2007 2:55:50 ViewCollapseAll
Action) 27.03.2007 2:55:53 SearchFunctionList

Всё же лог нужно чистить при старте, иначе после 50 запусков ИДЕ он разрастётся до нечеловеческих размеров.

добавлено через 1 минуту
Да, каллапс текста тоже порой подглючивает, но повторить пока не удалось... Ну, просто имей в виду... (:

wSlava 28.03.2007 01:10

Список явно бажит :) Лог я ограничил 1Мегабайт, если переполняется, то
создается новый. Если каждый раз чистить при старте, то может потеряться ценная информация предыдущего запуска. Может его с прокруткой доделаю (самые старые удаляются при добавлении новых).
Еще интересно про PSPLINK и отладку подробней инфу увидеть.

добавлено через 10 часов 30 минут
Начал писать туториал, только передумал про "пятнашки" - слишком много геморроя с выводом текста, и решил написать тетрис :) А то PSPxIDE пишу, а хомбрю забросил, заодно сейчас отловлю некоторые баги, уже нашел и поправил один довольно таки неприятный глюк на компиляции: при выводе большого числа ошибок компиляции (80 строк, во как умею) функция перекодировки сообщений падает и соответственно дальше все плавно рушится.

Mortem 28.03.2007 11:52

Когда PSPxIDE выдаёт ошибку в неоткрытом файле, то неплохо бы его открывать, при даблклике по строке ошибки. (:

А где в пятнашках текст? Или что ваще такое "Пятнашки"? (:

wSlava 28.03.2007 14:49

http://med-plast.com.ua/img/plastic/50.jpg
:) Просто хочу на чистом GU написать без доп. библиотек, а вывод текста есть только дебаг надписи, ну и пример есть про текст, но там используется алфавит в raw формате, поэтому чето передумал, тетрис все же графически прост и все равно эффектнее. Короче,наполовину уже сделал, скоро выложу :)

добавлено через 1 минуту
P.S. Сайтик твой смотрел, демка 4K прикольная, вторая чето не качается.

Mortem 28.03.2007 19:09

Да, именно таким я сего и представлял Пятнашки.
Только там же текста нету? (:

P.S. только что проверил - качается нормально...

wSlava 28.03.2007 22:05

а 1,2,3 ... это не текст ? ) так вот надо вывести чтоб на каждую ячейку циферку, к сожалению в чистом GU ничего нет, разве что псевдографический вывод текста pspDebugScreenPuts 20x50 символов, при этом еще фон портится. Еще пример gufont есть в SDK, но делать туториал, где больше половины работы посвящено выводу циферок, это ИМХО бестолково, поэтому я тетрис делаю, очень прикольно, и алгоритмы простые и простейшие приемы работы с GU!

Mortem 28.03.2007 23:18

Зачем цифирки выводить? (: Плашки можно сделать полностью графическими. (:

wSlava 02.04.2007 17:23

Сделал свой тетрис :) В принципе, в PSPxIDE было все удобно делать и быстро, на все суммарно где то часов 10 ушло. Заметил пару глюков, связанных с компиляцией и отладкой, поправил, скоро выложу версию. А сам тетрис выложил на общий форум https://www.pspx.ru/forum/showpost.ph...5&postcount=55

добавлено через 14 часов 22 минуты
P.S. Пришел к пониманию, что управление проектом в PSPxIDE все же нужно реализовать, очень уж выработалась привычка на других IDE ... Ладно, сам доелаю :)

Mortem 03.04.2007 01:11

wSlava Респект!

Блин, тада я чувствую в себе необходимость (: таки написать пятнашки. (:
Как только приведу в приличный вид свой малюсенький фреймворк - тут же этим займусь. (:

Mortem 06.04.2007 22:09

В приличный вид фреймворк не привёл, но Пятнашки написал. Нашёл неприятные косяки, связанные с явным непониманием основ программинга под PSP. Пока обошёл их не очень красивым способом - буду думать.

wSlava
Не мог бы ты выложить исходники тетриса. Хоть 3д, хоть 2д - мне б системную часть глянуть... Заранее спасибо.
И это, когда намечается новая версия IDE? А то страшно неудобно девелопить... (:

wSlava 07.04.2007 01:39

Вложений: 2
Исходники тетриса версии 1 и последняя 1.3 в аттачменте , В 1 версии все очень просто и только на GU. В следующих версиях уже юзаю доп. библиотеки libpng,zlib,libmad + дополнительные исходники взятые из http://www.psp-programming.com/
Все обещаю постепенно закоментить и выложить. Так же практически готов SDK "все в одном", только со шрифтами осталось разобраться.

Вот последняя версия PSPxIDE в которой я все делал
http://ifolder.ru/1601332
Поправил 2 неприятных глюка при компиляции и отладке (вот они думаю и доставали, когда начал писать то сразу отловил), в остальном последних пару дней все прекрасно работало. Сейчас в планах все же добавить управление проектом и после сделаю релиз.

Mortem 07.04.2007 04:03

Когда перебиндиваешь Tab для смещения выделенного блока - перестаёт работать обычный Tab для смещения от курсора. ): Можно это поправить в релизе?

P.S. Сел переписывать пятнашки под ООП. (:

Mortem 08.04.2007 21:47

Открываю откомпиленный ебут в тотал коммандере по ф3. листаю и вижу вот таку (http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_3.gif) вот картину. Там такого страницы 3-4. Кто-нить может объяснить сей парадокс? А вылечить? Заранее спасибо!

добавлено через 2 часа 56 минут
wSlava
Можешь рассказать, как отлаживать прогу с помощью GDB-консоли? Что бы я туда не ввёл - либо вылезает ошибка, либо вообще ничего не происходит... ):

all
Есть у кого-нить пример логгера для PSP-приложения? А то меня это шаманство с кодом уже порядком подзадолбало... (:
Заранее благодарен.

добавлено через 4 минуты
Как это было:
1. Компилю прогу.
2. Запускаю прогу через PSPLINK.
3. Открываю GDB-консоль.
4. Ввожу 'help'.
5. Вываливается ошибка. (далее что бы ни вводил - нет реакции)
6. Нажимаю кнопку 'Stop'. IDE gереходит в режим редактирования кода при этом прога продолжает висеть в PSPLINK.
7. Попытка заного запустить прогу даёт следующий лог:

OUT) Компиляция завершена успешно !
OUT) Время компиляции: 0:00:05
Action) 08.04.2007 21:40:21 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Выполнение "TheGame" (eboot.pbp)
Action) 08.04.2007 21:40:29 ViewGDBConsole
Action) 08.04.2007 21:42:22 Stop
Action) 08.04.2007 21:42:28 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Ошибка ... Попробуйте заново :)
OUT) Сброс PSP ...
OUT) Ошибка сброса ...
Action) 08.04.2007 21:45:18 Closing PSPxIDE

wSlava 08.04.2007 22:38

Про PBP - такого не встречал, посмотрел несколько файлов, ничего подобного...

Про отладку и GDB-консоль, прочитай в хэлпе пункт
9. Методы отладки хомбрю приложений.
GDB-консоль задействована только в режиме отладки

Техника взаимодействия с PSPLINK такая:
- в режиме обычного запуска запускается eboot.pbp
- в режиме отладки запускается <проект>.elf

то, что консоль в обычном режиме доступна - это глюк, поправлю,
сделаю readonly.

Если хочешь лог файл делать из хомбрю, то пользуйся группами функций
fopen, fprintf, write, и т.д. я посмотрел, здесь тот же #include <stdio.h>
что и везде используется (VC,C++Builder,Turbo C++... )

Mortem 13.04.2007 11:06

1. Компилю прогу.
2. Открываю окно скриншотов.
3. Запуская прогу.
4. Тычу сграбить и вижу: http://elmortem.mirgames.ru/gfx/bugs/pspxide_bug_4.gif
5. после этого сбрасывается соединение с PSP, т.к. при нажатии на "Stop" IDE просто переходит в нормальный режим, а игра на PSP не сбрасывается и судя по логам нету вообще попыток завершить выполнение проги на PSP.

Action) 13.04.2007 10:51:01 ScrShot
OUT) ******************************************
OUT) Компиляция завершена успешно !
OUT) Время компиляции: 0:00:12
Action) 13.04.2007 10:51:10 Run
OUT) Попытка подключения к PSP ...
OUT) OK
OUT) Попытка запуска ...
OUT) Выполнение "TheGame" (eboot.pbp)
GDB) scrshot scrshot.bmp
GDB) scrshot scrshot.bmp


Action) 13.04.2007 10:51:55 Stop
Action) 13.04.2007 10:52:01 Closing PSPxIDE


добавлено через 3 минуты
Кстати на счёт логгера:
FILE *logFile = fopn("log.txt", "a"); // пробовал так же вариант с "wb"
fwrite(str, strlen(str), 1, logFile);
fclose(logFile);

Файл создаётся, но он пуст, при том что те же строки нормаьно выводятся через: fprintf(stderr, "$>%s", str);

wSlava 14.04.2007 20:25

баг поправил.
Насчет логгера, посмотри подробней <stdio.h>, там много полезных вещей,
причем стандартно для всех компиляторов c/c++

вот как лог можно делать:

FILE *logFile = fopen("log.txt", "a+t");
fprintf(logFile, "preved %s %d \n", "medved",5);
fclose(logFile);

fopen(<имя>,<модификатор доступа>)

<модификатор доступа>:
r - чтение
w - запись
a - добавление

дополнительно уточнения
b - бинарный
t - текстовый
+ при "а"если нет файла то создает

Mortem 14.04.2007 23:18

дык вроде в виндовом движке работал мой вариант... странно всё это, возможно косяки PSPLINK...
Надо как-нить краштест фреймворка провести непосредственно с консоли. (:

wSlava 15.04.2007 21:44

PSPLINK не причем, в user mode он работает прекрасно (то что мы пишем, все в User mode), проверено сотнями программеров, есть косяки только в kernel mode, об этом сказано в документации.

pspowner 16.04.2007 13:24

Слав, вобщем отдал я переводчику - он посмотрит. Вопросы конечно возникли, всётаки в программировании он не бум-бум. Короче посмотрим чего получится.


Текущее время: 21:42. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.