IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> No-CD для Little Bill Thinks Big
Siberian GRemlin
Nov 4 2018, 13:14
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 472
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 200 раз(а)



Игра хранит большую часть своих файлов на диске, что не удобно. В реестре прописывает пути к папке и букву диска. Образ

Изменение значений в реестре пользы не приносит. Аналогично и с изменением путей (удаление двоеточия) и копирование файлов в
CODE
[папку с игрой]\[буква диска из реестра]\

Игра почему-то начинает вылетать при обращении к THE_ROOM.cxt. Я что-то упустил?

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Nov 4 2018, 23:21
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,185
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 286 раз(а)



Я долго ломал мозг пользуясь вот этой ссылкой: Lingo bytecode.

1) Копируешь всё с CD диска в каталог.
2) Через subst Z: <каталог> создаёшь виртуальный диск.
3) Меняешь в реестре букву диска на Z.
4) После этого патчишь:
Joy.cxt
0001D046: 0F 0E
0001D088: 10 0E
Теперь оно будет работать без CD. Проверка отломана не очень красиво, ибо она меняет код "если CD-ROM" на "если не CD-ROM", а также "свободного места на диске больше нуля" на "свободного места не ноль".

Хочешь чтобы работало без проверки CD и без виртуального диска тупо из каталога? Кури доки по ссылке выше и ковыряй байт-код. Меня откровенно ломает в этом рыться.

CODE
4C 05; local
44 0E; push local literal to stack (0E="type")
43 02; arg(2)
57 B1; call
44 0F; push local literal to stack (0F="CD-ROM")
0F  ; a = b
95 00 13 (jmp1 if false)

<...>

4C 06; local var
44 10; push local literal to stack (10="size")
43 02; arg(2)
57 B1; call
03  ; push 0
10  ; a > b (size > 0)
95 00 41; jmp2 if false


Индексы строк проверки, если, вдруг, понадобятся (ищи по 44 XX, где XX номер литерала для складывания на стек):
CODE
00=Projector
01=You need to insert the Little Bill Thinks BIG CD-ROM to play!
02=Windows
03=DirectSound
04=windows
05=Animal Joy
06=SOFTWARE\Scholastic Inc\Little Bill Things BIG
07=CDLet
08=Error
09=HKEY_LOCAL_MACHINE
0A=:\DATA\LB_MAIN.DXR
0B=:\DATA\CASTS
0C=:\DATA\VIDS
0D=:\DATA\TALKING
0E=type
0F=CD-ROM
10=size
11=FileXtra4
12=Little Bill Thinks Big:DATA:LB_MAIN.DXR
13=Little Bill Thinks Big:DATA:CASTS
14=Little Bill Thinks Big:DATA:VIDS
15=Little Bill Thinks Big:DATA:TALKING


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 24th January 2019 - 08:48