Важная информация

User Tag List

Страница 1 из 7 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 69

Тема: Редактирование карты Rex

  1. #1
    Guru Аватар для rasmer
    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Редактирование карты Rex

    Цитата Сообщение от denpopov Посмотреть сообщение
    Парни, кому не в западло, ближе к телу. По приведенному эффекту из AgonyMD меня интересует как сжать скроллер.
    давай сначала определимся, что значит 'сжать'?
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Товарищи кодеры, помогите разобраться! Решил я значит подредактировать карты обоих левелов в REX, чтобы можно было свободно гулять по комнатам. Но прежде чем начать, хотелось бы понять, как сделать возможным возврат в нулевую комнату? Ведь в игре 0 - это запрет перехода.

    char справился с этой проблемой. Он дал какой-то код, но как мне применить этот код к кодовым блокам рекса? Как этим кодом пропатчить те блоки, которые мне нужно? (хочу править русифицированую версию)

    Вот несколько цитат с темы про правку карты рекса:

    Скрытый текст

    Цитата Сообщение от char Посмотреть сообщение
    ладно, вот freeway, с нулевой комнатой, до конца вживую не проверял

    Код:
    #d0a4	db	#f8	; [ret z] -> [ret m]
    #d0b5	db	#f8	
    #d13c	db	#f8
    #d19f	db	#fa	; [jp z,..] -> [jp m,..]
    
    #B133	db	#ff,#01,#ff,#ff		;00
    #B139	db	#ff,#0F,#02,#00		;01
    #B13F	db	#01,#03,#ff,#ff		;02
    #B145	db	#0f,#04,#ff,#02		;03
    #B14B	db	#10,#05,#ff,#03		;04
    #B151	db	#ff,#06,#ff,#04		;05
    #B157	db	#ff,#07,#ff,#05		;06
    #B15D	db	#08,#14,#ff,#06		;07
    #B163	db	#09,#18,#07,#ff		;08
    #B169	db	#ff,#19,#08,#0A		;09
    #B16F	db	#ff,#09,#ff,#0B		;0a
    #B175	db	#13,#0a,#ff,#0C		;0b
    #B17B	db	#12,#0b,#10,#0D		;0c
    #B181	db	#11,#0c,#0f,#ff		;0d
    #B187	db	#1E,#1a,#ff,#ff		;0e
    #B18D	db	#0d,#10,#03,#01		;0f
    #B193	db	#0c,#ff,#04,#0f		;10
    #B199	db	#1a,#12,#0d,#ff		;11
    #B19F	db	#1b,#13,#0c,#11		;12
    #B1A5	db	#1C,#ff,#0b,#12		;13
    #B1AB	db	#18,#15,#ff,#07		;14
    #B1B1	db	#16,#ff,#ff,#14		;15
    #B1B7	db	#17,#ff,#15,#18		;16
    #B1BD	db	#ff,#ff,#16,#19		;17
    #B1C3	db	#19,#16,#14,#08		;18
    #B1C9	db	#ff,#17,#18,#09		;19
    #B1CF	db	#1f,#1b,#11,#0E		;1a
    #B1D5	db	#20,#1c,#12,#1A		;1b
    #B1DB	db	#21,#1D,#13,#1B		;1c
    #B1E1	db	#22,#ff,#ff,#1c		;1d
    #B1E7	db	#ff,#1F,#0e,#ff		;1e
    #B1ED	db	#63,#20,#1a,#1e		;1f
    #B1F3	db	#ff,#21,#1b,#1F		;20
    #B1F9	db	#ff,#22,#1c,#20		;21
    #B1FF	db	#ff,#ff,#1d,#21		;22
    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    И как char'у удалось сделать возможным возврат на стартовый экран? )
    Цитата Сообщение от goodboy Посмотреть сообщение
    теперь закрытый проход =#FF,а не 0
    Цитата Сообщение от char Посмотреть сообщение
    в листинге список адресов и новых байтов, патчить с высокой вероятностью можно любые релизы от кого угодно (после разворачивания игры в памяти перед самым запуском, естественно), у меня была какая-то самодискованная обычная версия, в снапшоте старт с #5f00, с читиком на жизни...
    [свернуть]
    Куплю корпус и материнку от Spectrum +2/+3

  4. #3
    Guru Аватар для rasmer
    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    либо запрет на вход меняй на любой другой неюзаный, либо нулевой экран перенумеруй....
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  5. #4
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rasmer, как поменять запрет на вход с #00 на #FF?
    Как перенумеровать нулевой экран? Я нифига не понимаю ))

    Просто я подумал, что раз char выложил патч, то этот патч можно как-то применить, а если его нельзя приментить, тогда нафига его выкладывать. Вот я и хочу понять, как применять этот патч или какой-либо другой.
    Куплю корпус и материнку от Spectrum +2/+3

  6. #5
    Guru Аватар для rasmer
    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну раз тебе char выложил, то и попроси его применить...
    ты здесь спросил как сделать возможным возврат, я тебе объяснил... а как и где менять - это сам ковыряй код игры... почитай капульцевича "как написать игру на асме" и инфоркомовский справочник по машкодам, я думаю через полгода-год найдёшь ответ в них...
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  7. #6
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rasmer Посмотреть сообщение
    почитай капульцевича "как написать игру на асме"
    А что там про взлом игр?
    Цитата Сообщение от rasmer Посмотреть сообщение
    я думаю через полгода-год найдёшь ответ в них...
    Оптимистичненько так...
    На самом деле стоит почитать Капульцевича - появится представление об ассемблере. Но это займет не год и не пол года, за месяц даже с разбором примеров (благо они уже есть в сорцах) можно управиться.

  8. #7
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Товарищи кодеры, помогите разобраться! Решил я значит подредактировать карты обоих левелов в REX, чтобы можно было свободно гулять по комнатам. Но прежде чем начать, хотелось бы понять, как сделать возможным возврат в нулевую комнату? Ведь в игре 0 - это запрет перехода.

    char справился с этой проблемой. Он дал какой-то код, но как мне применить этот код к кодовым блокам рекса? Как этим кодом пропатчить те блоки, которые мне нужно? (хочу править русифицированую версию)

    Вот несколько цитат с темы про правку карты рекса:

    Скрытый текст




    [свернуть]
    хорошо, набросал патчилку на бейсике, проверяй:
    можно патчить что-угодно, в операторах data указывая стартовый адрес, пробел, и дальше - последовательность байт для poke (1 байт = 2 символа в шестнадцатеричном)

    Код:
    10 goto 30
    20 rem h= HexToDec(h$)
    21 let h=0:let p=1:for L=len h$ to 1 step -1:let k=code h$(L)-48
    23 if k>10 then let k=k-7:if k>15 then let k=k-32:if k<0 or k>15 then print "error!":stop
    25 let h=k*p+h:let p=p*16:next L: return
    30 read a$:if len a$>0 then print inverse 1;" #";a$:let h$=a$(to 4):gosub 20: let adr=h:let a$=a$(6 to):for i=1 to len a$/2:let h$=a$(i*2-1 to i*2):gosub 20:poke adr+i-1,h:print adr+i-1;" ";h:next i:goto 30
    
    1000 data "d0a4 f8"
    1010 data "d0b5 f8"	
    1020 data "d13c f8"
    1030 data "d19f fa"
    1040 data "B133 ff01ffff"
    1050 data "B139 ff0F0200"
    1060 data "B13F 0103ffff"
    ...
    1999 data ""
    Последний раз редактировалось char; 19.11.2014 в 14:35.

  9. #8
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    пора открывать тендер "Поможем Новосибу!"

  10. #9
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    хорошо, набросал патчилку на бейсике, проверяй:
    можно патчить что-угодно, в операторах data указывая стартовый адрес, пробел, и дальше - последовательность байт для poke (1 байт = 2 символа в шестнадцатеричном)
    Спасибо! Код бейсика у тебя на высшем уровне

    Когда я задавал вопрос, про то как ты изменил запрет на вход, то я неправильно выразился. Я затупил и поэтому не разглядел, что измена запрета входа с 00 на ff это: poke 53412,248/ 53429,248/ 53564,248/ 53663,250. Именно про это я и спрашивал. Я не имел ввиду как ты вышел на эти адреса, понятно, что для этого надо как минимум, фигурально выражаясь, "полгода читать капульцевича" )))

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

    P.S. Эту замечательную универсальную патчилку на бейсике я еще не проверял на рексе, но есть опасения, что для бейсика не хватит места, ибо распакованный кодовый блок рекса занимает довольно много места в памяти, бейсик-патчилка тоже не маленькая. Может статься, что в случае с рексом проще поменять значения в дебаггере эмулятора. Посмотрим.

    ---------- Post added at 19:04 ---------- Previous post was at 18:57 ----------

    И по горячим следам у меня еще один вопрос. Как юзать патчилку на бейсике - это понятно. Загружаем патчилку, загружаем блок, запускаем патчилку, она патчит. А как юзать патчилку на асме, которую ты выкладывал? Я правильно понял, что нужно открыть редактор ассемблера, вбить туда код (а скопипастить как-нибудь можно?), потом это всё надо скомпилровать в машинный код, а дальше уже юзать этот код как бейсик-патчилку? Или я что-то напутал?
    Куплю корпус и материнку от Spectrum +2/+3

  11. #10
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на асме примерно так:

    Код:
     org #4000 ;16384
    ;
    PATCH
     ld hl,P_DATA
    patchlp
     ld e,(hl)
     inc hl
     ld d,(hl)
     inc hl
     ld a,e
     or d
     ret z ;de=#0000=exit
     ld c,(hl)
     inc hl
     ld b,#00
     ldir
     jr patchlp
    ;
    P_DATA
     dw #d0a4
     db 1,#f8
     dw #d0b5
     db 1,#f8	
     dw #d13c
     db 1,#f8
     dw #d19f
     db 1,#fa
     dw #B133
     db 4,#ff,#01,#ff,#ff
     dw #B139
     db 4,#ff,#0F,#02,#00
     dw #B13F
     db 4,#01,#03,#ff,#ff
     dw #B145
     db 4,#0f,#04,#ff,#02
    ;...
     dw #0000 ;finish
    ;
    P_LEN equ $-PATCH ; for save "mypatch" code 16384,P_LEN
    Последний раз редактировалось char; 19.11.2014 в 17:02.

Страница 1 из 7 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Подключение SD карты
    от Lisitsin в разделе Внешние накопители
    Ответов: 16
    Последнее: 09.12.2013, 19:55
  2. Unreal,редактирование в BASIC 48
    от Felix_73 в разделе Эмуляторы
    Ответов: 1
    Последнее: 15.05.2013, 18:26
  3. Графические карты
    от dk_spb в разделе MSX
    Ответов: 2
    Последнее: 03.08.2011, 15:23
  4. Карты игр
    от Sergey Novikov в разделе Игры
    Ответов: 5
    Последнее: 23.12.2008, 16:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •