/*************************************************************************\ | _ _ _ _____ _____ _ __ | | | | | | (_) / ____| __ \| |/ / | | _ __ _____ _____ | |_ _| |_ _ ___ _ __ | (___ | | | | ' / | | | '__/ _ \ \ / / _ \| | | | | __| |/ _ \| '_ \ \___ \| | | | < | | | | | __/\ V / (_) | | |_| | |_| | (_) | | | |____) | |__| | . \ | | |_| \___| \_/ \___/|_|\__,_|\__|_|\___/|_| |_|_____/|_____/|_|\_\ | | | \*************************************************************************/ #include "oop_ext.hpp" #include "common.h" CExt ThisExt; // ============================================================================ // // CONDITIONS // // ============================================================================ CONDITION( /* ID */ CON_IS_EQUAL, /* Numeric ID */ 0, /* Name */ "%o: %0 == %1", /* Flags */ EVFLAGS_ALWAYS|EVFLAGS_NOTABLE, /* Params */ param_list(2, PARAM_EXPRESSION, "A", PARAM_EXPRESSION, "B") ) { int p1=GetFirstParam(TYPE_INT); int p2=GetParam(TYPE_INT); return p1==p2; } CONDITION( /* ID */ CON_TRIGGERED_CONDITION, /* Numeric ID */ 1, /* Name */ "%o : On trigger", /* Flags */ 0, /* Params */ param_list(0) ) { return TRUE; } // ============================================================================ // // ACTIONS // // ============================================================================ ACTION( /* ID */ ACT_TRIGGER_CONDITION, /* Numeric ID */ 0, /* Name */ "Trigger condition", /* Flags */ 0, /* Params */ param_list(0) ) { GenerateEvent(rdPtr,CON_TRIGGERED_CONDITION); return 0; } ACTION( /* ID */ ACT_DUMMY_ACTION, /* Numeric ID */ 1, /* Name */ "Dummy action", /* Flags */ 0, /* Params */ param_list(0) ) { return 0; } // ============================================================================ // // EXPRESSIONS // // ============================================================================ EXPRESSION( /* ID */ EXP_SUM, /* Numeric ID */ 0, /* Name */ "sum(", /* Flags */ 0, /* Params */ param_list(2, EXPPARAM_LONG, "", EXPPARAM_LONG, "") ) { int p1=GetFirstParam(TYPE_INT); int p2=GetParam(TYPE_INT); return p1+p2; } EXPRESSION( /* ID */ EXP_PRODUCT, /* Numeric ID */ 1, /* Name */ "product(", /* Flags */ 0, /* Params */ param_list(2, EXPPARAM_LONG, "", EXPPARAM_LONG, "") ) { int p1=GetFirstParam(TYPE_INT); int p2=GetParam(TYPE_INT); return p1*p2; }