Форум Magic Team

Переводы, переводы, переводы... => Тестирование => Тема начата: greengh0st от 18 Января 2011, 10:43:13

Название: Alien 3(j) GB
Отправлено: greengh0st от 18 Января 2011, 10:43:13
Просьба к желающим, потестируйте игру, а то все основное время уходит на перевод Splatterhouse 3.Если не сложно с косяками, делайте скрины, а я буду поправлять. Как минимум один косяк будет,не влезет фраза в инвентаре.Так как дойти до места,где эта фраза появится не смог из за нехватки времени,тому кто дойдет, сделайте пожалуйста скрин места или действия при котором она появляется. Буду вам очень признателен.
Название: Alien 3(j) GB
Отправлено: JurasskPark от 18 Января 2011, 21:58:27
Пробовал поиграть. Как в ЭТУ игру ВООБЩЕ играть?  :o
Название: Alien 3(j) GB
Отправлено: greengh0st от 19 Января 2011, 02:25:46
В чем проблема??? Что не получается????
Название: Alien 3(j) GB
Отправлено: JurasskPark от 19 Января 2011, 07:19:44
Не понятен смысл игры. Что там делать? :)
Название: Alien 3(j) GB
Отправлено: Джинни от 19 Января 2011, 08:39:45
Людей спасать от чужих?
Название: Alien 3(j) GB
Отправлено: JurasskPark от 19 Января 2011, 10:27:43
Ага. Только после получения ключа и карты они уже бегают по зданию, а патронов и оружия нет.  >:(
Название: Alien 3(j) GB
Отправлено: greengh0st от 19 Января 2011, 13:35:38
полохо искал)))выходишь из лазарета и идешь направо(если мне память не изменяет) там вход в вентиляцию,проходишь в другой уровень, там в шкафчике находишь карточку с этой карточкой открывается дверь где лежит пестик и пульки))) щас уже не помню,для меня была проблема вообще понять,что пимпа на земле это какой то предмет)) пока случайно стоя рядом с ней я не открыл инвентарь))) Ну не всем же играм быть такими, как alien 3 на snes)))) Я тоже был в шоке от увиденного, но разобравшись понял,игра имеет смысл жить, фанаты будут играть))))) Я же играл))) только не прошел)))
Название: Alien 3(j) GB
Отправлено: greengh0st от 21 Января 2011, 14:14:40
Активно затестировали игру)))) Будет свободное время буду тестировать сам, но мало ли кто то все таки будет играть, отписывайтесь))
Название: Alien 3(j) GB
Отправлено: greengh0st от 25 Января 2011, 05:56:57
И так, что у нас нового?? А вот что, мы нашли автомат, паяльную лампу и огнемёт.Выявлено несколько опечаток и неправильно поставленных поинтеров. Слова топливо заменено на смесь,так как в огнемётах используется именно она, и заправляется он теперь из баллона.К сожалению в худе уместилось только баллон - 09 на букву а не хватило места.Так как изначально вставлял текст в заставки без поиска поинтеров, они там в принципе не нужны были,но несколько фраз не уместилось именно так как мне хотелось сегодня я нашел все поинтеры и поменял всю первую половину текста, именно так как должно быть.Завтра,точнее уже сегодня попробую доделать вторую часть и выложить новую версию перевода.

