<!-- <!--

(BenQ) Siemens - навсегда!

Объявление

C Новым, Две Тысячи Девятым, Годом, друзья!> Вы хорошо разбираетесь в Siemens, BenQ-Siemens и BenQ? Желаете проявить себя нестандартными ходами в этой теме? Вам сюда =>
Что-то неясно? Просим сюда, задай свой вопрос!
Популярные темы:
Началось производство BenQ-Siemens P51! Подробнее =>
BENQ-SIEMENS S88, EF51, CF61, E61, S81 и CL71 БЫЛИ ВПЕРВЫЕ ПРОШИТЫ НА НАШЕМ ФОРУМЕ!!!!!!! ВСЕ СЮДА!!!!!!!!
МОДИФИЦИРУЕМ ПРОШИВКУ S88, EF51, CF61, E61, S81 и CL71!!!!!! СТАВИМ НА НИХ СВОИ !!!ТЕМЫ!!! ИКОНКИ, МЕЛОДИИ НА ЗВОНОК!!!!!! ЖМИ!!!!!!!
<Юзербары от "(BenQ) Siemens - навсегда!"

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Портирование мидлетов

Сообщений 1 страница 18 из 18

1

Привет всем!
Начал писать своеобразную инструкцию по портированию мидлетов с других телефонов на бенк-сименс и столкнулся с проблемой на некоторых игрушках
а именно:
Нахожу обработчик нажатий клавиш, меняю скан-коды на нужные мне и вставляю class файл обратно в jar
При запуске появляется сообщение об ошибке ClassFormatError:45. До патча, нормально запускается но некорректно работают кнопки...
Патчу обычным хекс-редактором или JavaByte (кстати, отличная программка)
Пробовал вставлять Винраром и родным архиватором (jar.exe) - думал, может при упаковке что-то портится.
Чем это может быть вызвано?
Как только все будет готово, статейку выложу на форуме. Думаю, многим должна пригодиться...

2

Конечно пригодится! Большое спасибо, респект, как говорят, и уважуха! Я для тебя выложил в разделе программы програмулину для изменения софт клавиш в играх. Но, я ей не пользовался, попробуй, может поможет!

3

Эта прога работает хитро...
она заменяет FullCn.class на свой, в котором находится процедура подмены скан-кодов клавиш и просто правит ссылки внутри мидлета...
Вопрос про непосредственный патчинг class файлов остается пока актуальным...

4

Еще нарыл интересную темку насчет портирования

Скачать[/url]

Отредактировано J_B (2006-12-28 12:58:26)

5

Итак продолжу тему про портирование...
В процессе исследования работы Java Adapter я выяснил следующее:
Если мидлет использует класс Canvas то в большинстве случаев переделка обработчика клавиатуры происходит успешно...
А вот в случае с GameCanvas мидлет безнадежно портится из-за того, что данная прога добавляет ссылку и на Canvas.class туда, где ее не было и в результате, при запуске получаем ClassFormatError:4
Таким образом, процесс подмены обработчика клавиатуры будет выглядеть так:
1. распаковываем подопытную игрушку
2. вставляем нужный GAMECANVAS.class в \com\hellomoto\fullscreen\game
3. ручками меняем ссылки как в туторе UncleRus...
4. упаковываем все в zip архив
5. переименовываем *.zip в *.jar
6. заливаем в тел или эмулятор и проверяем работоспособность

Нужные переходники лежат в папке Java Adapter'a в папке \Кеу\ - на расширение не смотрите - это обычные jar архивы, в которых и находятся нужные class файлы

А теперь небольшая просьба... может у кого-то завалялся мидлет, который показывает скан-коды клавиш на теле?

6

У мну есть супер-прога по порту com-классов, тока я вам ее не дам - это единственное, что может переделывать гамы на Ы88

7

Ребят! ну тогда свяжитесь между собой и портируйте игры в месте! Одно ведь дело делаем! И вообще, предлагаю назначить J_B  Гуру игр. Да, и про Респика не забыть! За поддержку в тяжелое время!

8

Согласен. Товаришь Респик, медальку хотите? :)

9

Супер-прога это хорошо, но в этой теме я предлагаю обсуждать сами принципы портирования...
А то с готовыми решениями есть одна проблема - универсальность обеспечить почти нереально  :(
На статус Гуру претендовать могу с большой натяжкой т.к. эту тему начал ковырять только после того, как жена подарила ЕЛ71   ;) (это порядка 2,5 месяцев)  и оказалось, что на него почти нету интересных игрушек  :)

2 Shpingalet

А название той проги можешь сообщить (хотя бы в личку или асю)

10

К вопросу об изменении разрешения у игр  :)
На большинстве форумов часто встречаются вопросы насчет изменения разрешения, в котором работают игры. Не очень то приятно играть, когда изображение занимает четверть экрана (а то и меньше), а когда не влезает в экран - играть вообще невозможно...   :(
Проги типа FullJava или JavaAdapter пробуют исправить эту ситуацию путем подмены значений возвращаемых методами GetWidth() и GetHeight(). Этот способ срабатывает в 5% случаев  :( т.к.
1. в большинстве мидлетов используются изображения строго заданного размера (правда их можно поправить каким нибудь графическим редактором)
2. возникают проблемы с позиционированием и размером текста и спрайтов. Это более сложная проблема. Тут уже нужно анализировать код программы и исправлять все значения, которые отвечают за позиционирование. Усугубляет ситуацию то, что большинство игрушек обработано обфускатором, а это сильно усложняет задачу анализа...

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

Должен заметить, что все вышесказанное - это мое личное мнение, и, если у кого-то есть другие соображения, буду только рад...

11

J_B
Не могу - от этого зависит рейтинг нашего форума :(

12

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

Скачать![/url]

13

Для поднятия данной темы, а также для привлечения к портированию игрушек большего количества народа решил сделать следующее:
тут я выкладываю список игрушек с разрешением экрана 240х320 от других телефонов. Кто хочет попробовать свои силы, скидывайте запросы в личку.
При удачной переделке, выкладывайте их в соответствующей теме (и себе заработаете репутацию и форуму - польза :) )
Примечание: некоторые игры могут пойти без переделки :) а некоторые удачно портировать не удастся ;)
итак список:

14

Спсибо за список

15

Как патчит телефон????

________________________________________________________________________________________________________________________
Точно не флудом. https://forumupload.ru/uploads/0000/17/9c/1337-1.png - выдал Shpingalet
________________________________________________________________________________________________________________________

16

Народ, а чем (какой именно прогой) лучше всего декомпилить класы? Кто чем пользуется?

17

Для J_B
У меня есть Super Stack Attack, но она от S88 и на ELке подвисает через несколько секунд игры, если есть желание - покопайся

Скачай![/url]

Еще такой вопрос - EL71 поддерживает 3D, но вот насколько полно? а то почти все трехмерные игры что идут на сониэрике у друга на ней не запускаются ... :( Или возможно есть ограничение по размеру явовского файла? С этим можно как то бороться?

Отредактировано oldandycat (2007-11-25 02:20:57)

18

oldandycat
Пройди тест в JBenchmark3D для полноты инфы. Пришли файл, я его обработую в анти-сонериковской) проге.