diff --git a/addons/dogtags/CfgEventHandlers.hpp b/addons/dogtags/CfgEventHandlers.hpp new file mode 100644 index 0000000000..e90bed419e --- /dev/null +++ b/addons/dogtags/CfgEventHandlers.hpp @@ -0,0 +1,15 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/dogtags/CfgVehicles.hpp b/addons/dogtags/CfgVehicles.hpp new file mode 100644 index 0000000000..8e9204c4ca --- /dev/null +++ b/addons/dogtags/CfgVehicles.hpp @@ -0,0 +1,43 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_Actions { + class ACE_MainActions { + class ACE_Dogtag { + displayName = CSTRING(itemName); + condition = ""; + statement = ""; + showDisabled = 0; + priority = 3; + icon = ""; //@todo + class ACE_CheckDogtag { + displayName = CSTRING(checkDogtag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canCheckDogtag)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(checkDogtag)); + showDisabled = 0; + priority = 3; + icon = ""; //@todo + }; + class ACE_TakeDogtag { + displayName = CSTRING(takeDogtag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTakeDogtag)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(takeDogtag)); + showDisabled = 0; + priority = 3; + icon = ""; //@todo + }; + }; + }; + }; + class ACE_SelfActions { + class ACE_Equipment { + class ACE_CheckDogtags { + displayName = CSTRING(checkItem); + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addDogtagActions)); + }; + }; + }; + }; +}; diff --git a/addons/dogtags/CfgWeapons.hpp b/addons/dogtags/CfgWeapons.hpp new file mode 100644 index 0000000000..4e37db74db --- /dev/null +++ b/addons/dogtags/CfgWeapons.hpp @@ -0,0 +1,1025 @@ +#define ACE_DOGTAG_ITEM(DOGTAGBASE,DOGTAGID) \ + class DOGTAGBASE##_##DOGTAGID : DOGTAGBASE { \ + author = ECSTRING(common,ACETeam); \ + scope = 1; \ + scopeArsenal = 0; \ + scopeCurator = 0; \ + descriptionShort = QUOTE(DOGTAGID); \ + GVAR(tagID) = DOGTAGID; \ + } + +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_dogtag: ACE_ItemCore { + author = ECSTRING(common,ACETeam); + scope = 0; + displayName = CSTRING(itemName); + model = QUOTE(PATHTOF(data\ace_dogtag.p3d)); + picture = QUOTE(PATHTOF(data\dogtagSingle.paa)); + class ItemInfo: InventoryItem_Base_F { + mass = 0; //too small to for 1 ? + }; + }; + ACE_DOGTAG_ITEM(ACE_dogtag,1); + ACE_DOGTAG_ITEM(ACE_dogtag,2); + ACE_DOGTAG_ITEM(ACE_dogtag,3); + ACE_DOGTAG_ITEM(ACE_dogtag,4); + ACE_DOGTAG_ITEM(ACE_dogtag,5); + ACE_DOGTAG_ITEM(ACE_dogtag,6); + ACE_DOGTAG_ITEM(ACE_dogtag,7); + ACE_DOGTAG_ITEM(ACE_dogtag,8); + ACE_DOGTAG_ITEM(ACE_dogtag,9); + ACE_DOGTAG_ITEM(ACE_dogtag,10); + ACE_DOGTAG_ITEM(ACE_dogtag,11); + ACE_DOGTAG_ITEM(ACE_dogtag,12); + ACE_DOGTAG_ITEM(ACE_dogtag,13); + ACE_DOGTAG_ITEM(ACE_dogtag,14); + ACE_DOGTAG_ITEM(ACE_dogtag,15); + ACE_DOGTAG_ITEM(ACE_dogtag,16); + ACE_DOGTAG_ITEM(ACE_dogtag,17); + ACE_DOGTAG_ITEM(ACE_dogtag,18); + ACE_DOGTAG_ITEM(ACE_dogtag,19); + ACE_DOGTAG_ITEM(ACE_dogtag,20); + ACE_DOGTAG_ITEM(ACE_dogtag,21); + ACE_DOGTAG_ITEM(ACE_dogtag,22); + ACE_DOGTAG_ITEM(ACE_dogtag,23); + ACE_DOGTAG_ITEM(ACE_dogtag,24); + ACE_DOGTAG_ITEM(ACE_dogtag,25); + ACE_DOGTAG_ITEM(ACE_dogtag,26); + ACE_DOGTAG_ITEM(ACE_dogtag,27); + ACE_DOGTAG_ITEM(ACE_dogtag,28); + ACE_DOGTAG_ITEM(ACE_dogtag,29); + ACE_DOGTAG_ITEM(ACE_dogtag,30); + ACE_DOGTAG_ITEM(ACE_dogtag,31); + ACE_DOGTAG_ITEM(ACE_dogtag,32); + ACE_DOGTAG_ITEM(ACE_dogtag,33); + ACE_DOGTAG_ITEM(ACE_dogtag,34); + ACE_DOGTAG_ITEM(ACE_dogtag,35); + ACE_DOGTAG_ITEM(ACE_dogtag,36); + ACE_DOGTAG_ITEM(ACE_dogtag,37); + ACE_DOGTAG_ITEM(ACE_dogtag,38); + ACE_DOGTAG_ITEM(ACE_dogtag,39); + ACE_DOGTAG_ITEM(ACE_dogtag,40); + ACE_DOGTAG_ITEM(ACE_dogtag,41); + ACE_DOGTAG_ITEM(ACE_dogtag,42); + ACE_DOGTAG_ITEM(ACE_dogtag,43); + ACE_DOGTAG_ITEM(ACE_dogtag,44); + ACE_DOGTAG_ITEM(ACE_dogtag,45); + ACE_DOGTAG_ITEM(ACE_dogtag,46); + ACE_DOGTAG_ITEM(ACE_dogtag,47); + ACE_DOGTAG_ITEM(ACE_dogtag,48); + ACE_DOGTAG_ITEM(ACE_dogtag,49); + ACE_DOGTAG_ITEM(ACE_dogtag,50); + ACE_DOGTAG_ITEM(ACE_dogtag,51); + ACE_DOGTAG_ITEM(ACE_dogtag,52); + ACE_DOGTAG_ITEM(ACE_dogtag,53); + ACE_DOGTAG_ITEM(ACE_dogtag,54); + ACE_DOGTAG_ITEM(ACE_dogtag,55); + ACE_DOGTAG_ITEM(ACE_dogtag,56); + ACE_DOGTAG_ITEM(ACE_dogtag,57); + ACE_DOGTAG_ITEM(ACE_dogtag,58); + ACE_DOGTAG_ITEM(ACE_dogtag,59); + ACE_DOGTAG_ITEM(ACE_dogtag,60); + ACE_DOGTAG_ITEM(ACE_dogtag,61); + ACE_DOGTAG_ITEM(ACE_dogtag,62); + ACE_DOGTAG_ITEM(ACE_dogtag,63); + ACE_DOGTAG_ITEM(ACE_dogtag,64); + ACE_DOGTAG_ITEM(ACE_dogtag,65); + ACE_DOGTAG_ITEM(ACE_dogtag,66); + ACE_DOGTAG_ITEM(ACE_dogtag,67); + ACE_DOGTAG_ITEM(ACE_dogtag,68); + ACE_DOGTAG_ITEM(ACE_dogtag,69); + ACE_DOGTAG_ITEM(ACE_dogtag,70); + ACE_DOGTAG_ITEM(ACE_dogtag,71); + ACE_DOGTAG_ITEM(ACE_dogtag,72); + ACE_DOGTAG_ITEM(ACE_dogtag,73); + ACE_DOGTAG_ITEM(ACE_dogtag,74); + ACE_DOGTAG_ITEM(ACE_dogtag,75); + ACE_DOGTAG_ITEM(ACE_dogtag,76); + ACE_DOGTAG_ITEM(ACE_dogtag,77); + ACE_DOGTAG_ITEM(ACE_dogtag,78); + ACE_DOGTAG_ITEM(ACE_dogtag,79); + ACE_DOGTAG_ITEM(ACE_dogtag,80); + ACE_DOGTAG_ITEM(ACE_dogtag,81); + ACE_DOGTAG_ITEM(ACE_dogtag,82); + ACE_DOGTAG_ITEM(ACE_dogtag,83); + ACE_DOGTAG_ITEM(ACE_dogtag,84); + ACE_DOGTAG_ITEM(ACE_dogtag,85); + ACE_DOGTAG_ITEM(ACE_dogtag,86); + ACE_DOGTAG_ITEM(ACE_dogtag,87); + ACE_DOGTAG_ITEM(ACE_dogtag,88); + ACE_DOGTAG_ITEM(ACE_dogtag,89); + ACE_DOGTAG_ITEM(ACE_dogtag,90); + ACE_DOGTAG_ITEM(ACE_dogtag,91); + ACE_DOGTAG_ITEM(ACE_dogtag,92); + ACE_DOGTAG_ITEM(ACE_dogtag,93); + ACE_DOGTAG_ITEM(ACE_dogtag,94); + ACE_DOGTAG_ITEM(ACE_dogtag,95); + ACE_DOGTAG_ITEM(ACE_dogtag,96); + ACE_DOGTAG_ITEM(ACE_dogtag,97); + ACE_DOGTAG_ITEM(ACE_dogtag,98); + ACE_DOGTAG_ITEM(ACE_dogtag,99); + ACE_DOGTAG_ITEM(ACE_dogtag,100); + ACE_DOGTAG_ITEM(ACE_dogtag,101); + ACE_DOGTAG_ITEM(ACE_dogtag,102); + ACE_DOGTAG_ITEM(ACE_dogtag,103); + ACE_DOGTAG_ITEM(ACE_dogtag,104); + ACE_DOGTAG_ITEM(ACE_dogtag,105); + ACE_DOGTAG_ITEM(ACE_dogtag,106); + ACE_DOGTAG_ITEM(ACE_dogtag,107); + ACE_DOGTAG_ITEM(ACE_dogtag,108); + ACE_DOGTAG_ITEM(ACE_dogtag,109); + ACE_DOGTAG_ITEM(ACE_dogtag,110); + ACE_DOGTAG_ITEM(ACE_dogtag,111); + ACE_DOGTAG_ITEM(ACE_dogtag,112); + ACE_DOGTAG_ITEM(ACE_dogtag,113); + ACE_DOGTAG_ITEM(ACE_dogtag,114); + ACE_DOGTAG_ITEM(ACE_dogtag,115); + ACE_DOGTAG_ITEM(ACE_dogtag,116); + ACE_DOGTAG_ITEM(ACE_dogtag,117); + ACE_DOGTAG_ITEM(ACE_dogtag,118); + ACE_DOGTAG_ITEM(ACE_dogtag,119); + ACE_DOGTAG_ITEM(ACE_dogtag,120); + ACE_DOGTAG_ITEM(ACE_dogtag,121); + ACE_DOGTAG_ITEM(ACE_dogtag,122); + ACE_DOGTAG_ITEM(ACE_dogtag,123); + ACE_DOGTAG_ITEM(ACE_dogtag,124); + ACE_DOGTAG_ITEM(ACE_dogtag,125); + ACE_DOGTAG_ITEM(ACE_dogtag,126); + ACE_DOGTAG_ITEM(ACE_dogtag,127); + ACE_DOGTAG_ITEM(ACE_dogtag,128); + ACE_DOGTAG_ITEM(ACE_dogtag,129); + ACE_DOGTAG_ITEM(ACE_dogtag,130); + ACE_DOGTAG_ITEM(ACE_dogtag,131); + ACE_DOGTAG_ITEM(ACE_dogtag,132); + ACE_DOGTAG_ITEM(ACE_dogtag,133); + ACE_DOGTAG_ITEM(ACE_dogtag,134); + ACE_DOGTAG_ITEM(ACE_dogtag,135); + ACE_DOGTAG_ITEM(ACE_dogtag,136); + ACE_DOGTAG_ITEM(ACE_dogtag,137); + ACE_DOGTAG_ITEM(ACE_dogtag,138); + ACE_DOGTAG_ITEM(ACE_dogtag,139); + ACE_DOGTAG_ITEM(ACE_dogtag,140); + ACE_DOGTAG_ITEM(ACE_dogtag,141); + ACE_DOGTAG_ITEM(ACE_dogtag,142); + ACE_DOGTAG_ITEM(ACE_dogtag,143); + ACE_DOGTAG_ITEM(ACE_dogtag,144); + ACE_DOGTAG_ITEM(ACE_dogtag,145); + ACE_DOGTAG_ITEM(ACE_dogtag,146); + ACE_DOGTAG_ITEM(ACE_dogtag,147); + ACE_DOGTAG_ITEM(ACE_dogtag,148); + ACE_DOGTAG_ITEM(ACE_dogtag,149); + ACE_DOGTAG_ITEM(ACE_dogtag,150); + ACE_DOGTAG_ITEM(ACE_dogtag,151); + ACE_DOGTAG_ITEM(ACE_dogtag,152); + ACE_DOGTAG_ITEM(ACE_dogtag,153); + ACE_DOGTAG_ITEM(ACE_dogtag,154); + ACE_DOGTAG_ITEM(ACE_dogtag,155); + ACE_DOGTAG_ITEM(ACE_dogtag,156); + ACE_DOGTAG_ITEM(ACE_dogtag,157); + ACE_DOGTAG_ITEM(ACE_dogtag,158); + ACE_DOGTAG_ITEM(ACE_dogtag,159); + ACE_DOGTAG_ITEM(ACE_dogtag,160); + ACE_DOGTAG_ITEM(ACE_dogtag,161); + ACE_DOGTAG_ITEM(ACE_dogtag,162); + ACE_DOGTAG_ITEM(ACE_dogtag,163); + ACE_DOGTAG_ITEM(ACE_dogtag,164); + ACE_DOGTAG_ITEM(ACE_dogtag,165); + ACE_DOGTAG_ITEM(ACE_dogtag,166); + ACE_DOGTAG_ITEM(ACE_dogtag,167); + ACE_DOGTAG_ITEM(ACE_dogtag,168); + ACE_DOGTAG_ITEM(ACE_dogtag,169); + ACE_DOGTAG_ITEM(ACE_dogtag,170); + ACE_DOGTAG_ITEM(ACE_dogtag,171); + ACE_DOGTAG_ITEM(ACE_dogtag,172); + ACE_DOGTAG_ITEM(ACE_dogtag,173); + ACE_DOGTAG_ITEM(ACE_dogtag,174); + ACE_DOGTAG_ITEM(ACE_dogtag,175); + ACE_DOGTAG_ITEM(ACE_dogtag,176); + ACE_DOGTAG_ITEM(ACE_dogtag,177); + ACE_DOGTAG_ITEM(ACE_dogtag,178); + ACE_DOGTAG_ITEM(ACE_dogtag,179); + ACE_DOGTAG_ITEM(ACE_dogtag,180); + ACE_DOGTAG_ITEM(ACE_dogtag,181); + ACE_DOGTAG_ITEM(ACE_dogtag,182); + ACE_DOGTAG_ITEM(ACE_dogtag,183); + ACE_DOGTAG_ITEM(ACE_dogtag,184); + ACE_DOGTAG_ITEM(ACE_dogtag,185); + ACE_DOGTAG_ITEM(ACE_dogtag,186); + ACE_DOGTAG_ITEM(ACE_dogtag,187); + ACE_DOGTAG_ITEM(ACE_dogtag,188); + ACE_DOGTAG_ITEM(ACE_dogtag,189); + ACE_DOGTAG_ITEM(ACE_dogtag,190); + ACE_DOGTAG_ITEM(ACE_dogtag,191); + ACE_DOGTAG_ITEM(ACE_dogtag,192); + ACE_DOGTAG_ITEM(ACE_dogtag,193); + ACE_DOGTAG_ITEM(ACE_dogtag,194); + ACE_DOGTAG_ITEM(ACE_dogtag,195); + ACE_DOGTAG_ITEM(ACE_dogtag,196); + ACE_DOGTAG_ITEM(ACE_dogtag,197); + ACE_DOGTAG_ITEM(ACE_dogtag,198); + ACE_DOGTAG_ITEM(ACE_dogtag,199); + ACE_DOGTAG_ITEM(ACE_dogtag,200); + ACE_DOGTAG_ITEM(ACE_dogtag,201); + ACE_DOGTAG_ITEM(ACE_dogtag,202); + ACE_DOGTAG_ITEM(ACE_dogtag,203); + ACE_DOGTAG_ITEM(ACE_dogtag,204); + ACE_DOGTAG_ITEM(ACE_dogtag,205); + ACE_DOGTAG_ITEM(ACE_dogtag,206); + ACE_DOGTAG_ITEM(ACE_dogtag,207); + ACE_DOGTAG_ITEM(ACE_dogtag,208); + ACE_DOGTAG_ITEM(ACE_dogtag,209); + ACE_DOGTAG_ITEM(ACE_dogtag,210); + ACE_DOGTAG_ITEM(ACE_dogtag,211); + ACE_DOGTAG_ITEM(ACE_dogtag,212); + ACE_DOGTAG_ITEM(ACE_dogtag,213); + ACE_DOGTAG_ITEM(ACE_dogtag,214); + ACE_DOGTAG_ITEM(ACE_dogtag,215); + ACE_DOGTAG_ITEM(ACE_dogtag,216); + ACE_DOGTAG_ITEM(ACE_dogtag,217); + ACE_DOGTAG_ITEM(ACE_dogtag,218); + ACE_DOGTAG_ITEM(ACE_dogtag,219); + ACE_DOGTAG_ITEM(ACE_dogtag,220); + ACE_DOGTAG_ITEM(ACE_dogtag,221); + ACE_DOGTAG_ITEM(ACE_dogtag,222); + ACE_DOGTAG_ITEM(ACE_dogtag,223); + ACE_DOGTAG_ITEM(ACE_dogtag,224); + ACE_DOGTAG_ITEM(ACE_dogtag,225); + ACE_DOGTAG_ITEM(ACE_dogtag,226); + ACE_DOGTAG_ITEM(ACE_dogtag,227); + ACE_DOGTAG_ITEM(ACE_dogtag,228); + ACE_DOGTAG_ITEM(ACE_dogtag,229); + ACE_DOGTAG_ITEM(ACE_dogtag,230); + ACE_DOGTAG_ITEM(ACE_dogtag,231); + ACE_DOGTAG_ITEM(ACE_dogtag,232); + ACE_DOGTAG_ITEM(ACE_dogtag,233); + ACE_DOGTAG_ITEM(ACE_dogtag,234); + ACE_DOGTAG_ITEM(ACE_dogtag,235); + ACE_DOGTAG_ITEM(ACE_dogtag,236); + ACE_DOGTAG_ITEM(ACE_dogtag,237); + ACE_DOGTAG_ITEM(ACE_dogtag,238); + ACE_DOGTAG_ITEM(ACE_dogtag,239); + ACE_DOGTAG_ITEM(ACE_dogtag,240); + ACE_DOGTAG_ITEM(ACE_dogtag,241); + ACE_DOGTAG_ITEM(ACE_dogtag,242); + ACE_DOGTAG_ITEM(ACE_dogtag,243); + ACE_DOGTAG_ITEM(ACE_dogtag,244); + ACE_DOGTAG_ITEM(ACE_dogtag,245); + ACE_DOGTAG_ITEM(ACE_dogtag,246); + ACE_DOGTAG_ITEM(ACE_dogtag,247); + ACE_DOGTAG_ITEM(ACE_dogtag,248); + ACE_DOGTAG_ITEM(ACE_dogtag,249); + ACE_DOGTAG_ITEM(ACE_dogtag,250); + ACE_DOGTAG_ITEM(ACE_dogtag,251); + ACE_DOGTAG_ITEM(ACE_dogtag,252); + ACE_DOGTAG_ITEM(ACE_dogtag,253); + ACE_DOGTAG_ITEM(ACE_dogtag,254); + ACE_DOGTAG_ITEM(ACE_dogtag,255); + ACE_DOGTAG_ITEM(ACE_dogtag,256); + ACE_DOGTAG_ITEM(ACE_dogtag,257); + ACE_DOGTAG_ITEM(ACE_dogtag,258); + ACE_DOGTAG_ITEM(ACE_dogtag,259); + ACE_DOGTAG_ITEM(ACE_dogtag,260); + ACE_DOGTAG_ITEM(ACE_dogtag,261); + ACE_DOGTAG_ITEM(ACE_dogtag,262); + ACE_DOGTAG_ITEM(ACE_dogtag,263); + ACE_DOGTAG_ITEM(ACE_dogtag,264); + ACE_DOGTAG_ITEM(ACE_dogtag,265); + ACE_DOGTAG_ITEM(ACE_dogtag,266); + ACE_DOGTAG_ITEM(ACE_dogtag,267); + ACE_DOGTAG_ITEM(ACE_dogtag,268); + ACE_DOGTAG_ITEM(ACE_dogtag,269); + ACE_DOGTAG_ITEM(ACE_dogtag,270); + ACE_DOGTAG_ITEM(ACE_dogtag,271); + ACE_DOGTAG_ITEM(ACE_dogtag,272); + ACE_DOGTAG_ITEM(ACE_dogtag,273); + ACE_DOGTAG_ITEM(ACE_dogtag,274); + ACE_DOGTAG_ITEM(ACE_dogtag,275); + ACE_DOGTAG_ITEM(ACE_dogtag,276); + ACE_DOGTAG_ITEM(ACE_dogtag,277); + ACE_DOGTAG_ITEM(ACE_dogtag,278); + ACE_DOGTAG_ITEM(ACE_dogtag,279); + ACE_DOGTAG_ITEM(ACE_dogtag,280); + ACE_DOGTAG_ITEM(ACE_dogtag,281); + ACE_DOGTAG_ITEM(ACE_dogtag,282); + ACE_DOGTAG_ITEM(ACE_dogtag,283); + ACE_DOGTAG_ITEM(ACE_dogtag,284); + ACE_DOGTAG_ITEM(ACE_dogtag,285); + ACE_DOGTAG_ITEM(ACE_dogtag,286); + ACE_DOGTAG_ITEM(ACE_dogtag,287); + ACE_DOGTAG_ITEM(ACE_dogtag,288); + ACE_DOGTAG_ITEM(ACE_dogtag,289); + ACE_DOGTAG_ITEM(ACE_dogtag,290); + ACE_DOGTAG_ITEM(ACE_dogtag,291); + ACE_DOGTAG_ITEM(ACE_dogtag,292); + ACE_DOGTAG_ITEM(ACE_dogtag,293); + ACE_DOGTAG_ITEM(ACE_dogtag,294); + ACE_DOGTAG_ITEM(ACE_dogtag,295); + ACE_DOGTAG_ITEM(ACE_dogtag,296); + ACE_DOGTAG_ITEM(ACE_dogtag,297); + ACE_DOGTAG_ITEM(ACE_dogtag,298); + ACE_DOGTAG_ITEM(ACE_dogtag,299); + ACE_DOGTAG_ITEM(ACE_dogtag,300); + ACE_DOGTAG_ITEM(ACE_dogtag,301); + ACE_DOGTAG_ITEM(ACE_dogtag,302); + ACE_DOGTAG_ITEM(ACE_dogtag,303); + ACE_DOGTAG_ITEM(ACE_dogtag,304); + ACE_DOGTAG_ITEM(ACE_dogtag,305); + ACE_DOGTAG_ITEM(ACE_dogtag,306); + ACE_DOGTAG_ITEM(ACE_dogtag,307); + ACE_DOGTAG_ITEM(ACE_dogtag,308); + ACE_DOGTAG_ITEM(ACE_dogtag,309); + ACE_DOGTAG_ITEM(ACE_dogtag,310); + ACE_DOGTAG_ITEM(ACE_dogtag,311); + ACE_DOGTAG_ITEM(ACE_dogtag,312); + ACE_DOGTAG_ITEM(ACE_dogtag,313); + ACE_DOGTAG_ITEM(ACE_dogtag,314); + ACE_DOGTAG_ITEM(ACE_dogtag,315); + ACE_DOGTAG_ITEM(ACE_dogtag,316); + ACE_DOGTAG_ITEM(ACE_dogtag,317); + ACE_DOGTAG_ITEM(ACE_dogtag,318); + ACE_DOGTAG_ITEM(ACE_dogtag,319); + ACE_DOGTAG_ITEM(ACE_dogtag,320); + ACE_DOGTAG_ITEM(ACE_dogtag,321); + ACE_DOGTAG_ITEM(ACE_dogtag,322); + ACE_DOGTAG_ITEM(ACE_dogtag,323); + ACE_DOGTAG_ITEM(ACE_dogtag,324); + ACE_DOGTAG_ITEM(ACE_dogtag,325); + ACE_DOGTAG_ITEM(ACE_dogtag,326); + ACE_DOGTAG_ITEM(ACE_dogtag,327); + ACE_DOGTAG_ITEM(ACE_dogtag,328); + ACE_DOGTAG_ITEM(ACE_dogtag,329); + ACE_DOGTAG_ITEM(ACE_dogtag,330); + ACE_DOGTAG_ITEM(ACE_dogtag,331); + ACE_DOGTAG_ITEM(ACE_dogtag,332); + ACE_DOGTAG_ITEM(ACE_dogtag,333); + ACE_DOGTAG_ITEM(ACE_dogtag,334); + ACE_DOGTAG_ITEM(ACE_dogtag,335); + ACE_DOGTAG_ITEM(ACE_dogtag,336); + ACE_DOGTAG_ITEM(ACE_dogtag,337); + ACE_DOGTAG_ITEM(ACE_dogtag,338); + ACE_DOGTAG_ITEM(ACE_dogtag,339); + ACE_DOGTAG_ITEM(ACE_dogtag,340); + ACE_DOGTAG_ITEM(ACE_dogtag,341); + ACE_DOGTAG_ITEM(ACE_dogtag,342); + ACE_DOGTAG_ITEM(ACE_dogtag,343); + ACE_DOGTAG_ITEM(ACE_dogtag,344); + ACE_DOGTAG_ITEM(ACE_dogtag,345); + ACE_DOGTAG_ITEM(ACE_dogtag,346); + ACE_DOGTAG_ITEM(ACE_dogtag,347); + ACE_DOGTAG_ITEM(ACE_dogtag,348); + ACE_DOGTAG_ITEM(ACE_dogtag,349); + ACE_DOGTAG_ITEM(ACE_dogtag,350); + ACE_DOGTAG_ITEM(ACE_dogtag,351); + ACE_DOGTAG_ITEM(ACE_dogtag,352); + ACE_DOGTAG_ITEM(ACE_dogtag,353); + ACE_DOGTAG_ITEM(ACE_dogtag,354); + ACE_DOGTAG_ITEM(ACE_dogtag,355); + ACE_DOGTAG_ITEM(ACE_dogtag,356); + ACE_DOGTAG_ITEM(ACE_dogtag,357); + ACE_DOGTAG_ITEM(ACE_dogtag,358); + ACE_DOGTAG_ITEM(ACE_dogtag,359); + ACE_DOGTAG_ITEM(ACE_dogtag,360); + ACE_DOGTAG_ITEM(ACE_dogtag,361); + ACE_DOGTAG_ITEM(ACE_dogtag,362); + ACE_DOGTAG_ITEM(ACE_dogtag,363); + ACE_DOGTAG_ITEM(ACE_dogtag,364); + ACE_DOGTAG_ITEM(ACE_dogtag,365); + ACE_DOGTAG_ITEM(ACE_dogtag,366); + ACE_DOGTAG_ITEM(ACE_dogtag,367); + ACE_DOGTAG_ITEM(ACE_dogtag,368); + ACE_DOGTAG_ITEM(ACE_dogtag,369); + ACE_DOGTAG_ITEM(ACE_dogtag,370); + ACE_DOGTAG_ITEM(ACE_dogtag,371); + ACE_DOGTAG_ITEM(ACE_dogtag,372); + ACE_DOGTAG_ITEM(ACE_dogtag,373); + ACE_DOGTAG_ITEM(ACE_dogtag,374); + ACE_DOGTAG_ITEM(ACE_dogtag,375); + ACE_DOGTAG_ITEM(ACE_dogtag,376); + ACE_DOGTAG_ITEM(ACE_dogtag,377); + ACE_DOGTAG_ITEM(ACE_dogtag,378); + ACE_DOGTAG_ITEM(ACE_dogtag,379); + ACE_DOGTAG_ITEM(ACE_dogtag,380); + ACE_DOGTAG_ITEM(ACE_dogtag,381); + ACE_DOGTAG_ITEM(ACE_dogtag,382); + ACE_DOGTAG_ITEM(ACE_dogtag,383); + ACE_DOGTAG_ITEM(ACE_dogtag,384); + ACE_DOGTAG_ITEM(ACE_dogtag,385); + ACE_DOGTAG_ITEM(ACE_dogtag,386); + ACE_DOGTAG_ITEM(ACE_dogtag,387); + ACE_DOGTAG_ITEM(ACE_dogtag,388); + ACE_DOGTAG_ITEM(ACE_dogtag,389); + ACE_DOGTAG_ITEM(ACE_dogtag,390); + ACE_DOGTAG_ITEM(ACE_dogtag,391); + ACE_DOGTAG_ITEM(ACE_dogtag,392); + ACE_DOGTAG_ITEM(ACE_dogtag,393); + ACE_DOGTAG_ITEM(ACE_dogtag,394); + ACE_DOGTAG_ITEM(ACE_dogtag,395); + ACE_DOGTAG_ITEM(ACE_dogtag,396); + ACE_DOGTAG_ITEM(ACE_dogtag,397); + ACE_DOGTAG_ITEM(ACE_dogtag,398); + ACE_DOGTAG_ITEM(ACE_dogtag,399); + ACE_DOGTAG_ITEM(ACE_dogtag,400); + ACE_DOGTAG_ITEM(ACE_dogtag,401); + ACE_DOGTAG_ITEM(ACE_dogtag,402); + ACE_DOGTAG_ITEM(ACE_dogtag,403); + ACE_DOGTAG_ITEM(ACE_dogtag,404); + ACE_DOGTAG_ITEM(ACE_dogtag,405); + ACE_DOGTAG_ITEM(ACE_dogtag,406); + ACE_DOGTAG_ITEM(ACE_dogtag,407); + ACE_DOGTAG_ITEM(ACE_dogtag,408); + ACE_DOGTAG_ITEM(ACE_dogtag,409); + ACE_DOGTAG_ITEM(ACE_dogtag,410); + ACE_DOGTAG_ITEM(ACE_dogtag,411); + ACE_DOGTAG_ITEM(ACE_dogtag,412); + ACE_DOGTAG_ITEM(ACE_dogtag,413); + ACE_DOGTAG_ITEM(ACE_dogtag,414); + ACE_DOGTAG_ITEM(ACE_dogtag,415); + ACE_DOGTAG_ITEM(ACE_dogtag,416); + ACE_DOGTAG_ITEM(ACE_dogtag,417); + ACE_DOGTAG_ITEM(ACE_dogtag,418); + ACE_DOGTAG_ITEM(ACE_dogtag,419); + ACE_DOGTAG_ITEM(ACE_dogtag,420); + ACE_DOGTAG_ITEM(ACE_dogtag,421); + ACE_DOGTAG_ITEM(ACE_dogtag,422); + ACE_DOGTAG_ITEM(ACE_dogtag,423); + ACE_DOGTAG_ITEM(ACE_dogtag,424); + ACE_DOGTAG_ITEM(ACE_dogtag,425); + ACE_DOGTAG_ITEM(ACE_dogtag,426); + ACE_DOGTAG_ITEM(ACE_dogtag,427); + ACE_DOGTAG_ITEM(ACE_dogtag,428); + ACE_DOGTAG_ITEM(ACE_dogtag,429); + ACE_DOGTAG_ITEM(ACE_dogtag,430); + ACE_DOGTAG_ITEM(ACE_dogtag,431); + ACE_DOGTAG_ITEM(ACE_dogtag,432); + ACE_DOGTAG_ITEM(ACE_dogtag,433); + ACE_DOGTAG_ITEM(ACE_dogtag,434); + ACE_DOGTAG_ITEM(ACE_dogtag,435); + ACE_DOGTAG_ITEM(ACE_dogtag,436); + ACE_DOGTAG_ITEM(ACE_dogtag,437); + ACE_DOGTAG_ITEM(ACE_dogtag,438); + ACE_DOGTAG_ITEM(ACE_dogtag,439); + ACE_DOGTAG_ITEM(ACE_dogtag,440); + ACE_DOGTAG_ITEM(ACE_dogtag,441); + ACE_DOGTAG_ITEM(ACE_dogtag,442); + ACE_DOGTAG_ITEM(ACE_dogtag,443); + ACE_DOGTAG_ITEM(ACE_dogtag,444); + ACE_DOGTAG_ITEM(ACE_dogtag,445); + ACE_DOGTAG_ITEM(ACE_dogtag,446); + ACE_DOGTAG_ITEM(ACE_dogtag,447); + ACE_DOGTAG_ITEM(ACE_dogtag,448); + ACE_DOGTAG_ITEM(ACE_dogtag,449); + ACE_DOGTAG_ITEM(ACE_dogtag,450); + ACE_DOGTAG_ITEM(ACE_dogtag,451); + ACE_DOGTAG_ITEM(ACE_dogtag,452); + ACE_DOGTAG_ITEM(ACE_dogtag,453); + ACE_DOGTAG_ITEM(ACE_dogtag,454); + ACE_DOGTAG_ITEM(ACE_dogtag,455); + ACE_DOGTAG_ITEM(ACE_dogtag,456); + ACE_DOGTAG_ITEM(ACE_dogtag,457); + ACE_DOGTAG_ITEM(ACE_dogtag,458); + ACE_DOGTAG_ITEM(ACE_dogtag,459); + ACE_DOGTAG_ITEM(ACE_dogtag,460); + ACE_DOGTAG_ITEM(ACE_dogtag,461); + ACE_DOGTAG_ITEM(ACE_dogtag,462); + ACE_DOGTAG_ITEM(ACE_dogtag,463); + ACE_DOGTAG_ITEM(ACE_dogtag,464); + ACE_DOGTAG_ITEM(ACE_dogtag,465); + ACE_DOGTAG_ITEM(ACE_dogtag,466); + ACE_DOGTAG_ITEM(ACE_dogtag,467); + ACE_DOGTAG_ITEM(ACE_dogtag,468); + ACE_DOGTAG_ITEM(ACE_dogtag,469); + ACE_DOGTAG_ITEM(ACE_dogtag,470); + ACE_DOGTAG_ITEM(ACE_dogtag,471); + ACE_DOGTAG_ITEM(ACE_dogtag,472); + ACE_DOGTAG_ITEM(ACE_dogtag,473); + ACE_DOGTAG_ITEM(ACE_dogtag,474); + ACE_DOGTAG_ITEM(ACE_dogtag,475); + ACE_DOGTAG_ITEM(ACE_dogtag,476); + ACE_DOGTAG_ITEM(ACE_dogtag,477); + ACE_DOGTAG_ITEM(ACE_dogtag,478); + ACE_DOGTAG_ITEM(ACE_dogtag,479); + ACE_DOGTAG_ITEM(ACE_dogtag,480); + ACE_DOGTAG_ITEM(ACE_dogtag,481); + ACE_DOGTAG_ITEM(ACE_dogtag,482); + ACE_DOGTAG_ITEM(ACE_dogtag,483); + ACE_DOGTAG_ITEM(ACE_dogtag,484); + ACE_DOGTAG_ITEM(ACE_dogtag,485); + ACE_DOGTAG_ITEM(ACE_dogtag,486); + ACE_DOGTAG_ITEM(ACE_dogtag,487); + ACE_DOGTAG_ITEM(ACE_dogtag,488); + ACE_DOGTAG_ITEM(ACE_dogtag,489); + ACE_DOGTAG_ITEM(ACE_dogtag,490); + ACE_DOGTAG_ITEM(ACE_dogtag,491); + ACE_DOGTAG_ITEM(ACE_dogtag,492); + ACE_DOGTAG_ITEM(ACE_dogtag,493); + ACE_DOGTAG_ITEM(ACE_dogtag,494); + ACE_DOGTAG_ITEM(ACE_dogtag,495); + ACE_DOGTAG_ITEM(ACE_dogtag,496); + ACE_DOGTAG_ITEM(ACE_dogtag,497); + ACE_DOGTAG_ITEM(ACE_dogtag,498); + ACE_DOGTAG_ITEM(ACE_dogtag,499); + ACE_DOGTAG_ITEM(ACE_dogtag,500); + ACE_DOGTAG_ITEM(ACE_dogtag,501); + ACE_DOGTAG_ITEM(ACE_dogtag,502); + ACE_DOGTAG_ITEM(ACE_dogtag,503); + ACE_DOGTAG_ITEM(ACE_dogtag,504); + ACE_DOGTAG_ITEM(ACE_dogtag,505); + ACE_DOGTAG_ITEM(ACE_dogtag,506); + ACE_DOGTAG_ITEM(ACE_dogtag,507); + ACE_DOGTAG_ITEM(ACE_dogtag,508); + ACE_DOGTAG_ITEM(ACE_dogtag,509); + ACE_DOGTAG_ITEM(ACE_dogtag,510); + ACE_DOGTAG_ITEM(ACE_dogtag,511); + ACE_DOGTAG_ITEM(ACE_dogtag,512); + ACE_DOGTAG_ITEM(ACE_dogtag,513); + ACE_DOGTAG_ITEM(ACE_dogtag,514); + ACE_DOGTAG_ITEM(ACE_dogtag,515); + ACE_DOGTAG_ITEM(ACE_dogtag,516); + ACE_DOGTAG_ITEM(ACE_dogtag,517); + ACE_DOGTAG_ITEM(ACE_dogtag,518); + ACE_DOGTAG_ITEM(ACE_dogtag,519); + ACE_DOGTAG_ITEM(ACE_dogtag,520); + ACE_DOGTAG_ITEM(ACE_dogtag,521); + ACE_DOGTAG_ITEM(ACE_dogtag,522); + ACE_DOGTAG_ITEM(ACE_dogtag,523); + ACE_DOGTAG_ITEM(ACE_dogtag,524); + ACE_DOGTAG_ITEM(ACE_dogtag,525); + ACE_DOGTAG_ITEM(ACE_dogtag,526); + ACE_DOGTAG_ITEM(ACE_dogtag,527); + ACE_DOGTAG_ITEM(ACE_dogtag,528); + ACE_DOGTAG_ITEM(ACE_dogtag,529); + ACE_DOGTAG_ITEM(ACE_dogtag,530); + ACE_DOGTAG_ITEM(ACE_dogtag,531); + ACE_DOGTAG_ITEM(ACE_dogtag,532); + ACE_DOGTAG_ITEM(ACE_dogtag,533); + ACE_DOGTAG_ITEM(ACE_dogtag,534); + ACE_DOGTAG_ITEM(ACE_dogtag,535); + ACE_DOGTAG_ITEM(ACE_dogtag,536); + ACE_DOGTAG_ITEM(ACE_dogtag,537); + ACE_DOGTAG_ITEM(ACE_dogtag,538); + ACE_DOGTAG_ITEM(ACE_dogtag,539); + ACE_DOGTAG_ITEM(ACE_dogtag,540); + ACE_DOGTAG_ITEM(ACE_dogtag,541); + ACE_DOGTAG_ITEM(ACE_dogtag,542); + ACE_DOGTAG_ITEM(ACE_dogtag,543); + ACE_DOGTAG_ITEM(ACE_dogtag,544); + ACE_DOGTAG_ITEM(ACE_dogtag,545); + ACE_DOGTAG_ITEM(ACE_dogtag,546); + ACE_DOGTAG_ITEM(ACE_dogtag,547); + ACE_DOGTAG_ITEM(ACE_dogtag,548); + ACE_DOGTAG_ITEM(ACE_dogtag,549); + ACE_DOGTAG_ITEM(ACE_dogtag,550); + ACE_DOGTAG_ITEM(ACE_dogtag,551); + ACE_DOGTAG_ITEM(ACE_dogtag,552); + ACE_DOGTAG_ITEM(ACE_dogtag,553); + ACE_DOGTAG_ITEM(ACE_dogtag,554); + ACE_DOGTAG_ITEM(ACE_dogtag,555); + ACE_DOGTAG_ITEM(ACE_dogtag,556); + ACE_DOGTAG_ITEM(ACE_dogtag,557); + ACE_DOGTAG_ITEM(ACE_dogtag,558); + ACE_DOGTAG_ITEM(ACE_dogtag,559); + ACE_DOGTAG_ITEM(ACE_dogtag,560); + ACE_DOGTAG_ITEM(ACE_dogtag,561); + ACE_DOGTAG_ITEM(ACE_dogtag,562); + ACE_DOGTAG_ITEM(ACE_dogtag,563); + ACE_DOGTAG_ITEM(ACE_dogtag,564); + ACE_DOGTAG_ITEM(ACE_dogtag,565); + ACE_DOGTAG_ITEM(ACE_dogtag,566); + ACE_DOGTAG_ITEM(ACE_dogtag,567); + ACE_DOGTAG_ITEM(ACE_dogtag,568); + ACE_DOGTAG_ITEM(ACE_dogtag,569); + ACE_DOGTAG_ITEM(ACE_dogtag,570); + ACE_DOGTAG_ITEM(ACE_dogtag,571); + ACE_DOGTAG_ITEM(ACE_dogtag,572); + ACE_DOGTAG_ITEM(ACE_dogtag,573); + ACE_DOGTAG_ITEM(ACE_dogtag,574); + ACE_DOGTAG_ITEM(ACE_dogtag,575); + ACE_DOGTAG_ITEM(ACE_dogtag,576); + ACE_DOGTAG_ITEM(ACE_dogtag,577); + ACE_DOGTAG_ITEM(ACE_dogtag,578); + ACE_DOGTAG_ITEM(ACE_dogtag,579); + ACE_DOGTAG_ITEM(ACE_dogtag,580); + ACE_DOGTAG_ITEM(ACE_dogtag,581); + ACE_DOGTAG_ITEM(ACE_dogtag,582); + ACE_DOGTAG_ITEM(ACE_dogtag,583); + ACE_DOGTAG_ITEM(ACE_dogtag,584); + ACE_DOGTAG_ITEM(ACE_dogtag,585); + ACE_DOGTAG_ITEM(ACE_dogtag,586); + ACE_DOGTAG_ITEM(ACE_dogtag,587); + ACE_DOGTAG_ITEM(ACE_dogtag,588); + ACE_DOGTAG_ITEM(ACE_dogtag,589); + ACE_DOGTAG_ITEM(ACE_dogtag,590); + ACE_DOGTAG_ITEM(ACE_dogtag,591); + ACE_DOGTAG_ITEM(ACE_dogtag,592); + ACE_DOGTAG_ITEM(ACE_dogtag,593); + ACE_DOGTAG_ITEM(ACE_dogtag,594); + ACE_DOGTAG_ITEM(ACE_dogtag,595); + ACE_DOGTAG_ITEM(ACE_dogtag,596); + ACE_DOGTAG_ITEM(ACE_dogtag,597); + ACE_DOGTAG_ITEM(ACE_dogtag,598); + ACE_DOGTAG_ITEM(ACE_dogtag,599); + ACE_DOGTAG_ITEM(ACE_dogtag,600); + ACE_DOGTAG_ITEM(ACE_dogtag,601); + ACE_DOGTAG_ITEM(ACE_dogtag,602); + ACE_DOGTAG_ITEM(ACE_dogtag,603); + ACE_DOGTAG_ITEM(ACE_dogtag,604); + ACE_DOGTAG_ITEM(ACE_dogtag,605); + ACE_DOGTAG_ITEM(ACE_dogtag,606); + ACE_DOGTAG_ITEM(ACE_dogtag,607); + ACE_DOGTAG_ITEM(ACE_dogtag,608); + ACE_DOGTAG_ITEM(ACE_dogtag,609); + ACE_DOGTAG_ITEM(ACE_dogtag,610); + ACE_DOGTAG_ITEM(ACE_dogtag,611); + ACE_DOGTAG_ITEM(ACE_dogtag,612); + ACE_DOGTAG_ITEM(ACE_dogtag,613); + ACE_DOGTAG_ITEM(ACE_dogtag,614); + ACE_DOGTAG_ITEM(ACE_dogtag,615); + ACE_DOGTAG_ITEM(ACE_dogtag,616); + ACE_DOGTAG_ITEM(ACE_dogtag,617); + ACE_DOGTAG_ITEM(ACE_dogtag,618); + ACE_DOGTAG_ITEM(ACE_dogtag,619); + ACE_DOGTAG_ITEM(ACE_dogtag,620); + ACE_DOGTAG_ITEM(ACE_dogtag,621); + ACE_DOGTAG_ITEM(ACE_dogtag,622); + ACE_DOGTAG_ITEM(ACE_dogtag,623); + ACE_DOGTAG_ITEM(ACE_dogtag,624); + ACE_DOGTAG_ITEM(ACE_dogtag,625); + ACE_DOGTAG_ITEM(ACE_dogtag,626); + ACE_DOGTAG_ITEM(ACE_dogtag,627); + ACE_DOGTAG_ITEM(ACE_dogtag,628); + ACE_DOGTAG_ITEM(ACE_dogtag,629); + ACE_DOGTAG_ITEM(ACE_dogtag,630); + ACE_DOGTAG_ITEM(ACE_dogtag,631); + ACE_DOGTAG_ITEM(ACE_dogtag,632); + ACE_DOGTAG_ITEM(ACE_dogtag,633); + ACE_DOGTAG_ITEM(ACE_dogtag,634); + ACE_DOGTAG_ITEM(ACE_dogtag,635); + ACE_DOGTAG_ITEM(ACE_dogtag,636); + ACE_DOGTAG_ITEM(ACE_dogtag,637); + ACE_DOGTAG_ITEM(ACE_dogtag,638); + ACE_DOGTAG_ITEM(ACE_dogtag,639); + ACE_DOGTAG_ITEM(ACE_dogtag,640); + ACE_DOGTAG_ITEM(ACE_dogtag,641); + ACE_DOGTAG_ITEM(ACE_dogtag,642); + ACE_DOGTAG_ITEM(ACE_dogtag,643); + ACE_DOGTAG_ITEM(ACE_dogtag,644); + ACE_DOGTAG_ITEM(ACE_dogtag,645); + ACE_DOGTAG_ITEM(ACE_dogtag,646); + ACE_DOGTAG_ITEM(ACE_dogtag,647); + ACE_DOGTAG_ITEM(ACE_dogtag,648); + ACE_DOGTAG_ITEM(ACE_dogtag,649); + ACE_DOGTAG_ITEM(ACE_dogtag,650); + ACE_DOGTAG_ITEM(ACE_dogtag,651); + ACE_DOGTAG_ITEM(ACE_dogtag,652); + ACE_DOGTAG_ITEM(ACE_dogtag,653); + ACE_DOGTAG_ITEM(ACE_dogtag,654); + ACE_DOGTAG_ITEM(ACE_dogtag,655); + ACE_DOGTAG_ITEM(ACE_dogtag,656); + ACE_DOGTAG_ITEM(ACE_dogtag,657); + ACE_DOGTAG_ITEM(ACE_dogtag,658); + ACE_DOGTAG_ITEM(ACE_dogtag,659); + ACE_DOGTAG_ITEM(ACE_dogtag,660); + ACE_DOGTAG_ITEM(ACE_dogtag,661); + ACE_DOGTAG_ITEM(ACE_dogtag,662); + ACE_DOGTAG_ITEM(ACE_dogtag,663); + ACE_DOGTAG_ITEM(ACE_dogtag,664); + ACE_DOGTAG_ITEM(ACE_dogtag,665); + ACE_DOGTAG_ITEM(ACE_dogtag,666); + ACE_DOGTAG_ITEM(ACE_dogtag,667); + ACE_DOGTAG_ITEM(ACE_dogtag,668); + ACE_DOGTAG_ITEM(ACE_dogtag,669); + ACE_DOGTAG_ITEM(ACE_dogtag,670); + ACE_DOGTAG_ITEM(ACE_dogtag,671); + ACE_DOGTAG_ITEM(ACE_dogtag,672); + ACE_DOGTAG_ITEM(ACE_dogtag,673); + ACE_DOGTAG_ITEM(ACE_dogtag,674); + ACE_DOGTAG_ITEM(ACE_dogtag,675); + ACE_DOGTAG_ITEM(ACE_dogtag,676); + ACE_DOGTAG_ITEM(ACE_dogtag,677); + ACE_DOGTAG_ITEM(ACE_dogtag,678); + ACE_DOGTAG_ITEM(ACE_dogtag,679); + ACE_DOGTAG_ITEM(ACE_dogtag,680); + ACE_DOGTAG_ITEM(ACE_dogtag,681); + ACE_DOGTAG_ITEM(ACE_dogtag,682); + ACE_DOGTAG_ITEM(ACE_dogtag,683); + ACE_DOGTAG_ITEM(ACE_dogtag,684); + ACE_DOGTAG_ITEM(ACE_dogtag,685); + ACE_DOGTAG_ITEM(ACE_dogtag,686); + ACE_DOGTAG_ITEM(ACE_dogtag,687); + ACE_DOGTAG_ITEM(ACE_dogtag,688); + ACE_DOGTAG_ITEM(ACE_dogtag,689); + ACE_DOGTAG_ITEM(ACE_dogtag,690); + ACE_DOGTAG_ITEM(ACE_dogtag,691); + ACE_DOGTAG_ITEM(ACE_dogtag,692); + ACE_DOGTAG_ITEM(ACE_dogtag,693); + ACE_DOGTAG_ITEM(ACE_dogtag,694); + ACE_DOGTAG_ITEM(ACE_dogtag,695); + ACE_DOGTAG_ITEM(ACE_dogtag,696); + ACE_DOGTAG_ITEM(ACE_dogtag,697); + ACE_DOGTAG_ITEM(ACE_dogtag,698); + ACE_DOGTAG_ITEM(ACE_dogtag,699); + ACE_DOGTAG_ITEM(ACE_dogtag,700); + ACE_DOGTAG_ITEM(ACE_dogtag,701); + ACE_DOGTAG_ITEM(ACE_dogtag,702); + ACE_DOGTAG_ITEM(ACE_dogtag,703); + ACE_DOGTAG_ITEM(ACE_dogtag,704); + ACE_DOGTAG_ITEM(ACE_dogtag,705); + ACE_DOGTAG_ITEM(ACE_dogtag,706); + ACE_DOGTAG_ITEM(ACE_dogtag,707); + ACE_DOGTAG_ITEM(ACE_dogtag,708); + ACE_DOGTAG_ITEM(ACE_dogtag,709); + ACE_DOGTAG_ITEM(ACE_dogtag,710); + ACE_DOGTAG_ITEM(ACE_dogtag,711); + ACE_DOGTAG_ITEM(ACE_dogtag,712); + ACE_DOGTAG_ITEM(ACE_dogtag,713); + ACE_DOGTAG_ITEM(ACE_dogtag,714); + ACE_DOGTAG_ITEM(ACE_dogtag,715); + ACE_DOGTAG_ITEM(ACE_dogtag,716); + ACE_DOGTAG_ITEM(ACE_dogtag,717); + ACE_DOGTAG_ITEM(ACE_dogtag,718); + ACE_DOGTAG_ITEM(ACE_dogtag,719); + ACE_DOGTAG_ITEM(ACE_dogtag,720); + ACE_DOGTAG_ITEM(ACE_dogtag,721); + ACE_DOGTAG_ITEM(ACE_dogtag,722); + ACE_DOGTAG_ITEM(ACE_dogtag,723); + ACE_DOGTAG_ITEM(ACE_dogtag,724); + ACE_DOGTAG_ITEM(ACE_dogtag,725); + ACE_DOGTAG_ITEM(ACE_dogtag,726); + ACE_DOGTAG_ITEM(ACE_dogtag,727); + ACE_DOGTAG_ITEM(ACE_dogtag,728); + ACE_DOGTAG_ITEM(ACE_dogtag,729); + ACE_DOGTAG_ITEM(ACE_dogtag,730); + ACE_DOGTAG_ITEM(ACE_dogtag,731); + ACE_DOGTAG_ITEM(ACE_dogtag,732); + ACE_DOGTAG_ITEM(ACE_dogtag,733); + ACE_DOGTAG_ITEM(ACE_dogtag,734); + ACE_DOGTAG_ITEM(ACE_dogtag,735); + ACE_DOGTAG_ITEM(ACE_dogtag,736); + ACE_DOGTAG_ITEM(ACE_dogtag,737); + ACE_DOGTAG_ITEM(ACE_dogtag,738); + ACE_DOGTAG_ITEM(ACE_dogtag,739); + ACE_DOGTAG_ITEM(ACE_dogtag,740); + ACE_DOGTAG_ITEM(ACE_dogtag,741); + ACE_DOGTAG_ITEM(ACE_dogtag,742); + ACE_DOGTAG_ITEM(ACE_dogtag,743); + ACE_DOGTAG_ITEM(ACE_dogtag,744); + ACE_DOGTAG_ITEM(ACE_dogtag,745); + ACE_DOGTAG_ITEM(ACE_dogtag,746); + ACE_DOGTAG_ITEM(ACE_dogtag,747); + ACE_DOGTAG_ITEM(ACE_dogtag,748); + ACE_DOGTAG_ITEM(ACE_dogtag,749); + ACE_DOGTAG_ITEM(ACE_dogtag,750); + ACE_DOGTAG_ITEM(ACE_dogtag,751); + ACE_DOGTAG_ITEM(ACE_dogtag,752); + ACE_DOGTAG_ITEM(ACE_dogtag,753); + ACE_DOGTAG_ITEM(ACE_dogtag,754); + ACE_DOGTAG_ITEM(ACE_dogtag,755); + ACE_DOGTAG_ITEM(ACE_dogtag,756); + ACE_DOGTAG_ITEM(ACE_dogtag,757); + ACE_DOGTAG_ITEM(ACE_dogtag,758); + ACE_DOGTAG_ITEM(ACE_dogtag,759); + ACE_DOGTAG_ITEM(ACE_dogtag,760); + ACE_DOGTAG_ITEM(ACE_dogtag,761); + ACE_DOGTAG_ITEM(ACE_dogtag,762); + ACE_DOGTAG_ITEM(ACE_dogtag,763); + ACE_DOGTAG_ITEM(ACE_dogtag,764); + ACE_DOGTAG_ITEM(ACE_dogtag,765); + ACE_DOGTAG_ITEM(ACE_dogtag,766); + ACE_DOGTAG_ITEM(ACE_dogtag,767); + ACE_DOGTAG_ITEM(ACE_dogtag,768); + ACE_DOGTAG_ITEM(ACE_dogtag,769); + ACE_DOGTAG_ITEM(ACE_dogtag,770); + ACE_DOGTAG_ITEM(ACE_dogtag,771); + ACE_DOGTAG_ITEM(ACE_dogtag,772); + ACE_DOGTAG_ITEM(ACE_dogtag,773); + ACE_DOGTAG_ITEM(ACE_dogtag,774); + ACE_DOGTAG_ITEM(ACE_dogtag,775); + ACE_DOGTAG_ITEM(ACE_dogtag,776); + ACE_DOGTAG_ITEM(ACE_dogtag,777); + ACE_DOGTAG_ITEM(ACE_dogtag,778); + ACE_DOGTAG_ITEM(ACE_dogtag,779); + ACE_DOGTAG_ITEM(ACE_dogtag,780); + ACE_DOGTAG_ITEM(ACE_dogtag,781); + ACE_DOGTAG_ITEM(ACE_dogtag,782); + ACE_DOGTAG_ITEM(ACE_dogtag,783); + ACE_DOGTAG_ITEM(ACE_dogtag,784); + ACE_DOGTAG_ITEM(ACE_dogtag,785); + ACE_DOGTAG_ITEM(ACE_dogtag,786); + ACE_DOGTAG_ITEM(ACE_dogtag,787); + ACE_DOGTAG_ITEM(ACE_dogtag,788); + ACE_DOGTAG_ITEM(ACE_dogtag,789); + ACE_DOGTAG_ITEM(ACE_dogtag,790); + ACE_DOGTAG_ITEM(ACE_dogtag,791); + ACE_DOGTAG_ITEM(ACE_dogtag,792); + ACE_DOGTAG_ITEM(ACE_dogtag,793); + ACE_DOGTAG_ITEM(ACE_dogtag,794); + ACE_DOGTAG_ITEM(ACE_dogtag,795); + ACE_DOGTAG_ITEM(ACE_dogtag,796); + ACE_DOGTAG_ITEM(ACE_dogtag,797); + ACE_DOGTAG_ITEM(ACE_dogtag,798); + ACE_DOGTAG_ITEM(ACE_dogtag,799); + ACE_DOGTAG_ITEM(ACE_dogtag,800); + ACE_DOGTAG_ITEM(ACE_dogtag,801); + ACE_DOGTAG_ITEM(ACE_dogtag,802); + ACE_DOGTAG_ITEM(ACE_dogtag,803); + ACE_DOGTAG_ITEM(ACE_dogtag,804); + ACE_DOGTAG_ITEM(ACE_dogtag,805); + ACE_DOGTAG_ITEM(ACE_dogtag,806); + ACE_DOGTAG_ITEM(ACE_dogtag,807); + ACE_DOGTAG_ITEM(ACE_dogtag,808); + ACE_DOGTAG_ITEM(ACE_dogtag,809); + ACE_DOGTAG_ITEM(ACE_dogtag,810); + ACE_DOGTAG_ITEM(ACE_dogtag,811); + ACE_DOGTAG_ITEM(ACE_dogtag,812); + ACE_DOGTAG_ITEM(ACE_dogtag,813); + ACE_DOGTAG_ITEM(ACE_dogtag,814); + ACE_DOGTAG_ITEM(ACE_dogtag,815); + ACE_DOGTAG_ITEM(ACE_dogtag,816); + ACE_DOGTAG_ITEM(ACE_dogtag,817); + ACE_DOGTAG_ITEM(ACE_dogtag,818); + ACE_DOGTAG_ITEM(ACE_dogtag,819); + ACE_DOGTAG_ITEM(ACE_dogtag,820); + ACE_DOGTAG_ITEM(ACE_dogtag,821); + ACE_DOGTAG_ITEM(ACE_dogtag,822); + ACE_DOGTAG_ITEM(ACE_dogtag,823); + ACE_DOGTAG_ITEM(ACE_dogtag,824); + ACE_DOGTAG_ITEM(ACE_dogtag,825); + ACE_DOGTAG_ITEM(ACE_dogtag,826); + ACE_DOGTAG_ITEM(ACE_dogtag,827); + ACE_DOGTAG_ITEM(ACE_dogtag,828); + ACE_DOGTAG_ITEM(ACE_dogtag,829); + ACE_DOGTAG_ITEM(ACE_dogtag,830); + ACE_DOGTAG_ITEM(ACE_dogtag,831); + ACE_DOGTAG_ITEM(ACE_dogtag,832); + ACE_DOGTAG_ITEM(ACE_dogtag,833); + ACE_DOGTAG_ITEM(ACE_dogtag,834); + ACE_DOGTAG_ITEM(ACE_dogtag,835); + ACE_DOGTAG_ITEM(ACE_dogtag,836); + ACE_DOGTAG_ITEM(ACE_dogtag,837); + ACE_DOGTAG_ITEM(ACE_dogtag,838); + ACE_DOGTAG_ITEM(ACE_dogtag,839); + ACE_DOGTAG_ITEM(ACE_dogtag,840); + ACE_DOGTAG_ITEM(ACE_dogtag,841); + ACE_DOGTAG_ITEM(ACE_dogtag,842); + ACE_DOGTAG_ITEM(ACE_dogtag,843); + ACE_DOGTAG_ITEM(ACE_dogtag,844); + ACE_DOGTAG_ITEM(ACE_dogtag,845); + ACE_DOGTAG_ITEM(ACE_dogtag,846); + ACE_DOGTAG_ITEM(ACE_dogtag,847); + ACE_DOGTAG_ITEM(ACE_dogtag,848); + ACE_DOGTAG_ITEM(ACE_dogtag,849); + ACE_DOGTAG_ITEM(ACE_dogtag,850); + ACE_DOGTAG_ITEM(ACE_dogtag,851); + ACE_DOGTAG_ITEM(ACE_dogtag,852); + ACE_DOGTAG_ITEM(ACE_dogtag,853); + ACE_DOGTAG_ITEM(ACE_dogtag,854); + ACE_DOGTAG_ITEM(ACE_dogtag,855); + ACE_DOGTAG_ITEM(ACE_dogtag,856); + ACE_DOGTAG_ITEM(ACE_dogtag,857); + ACE_DOGTAG_ITEM(ACE_dogtag,858); + ACE_DOGTAG_ITEM(ACE_dogtag,859); + ACE_DOGTAG_ITEM(ACE_dogtag,860); + ACE_DOGTAG_ITEM(ACE_dogtag,861); + ACE_DOGTAG_ITEM(ACE_dogtag,862); + ACE_DOGTAG_ITEM(ACE_dogtag,863); + ACE_DOGTAG_ITEM(ACE_dogtag,864); + ACE_DOGTAG_ITEM(ACE_dogtag,865); + ACE_DOGTAG_ITEM(ACE_dogtag,866); + ACE_DOGTAG_ITEM(ACE_dogtag,867); + ACE_DOGTAG_ITEM(ACE_dogtag,868); + ACE_DOGTAG_ITEM(ACE_dogtag,869); + ACE_DOGTAG_ITEM(ACE_dogtag,870); + ACE_DOGTAG_ITEM(ACE_dogtag,871); + ACE_DOGTAG_ITEM(ACE_dogtag,872); + ACE_DOGTAG_ITEM(ACE_dogtag,873); + ACE_DOGTAG_ITEM(ACE_dogtag,874); + ACE_DOGTAG_ITEM(ACE_dogtag,875); + ACE_DOGTAG_ITEM(ACE_dogtag,876); + ACE_DOGTAG_ITEM(ACE_dogtag,877); + ACE_DOGTAG_ITEM(ACE_dogtag,878); + ACE_DOGTAG_ITEM(ACE_dogtag,879); + ACE_DOGTAG_ITEM(ACE_dogtag,880); + ACE_DOGTAG_ITEM(ACE_dogtag,881); + ACE_DOGTAG_ITEM(ACE_dogtag,882); + ACE_DOGTAG_ITEM(ACE_dogtag,883); + ACE_DOGTAG_ITEM(ACE_dogtag,884); + ACE_DOGTAG_ITEM(ACE_dogtag,885); + ACE_DOGTAG_ITEM(ACE_dogtag,886); + ACE_DOGTAG_ITEM(ACE_dogtag,887); + ACE_DOGTAG_ITEM(ACE_dogtag,888); + ACE_DOGTAG_ITEM(ACE_dogtag,889); + ACE_DOGTAG_ITEM(ACE_dogtag,890); + ACE_DOGTAG_ITEM(ACE_dogtag,891); + ACE_DOGTAG_ITEM(ACE_dogtag,892); + ACE_DOGTAG_ITEM(ACE_dogtag,893); + ACE_DOGTAG_ITEM(ACE_dogtag,894); + ACE_DOGTAG_ITEM(ACE_dogtag,895); + ACE_DOGTAG_ITEM(ACE_dogtag,896); + ACE_DOGTAG_ITEM(ACE_dogtag,897); + ACE_DOGTAG_ITEM(ACE_dogtag,898); + ACE_DOGTAG_ITEM(ACE_dogtag,899); + ACE_DOGTAG_ITEM(ACE_dogtag,900); + ACE_DOGTAG_ITEM(ACE_dogtag,901); + ACE_DOGTAG_ITEM(ACE_dogtag,902); + ACE_DOGTAG_ITEM(ACE_dogtag,903); + ACE_DOGTAG_ITEM(ACE_dogtag,904); + ACE_DOGTAG_ITEM(ACE_dogtag,905); + ACE_DOGTAG_ITEM(ACE_dogtag,906); + ACE_DOGTAG_ITEM(ACE_dogtag,907); + ACE_DOGTAG_ITEM(ACE_dogtag,908); + ACE_DOGTAG_ITEM(ACE_dogtag,909); + ACE_DOGTAG_ITEM(ACE_dogtag,910); + ACE_DOGTAG_ITEM(ACE_dogtag,911); + ACE_DOGTAG_ITEM(ACE_dogtag,912); + ACE_DOGTAG_ITEM(ACE_dogtag,913); + ACE_DOGTAG_ITEM(ACE_dogtag,914); + ACE_DOGTAG_ITEM(ACE_dogtag,915); + ACE_DOGTAG_ITEM(ACE_dogtag,916); + ACE_DOGTAG_ITEM(ACE_dogtag,917); + ACE_DOGTAG_ITEM(ACE_dogtag,918); + ACE_DOGTAG_ITEM(ACE_dogtag,919); + ACE_DOGTAG_ITEM(ACE_dogtag,920); + ACE_DOGTAG_ITEM(ACE_dogtag,921); + ACE_DOGTAG_ITEM(ACE_dogtag,922); + ACE_DOGTAG_ITEM(ACE_dogtag,923); + ACE_DOGTAG_ITEM(ACE_dogtag,924); + ACE_DOGTAG_ITEM(ACE_dogtag,925); + ACE_DOGTAG_ITEM(ACE_dogtag,926); + ACE_DOGTAG_ITEM(ACE_dogtag,927); + ACE_DOGTAG_ITEM(ACE_dogtag,928); + ACE_DOGTAG_ITEM(ACE_dogtag,929); + ACE_DOGTAG_ITEM(ACE_dogtag,930); + ACE_DOGTAG_ITEM(ACE_dogtag,931); + ACE_DOGTAG_ITEM(ACE_dogtag,932); + ACE_DOGTAG_ITEM(ACE_dogtag,933); + ACE_DOGTAG_ITEM(ACE_dogtag,934); + ACE_DOGTAG_ITEM(ACE_dogtag,935); + ACE_DOGTAG_ITEM(ACE_dogtag,936); + ACE_DOGTAG_ITEM(ACE_dogtag,937); + ACE_DOGTAG_ITEM(ACE_dogtag,938); + ACE_DOGTAG_ITEM(ACE_dogtag,939); + ACE_DOGTAG_ITEM(ACE_dogtag,940); + ACE_DOGTAG_ITEM(ACE_dogtag,941); + ACE_DOGTAG_ITEM(ACE_dogtag,942); + ACE_DOGTAG_ITEM(ACE_dogtag,943); + ACE_DOGTAG_ITEM(ACE_dogtag,944); + ACE_DOGTAG_ITEM(ACE_dogtag,945); + ACE_DOGTAG_ITEM(ACE_dogtag,946); + ACE_DOGTAG_ITEM(ACE_dogtag,947); + ACE_DOGTAG_ITEM(ACE_dogtag,948); + ACE_DOGTAG_ITEM(ACE_dogtag,949); + ACE_DOGTAG_ITEM(ACE_dogtag,950); + ACE_DOGTAG_ITEM(ACE_dogtag,951); + ACE_DOGTAG_ITEM(ACE_dogtag,952); + ACE_DOGTAG_ITEM(ACE_dogtag,953); + ACE_DOGTAG_ITEM(ACE_dogtag,954); + ACE_DOGTAG_ITEM(ACE_dogtag,955); + ACE_DOGTAG_ITEM(ACE_dogtag,956); + ACE_DOGTAG_ITEM(ACE_dogtag,957); + ACE_DOGTAG_ITEM(ACE_dogtag,958); + ACE_DOGTAG_ITEM(ACE_dogtag,959); + ACE_DOGTAG_ITEM(ACE_dogtag,960); + ACE_DOGTAG_ITEM(ACE_dogtag,961); + ACE_DOGTAG_ITEM(ACE_dogtag,962); + ACE_DOGTAG_ITEM(ACE_dogtag,963); + ACE_DOGTAG_ITEM(ACE_dogtag,964); + ACE_DOGTAG_ITEM(ACE_dogtag,965); + ACE_DOGTAG_ITEM(ACE_dogtag,966); + ACE_DOGTAG_ITEM(ACE_dogtag,967); + ACE_DOGTAG_ITEM(ACE_dogtag,968); + ACE_DOGTAG_ITEM(ACE_dogtag,969); + ACE_DOGTAG_ITEM(ACE_dogtag,970); + ACE_DOGTAG_ITEM(ACE_dogtag,971); + ACE_DOGTAG_ITEM(ACE_dogtag,972); + ACE_DOGTAG_ITEM(ACE_dogtag,973); + ACE_DOGTAG_ITEM(ACE_dogtag,974); + ACE_DOGTAG_ITEM(ACE_dogtag,975); + ACE_DOGTAG_ITEM(ACE_dogtag,976); + ACE_DOGTAG_ITEM(ACE_dogtag,977); + ACE_DOGTAG_ITEM(ACE_dogtag,978); + ACE_DOGTAG_ITEM(ACE_dogtag,979); + ACE_DOGTAG_ITEM(ACE_dogtag,980); + ACE_DOGTAG_ITEM(ACE_dogtag,981); + ACE_DOGTAG_ITEM(ACE_dogtag,982); + ACE_DOGTAG_ITEM(ACE_dogtag,983); + ACE_DOGTAG_ITEM(ACE_dogtag,984); + ACE_DOGTAG_ITEM(ACE_dogtag,985); + ACE_DOGTAG_ITEM(ACE_dogtag,986); + ACE_DOGTAG_ITEM(ACE_dogtag,987); + ACE_DOGTAG_ITEM(ACE_dogtag,988); + ACE_DOGTAG_ITEM(ACE_dogtag,989); + ACE_DOGTAG_ITEM(ACE_dogtag,990); + ACE_DOGTAG_ITEM(ACE_dogtag,991); + ACE_DOGTAG_ITEM(ACE_dogtag,992); + ACE_DOGTAG_ITEM(ACE_dogtag,993); + ACE_DOGTAG_ITEM(ACE_dogtag,994); + ACE_DOGTAG_ITEM(ACE_dogtag,995); + ACE_DOGTAG_ITEM(ACE_dogtag,996); + ACE_DOGTAG_ITEM(ACE_dogtag,997); + ACE_DOGTAG_ITEM(ACE_dogtag,998); + ACE_DOGTAG_ITEM(ACE_dogtag,999); + ACE_DOGTAG_ITEM(ACE_dogtag,1000); +}; diff --git a/addons/dogtags/Dogtag.hpp b/addons/dogtags/Dogtag.hpp new file mode 100644 index 0000000000..aa4480a7f8 --- /dev/null +++ b/addons/dogtags/Dogtag.hpp @@ -0,0 +1,72 @@ +class RscPicture; +class RscStructuredText; + +class RscTitles { + class GVAR(singleTag) { + idd = -1; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),_this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),nil)]); + movingEnable = false; + duration = 5; + fadeIn = 0.2; + fadeOut = 0.2; + + class controls { + class background: RscPicture { + idc = 1000; + text = QUOTE(PATHTOF(data\dogtagSingle.paa)); + sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {1, 1, 1, 1}; + colorBackground[] = {0, 0, 0, 0}; + x = ((safezoneX + safezoneW) - (10 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + y = safeZoneY + 0.175 * safezoneH; + w = (8 * (((safezoneW / safezoneH) min 1.2) / 40)); + h = (8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + font = "EtelkaMonospacePro"; + }; + class nickname: RscStructuredText { + idc = 1001; + text = ""; + sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {1, 1, 1, 1}; + colorBackground[] = {0, 0, 0, 0}; + x = ((safezoneX + safezoneW) - (8.4 * (((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + y = safeZoneY + 0.25 * safezoneH; + w = (5.9 * (((safezoneW / safezoneH) min 1.2) / 40)); + h = (3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + font = "EtelkaMonospacePro"; + class Attributes { + font = "EtelkaMonospacePro"; + color = "#FFFFFF"; + align = "center"; + valign = "middle"; + shadow = 1; + shadowColor = "#3f4345"; + size = "0.85"; + }; + }; + }; + }; + class GVAR(doubleTag): GVAR(singleTag) { + idd = -1; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),_this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(tag)),nil)]); + + class controls: controls { + class background: background { + text = QUOTE(PATHTOF(data\dogtagDouble.paa)); + }; + class nickname: nickname { + class Attributes: Attributes { + font = "EtelkaMonospacePro"; + color = "#FFFFFF"; + align = "center"; + valign = "middle"; + shadow = 1; + shadowColor = "#3f4345"; + size = "0.85"; + }; + }; + }; + }; +}; diff --git a/addons/dogtags/README.md b/addons/dogtags/README.md new file mode 100644 index 0000000000..e3bf6caf73 --- /dev/null +++ b/addons/dogtags/README.md @@ -0,0 +1,11 @@ +ace_dogtags +========== + +Adds options to check and take dog tag from dead or unconscious units + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [SzwedzikPL](https://github.com/SzwedzikPL) diff --git a/addons/dogtags/XEH_PREP.hpp b/addons/dogtags/XEH_PREP.hpp new file mode 100644 index 0000000000..023cc5e733 --- /dev/null +++ b/addons/dogtags/XEH_PREP.hpp @@ -0,0 +1,10 @@ +PREP(addDogtagActions); +PREP(addDogtagItem); +PREP(canCheckDogtag); +PREP(canTakeDogtag); +PREP(checkDogtag); +PREP(checkDogtagItem); +PREP(getDogtagItem); +PREP(sendDogtagData); +PREP(showDogtag); +PREP(takeDogtag); diff --git a/addons/dogtags/XEH_postInit.sqf b/addons/dogtags/XEH_postInit.sqf new file mode 100644 index 0000000000..96a6a3180c --- /dev/null +++ b/addons/dogtags/XEH_postInit.sqf @@ -0,0 +1,6 @@ +#include "script_component.hpp" + +[QGVAR(showDogtag), DFUNC(showDogtag)] call CBA_fnc_addEventHandler; +[QGVAR(sendDogtagData), DFUNC(sendDogtagData)] call CBA_fnc_addEventHandler; +[QGVAR(getDogtagItem), DFUNC(getDogtagItem)] call CBA_fnc_addEventHandler; +[QGVAR(addDogtagItem), DFUNC(addDogtagItem)] call CBA_fnc_addEventHandler; diff --git a/addons/dogtags/XEH_preInit.sqf b/addons/dogtags/XEH_preInit.sqf new file mode 100644 index 0000000000..a7feade1c3 --- /dev/null +++ b/addons/dogtags/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +#include "XEH_PREP.hpp" + +ADDON = true; diff --git a/addons/dogtags/XEH_preStart.sqf b/addons/dogtags/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/dogtags/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/dogtags/config.cpp b/addons/dogtags/config.cpp new file mode 100644 index 0000000000..de66b2a087 --- /dev/null +++ b/addons/dogtags/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"SzwedzikPL"}; + authorUrl = "https://github.com/SzwedzikPL/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" +#include "Dogtag.hpp" diff --git a/addons/dogtags/data/ace_dogtag.p3d b/addons/dogtags/data/ace_dogtag.p3d new file mode 100644 index 0000000000..442a4b4622 Binary files /dev/null and b/addons/dogtags/data/ace_dogtag.p3d differ diff --git a/addons/dogtags/data/dogtag.rvmat b/addons/dogtags/data/dogtag.rvmat new file mode 100644 index 0000000000..503e31b68f --- /dev/null +++ b/addons/dogtags/data/dogtag.rvmat @@ -0,0 +1,82 @@ +class StageTI { + texture = "a3\data_f\default_glass_ti_ca.paa"; +}; +ambient[] = {1,1,1,1}; +diffuse[] = {1,1,1,1}; +forcedDiffuse[] = {0,0,0,0}; +emmisive[] = {0,0,0,1}; +specular[] = {0.3,0.3,0.3,1}; +specularPower = 50; +PixelShaderID = "Super"; +VertexShaderID = "Super"; +class Stage1 { + texture = "z\ace\addons\dogtags\data\dogtag_nohq.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage2 { + texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage3 { + texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage4 { + texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage5 { + texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage6 { + texture = "#(ai,32,128,1)fresnel(0.85,0.36)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; +class Stage7 { + useWorldEnvMap = "true"; + texture = "a3\data_f\env_interier_car_ca.paa"; + uvSource = "tex"; + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; diff --git a/addons/dogtags/data/dogtagDouble.paa b/addons/dogtags/data/dogtagDouble.paa new file mode 100644 index 0000000000..8bc7c29ef3 Binary files /dev/null and b/addons/dogtags/data/dogtagDouble.paa differ diff --git a/addons/dogtags/data/dogtagSingle.paa b/addons/dogtags/data/dogtagSingle.paa new file mode 100644 index 0000000000..c85457d903 Binary files /dev/null and b/addons/dogtags/data/dogtagSingle.paa differ diff --git a/addons/dogtags/data/dogtag_ca.paa b/addons/dogtags/data/dogtag_ca.paa new file mode 100644 index 0000000000..ccd77607f3 Binary files /dev/null and b/addons/dogtags/data/dogtag_ca.paa differ diff --git a/addons/dogtags/data/dogtag_nohq.paa b/addons/dogtags/data/dogtag_nohq.paa new file mode 100644 index 0000000000..faeed10bd6 Binary files /dev/null and b/addons/dogtags/data/dogtag_nohq.paa differ diff --git a/addons/dogtags/data/model.cfg b/addons/dogtags/data/model.cfg new file mode 100644 index 0000000000..cb919c9950 --- /dev/null +++ b/addons/dogtags/data/model.cfg @@ -0,0 +1,16 @@ +class CfgSkeletons { + class Default { + isDiscrete = 1; + skeletonInherit = ""; + skeletonBones[] = {}; + }; +}; + +class CfgModels { + class Default { + sectionsInherit = ""; + sections[] = {""}; + skeletonName = "Default"; + }; + class ace_dogtag: Default {}; +}; diff --git a/addons/dogtags/functions/fnc_addDogtagActions.sqf b/addons/dogtags/functions/fnc_addDogtagActions.sqf new file mode 100644 index 0000000000..ffc45532e9 --- /dev/null +++ b/addons/dogtags/functions/fnc_addDogtagActions.sqf @@ -0,0 +1,40 @@ +/* + * Author: SzwedzikPL + * Creates one action per dogtag. + * + * Arguments: + * 0: Target <OBJECT> + * 1: Player <OBJECT> + * + * Return Value: + * Children actions <ARRAY> + * + * Public: No + */ +#include "script_component.hpp" + +params ["_target", "_player"]; + +//Get all dogtags and their ids +private _unitDogtags = []; +private _unitDogtagIDs = []; +{ + private _id = getNumber (configFile >> "CfgWeapons" >> _x >> QGVAR(tagID)); + if (_id > 0) then { + _unitDogtags pushBack _x; + _unitDogtagIDs pushBack _id; + }; +} forEach items _player; + +//Create action children for all dogtags +private _actions = []; +{ + private _tagID = _unitDogtagIDs select _forEachIndex; + private _displayName = format ["%1 #%2", getText (configFile >> "CfgWeapons" >> _x >> "displayName"), _tagID]; + private _picture = getText (configFile >> "CfgWeapons" >> _x >> "picture"); + + private _action = [_x, _displayName, _picture, {_this call FUNC(checkDogtagItem)}, {true}, {}, _x] call EFUNC(interact_menu,createAction); + _actions pushBack [_action, [], _player]; +} forEach _unitDogtags; + +_actions diff --git a/addons/dogtags/functions/fnc_addDogtagItem.sqf b/addons/dogtags/functions/fnc_addDogtagItem.sqf new file mode 100644 index 0000000000..8349a7d62e --- /dev/null +++ b/addons/dogtags/functions/fnc_addDogtagItem.sqf @@ -0,0 +1,23 @@ +/* + * Author: SzwedzikPL + * Adds dogtag item to unit (triggered by server) + * + * Arguments: + * 0: Item class <STRING> + * 1: Nickname on dogtag <STRING> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_item", "_nickname"]; + +if (_item == "") exitWith {}; + +[ace_player, _item] call CBA_fnc_addItem; + +private _displayText = format [localize LSTRING(takeDogtagSuccess), _nickname]; +[_displayText] call EFUNC(common,displayText); diff --git a/addons/dogtags/functions/fnc_canCheckDogtag.sqf b/addons/dogtags/functions/fnc_canCheckDogtag.sqf new file mode 100644 index 0000000000..2c46fe30e6 --- /dev/null +++ b/addons/dogtags/functions/fnc_canCheckDogtag.sqf @@ -0,0 +1,20 @@ +/* + * Author: SzwedzikPL + * Checks if dogtag can be checked. + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * True if dogtag can be checked <BOOL> + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if (isNull _target) exitWith {false}; + +!alive _target || _target getVariable ["ACE_isUnconscious", false] diff --git a/addons/dogtags/functions/fnc_canTakeDogtag.sqf b/addons/dogtags/functions/fnc_canTakeDogtag.sqf new file mode 100644 index 0000000000..8414e35c31 --- /dev/null +++ b/addons/dogtags/functions/fnc_canTakeDogtag.sqf @@ -0,0 +1,20 @@ +/* + * Author: SzwedzikPL + * Checks if dogtag can be taken. + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * True if dogtag can be taken <BOOL> + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if (isNull _target) exitWith {false}; + +!alive _target || _target getVariable ["ACE_isUnconscious", false] diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf new file mode 100644 index 0000000000..4c606265f6 --- /dev/null +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -0,0 +1,20 @@ +/* + * Author: SzwedzikPL + * Checks unit dogtag + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +private _doubleTags = !(_target getVariable [QGVAR(dogtagTaken), false]); +private _nickname = [_target, false, true] call EFUNC(common,getName); +[QGVAR(showDogtag), [_nickname, _doubleTags]] call CBA_fnc_localEvent; diff --git a/addons/dogtags/functions/fnc_checkDogtagItem.sqf b/addons/dogtags/functions/fnc_checkDogtagItem.sqf new file mode 100644 index 0000000000..930532a0d9 --- /dev/null +++ b/addons/dogtags/functions/fnc_checkDogtagItem.sqf @@ -0,0 +1,19 @@ +/* + * Author: SzwedzikPL + * Check dogtag self menu action + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * 2: Item class <STRING> + * + * Return Value: + * Mone + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target", "_item"]; + +[QGVAR(sendDogtagData), [_player, _item]] call CBA_fnc_serverEvent; diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf new file mode 100644 index 0000000000..db12dd258a --- /dev/null +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -0,0 +1,40 @@ +/* + * Author: SzwedzikPL + * Server: creates new dogtag item and send it to client + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +if(!isServer) exitWith {}; + +params ["_target", "_unit"]; +TRACE_2("getDogtagItem",_target,_unit); + +private _allDogtags = missionNamespace getVariable [QGVAR(allDogtags), []]; +private _allDogtagNicknames = missionNamespace getVariable [QGVAR(allDogtagNicknames), []]; + +private _nextID = count _allDogtags + 1; + +if (_nextID > 999) exitWith {}; + +private _nickname = [_unit, false, true] call EFUNC(common,getName); +private _item = format ["ACE_dogtag_%1", _nextID]; +_allDogtags pushBack _item; +_allDogtagNicknames pushBack _nickname; + +missionNamespace setVariable [QGVAR(allDogtags), _allDogtags]; +missionNamespace setVariable [QGVAR(allDogtagNicknames), _allDogtagNicknames]; + +if(isMultiplayer) then { + [QGVAR(addDogtagItem), [_item, _nickname], [_target]] call CBA_fnc_targetEvent; +} else { + [QGVAR(addDogtagItem), [_item, _nickname]] call CBA_fnc_localEvent; +}; diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf new file mode 100644 index 0000000000..d84c325c5a --- /dev/null +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -0,0 +1,30 @@ +/* + * Author: SzwedzikPL + * Server: returns to client nickname on given dogtag + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +if(!isServer) exitWith {}; + +params ["_target", "_item"]; +TRACE_2("sendDogtagData",_target,_item); + +private _allDogtags = missionNameSpace getVariable [QGVAR(allDogtags), []]; +private _allDogtagNicknames = missionNameSpace getVariable [QGVAR(allDogtagNicknames), []]; + +private _nickname = ""; +private _index = _allDogtags find _item; +if (_index >= 0) then { + _nickname = _allDogtagNicknames select _index; +}; + +[QGVAR(showDogtag), [_nickname], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf new file mode 100644 index 0000000000..1c79728840 --- /dev/null +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -0,0 +1,30 @@ +/* + * Author: SzwedzikPL + * Shows dogtag + * + * Arguments: + * 0: Nickname <STRING> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +disableSerialization; + +params ["_nickname", ["_doubleTags", false, [false]]]; + +if (!hasInterface || {_nickname == ""}) exitWith {}; + +if (_doubleTags) then { + (QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(doubleTag), "PLAIN", 1, true]; +} else { + (QGVAR(tag) call BIS_fnc_rscLayer) cutRsc [QGVAR(singleTag), "PLAIN", 1, true]; +}; +private _display = uiNamespace getvariable [QGVAR(tag), displayNull]; +if(isNull _display) exitWith {}; + +private _control = _display displayCtrl 1001; +_control ctrlSetText _nickname; diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf new file mode 100644 index 0000000000..585f89b697 --- /dev/null +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -0,0 +1,24 @@ +/* + * Author: SzwedzikPL + * If dogtag is not already taken triggers event on server + * If dogtag already taken displays info about it + * + * Arguments: + * 0: Player <OBJECT> + * 1: Target <OBJECT> + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_player", "_target"]; + +if (_target getVariable [QGVAR(dogtagTaken), false]) then { + [localize LSTRING(dogtagAlreadyTaken)] call EFUNC(common,displayText); +} else { + _target setVariable [QGVAR(dogtagTaken), true, true]; + [QGVAR(getDogtagItem), [_player, _target]] call CBA_fnc_serverEvent; +}; diff --git a/addons/dogtags/functions/script_component.hpp b/addons/dogtags/functions/script_component.hpp new file mode 100644 index 0000000000..583e76df33 --- /dev/null +++ b/addons/dogtags/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\dogtags\script_component.hpp" diff --git a/addons/dogtags/script_component.hpp b/addons/dogtags/script_component.hpp new file mode 100644 index 0000000000..980222c8da --- /dev/null +++ b/addons/dogtags/script_component.hpp @@ -0,0 +1,17 @@ +#define COMPONENT dogtags +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define CBA_DEBUG_SYNCHRONOUS +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_DOGTAGS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_DOGTAGS + #define DEBUG_SETTINGS DEBUG_SETTINGS_DOGTAGS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/dogtags/stringtable.xml b/addons/dogtags/stringtable.xml new file mode 100644 index 0000000000..3e946c5ec0 --- /dev/null +++ b/addons/dogtags/stringtable.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project name="ACE"> + <Package name="Dogtags"> + <Key ID="STR_ACE_Dogtags_itemName"> + <English>Dog Tag</English> + <Polish>Nieśmiertelnik</Polish> + </Key> + <Key ID="STR_ACE_Dogtags_checkItem"> + <English>Check Dog Tag</English> + <Polish>Sprawdź nieśmiertelnik</Polish> + </Key> + <Key ID="STR_ACE_Dogtags_checkDogtag"> + <English>Check</English> + <Polish>Sprawdź</Polish> + </Key> + <Key ID="STR_ACE_Dogtags_takeDogtag"> + <English>Take</English> + <Polish>Zabierz</Polish> + </Key> + <Key ID="STR_ACE_Dogtags_takeDogtagSuccess"> + <English>Dogtag taken from %1...</English> + <Polish>Zabrałeś nieśmiertelnik %1...</Polish> + </Key> + <Key ID="STR_ACE_Dogtags_dogtagAlreadyTaken"> + <English>Somebody else has already taken the dogtag...</English> + <Polish>Ktoś już zabrał ten nieśmiertelnik...</Polish> + </Key> + </Package> +</Project> \ No newline at end of file