ממממ... זה לא יהיה פשוט.
בעקרון, בתיקיית Config תמצא את הפלאגינים השונים שהמשחק תומך בהם:
קוד: בחירת הכל
AutoRun.cnf
ForestPlugin.cnf
hugo.ico
KeyPlugin.cnf
LoaderPlugin.cnf
MenuPlugin.cnf
MountainPlugin.cnf
PlanePlugin.cnf
RopeIntroPlugin.cnf
RopeOutroPlugin.cnf
TrainPlugin.cnf
WitchPlugin.cnf
ישנם כמה פלאגינים שקשורים לתפריטים וכו' ועוד כמה שמהווים פרקים במשחק. מתוכם, כמובן, רק TrainPlugin.cnf עובד כרגע.
אם נפתח את TrainPlugin.cnf, נראה שמדובר למעשה בקובץ טקסט שממפה את המשאבים השונים שפרק הרכבת זקוק להם.
קוד: בחירת הכל
Name = Train;
LongName = 'Train Plugin';
Type = StaticLink;
Bin = CHUGOTrainPlugin;
ReqMem = 10500000;
macro DataDir = traindata;
section FileSystems
{
1 = [$THISDIR]..\data.big (bigfile);
}
section Resources
{
...
section SoundEffects
{
snd_bonk = [DataDir]\sfx\bonk.wav (type=WAV, alloc=none);
snd_bum = [DataDir]\sfx\bum.wav (type=WAV, alloc=none);
...
}
}
אפשר לראות שהקובץ מציין שמערכת הקבצים שלו נמצאת בקובץ data.big.
אם נפתח את הקובץ בעורך הקסדצימלי, נראה את המידע הבא:
קוד: בחירת הכל
00000000: 42 49 47 46 49 4c 45 97 b5 b5 09 52 49 46 46 da BIGFILE....RIFF.
00000010: 9b 03 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 ...WAVEfmt .....
00000020: 00 02 00 22 56 00 00 44 ac 00 00 02 00 08 00 64 ..."V..D.......d
00000030: 61 74 61 00 9b 03 00 80 80 80 80 80 80 80 80 80 ata.............
הוא מתחיל עם המחרוזת BIGFILE, אח"כ 4 בתים לא ברורים, ואז RIFF - מחרוזת שמציינת תחילת קובץ WAV (קובץ שמע).
אם נקח את ארבעת הבתים ונתייחס אליהם בתור Offset בקובץ, נקבל 0x09b5b597. נקפוץ למיקום הזה בקובץ ונראה:
קוד: בחירת הכל
09b5b597: 49 6e 74 72 6f 44 61 74 61 5c 69 74 65 6a 69 6e IntroData\itejin
09b5b5a7: 67 6c 65 2e 77 61 76 00 00 00 00 00 00 00 00 00 gle.wav.........
09b5b5b7: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b5c7: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b5d7: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b5e7: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b5f7: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b607: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b617: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b627: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b637: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b647: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b657: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b667: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b677: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b687: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
09b5b697: 00 00 00 00 0b 00 00 00 e2 9b 03 00 49 6e 74 72 ............Intr
09b5b6a7: 6f 44 61 74 61 5c 69 74 65 6d 65 64 69 61 6c 6f oData\itemedialo
09b5b6b7: 67 6f 2e 6c 62 6d 00 00 00 00 00 00 00 00 00 00 go.lbm..........
זה נראה כמו מערכת קבצים, כשכל רשומה היא בגודל 268 בתים. כנראה 260 בתים עבור נתיב הקובץ (זה הערך של MAX_PATH תחת חלונות), אח"כ עוד 4 בתים עבור ה-Offset בקובץ (ברשומה הראשונה: 0x0000000B), ואז עוד 4 בתים עבור גודל (ברשומה הראשונה: 0x00039be2). ואכן, אם נקפוץ חזרה ל-Offset הראשון שראינו (שהוא 0x0000000B), נראה:
קוד: בחירת הכל
0000000b: 52 49 46 46 da 9b 03 00 57 41 56 45 66 6d 74 20 RIFF....WAVEfmt
0000001b: 10 00 00 00 01 00 02 00 22 56 00 00 44 ac 00 00 ........"V..D...
כאמור, תחילת קובץ WAV שיש להניח ששמו IntroData\itejingle.wav.
ואם נקפוץ לרשומה הבאה (שהיא במקרה 0x00039BE2 + 0x0000000B = 0x00039BED, שזה בדיוק הגודל + ה-Offset של הרשומה הראשונה, וגם מה שכתוב בערך של הרשומה השנייה), נראה את הקובץ הבא (IntroData\itemedialogo.lbm):
קוד: בחירת הכל
00039bed: 46 4f 52 4d 00 00 94 5e 49 4c 42 4d 42 4d 48 44 FORM...^ILBMBMHD
00039bfd: 00 00 00 14 01 40 00 f0 00 00 00 00 08 00 01 00 .....@..........
וכך הלאה.
ממעבר על הקבצים, נראה שקובץ ה-Big כולל רק קבצי נתונים ששייכים לפרק הרכבת (ולתפריט וכו').
כלומר, אם תרצה "לפרוץ" את המשחק ולהיות מסוגל לשחק בשלבים האחרים, אתה צריך:
- "לפרק" את קובץ ה-Big מקובץ אחד לאוסף הקבצים המקורי
- להוסיף לאוסף הקבצים המפורק את הקבצים ששאר המשחקים דורשים (אלה שמצויינים בקבצי ה-Plugin האחרים) - אולי מהגרסה בגרמנית
- לייצר מחדש קובץ Big עם כל הקבצים של כל הפרקים, לפי הפורמט שראינו כאן
- לקוות שזה מספיק בשביל "לפתוח" את הפרקים החסרים, ושלא צריך שינוי נוסף
או, שאפשר פשוט לשחק בגרסה הגרמנית.
לגבי הוספת אלאדין - זה כבר מעבר ליכולות שלי