» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » Компиляция скрипта... (или почему неправильно компилится...)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения

 
Oleg1969
Пользователь

Откуда: Саратов
Регистрация: Май 2006

Всего: 168 сообщений

Делаю потихоньку небольшой модик и в качестве отправной точки служит док Джеф из реддинга. Делаю его под 1С версию, и пытаюсь совместить с Юкковским мод/патчем для 1С.
Декомпилил Юковский скрипт, 1С-овский скрипт. Привел к общему знаменателю. Затем получившееся сравнил с BIS скриптом, опять привел к общему знаменателю, в смысле заменил все развернутое на макросы. Затем получившееся скомпилил. А затем декомпилил свой скрипт и сравнил оставшиеся без изменения процедуры с Юкковскими, и столкнулся с такой вешью как отсутствие кусков программы в своем скрипте, хотя специально проверял, чтоб все макросы соответсвовали тому что есть у Юкки и у BIS... В чем может быть проблема? Почему при декомпиляции пропадают куски кода? В чем может быть проблема?

-----
За сим прощаюсь, Олег.

Отправлено: 10:56 - 21 Авг., 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

Код в студию!!!

И еще взгляни на файл который получается после препроцессинга.
Возможно причина в этом.

Отправлено: 19:12 - 21 Авг., 2006
Oleg1969
Пользователь

Откуда: Саратов
Регистрация: Май 2006

Всего: 168 сообщений

ЭЭЭ Такой вопрос? А как прицепить файлик к сообщению?


-----
За сим прощаюсь, Олег.

Отправлено: 20:39 - 21 Авг., 2006
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Никак. Кинь его лично по мылу тому, кто у тебя его просит.

Отправлено: 9:08 - 22 Авг., 2006
Oleg1969
Пользователь

Откуда: Саратов
Регистрация: Май 2006

Всего: 168 сообщений

Цитата:
Quote: from Anchorite on 19:12 - 21 Авг., 2006
Код в студию!!!

И еще взгляни на файл который получается после препроцессинга.
Возможно причина в этом.




Файлы отправил в раре, после препроцессинга посмотрел но там такая мешанина... уууу в смысле макросы развернулись в одну строчку,  редактор их не раскидывает, так что наверно день уйдет на преведение его в удобочитаемый вид...

Раскидал после препроцессинга...

Мдя, уже там не хватает нужных строк, такое ощущение, что не тот хедер берет или при чтении хедера ошибка гдето выскакивает...

Хедер называется reppoint.h

За сим прощаюсь, Олег.

-----
За сим прощаюсь, Олег.

Отправлено: 12:08 - 22 Авг., 2006 | ИСПРАВЛЕНО: Oleg1969 - 15:47 - 22 Авг., 2006
Oleg1969
Пользователь

Откуда: Саратов
Регистрация: Май 2006

Всего: 168 сообщений

Мдя такое ощущение что это ошибка препроцессора... Я использую wcc386.exe который идет в комплекте с ФГеком от Технократа...

У кого какие мысли на этот счет? Может плюнуть и оставить кусок кода в декомпилированном виде а не сворачиват в макрос? Причем самое интересное это происходит только в одной процедуре и только с одним макросом... Остальные макросы отлично компиляются, без ошибок...

За сим прощаюсь, Олег.

-----
За сим прощаюсь, Олег.

Отправлено: 20:59 - 22 Авг., 2006
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Хмм...насколько я знаю ватком таких проблем как обрубание строк не делает. Помница борландовский делал, да и то.... Моя нинай

-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 21:06 - 22 Авг., 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

Код:
 
/* Скрипт Дока из Реддинга для 1С и Юкки*/

#include "D:\Fallout2\mod\scripts\headers\define.h"
#include "D:\Fallout2\mod\scripts\headers\command.h"
#include "D:\Fallout2\mod\scripts\headers\ModReact.h"
//#include "D:\Fallout2\mod\scripts\headers\tomorrow.h"

#define NAME                    SCRIPT_RCDRJOHN
#define TOWN_REP_VAR            (GVAR_TOWN_REP_REDDING)
#define MVAR_Fannie_Mae         (0)

#define dr_heal(who)            critter_heal(who,(get_critter_stat(who,STAT_max_hp) - get_critter_stat(who,STAT_current_hp)))

procedure start;
procedure critter_p_proc;
...



А теперь обрати внимание на то, в каком месте у тебя происходит определение TOWN_REP_VAR.
Оно производится ПОСЛЕ включения заголовков.
В результате у тебя макрос inc_good_critter разворачивается не в тот, который ты ожидаешь.

Сделать следовало так

Код:
 
#include "D:\Fallout2\mod\scripts\headers\define.h"

#define NAME                    SCRIPT_RCDRJOHN
#define TOWN_REP_VAR            (GVAR_TOWN_REP_REDDING)
#define MVAR_Fannie_Mae         (0)

#include "D:\Fallout2\mod\scripts\headers\command.h"
#include "D:\Fallout2\mod\scripts\headers\ModReact.h"
//#include "D:\Fallout2\mod\scripts\headers\tomorrow.h"

#define dr_heal(who)            critter_heal(who,(get_critter_stat(who,STAT_max_hp) - get_critter_stat(who,STAT_current_hp)))
...



Отправлено: 9:27 - 23 Авг., 2006
Oleg1969
Пользователь

Откуда: Саратов
Регистрация: Май 2006

Всего: 168 сообщений

Мдя... Как-то не предполагал, что дефайн может использоваться в хедере... Думал еще зачем Бисовцы инклюд после дефайна сделали... А тут оказывается вона как... Вообще странно, в хедере ведь условий нет никаких, я вроде смотрел... Сейчас еще пойду полазаю...

Спасибо за помощь!

-----
За сим прощаюсь, Олег.

Отправлено: 16:44 - 23 Авг., 2006 | ИСПРАВЛЕНО: Oleg1969 - 16:45 - 23 Авг., 2006
Anchorite
Пользователь

Откуда: Не здесь
Регистрация: Янв. 2003

Всего: 283 сообщения

Здрасте нету. А

Код:
 
#ifdef TOWN_REP_VAR



это что по твоему?

Отправлено: 16:52 - 23 Авг., 2006
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com