Слава щас обновлю тему про игру и отныне все что косается этого проекта будет там. Моя графическая подсистема использует смешанную схему рендеринга через графические пайплайны. В основном это PSPGL с вставками асма и чистого GU, но схема универсальная поэтому туда любой апи не составит проблем прикрутить.
|
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 минут Чудеса, блин. А когда копировал в форму быстрого ответа оно мне крокозябры нарисовало... |
Спасибо огромное, однозначно в авторство включу :) Все посмотрю. Несколько багов пофиксил уже, те, что Mortem в общем форуме говорил. В общем, делаю.
добавлено через 6 минут Mortem: "когда копировал в форму быстрого ответа оно мне крокозябры нарисовало... " - это виндовый общеизвесный глюк, нужно, когда копируешь русский текст, то чтоб раскладка клавы стояла русская ! Если в это время другая раскладка, например англицкая стоит, то копируется бред :) P.S. У себя в ERP системе (на работе), мы принудительно перед копированием активируем нужную раскладку. Если очень нужно то сюда тоже вставлю |
wSlava
К слову, то был лог сообщений при глюках PSPLINK. Думается по нему ошибку ни за что не отловить. (: Так что жду новую версию проги с тотальным логированием. ^__^ Да, как я понял прога написана на Delphi, в настройках проекта пропиши нормальный Title для Application'а. А то в панели задачь пишется скромное "Pspxide". (: BonifacE Нет, я скромный программер-отморозок... (: |
Вот еще размышления:
//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. Сделать нормальную систему управления файлами проекта. С //поддержкой виртуальных поддиректорий, удобной системы добавления и //удаления файлов в проект. Тут я еще только в начале пути :) Вообще у меня изначально была идея сделать не навороченную программистскую студию, а что то более понятное даже начинающему программисту. |
Эмс...
Для начала определимся в терминологии. (: Проект - файл *.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 - много думал и сверкал глазами. (: |
Собственно а что сложного в управлении проектом? Возьмите к примеру за основу идеологию .net solution - имеем простой файл в формате xml в котором расписаны файлы, физические и виртуальные пути, версии сборки, линки, параметры проекта и прочий проектный мусор. Если у вас руки до этого не доходят могу сам написать.
|
BonifacE, конечно, если хочешь все что связано с проектом сделать, без проблем :) Мне например, сейчас интересно Code Completion, подсказки описания сделать и подсказки по параметрам... Давай по асе спишимся, обсудим ...
|
BonifacE
Ну собственно мне интересна именно визуальная часть управления проектом. А структура файла, в который этот проект (т.е. его настройки) будут сохраняться - это дело второе. Можно и обычный INI-файл использовать. (: wSlava О, респект! (: |
wSlava не пугайся - ЧебурБон это я, это все шутки Коса
|
wSlava
Начал писать маленький framework (mgf, см. мою тему) и сталкнулся с таким неприятным моментом: Все файлы связанные с mgf я размещаю в отдельной директории, отличной от директрии примера, который его использует. Я настройках Makefile я добавляю путь к директории с mgf. Так вот, мне пришлось для обюъектных файлов прописывать относительные пути непосредственно к директории mgf, что меня немного смутило, учитывая то, что я везде юзал #include <...> и поидее IDE должна по добавленному ранее пути автоматически схватить и откомпилить нужное файло. Вооот... Хотелось бы чтобы не приходилось их прописывать. Либо на этапе компиляции искать в директориях указанные объектные файлы и автоматически перегенерировать Makefile, либо, если есть такая возможность, отдельно прописывать в Makefile, пути к объектным файлам. И вот ещё вопрос: как я понимаю, можно как-то откомпилить либу. Как? Ведь в этом случае подобная проблема должна отпасть сама собой... |
вСлава, извини, возможно идея бредовая... Вобщем, возможно ли полностью вывести экран ЗЫЗ на комп? Я имею в виду чтобы Run вызывал PSP screenshot - только полностью... т.е. работа приложения полностью отображалась на компьютере. Может с Тиранидом по этому поводу связаться... ну вобщем извиняюсь ещё раз если глупая затея.
|
Что-то мне кажется, что usb-дырки не хватит, чтобы пересылать данные в реалтайме с приличным fps...
С другой стороны а зафигом оно? У меня вот PSP лежит перед монитором, взгляд опустил и смотришь... |
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 что то придумает. |
ААААА! Вот *** ЖЖОШЬ! АБАЛДЕТЬ! ОГРОМНЫЙ РЕСПЕКТ! извините за нецензурщину. Вот это я и хотел!
А контролер на клаву можно повесить? Чтоб sceCtrlReadBufferPositive/sceCtrlPeekBufferPositive - ловились на клаве и передовались проге. Просто не в каждой проге нужен высокий ФПС для отладки. А тут - ну просто нет слов. Класс! Слав, Тираниду надо писать. Или уже на форум пс2дев постить. Имхо, это важнее чем пятнашки =) |
wSlava
Пропала функция смещения выделенных блоков по Tab и Shift+Tab. Ты, кстати, TODO пишешь? А то мы тут сейчас понапишем всякого,а оно потом потеряется... ): |
Вложений: 1
Текущая сборка изобилует (: всякими нехорошими (тяжело повторить) багами.
Вылезают сообщения о нехватке памяти, иде часто зависает или просто вылетает без всяких сообщений. Вот ещё один баг нашёл. Сейчас разбираюсь с двумерным рендерингом (ortho). И вдруг пример перестал компилится, указывая на какой-то quad_t. Полнотекстовой поиск дал, что это какой-то тип в psptypes.h Так вот, в консоли выдаётся сообщение об ошибках в строке, которой впринципе не может быть, т.к. в файле строк меньше (приложил скриншот). Если нажать два раза на эту строку с ошибкой, то ИДЕ зависает, а потом и вовсе вываливается без предупреждений. |
Mortem
//по Tab и Shift+Tab, а было ли ? В делфи по жизни только Ctrl-k-i - вправо, Shift-Ctrl-k-i вслево //в консоли выдаётся сообщение об ошибках в строке, которой впринципе //не может быть, т.к. в файле строк меньше ошибки выдает компилятор gcc ! PSPxIDE надстройка, отправмл запрос - получил ответ, что зависает при клике, не есть гуд, поправлю. //Текущая сборка изобилует (: всякими нехорошими (тяжело повторить) //багами. //Вылезают сообщения о нехватке памяти, иде часто зависает или просто //вылетает без всяких сообщений. Лог сделаю, будет понятней, что и в какой момент валится добавлено через 4 минуты P.S. Что ошибки компайлер неправильно иногда выдает - это особенность c++? Семантика языка такова, что много ситуаций, когда ошибку определить невозможно ! Я лично писал LLK, LRK анализаторы C++ (из теории языков и конечных автоматов), там по поводу c++ много трепа, что данный язык неоднозначен ! Так что такие ситуации возникают в разных компиляторах, очень часто в таких ситуациях виновны фигурные скобки { }, если где то не проставлена или больше чем надо, компиляторы очень часто выдают бред :) |
wSlava
На счёт неоднозначности С++ знаю... Просто уже всё перерыл. ): Ладно, буду ковыряться дальше. > а было ли ? В делфи по жизни только Ctrl-k-i - вправо, Shift-Ctrl-k-i вслево Дельфи? Хде дельфи? Там ж С\С++... (: Кстати, я за эти хоткеи Дельфи больше всего ненавидел. Кажись в BDS это поправили, нет? Таки можно сделать нармальное табирование? Пусть и в дополнение к дельфт-стилю... > ошибки выдает компилятор gcc Да, я это понимаю, как раз имел виду проблему именно с кликом, просто подробно описывал. (: добавлено через 38 секунд В общем я пока откатился на прежнюю версию, она постабильнее будет (: Жду новый билд. добавлено через 11 минут С некомпилированием и косяками компилятора разобрался. Всё дело было в абсолютных путях к файлам в проекте. Я новые семпл стал делать на основе уже имеющегося, а файлы открывались всё равно от первого семпла, только там пути к *.h файлам были не прописаны в Makefile'е, ведь редактировал-то я Makefile от текущего проекта... (: Так что этот момент тоже нужно учесть когда будешь реализовывать нормальную работу с проектом. Пути только относительные, как и везде в других местах... Ух, прямо камень с головы... Ушёл кодить. добавлено через 1 час 40 минут В публичной ветке какой-то товарищь писал про "зацикливание". Так вот, оно происходит при двойном клике на кнопку "Билд". Актуально для обоих версий. |
Вложений: 1
pspowner:
Есть там гдето привязка клавы, обязательно посмотрю. Mortem: За отлов ошибки: "двойном клике на кнопку "Билд"" особое спасибо, в жизни б не догадался ) Респект за помощь ) Еще, горячие клавиши можно назначить самому: Из меню Файл-Настройки Закладка Команды, в Категории Edit: EditIdent - смещение блока вправо EditUndent - влево можешь свои горячие клавиши поставить Там косячок был, в русском языке интерфейса не было указано chkCtrl.Caption=Ctrl chkShift.Caption=Shift chkAlt.Caption=Alt добавил, смотри вложение, его Russian.ini брось в каталог Languages P.S. Думаю, надо добавить отдельные файлы схем HotKey: Delphi , VC т.к. у всех свои предпочтения |
Новая версия http://pspx.ru/ide/PSPXIDEv_2_1_5.zip, вроде разгреб несколько глюков, теперь буду их фиксировать строже, так как лог появился :) еще завел changelog.txt (будет идти с каждой версией), тоже упорядочу исправления.
вот содержание changelog.txt Версия 2.1.5 -Добавлено логирование. В каталоге программы пишется Log.txt. Теперь ошибки без его отсутсвия в качестве подтверждения не рассматриваются :) - По двойному клику на кнопку компиляции происходило "зацикливание". Исправлено - Исправлена кодировка при выводе в окно сообщений - Поддержка русских символов в имени каталогов хомбрю - Исправлена ошибка при копировании результата после компиляции - Исправлена ситуация с запретом редактирования кода после неудачной копмиляции - Добавлено: в окне скриншотов (когда оно не встроено в главное окно) клик 2 раза мышкой - открыть/закрыть полноэкранный режим, можно и как обычно окно растянуть. Появился бокс со стрелками интервал в милисекундах (менно таймера, скриншот придет как получится) обновления скриншотовов с PSP, если 0 то только по кнопке, если больше, то автоматом. |
Ошибки списка функций:
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 минуту Да, каллапс текста тоже порой подглючивает, но повторить пока не удалось... Ну, просто имей в виду... (: |
Список явно бажит :) Лог я ограничил 1Мегабайт, если переполняется, то
создается новый. Если каждый раз чистить при старте, то может потеряться ценная информация предыдущего запуска. Может его с прокруткой доделаю (самые старые удаляются при добавлении новых). Еще интересно про PSPLINK и отладку подробней инфу увидеть. добавлено через 10 часов 30 минут Начал писать туториал, только передумал про "пятнашки" - слишком много геморроя с выводом текста, и решил написать тетрис :) А то PSPxIDE пишу, а хомбрю забросил, заодно сейчас отловлю некоторые баги, уже нашел и поправил один довольно таки неприятный глюк на компиляции: при выводе большого числа ошибок компиляции (80 строк, во как умею) функция перекодировки сообщений падает и соответственно дальше все плавно рушится. |
Когда PSPxIDE выдаёт ошибку в неоткрытом файле, то неплохо бы его открывать, при даблклике по строке ошибки. (:
А где в пятнашках текст? Или что ваще такое "Пятнашки"? (: |
http://med-plast.com.ua/img/plastic/50.jpg
:) Просто хочу на чистом GU написать без доп. библиотек, а вывод текста есть только дебаг надписи, ну и пример есть про текст, но там используется алфавит в raw формате, поэтому чето передумал, тетрис все же графически прост и все равно эффектнее. Короче,наполовину уже сделал, скоро выложу :) добавлено через 1 минуту P.S. Сайтик твой смотрел, демка 4K прикольная, вторая чето не качается. |
Да, именно таким я сего и представлял Пятнашки.
Только там же текста нету? (: P.S. только что проверил - качается нормально... |
а 1,2,3 ... это не текст ? ) так вот надо вывести чтоб на каждую ячейку циферку, к сожалению в чистом GU ничего нет, разве что псевдографический вывод текста pspDebugScreenPuts 20x50 символов, при этом еще фон портится. Еще пример gufont есть в SDK, но делать туториал, где больше половины работы посвящено выводу циферок, это ИМХО бестолково, поэтому я тетрис делаю, очень прикольно, и алгоритмы простые и простейшие приемы работы с GU!
|
Зачем цифирки выводить? (: Плашки можно сделать полностью графическими. (:
|
Сделал свой тетрис :) В принципе, в PSPxIDE было все удобно делать и быстро, на все суммарно где то часов 10 ушло. Заметил пару глюков, связанных с компиляцией и отладкой, поправил, скоро выложу версию. А сам тетрис выложил на общий форум https://www.pspx.ru/forum/showpost.ph...5&postcount=55
добавлено через 14 часов 22 минуты P.S. Пришел к пониманию, что управление проектом в PSPxIDE все же нужно реализовать, очень уж выработалась привычка на других IDE ... Ладно, сам доелаю :) |
wSlava Респект!
Блин, тада я чувствую в себе необходимость (: таки написать пятнашки. (: Как только приведу в приличный вид свой малюсенький фреймворк - тут же этим займусь. (: |
В приличный вид фреймворк не привёл, но Пятнашки написал. Нашёл неприятные косяки, связанные с явным непониманием основ программинга под PSP. Пока обошёл их не очень красивым способом - буду думать.
wSlava Не мог бы ты выложить исходники тетриса. Хоть 3д, хоть 2д - мне б системную часть глянуть... Заранее спасибо. И это, когда намечается новая версия IDE? А то страшно неудобно девелопить... (: |
Вложений: 2
Исходники тетриса версии 1 и последняя 1.3 в аттачменте , В 1 версии все очень просто и только на GU. В следующих версиях уже юзаю доп. библиотеки libpng,zlib,libmad + дополнительные исходники взятые из http://www.psp-programming.com/
Все обещаю постепенно закоментить и выложить. Так же практически готов SDK "все в одном", только со шрифтами осталось разобраться. Вот последняя версия PSPxIDE в которой я все делал http://ifolder.ru/1601332 Поправил 2 неприятных глюка при компиляции и отладке (вот они думаю и доставали, когда начал писать то сразу отловил), в остальном последних пару дней все прекрасно работало. Сейчас в планах все же добавить управление проектом и после сделаю релиз. |
Когда перебиндиваешь Tab для смещения выделенного блока - перестаёт работать обычный Tab для смещения от курсора. ): Можно это поправить в релизе?
P.S. Сел переписывать пятнашки под ООП. (: |
Открываю откомпиленный ебут в тотал коммандере по ф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 |
Про PBP - такого не встречал, посмотрел несколько файлов, ничего подобного...
Про отладку и GDB-консоль, прочитай в хэлпе пункт 9. Методы отладки хомбрю приложений. GDB-консоль задействована только в режиме отладки Техника взаимодействия с PSPLINK такая: - в режиме обычного запуска запускается eboot.pbp - в режиме отладки запускается <проект>.elf то, что консоль в обычном режиме доступна - это глюк, поправлю, сделаю readonly. Если хочешь лог файл делать из хомбрю, то пользуйся группами функций fopen, fprintf, write, и т.д. я посмотрел, здесь тот же #include <stdio.h> что и везде используется (VC,C++Builder,Turbo C++... ) |
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); |
баг поправил.
Насчет логгера, посмотри подробней <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 - текстовый + при "а"если нет файла то создает |
дык вроде в виндовом движке работал мой вариант... странно всё это, возможно косяки PSPLINK...
Надо как-нить краштест фреймворка провести непосредственно с консоли. (: |
PSPLINK не причем, в user mode он работает прекрасно (то что мы пишем, все в User mode), проверено сотнями программеров, есть косяки только в kernel mode, об этом сказано в документации.
|
Слав, вобщем отдал я переводчику - он посмотрит. Вопросы конечно возникли, всётаки в программировании он не бум-бум. Короче посмотрим чего получится.
|
Текущее время: 21:42. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.