и еще вопрос к знатокам англицкого!!! Как более уместно перевести фразу сattle prod - ибо электопогонялка как то не звучит))может электропрут или электро дубинка??
Название: Alien 3(j) GB
Отправлено: Джинни от 25 Января 2011, 07:54:51
Электропрут подойдёт, я думаю.
Название: Alien 3(j) GB
Отправлено: Cool-Spot от 25 Января 2011, 15:17:07
"ОБОйМЫ" не очень смотрится как-то. Лучше все буквы поменьше сделать.
Название: Alien 3(j) GB
Отправлено: greengh0st от 25 Января 2011, 15:38:32
меньше будет страшно непонятно, там буквы 3х5, куда уж меньше, тем более в новой версии это поправил)))спасибо cool-spot и джинни,
Название: Alien 3(j) GB
Отправлено: greengh0st от 28 Января 2011, 02:36:11
Ну вот наконец то перевод игры и добрался до финальной версии 1.0, просьба всех желающих её еще раз потестировать.Все было поправлено, опечатки найдены и жестоко подчищены.Это нереально долгий перевод подошел к концу.))) УРА, Кстати игра проходится за какие то 45 минут, но можно и быстрее)))) И в конце есть даже мини мультик, с улетающим корабликом)))
Название: Alien 3(j) GB
Отправлено: Mefistotel от 27 Декабря 2011, 02:21:40
Актуальная версия перевода в первом посте?
Название: Alien 3(j) GB
Отправлено: greengh0st от 30 Декабря 2011, 01:12:12
На сайте JurasskPark, более актуальная или в базе шеф-нета, но я уже сделал проект к ней, ну чтоб вооще всё было круто, вот только времени в последнее время мало. вот уволюсь, опять буду ромхомячить)))
Название: Alien 3(j) GB
Отправлено: Mefistotel от 30 Декабря 2011, 23:31:25
В моей базе точно не актуальная, потому что я ее взял отсюда. :) Что титулку не перерисовал?
Название: Alien 3(j) GB
Отправлено: Cool-Spot от 01 Января 2012, 16:46:19
На сайте JurasskPark'а есть только Alien 3 для SNES.
Название: Alien 3(j) GB
Отправлено: greengh0st от 08 Января 2012, 22:52:11
Потому, как считаю надо кое что переделать и перерисовать заставку))) пока не до неё увиделю что перевод не стал пользоваться популярностью))) хотя меня игра приколола, доделаю обязательно))) надо только текст подправить)) и уперед)))
Название: Alien 3(j) GB
Отправлено: greengh0st от 28 Февраля 2013, 06:30:51
Такс седня пересобрал проект, то как я его делал изначально((( позор))))))) Перевёл весь текст заново без сокращений и попыток впихнуть его в то место что было)))) Теперь это нормальный и полный перевод. Осталось кое что по мелочам и конечно же ЗАСТАВКА!!!! ;D
Название: Alien 3(j) GB
Отправлено: Mefistotel от 01 Марта 2013, 12:17:19
Ждёмс обновления. :)
Как всё сделаешь, внесу в базу переводов апдейт.
Название: Alien 3(j) GB
Отправлено: greengh0st от 01 Марта 2013, 18:43:58
С заставкой пока стопэ((( Я её перерисовал, выводится надпись спрайтами, а вот где карта лежит ентого дела неизвестно мене(((( можно конечно тупо зафигачить ром поганкой и попытаться найти)))
Название: Alien 3(j) GB
Отправлено: Mefistotel от 02 Марта 2013, 01:52:30
В дебагере BGB есть просмоторщик спрайтов. На геймбоях они 4-х байтные. В роме соответственно будут идти как XYNA.
 Два байта координаты (XY), один индекс тайла (N) и один атрибут спрайта (A). Все эти данные можно увидеть через Vram viewer.

[Дата добавления: 02 Марта 2013, 02:25:48]

Также попробуй отладочные инструменты в дебагере NO$GMB. Знать бы адрес спрайтового буфера на GBC, тогда мы быстро нашли твои спрайты. Надпись в движении постоянно и координаты генерируются на ходу. Поэтому простым поиском по комбинации надпись не найдешь.

[Дата добавления: 02 Марта 2013, 03:18:39]
Ищи в районе x19EA0 и дальше.
Название: Alien 3(j) GB
Отправлено: greengh0st от 05 Марта 2013, 14:52:47
А не может такого быть, как вариант, что смотреть эти координаты , когда надпись окажется в самом низу?
Название: Alien 3(j) GB
Отправлено: Mefistotel от 06 Марта 2013, 12:07:05
На этом форуме кто-нибудь ещё ромхакингом занимается?  ;D
Я асм сходу не смог понять. Там как-то в дебагере замудрено всё и непонятно. Надпись скролится и скорее всего для координат определенная процедура занята.
Название: Alien 3(j) GB
Отправлено: greengh0st от 06 Марта 2013, 16:09:42
Джинн щас  не отвечает((( Вася дебажить не умеет, плюс он как появился, мы ему заданий уже надавали))) Оракулума в аське не вижу, он вроде как дебажит)) Но я думаю там вот какая фишка. Я пакостником ковырял, значит карта заставки чужого идет очень интересно. Там не по одному тайлу собирается картинка, а есть байт например 01 - под этим кодом подразумевается кусок спрайта из 4 тайлов 16х16. Поковырял вчера и надпись, там судя по всему 1 код указывает на спрайт из 2 тайлов 8х16. Изменение байт пока ничего не дало, кроме того, что надпись пропадает, пытался анализировать байты, пока никакого решения не нашел, завтра еще посмотрю, может получится разобраться. перевод идет потихоньку
Название: Alien 3(j) GB
Отправлено: TrickZter от 06 Марта 2013, 21:10:39
Вася дебажить не умеет, плюс он как появился, мы ему заданий уже надавали)))
Ну, для твое проги я как раз дебажил... ::)
Название: Alien 3(j) GB
Отправлено: greengh0st от 07 Марта 2013, 00:03:53
 :o значит теперь ты умеешь дебажить?!!! Тогда мы идем к вам))))
