New posts - Поиск - Почта - Календарь
Полная версия: Убираем Полоску В Играх На С650
Логин: Пароль:

MotoFan.Ru - все для моторола > Медиа-центр > Игры и Java. JavaGames
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
don_on
Теперь все гораздо проще.
Программа FullJava сделает все нижеописанное для вас сама.
Заходите: http://fulljava.motofan.ru


Vanko:

Поясню на примере игры Prince of Persia порядок убирания полоски. По шагам я делал вот так:


1. В ТоталКоммандере при помощи Ctrl+PgDn зашел в файл prince.jar. (Можно использовать WinRar)
2. В другой стороне ТоталКоммандера создал папку classes. (можно использовать Проводник ;-))
3. Скопировал в эту папку все файлы с расширением class (включая классы в подкаталогах этого JAR'а со всеми путями).
4. Из папки classes скопировал класс CMain.class в другую папку (скажем, src). Вообще, выбор главного класса довольно прост: надо выбирать тот, на который есть ссылка в prince.jad в строке: MIDlet-1: prince, , prince.CMain. prince.CMain и есть главный класс.
5. Запустил DJ Java Decompoler (http://motofan.ru/index.php?act=Downloads&do=download&id=290). Открыл в нем этот класс из папки src. На экране появился java-код. Сохранил его как CMain.java.
6. Запустил J2ME Wireless Toolkit (скачать можно на http://java.sun.com/products/j2mewtoolkit/download.html), точнее ярлычок kToolBar. Создал в нем новый проект (пока значения по умолчанию, имя скажем test). При этом в каталоге c:\WTK21\apps создался подкаталог test.
7. Скопировал в подкаталог test\src декомпиленную java (не забывая пропути, в данном случае надо создать подкаталог prince и скопировать java в него).
8. Скопировал в подкаталог lib файл prince.jar (исходный) и (при помощи ТоталКоммандера или WinRar'a) удалил из него ВСЕ файлы кроме классов (не забывая оставить все классы в поддиректориях).
9. В свойствах проекта test в J2ME WT выбрать закладку MIdLets и там в единственной строке при помощи кнопки Edit заполнить поле Class именем главного класса: в данном случае написать туда prince.CMain.
10. Нажать кнопочку Build. Если все сделано правильно, то он не выдаст ошибок и напишет Build complete. Иначе надо искать что не так. Бывает, в некоторых игрухах и не компилится вовсе - ничего не поделать. Но если все скомпилилось - это еще не все.
11. Теперь надо добавить в класс свою строчку. Как искать куда добавить? Не знаю точно, я добавлял в функцию startApp в конец обычно, перед каким-нибудь run(). Например, в принце вот так:
public final void startApp()
{
if(!notifyDestroyed)
{
gc.B();
notifyDestroyed = true;
}
CMain _tmp = this;
D.I(false);
gc.setFullScreenMode(true); // Это я и добавил
gc.run();
}


Почему сюда? Не знаю, так показалось.
12. Теперь опять Build. Если все ок, то в исходный JAR заходим в
ТоталКоммандере (или WinRar =) ). А на другой половине ТоталКоммандера заходим в папку с скомпиленным классом (в нашем случае это c:\WTK21\apps\test\classes\prince\) и копируем поверх старого CMain.class новый из этой папки.
13. В JAD-файле, который рядом с JAR'ом, надо изменить строку MIDlet-Jar-Size, так как размер JAR'а изменился - надо поставить новый
размер.
14. Все, можно заливать в телефон MidWay'ем.


Рекомендую перед изменением нужных Вам игр проделать все по инструкции с Принцем Персии. Найти его можна на сайте http://motomedia.narod.ru
Vanka
Ну что ж... Послушал советов на форумах и убрал-таки полоску.
Взял для примера игру PrinceOfPersia.
Там есть классы в JAR'е:
A.class,B,C,D,E,F,G,H,I,J,K,S,Z и CMain.class
Так вот я класс CMain декомпильнул (DJ Java Decompiler ver. 3.0.0.63), получил CMain.java.
Дальше при помощи J2ME- Wireless Toolkit Version 2.1 создал проект, пихнул в простенький JAR все классы (в т.ч. и CMain.java), положил его в папку lib (кстати, все кассы в этом JAR'е находятся в каталоге prince). В папку проекта src положил (в подкаталог prince) файл CMain.java.
А в самом файле переписал таки образом функцию:
public final void startApp()
{
if(!notifyDestroyed)
{
gc.B();
notifyDestroyed = true;
}
CMain _tmp = this;
D.I(false);
gc.setFullScreenMode(true); //!!!!! Именно эту строчку я добавил
gc.run();
}

Этот gc и есть класс, унаследованный от Canvas.
Короче говоря, по аналогии нужно в главном файле каждого приложения перед вызовом файла-наследника Canvas'а (скорее всего, он и будет называться gc) делать gc.setFullScreenMode(true).
Ну а после компиляции проекта в каталоге classes появляется единственный файл CMain.class, который и надо скопировать в исходный JAR с игрой прямо поверх старого CMain.class. Ну, и, естественно, поменять размер файла в JAD'е.
У меня все работает, приложение глючить не стало.
Удачи!
файлы:
http://skorodumov.land.ru/files/PrinceOfPersia.jad
http://skorodumov.land.ru/files/PrinceOfPersia.jar
http://skorodumov.land.ru/files/CMain.java
http://skorodumov.land.ru/files/CMain.class

В общем, пробуйте.
Vanka
Вот еще взломал Mobile Bowling. Там внутри JAR'а есть класс MobileBowling.class (короче, везде надо искать тот класс, где функция типа startApp и т.д. - в таких функцияю используется ссылка на Canvas). Изменил функцию:
protected void startRegisteredApp()
{
Display.getDisplay(this).setCurrent(GCanvas);
if(bFirst)
{
GCanvas.init();
GCanvas.setFullScreenMode(true); // !!! Это моё!
bFirst = false;
}
}

Дальше компильнул и переписал в JAR (кстати, переписываю JAR'ы я в ТоталКоммандере). Изменил размер приложения в JAD'е.
Теперь в этот боулинг хоть стало возможно играть, а то счета совсем не было видно.
Качайте (если кому вдруг надо):
http://skorodumov.land.ru/files/MobileBowling.jad
http://skorodumov.land.ru/files/MobileBowling.jar

ЗЫ: непонятно, почему бы производителям игр сразу не добавлять эту функцию...

ЗЗЫ: верхняя строчка (там где уровень приема и заряда) никак не убирается.
Rinat
2Vanka: Спасибо.

Offtop: 2moderators:
я бы очень даже повысил статус Vanka на пару пунктов :)
alexwarrior
Vanka круто, а ведь получилось! правда первый раз во время запуска у меня тел перегрузился почему то(?? видимо от неожиданности), но полосы действительно нету больше. Однозначно РЕСПЕКТ! Продолжай в том же духе.
зы неплохо было бы тебе так же SplinterCell ломануть, а то игруха хорошая, но полоса жутко мешается
Vanka
Splinter Cell (во всяком случае тот, который я скачал) не удалось скомпилить - я сначала декомпильнул класс, получил Java, но даже исходный Java обратно не компиляется - ошибка "cannot resolve symbol" в одном из классов, хотя в нем такая функция есть...
Может, у меня декомпилятор кривой.
Кстати, alexwarrior, может, ты мне ссылку дашь на свою версию Splinter Cell (jad & jar), может, с другой версией получится.

В идеале надо посмотреть систему Java в телефоне и найти место, где по умолчанию сделать FullScreenMode для всех приложений (которые не требуют обратного). Может, это и само появится в новой прошивке.
alexwarrior
Vanka
попробуй вот этот
http://www.motorola-c650.nm.ru/Downloads/G...plinterCell.zip
у меня только этот идет, другие все выкидывает
C001eR
2Vanka Можешь переписать несколько игр без полосы желательно вот эти :
1.Splinter Cell :D Рульная вещь
2.WOrms
brutal
O F F T O P I C:
C001eR*[WaVe]
А "пожалуста" хде? Хде вежливые манеры на мотофане?  rolleyes.gif
Vanka
C001eR*[WaVe]
Я гарантировать ничего не могу - как получится. Счас попробую Splinter по той ссылке, которую дал alexwarrior.
А Worms я бы и сам хотел. Дайте ссылку на них!!! Все, которые я находил, на мотороле с650 не шли - они были для Сименса.
Хотя теоретически можно в JAR добавить специфические Сименсовые классы.
Но лучше дайте ссылочку нормальную.

Если что получится - выложу сюда ссылки.

ЭЭЭххх...
Скачал Splinter'а - такой же как у меня был.
Не компилируется он. А жаль.
Жду Вормсов.
Vanka
Нашел сам какие-то Вормсы. Нифига:
в игре Worms есть полоска с надписью MENU. Как убить такую полоску - не нашел. То есть там эта полоска предусмотрена. Убиваются же только НЕпредусмотренные (не несущие полезной информации) полоски!

ЗЫ: зато проект Вормсовый компилится, можно попытаться еще поломать их.
new
У меня есть нормальные worms толька я незнаю как прекрепить фаил давай на мыло скину..!! А мне свои worms скинь на new.bug@mail.ru
Vanka
Вот мои видоизмененные Worms - полоски нет во время заставко, только что от этого толку.
http://skorodumov.land.ru/files/Worms-1.0.0.jad
http://skorodumov.land.ru/files/Worms-1.0.0.jar

Если что, Оперой оттуда не качается, у меня качается только Эксплорером.
new
Я скинул жылаю удачи..!!
Vanka
new
Убрал полоску. Смущает то, что там все по-испански.
Вот они - вормсы без полоски:
http://skorodumov.land.ru/files/worms.jad
http://skorodumov.land.ru/files/worms.jar
У меня все работает. Как и во многих игрухах, нет выхода - только при помощи кнопки "Сброс вызова" и выбора "Закончить" - может, кто посоветует как выходить более цивильно?
Kill`ыч
Vanka
А зачем нужны эти файлы:

http://skorodumov.land.ru/files/CMain.java
http://skorodumov.land.ru/files/CMain.class
new
Огромный Респект..!! Так держать ..!! Удачи..!!
Slaviаn
А чё у меня Bowling и Worms не ставятся, мидвэй пишет JAR downloading failed
Digital man 53
Цитата(Slaviаn @ 16.09.2004 - 16:27)
А чё у меня Bowling и Worms не ставятся, мидвэй пишет JAR downloading failed

Надо сначала закачку явы активировать, а потом уже залить пытаться
Next-rus
Vanka, респект тебе огромный! А EA Sports Fifa 2004 смогешь? Вообщем чем больше игрушек ты исправишь, тем больше тебе народа будет благодарно. Я тебе на мыло на всякий случай скинул Fifa 2004. И если не сложно, то если исправишь, то ответь мылом с исправленными файлами. Еще раз тебе спасибо!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2010-2012 Invision Power Services, Inc.