У меня вот вопрос
Содержание ARADESH.ssl
#define DIRECTION 9999
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);
Содержание Encounter_Small_Scorpion.h
#ifndef TYPE
#define TYPE (PID_SMALL_RADSCORPION)
#endif
#ifndef SCRIPT
#define SCRIPT (SCRIPT_ECSCORP)
#endif
#ifndef ITEM
#define ITEM (0)
#endif
#ifndef MONEY
#define MONEY (0)
#endif
#ifndef TILE
#define TILE (tile_num(dude_obj))
#endif
#ifndef DIRECTION
#define DIRECTION (rnd(0, 5))
#endif
#ifndef DISTANCE
#define DISTANCE (dude_perception*2)
#endif
#ifndef COUNT
#define COUNT (0)
#endif
#ifndef TARGET
#define TARGET (dude_obj)
#endif
После препроцессора
# 1 "ARADESH.ssl"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "ARADESH.ssl"
# 1 "Encounter_Small_Scorpion.h" 1
# 8 "ARADESH.ssl" 2
SetEnc((PID_SMALL_RADSCORPION), (SCRIPT_ECSCORP), (0), (0), (tile_num(dude_obj)), 9999, (dude_perception*2), (dude_obj));
# 1 "Encounter_Small_Scorpion.h" 1
# 12 "ARADESH.ssl" 2
SetEnc((PID_SMALL_RADSCORPION), (SCRIPT_ECSCORP), (0), (0), (tile_num(dude_obj)), 9999, (dude_perception*2), (dude_obj));
А теперь вопрос, мне нужно что бы
#define DIRECTION 9999 если дефин определен тогда вставить это значение, это работает
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);
а если не определен тогда взять значение из #include "Encounter_Small_Scorpion.h"
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);
Как так сделать?
Здесь все работает
#define DIRECTION 9999
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);
А вот здесь он заменяет на 9999, а мне нужно что бы он заменял из #include "Encounter_Small_Scorpion.h"
#include "Encounter_Small_Scorpion.h"
SetEnc(TYPE, SCRIPT, ITEM, MONEY, TILE, DIRECTION, DISTANCE, TARGET);