Название: Alien 3(j) GB
Отправлено: TrickZter от 07 Марта 2013, 06:57:14
:o значит теперь ты умеешь дебажить?!!!
Ну, опыта у меня ещё не очень много, но вот этот код я разобрал:

D000: ldi a,(hl)//загрузка дополнительного флагового байта
D001: adc a     //получает 3-й флаговый бит (10X) и добавляет бит конца флагового байта
D002: jr D037   //возвращает обратно
D004: ldi a,(hl)//загрузка дополнительного флагового байта
D005: adc a     //получает 4-й флаговый бит (10XX) и добавляет бит конца флагового байта
D006: jr D03C   //возвращает обратно
D008: ldi a,(hl)//загрузка дополнительного флагового байта
D009: adc a     //получает 4-й флаговый бит (10X1Y) и добавляет бит конца флагового байта
D00A: jr D041   //возвращает обратно
D00C: ldi a,(hl)//загрузка дополнительного флагового байта
D00D: adc a     //получает флаговый бит и добавляет бит конца флагового байта
D00E: jr D050   //возврат обратно в цикл
D010: ldi a,(hl)//загрузка дополнительного флагового байта
D011: adc a     //получает флаговый бит (10111X...) и добавляет бит конца флагового байта
D012: jr D019   //возвращает обратно
D014: ld c,04   //(10111)задаёт счётчик 4 (вместо длины 9)
D016: add a     //получает флаговый бит (10111X...)
D017: jr z,D010 //если флаговые биты кончились(10111|1), то переход
D019: rl b      //вталкивает бит в b (b shl 1) + bit
D01B: dec c     //уменьшает счётчик на 1
D01C: jr nz,D016//если счётчик не = 0, то повторить цикл (цикл идёт 4 раза)
D01E: push af   //скидывает флаги в стек
D01F: ld a,03   //задаёт минимальную длину непожатого отрезка (a=3): LEN = 3
D021: add b     //a = 3 + b | LEN = 3..18
D022: add a     //a = a + a | LEN = 6..26 (только чётные)
D023: ld c,a    //скидывает a в c | LEN в байтах = 12..52 (кратно 4)
D024: ldi a,(hl)//загружает байт из рома
D025: ld (de),a //копирует байт в буфер
D026: inc de    //увеличивает адрес буфера
D027: ldi a,(hl)//загружает байт из рома
D028: ld (de),a //копирует байт в буфер
D029: inc de    //увеличивает адрес буфера
D02A: dec c     //уменьшает c
D02B: jr nz,D024//если счётчик не обнулился - повторить
D02D: pop af    //возвращает флаги
D02E: jr D089   //назад к циклу
D030: ldi a,(hl)//загрузка дополнительного флагового байта
D031: adc a     //получает 2-й флаговый бит (1X) и добавляет бит конца флагового байта
D032: jr c,D09E //если флаговые биты (11), вернуться обратно в цикл
D034: add a     //получает 3-й флаговый бит (10X)
D035: jr z,D000 //если флаговые биты кончились (10|1), то переход
D037: rl c      //третий (10X) флаговый бит становится младшим битом длины отрезка((2 shl 1) + carry) (длина 4-5), carry обнуляется
D039: add a     //получает 4-й флаговый бит (10XX)
D03A: jr z,D004 //если флаговые биты кончились (10X|1), то переход
D03C: jr nc,D04D//если последний флаговый бит был 0 (10X0), то переход
D03E: add a     //получает 5-й флаговый бит (10X1X)
D03F: jr z,D008 //если флаговые биты кончились (10X1|1), то переход
D041: dec c     //(10X1X) уменьшение длины отрезка на 1 (длина временно 3-4)
D042: push hl   //скидывает адрес в роме в стек (освобождает временно hl)
D043: ld h,a    //скидывает флаговые биты в h
D044: ld a,c    //копирует длину в a
D045: adc a     //предыдущий флаговый бит (10X1Y) идёт в длину((LEN shl 1) + Y) (длина 6-9)
D046: ld c,a    //длина скидывается обратно в c
D047: cp a,09   //сравнивает длину с 9: если LEN=9, то z=1; если LEN<9, тогда carry=1
D049: ld a,h    //возвращает флаговые биты обратно
D04A: pop hl    //возвращает адрес в роме
D04B: jr z,D014 //если LEN=9, то переход, если же LEN<9, то идём дальше
D04D: add a     //>>LEN>>получает флаговый бит (X)
D04E: jr z,D00C //если флаговые биты кончились (пример: |1), то переход
D050: jr nc,D06C//если флаговый бит = 0, то переход к копированию
D052: add a     //получает 2-й флаговый бит (1X)
D053: jr nz,D057//если флаговые биты не кончились (пример: 1|1) то перескочить
D055: ldi a,(hl)//получение дополнительного флагового байта
D056: adc a     //получает 2-й флаговый бит (1X) и добавляет +1 (флаг конца цикла)
D057: rl b      //скидывает в b последний флаговый бит
D059: add a     //получает 3-й флаговый бит (1XY)
D05A: jr nz,D05E//если флаговые биты не кончились (1X|1) то перескочить
D05C: ldi a,(hl)//получение дополнительного флагового байта
D05D: adc a     //получает 3-й флаговый бит (1XY) и добавляет +1 (флаг конца цикла)
D05E: jr c,D0C1 //если 3-й флаговый бит 1 (1X1), то переход
D060: inc b     //(1X0)\
D061: dec b     //     |проверка на 0
D062: jr nz,D06C//если b = 1 (110), то переход к копированию
D064: inc b     //если b = 0 (100), то b = 1
D065: add a     //получает 4-й (или 5-й, если пришёл с D0D1) флаговый бит (100X)
D066: jr nz,D06A//если флаговые биты не кончились (100|1), то перепрыгнуть
D068: ldi a,(hl)//получение дополнительного флагового байта
D069: adc a     //получает 4-й флаговый бит (100X)
D06A: rl b      //вталкивает последний флаговый бит в b | b = (b shl 1) + X
D06C: push af   //>>>начало копирования>>>скидывает флаги в стек
D06D: ld a,e    //копирует младшую часть адреса буфера
D06E: sub (hl)  //a-(hl) вычитает байт смещения (считывая его из рома)
D06F: push hl   //скидывает адрес в роме в стек (освобождает временно hl)
D070: ld l,a    //скидывает адрес копирования в младшую часть hl
D071: ld a,d    //копирует старшую часть адреса буфера
D072: sbc b     //a-(b+carry) считает старшую часть адреса в буфере
D073: ld h,a    //скидывает адрес копирования в старшую часть hl
D074: dec hl    //уменьшает адрес копирования на 1
D075: ldi a,(hl)//копирует из буфера повторный (сжатый) байт и увеличивает hl
D076: ld (de),a //вставяет повторный байт в буфер
D077: inc de    //увеличивает адрес буфера
D078: dec c     //уменьшает счётчик повторных байтов
D079: jr nz,D075//если счётчик не обнулился - вернуться к копированию
D07B: pop hl    //возвращает из стека адрес в роме
D07C: inc hl    //увеличение адреса в роме
D07D: pop af    //возвращает флаги из стека
D07E: jr D089   //переход обратно к циклу
D080: ldi a,(hl)//>>>загрузка следующего флагового байта, увеличение адреса в роме
D081: adc a     //получает 1-й флаговый бит (X) и добавляет +1 (флаг конца цикла)
D082: jr c,D096 //если идёт сжатие (1), то переход
D084: push af   //скидывает флаги в стек
D085: ldi a,(hl)//зарузает непожатый байт, увеличивает адрес в роме
D086: ld (de),a //копирует байт в буфер
D087: inc de    //увеличивает адрес в буфере
D088: pop af    //возвращает флаги
D089: add a     //получает 1-й флаговый бит (X)
D08A: jr c,D094 //если идёт сжатие (1), то переход
D08C: push af   //скидывает флаги в стек
D08D: ldi a,(hl)//загружает непожатый байт из адреса hl
D08E: ld (de),a //и скидывает его в буфер по адресу de
D08F: inc de    //увеличивает адрес в буфере
D090: pop af    //возвращает флаги из стека
D091: add a     //получает 1-й флаговый бит
D092: jr nc,D084//если идёт непожатый байт (флаг = 0), то переход
D094: jr z,D080 //если флаговые биты кончились, то переход
D096: ld bc,0002//задание минимальной (2) длины копируемого сегмента
D099: add a     //получает 2-й флаговый бит (1X)
D09A: jr z,D030 //если флаговый байт уже обнулился (флаг 1|1), то идём грузить слудующий благовый байт
D09C: jr nc,D034//если флаговые биты (10), то переход
D09E: add a     //получает 3-й флаговый бит (11X)
D09F: jr z,D0D3 //если флаговый байт уже обнулился (флаг 11|1), то идём грузить слудующий благовый байт
D0A1: jr nc,D06C//если флаговые биты были 110, то переход к копированию отрезка (длина: 2)
D0A3: inc c     //длина увеличивается до 3
D0A4: add a     //получает 4-й флаговый бит (111X)
D0A5: jr z,D0D7 //если флаговый байт уже обнулился (флаг 111|1), то идём грузить слудующий благовый байт
D0A7: nc,D04D   //если флаговые биты были 1110, то переход
D0A9: ld c,(hl) //загружает длину копируемого семента (флаговые биты: 1111)
D0AA: inc hl    //увеличивает адрес в роме
D0AB: inc c     //\
D0AC: dec c     //проверка на 0
D0AD: jr z,D0DB //если длина = 0, то переход (проверка на конец процедуры)
D0AF: push af   //скидывает флаги с стек
D0B0: ld a,c    //перекидывает длину в a
D0B1: add a,08  //увеличение длины на 08
D0B3: ld c,a    //байт перекидывается обратно в c
D0B4: pop af    //грузит флаги обратно
D0B5: jr D04D   //переход
D0B7: ld bc,0012//<<начало>>
D0BA: add hl,bc //пропускает h12 байт (заголовок?)
D0BB: csf       //ставит флаг С
D0BС: ldi a,(hl)//загружает флаговый байт
D0BD: adc a     //A*A+Carry - получает флаговый бит (не используется)
D0BE: add a     //A*A - получает флаговый бит (не используется)
D0BF: jr D089   //переход к циклу
D0C1: add a     //(b = X) получает 4-й флаговый бит (1X1Y)
D0C2: jr nz,D0C6//если флаговые биты не кончились (1X1|1) то перескочить
D0C4: ldi a,(hl)//получение дополнительного флагового байта
D0C5: adc a     //получает 4-й флаговый бит (1X1Y) и добавляет +1 (флаг конца цикла)
D0C6: rl b      //вталкивает последний флаговый бит в b | b = X * 2 + Y
D0C8: set 2,b   //b = 4 + X*2 + Y
D0CA: add a     //получает 5-й флаговый бит (1X1YZ)
D0CB: jr nz,D0CF//если флаговые биты не кончились (1X1Y|1), перескочить
D0CD: ldi a,(hl)//получение дополнительного флагового байта
D0CE: adc a     //получает 5-й флаговый бит (1X1YZ) и добавляет +1 (флаг конца цикла)
D0CF: jr c,D06C //если последний флаговый бит 1 (1X1Y1), то переход ккопированию
D0D1: jr D065   //если последний флаговый бит 0 (1X1Y0), то возьмём ещё бит
D0D3: ldi a,(hl)//получение дополнительного флагового байта
D0D4: adc a     //получает 3-й флаговый бит (пример: 11X) и добавляет +1 (флаг конца цикла)
D0D5: jr D0A1   //возврат обратно в цикл
D0D7: ldi a,(hl)//получение дополнительного флагового байта
D0D8: adc a     //получает 4-й флаговый бит (пример: 111X) и добавляет +1 (флаг конца цикла)
D0D9: jr D0A7   //возврат обратно в цикл
D0DB: add a     //(флаг 1111, LEN=0) получает 5-й флаговый бит (1111X)
D0DC: jr nz,D0E0//если флаговые биты не кончились, то переход
D0DE: ldi a,(hl)//получение дополнительного флагового байта
D0DF: adс a     //получает 5-й флаговый бит (1111X)
D0E0: jr c,D089 //если пятый бит единица (11111), то начать цикл сначала
D0E2: ret       //конец распаковки
Название: Alien 3(j) GB
Отправлено: greengh0st от 15 Марта 2013, 11:27:26
И так пока времени особо не было, но весь текст и графу удалось привести в порядок, спасибо Пауку, за то что взялся пройти игру и потестить))

[Дата добавления: 15 Марта 2013, 11:28:01]
Заставка по прежнему не сделана))) Времени не хватает))