|
GaroldPredator
Пользователь
Откуда: Military Base Регистрация: Апр. 2004
Всего: 52 сообщения
|
2 Tim Можно поинтересоваться вопросом? А где ты Ruby достал, ась?
----- В мире есть две точки зрения: неправильная и моя.
|
Отправлено: 17:47 - 19 Апр., 2004
|
|
Tim
Пользователь
Откуда: Санкт-Петербург Регистрация: Май 2003
Всего: 265 сообщений
|
Скачал где-то... не помню... могу на мыло кинуть... Надо?
----- Ядерному взрыву - да! да! да! Солнечному миру - нет! нет! нет!
|
Отправлено: 19:06 - 19 Апр., 2004
|
|
GaroldPredator
Пользователь
Откуда: Military Base Регистрация: Апр. 2004
Всего: 52 сообщения
|
2 Tim Буду очень признателен... В смысле, давай! Мыло такое: hunter199090@mail.ru Заранее Thank you! (Отредактировал(а) GaroldPredator - 19:34 - 19 Апр., 2004)
----- В мире есть две точки зрения: неправильная и моя.
|
Отправлено: 19:33 - 19 Апр., 2004
|
|
Tim
Пользователь
Откуда: Санкт-Петербург Регистрация: Май 2003
Всего: 265 сообщений
|
2GaroldPredator Догадался ридми почитать и нашел сайт с которого его скачать можно: http://www.dm4lab.to/~usa/ruby/index_en.html Но там столько версий.... у меня 1.6.8 И весят они... И фиг знает что качать... Кот. у меня весит 741Кб... Может это спец. версия как раз для Фолла... Подождем пока кто-нибудь скажет что да как... иль слать...?
----- Ядерному взрыву - да! да! да! Солнечному миру - нет! нет! нет!
|
Отправлено: 20:24 - 19 Апр., 2004
|
|
GaroldPredator
Пользователь
Откуда: Military Base Регистрация: Апр. 2004
Всего: 52 сообщения
|
2 Tim Я щас нашару ткнул одну, которая весит побольше! Может, как докачается напишу!
----- В мире есть две точки зрения: неправильная и моя.
|
Отправлено: 22:15 - 19 Апр., 2004
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
Препроцессор watcom лежит здесь (849K). Прога F-GECK не имеет никакого отношения к компиляции скриптов. При нажатии кнопки "Компилировать" она передаёт имя скрипта BAT-файлу compiler.bat в котором должны быть прописаны пути к препроцессору, компилятору и папке назначения для выходящих из компилятора int-файлов. Декомпилятор Ruby действительно создаёт файлы ssl, но это не файлы компилятора BIS, и приниматься этим компилятором они естественно не будут. Там и названия команд другие и формат скриптового языка отличается.
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 0:13 - 20 Апр., 2004
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
to Garold Грубо говоря, есть два типа команд: 1. Встроенные команды 2. Макросы Встроенные команды прошиты в движке, их не нужно нигде объявлять дефайном или подключать include-ом какие-либо файлы. Если в скрипте используются встроенные команды - то препроцессор не нужен, компилятор обойдётся и без него. Макросы - это сокращения/дополнения встроенных команд. Например, тебе часто приходитя использовать встроенную команду obj_name(dude_obj) - т.е. выводить Имя Чузена. Вместо этого ты можешь написать #define pl_name obj_name(dude_obj) и использовать pl_name, но теперь тебе понадобится препроцессор. Выдержка из "сырого" HowTo (гл. 2): ------------------------------------------------------------- До запуска компилятора выполняется ещё одна программа - препроцессор. Он ищет так называемые "директивы препроцессора" и выполняет их. Узнать директиву легко - она начинается с символа #. Есть два основных типа директив - #define и #include Директива #define делает замену (по всему тексту программы) своего первого параметра вторым. Например: #define ONE 1 #define TWO 2 заменит все слова ONE в тексте на 1 и слова TWO на 2. (ONE < TWO превратится в 1 < 2) Директиве #include в качестве параметра передают имя файла - и она "вставляет" весь этот файл в скрипт - как раз в то самое место, где написана директива. Например #include "c:\text.txt" будет заменено на содержимое файла c:\text.txt. Но на разных компьютерах файлы могут лежать в разных каталогах. Для того, чтобы в таких случаях не пришлось переписывать все директивы во всех скриптах - используют относительные имена. Т.е. мы просто просто пишем #include <text.txt> и вызываем препроцессор с флагом -I c:\ - теперь все свои параметры для директивы #include препроцессор будет искать в "c:\". ------------------------------------------------------------- Файлик command.h как раз и содержит большую часть этих макросов. Например, макрос dude_is_male выглядит так (всё из command.h): #define dude_is_male (dude_gender == GENDER_MALE) В свою очередь есть макрос: #define dude_gender (get_critter_stat(dude_obj,STAT_gender)) , а в файле define.h раскрывается смысл переменных GENDER_MALE: #define GENDER_MALE (0) #define GENDER_FEMALE (1) Если мы "развернём" макрос dude_is_male, то получим: get_critter_stat(dude_obj,STAT_gender) == 0 , где get_critter_stat - это встроенная команда, а dude_obj - указатель на Чузена (т.е. команда применяется по отношению к Игроку. Если Elder - указатель на старейшину, то get_critter_stat(Elder,STAT_gender) вернёт пол старейшины). Все "переменные", написанные ПРОПИСНЫМИ буквами представляют из себя define-ы (напр. GENDER_MALE). Т.е. STAT_gender - это тоже define. Смотрим в define.h: #define STAT_gender (34) В конце концов получаем, что dude_is_male это тоже самое, что и get_critter_stat(dude_obj,34) == 0 Если ты заменишь все dude_is_male в тексте на get_critter_stat(dude_obj,34) == 0 - то препроцессор тебе не понадобиться. Мало того, что последняя строчка длиннее, так она ещё и непонятней. Вот для избежания таких непоняток и исполбзуют препроцессор. to Tim and Garold Вы давайте-давайте - спрашивайте всё, что не понятно. Чтоб я знал какие вопросы возникают у новичков. И вам польза, и я буду знать что в HowTo писать :-)
|
Отправлено: 6:23 - 20 Апр., 2004
|
|
GaroldPredator
Пользователь
Откуда: Military Base Регистрация: Апр. 2004
Всего: 52 сообщения
|
Сам ты новичок! Я просто проверял знаешь ты это или нет! Да ладно, на самом деле, типо, спасибо! (Добавление от 15:33 - 20 Апр., 2004.) 2 VSEM У меня всё равно какая-то фигня: Когда пытаюсь сделать препроцессинг, watcom находит ошибки в некоторых заголовочных файлах: ScenePid.h, Party.h и т.д и т.п. А если их удалить, то пишет, что нужно их загрузить, потому, что к ним обращается command.h. Как быть?
----- В мире есть две точки зрения: неправильная и моя.
|
Отправлено: 15:01 - 20 Апр., 2004
|
|
Tim
Пользователь
Откуда: Санкт-Петербург Регистрация: Май 2003
Всего: 265 сообщений
|
Объясните какие надо вводить команды... если нет watcom то все ясно... а если есть... что compile больше не нужен... напишите плиз на примере... куда девать папку HEADERS... куда watcom и главное что писать в ком. строке.... То разобраться не могу...
----- Ядерному взрыву - да! да! да! Солнечному миру - нет! нет! нет!
|
Отправлено: 16:36 - 20 Апр., 2004
|
|
GaroldPredator
Пользователь
Откуда: Military Base Регистрация: Апр. 2004
Всего: 52 сообщения
|
2 Tim Смотри, Тимищще! Во-первых, ты уже, я надеюсь, написал скрипт? Если да, и если у тебя стоит этот самый watcom (будь он неладен), то запихиваешь его (каталог c_nt) в папку fallout2mapper\scripts и потом запихиваешь в папку c_nt\binnt файл command.h (который живёт в каталоге headers). Дальше (желательно в volcov commandere или в любом другом менеджере, где можно посмотреть, что пишет файл после его запуска) заходишь в каталог binnt и в коммандной строке пишешь: wcc386.exe (или wcc.exe, по мне, так безра -i C:\fallout2\fallout 2 mapper \scripts\название скрипта.ssl. Все бы хорошо, но после этого всего нужно еще что-то сделать, потому, что она (или он) пишет у меня ошибки в других *.h файлах и нифига не компилирует! ВОТ!!! (Отредактировал(а) GaroldPredator - 17:27 - 20 Апр., 2004)
----- В мире есть две точки зрения: неправильная и моя.
|
Отправлено: 17:23 - 20 Апр., 2004
|
|
|
|