# /* # * 局部变量、自定义值 # * # * By actboy168 # * # */ # #ifndef INCLUDE_YDTRIGGER_HASH_H #define INCLUDE_YDTRIGGER_HASH_H # #define YDUserDataClearTable(table_type, table) YDHashClearTable(YDHASH_HANDLE, YDHashAny2I(table_type, table)) #define YDUserDataClear(table_type, table, attribute, value_type) YDHashClear(YDHASH_HANDLE, value_type, YDHashAny2I(table_type, table), ) #define YDUserDataSet(table_type, table, attribute, value_type, value) YDHashSet(YDHASH_HANDLE, value_type, YDHashAny2I(table_type, table), , value) #define YDUserDataGet(table_type, table, attribute, value_type) YDHashGet(YDHASH_HANDLE, value_type, YDHashAny2I(table_type, table), ) #define YDUserDataHas(table_type, table, attribute, value_type) YDHashHas(YDHASH_HANDLE, value_type, YDHashAny2I(table_type, table), ) # # # // GlobalsTriggerRunSteps & TriggerRunSteps #define YDLocalInitialize() \ local integer ydl_localvar_step = YDHashGet(YDLOC, integer, YDHashH2I(GetTriggeringTrigger()), 0xCFDE6C76) YDNL\ set ydl_localvar_step = ydl_localvar_step + 3 YDNL\ call YDHashSet(YDLOC, integer, YDHashH2I(GetTriggeringTrigger()), 0xCFDE6C76, ydl_localvar_step) YDNL\ call YDHashSet(YDLOC, integer, YDHashH2I(GetTriggeringTrigger()), 0xECE825E7, ydl_localvar_step) #define YDLocalExecuteTrigger(trg) set ydl_triggerstep = YDHashH2I(trg)*(YDHashGet(YDLOC, integer, YDHashH2I(trg), 0xCFDE6C76) + 3) #define YDLocalReset() YDHashSet(YDLOC, integer, YDHashH2I(GetTriggeringTrigger()), 0xECE825E7, ydl_localvar_step) # // 1. #define YDLOCAL_1 YDHashH2I(GetTriggeringTrigger())*ydl_localvar_step #define YDLocal1Set(type, name, value) YDHashSet(YDLOC, type, YDLOCAL_1, , value) #define YDLocal1ArraySet(type, name, index, value) YDHashSet(YDLOC, type, YDLOCAL_1, + (index), value) #define YDLocal1Get(type, name) YDHashGet(YDLOC, type, YDLOCAL_1, ) #define YDLocal1ArrayGet(type, name, index) YDHashGet(YDLOC, type, YDLOCAL_1, + (index)) #define YDLocal1Release() YDHashClearTable(YDLOC, YDLOCAL_1) # // 2. #define YDLOCAL_2 YDHashH2I(GetTriggeringTrigger())*YDHashGet(YDLOC, integer, YDHashH2I(GetTriggeringTrigger()), 0xECE825E7) #define YDLocal2Set(type, name, value) YDHashSet(YDLOC, type, YDLOCAL_2, , value) #define YDLocal2ArraySet(type, name, index, value) YDHashSet(YDLOC, type, YDLOCAL_2, + (index), value) #define YDLocal2Get(type, name) YDHashGet(YDLOC, type, YDLOCAL_2, ) #define YDLocal2ArrayGet(type, name, index) YDHashGet(YDLOC, type, YDLOCAL_2, + (index)) # // 3. #define YDLOCAL_3 YDHashH2I(GetExpiredTimer()) #define YDLocal3Set(type, name, value) YDHashSet(YDLOC, type, YDLOCAL_3, , value) #define YDLocal3ArraySet(type, name, index, value) YDHashSet(YDLOC, type, YDLOCAL_3, + (index), value) #define YDLocal3Get(type, name) YDHashGet(YDLOC, type, YDLOCAL_3, ) #define YDLocal3ArrayGet(type, name, index) YDHashGet(YDLOC, type, YDLOCAL_3, + (index)) #define YDLocal3Release() YDHashClearTable(YDLOC, YDLOCAL_3) # // 4. #define YDLOCAL_4 YDHashH2I(GetTriggeringTrigger()) #define YDLocal4Set(type, name, value) YDHashSet(YDLOC, type, YDLOCAL_4, , value) #define YDLocal4ArraySet(type, name, index, value) YDHashSet(YDLOC, type, YDLOCAL_4, + (index), value) #define YDLocal4Get(type, name) YDHashGet(YDLOC, type, YDLOCAL_4, ) #define YDLocal4ArrayGet(type, name, index) YDHashGet(YDLOC, type, YDLOCAL_4, + (index)) #define YDLocal4Release() YDHashClearTable(YDLOC, YDLOCAL_4) # // 5. #define YDLOCAL_5 ydl_triggerstep #define YDLocal5Set(type, name, value) YDHashSet(YDLOC, type, YDLOCAL_5, , value) #define YDLocal5ArraySet(type, name, index, value) YDHashSet(YDHASH_HYDLOCANDLE, type, YDLOCAL_5, + (index), value) #define YDLocal5Get(type, name) YDHashGet(YDLOC, type, YDLOCAL_5, ) #define YDLocal5ArrayGet(type, name, index) YDHashGet(YDLOC, type, YDLOCAL_5, + (index)) # // 6. #define YDLocal6Set(page, type, name, value) YDHashSet(YDLOC, type, , , value) #define YDLocal6ArraySet(page, type, name, index, value) YDHashSet(YDLOC, type, , + (index), value) #define YDLocal6Get(page, type, name) YDHashGet(YDLOC, type, , ) #define YDLocal6ArrayGet(page, type, name, index) YDHashGet(YDLOC, type, , + (index)) #define YDLocal6Release(page) YDHashClearTable(YDLOC, ) # #define YDLocalSet(page, type, name, value) YDHashSet(YDLOC, type, YDHashH2I(page), , value) #define YDLocalArraySet(page, type, name, index, value) YDHashSet(YDLOC, type, YDHashH2I(page), + (index), value) #define YDLocalGet(page, type, name) YDHashGet(YDLOC, type, YDHashH2I(page), ) #define YDLocalArrayGet(page, type, name, index) YDHashGet(YDLOC, type, YDHashH2I(page), + (index)) #define YDLocalRelease(page) YDHashClearTable(YDLOC, YDHashH2I(page)) # #endif