diff --git a/Tools/ActivateLanguage/ActivateArabic.reg b/Tools/ActivateLanguage/ActivateArabic.reg deleted file mode 100644 index 4edd365e1..000000000 Binary files a/Tools/ActivateLanguage/ActivateArabic.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateBrazilian.reg b/Tools/ActivateLanguage/ActivateBrazilian.reg deleted file mode 100644 index 87690f7dd..000000000 Binary files a/Tools/ActivateLanguage/ActivateBrazilian.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateChinese.reg b/Tools/ActivateLanguage/ActivateChinese.reg deleted file mode 100644 index 41420df3c..000000000 Binary files a/Tools/ActivateLanguage/ActivateChinese.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateEnglish.reg b/Tools/ActivateLanguage/ActivateEnglish.reg deleted file mode 100644 index 57f2dd2fd..000000000 Binary files a/Tools/ActivateLanguage/ActivateEnglish.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateFrench.reg b/Tools/ActivateLanguage/ActivateFrench.reg deleted file mode 100644 index ca177675f..000000000 Binary files a/Tools/ActivateLanguage/ActivateFrench.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateGerman.reg b/Tools/ActivateLanguage/ActivateGerman.reg deleted file mode 100644 index 0f7062e2e..000000000 Binary files a/Tools/ActivateLanguage/ActivateGerman.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateGerman2.reg b/Tools/ActivateLanguage/ActivateGerman2.reg deleted file mode 100644 index a620a64e6..000000000 Binary files a/Tools/ActivateLanguage/ActivateGerman2.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateGermanUncut.reg b/Tools/ActivateLanguage/ActivateGermanUncut.reg deleted file mode 100644 index f034a87ec..000000000 Binary files a/Tools/ActivateLanguage/ActivateGermanUncut.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateItalian.reg b/Tools/ActivateLanguage/ActivateItalian.reg deleted file mode 100644 index 6c179f562..000000000 Binary files a/Tools/ActivateLanguage/ActivateItalian.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateKorean.reg b/Tools/ActivateLanguage/ActivateKorean.reg deleted file mode 100644 index 0ad902a64..000000000 Binary files a/Tools/ActivateLanguage/ActivateKorean.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivatePolish.reg b/Tools/ActivateLanguage/ActivatePolish.reg deleted file mode 100644 index c22282107..000000000 Binary files a/Tools/ActivateLanguage/ActivatePolish.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateRussian.reg b/Tools/ActivateLanguage/ActivateRussian.reg deleted file mode 100644 index 6cf180487..000000000 Binary files a/Tools/ActivateLanguage/ActivateRussian.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/ActivateSpanish.reg b/Tools/ActivateLanguage/ActivateSpanish.reg deleted file mode 100644 index 4eb81379b..000000000 Binary files a/Tools/ActivateLanguage/ActivateSpanish.reg and /dev/null differ diff --git a/Tools/ActivateLanguage/README.md b/Tools/ActivateLanguage/README.md deleted file mode 100644 index a68445261..000000000 --- a/Tools/ActivateLanguage/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Can manually download language packs here: -http://www.gentool.net/download/languages/ diff --git a/Tools/FinalBIG/FinalBIG.exe b/Tools/FinalBIG/FinalBIG.exe deleted file mode 100644 index f62480e47..000000000 --- a/Tools/FinalBIG/FinalBIG.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:934cb891430e935472e0574f7636c13b74c9eeb2756693073b001875ec0165cd -size 1040384 diff --git a/Tools/FinalBIG/ReadMe.txt b/Tools/FinalBIG/ReadMe.txt deleted file mode 100644 index 0c77fc0a7..000000000 --- a/Tools/FinalBIG/ReadMe.txt +++ /dev/null @@ -1,187 +0,0 @@ -FinalBIG - -Version 0.4 Beta released March 20th, 2006. - -Copyright by Matthias Wagner 2006 - -C&C Generals is a trademark or registered trademark of Electronic Arts in the USA and/or other countries. All rights reserved. -The Lord of the Rings(tm), The Battle for Middle-earth(tm) is a trademark or registered trademark of Electronic Arts in the USA and/or other countries. All rights reserved. -LucasArts, the LucasArts logo, STAR WARS and related properties are trademarks in the United States and/or in other countries of Lucasfilm Ltd. and/or its affiliates. (c) 2006 Lucasfilm Entertainment Company Ltd. or Lucasfilm Ltd. All rights reserved. - -This software is based in part on the work of the Independent JPEG Group - - ------------ -Information ------------ -FinalBIG is a viewer and editor for the BIG files of C&C Generals and Lord of the Rings: Battle for Middle Earth. -It can also open and save the MEG files of Star Wars(TM): Empire at War(TM). -I tried to make it as easy to use as possible. - -------- -Contact -------- -Suggestions? Questions? - -Mail: webmaster *at* wagnerma.de -Website: http://www.wagnerma.de - -------- -Credits -------- -Thanks to Jonathan Wilson for W3D help -Thanks to Deezire for his Module list -Thanks to Waraddict for adding modules -Uses CRC code available at http://www.zorc.breitbandkatze.de/crc.html -Uses MEG file information found here: http://alpha1.dyns.net/eaw/MegFileFormat, http://www.technical-difficulties.com/ - -------- -License -------- -FinalBIG is freeware and is provided "as-is". Use at your own risk. -No reverse engineering allowed. Editing finalbig.ini welcome. -Please don't mirror FinalBIG without asking me. - --------------------- -System Requirements --------------------- -- OpenGL drivers installed -- DirectX 9.0c installed (for DX9 version) -- Tested on WinXP only - ----------- -HOW TO USE ----------- -Actually FinalBIG is very easy to use, especially if you are used to other packaging & compression programs. -You can use FinalBIG to distribute your modifications to Generals and LOTR:BFME. -To open a BIG file, just click on File->Open and select your BIG file. You can now browse the files -included in this BIG file. However, you can also edit it. You can do this either by using the Edit menu, -or you can drag & drop files from Windows Explorer into FinalBIG. Just drop the files (or directories!) -on the file list of your BIG file. A window will come up telling you that FinalBIG needs to activate EditMode. -Accept that, but you really should back up any original BIG files before saving. Thatīs it! Now save your work, -and you are done! -It works exactly the same way for MEG files. - ----------- -W3D Viewer ----------- -The W3D viewer should display almost all W3Ds fine. -If you want to rotate the model, press the NumKeys (at the right of your keyboard). -8 is up, 2 is down, 4 is left, 6 is right. -You can also zoom in & out by pressing - and + (NumKeys). - -This viewer probably will be extended to display SW:EAW models if I have the time to do this. - ------------ -INI Editor ------------ -For Generals & LOTR Ini style files! -Easy to use. Right click and you'll be presented with several options regarding the clicked item. -For example, if you click inside an Object module you'll be presented with a list of Modules/Values to insert. -For many values you can also use Set Value, which will present you a list of values. -Just try it out in the several sections of an INI file. -If you click onto GoTo, another menu pops up that allows you to jump to the several sections inside the current -INI file. -Basically, you do not have to use the INI Editor menu, you can do everything by typing, too. FinalBIG does -not take away your freedom to plainly edit the INI by hand, it just additionally supports some helper features. - ----------------- -External Editors ----------------- -Simple: Define your favorite editors using View->Options. Once you have done that, close the dialog. -Then simply select the file to edit at the left and press CTRL+E (or Edit->Edit with Editor). -FinalBIG will then launch the editor with the selected file. If you want to change the file, don't forget to -save the file in the editor (without changing the filename). -While the editor is opened, FinalBIG will block access to this specific file. This is to avoid sharing difficulties. - ----------------- -Quick Save ----------------- -Currently only implemented for BIG files, this feature tries to only save any changed files inside -the BIG file. That way, it does need much less time than saving several hundred MB of unchanged data. -Keep in mind that this can increase the BIG file, so before distributing, use the normal Save command. -For MEG files, this just works as pressing Save, thus rewriting the whole MEG. However, I will work -on implementing this feature for MEG files, too. - ----------------- -MEG File Support ----------------- -Keep in mind that MEG files do not support lowercase letters inside filenames. FinalBIG automatically -changes those to uppercase letters. - - - ---------------- -TODO List ---------------- -- Support QuickSave for MEG files (Top prio) -- Probably add viewer for SW:EAW models -- Probably add XML Editor with more features -- Probably add Texture->DDS support (for converting for example TGA's, BMP's etc into DDS format) - - - ----------------------- -Changes in 0.4 (beta) ----------------------- -- Support for saving & loading MEG files of Star Wars(TM): Empire At War(TM) -- Support for DDS texture loading extended for SW: EAW - ----------------------- -Changes in 0.36 (beta) ----------------------- -- External Editor support: Use your favorite editors (like PSP, Wordpad, etc) to directly edit files inside the BIG file! - ----------------------- -Changes in 0.35 (beta) ----------------------- -- INI Editor extended: Lists modules & values and allows to set values *** IMPORTANT: I'm searching for people willing to complete the module list! *** -- Adding a file to a BIG that already exists will now overwrite the original file (you'll be asked) -- It may now be possible to open BIG files of other games than Generals/LOTR if the file format is compatible - -------------------- -Changes in 0.34 -------------------- -- INI Editor -- Quick Save - -------------------- -Changes in 0.33 -------------------- -- W3D Viewer now displays (almost) all W3Ds correctly, including skins -- JPEG and PNG support -- Image viewer now uses correct aspect ratio (if width!=height) -- Manual rotation and zooming possible in W3D viewer - -------------------- -Changes in 0.32 -------------------- -- W3D viewer now displays all W3Ds correctly except skin meshes -- W3D viewer now also displays textures (DDS, TGA and BMP) -- D3D9 support (optionally) - -------------------- -Changes in 0.31 -------------------- -- Added simple W3D viewer (no mesh hierarchy/textures supported yet, will come asap) -- Fixed Crash Bug when pressing Cancel when inserting a directory - -------------------- -Changes in 0.3 -------------------- -- Added Support for LOTR:BFME -- Added TGA, BMP & DDS Viewer - -------------------- -Changes in 0.21 -------------------- -- Fixed crash that occured sometimes when deleting files - -------------------- -Changes in 0.2 -------------------- -- Deleting files -- Renaming files -- Drag & Drop for adding files & directories -- Including the folder name when inserting a directory instead of skipping it - diff --git a/Tools/FinalBIG/finalbig.ini b/Tools/FinalBIG/finalbig.ini deleted file mode 100644 index ad0ea2d94..000000000 --- a/Tools/FinalBIG/finalbig.ini +++ /dev/null @@ -1,1617 +0,0 @@ -; This file controls FinalBIG's behaviour -; Last Change by Matthias Wagner, Feb 12th 2005 -; -; -; -; ForcedObjects: List any object type here that has a = after type. Else they will be misunderstood as values. -; ForcedValues: List any value type here that does not have a = after value name. Else they will be misunderstood as objects. -; ObjectsWithLists: All Modules that will use the [Lists] option must be listed here (see Module) -; -; INISTructure: -; Specifies how FinalBIG searches for possible modules/values. -; Basically, you mirror the INI structure of the original game. -; Syntax: -; -; Module [Specified SubType] [Implements Module] [Lists ListName | ModuleName] [# comment] -; Specified: Means there is a = that specifies the subtype (placed before ModuleName) -; Implements: Copies all values/submodules from Module. Must be a submodule of one of the parent modules, declared before the current module -; This is handy for stuff that repeats very often (for example, DefaultConditionState values) -; You can Implement more than one Module. To do this, put: Implements Module1 Implements Module2 -; If the module to implement uses Specified, put: Implements "Module Specified Specification" (note the ") -; You can implement any module that has been declared before the current module (= up the parent tree) -; ImplementsValues: implements only values -; ImplementsModules: implements only modules (these modules completely with their values, though) -; Lists: Adds a = after Module, and makes available a list of values that may be placed after the =. This list must be specified in [Games]->[GameName]->[Lists] -; If you use this, you should also add the module to ObjectsWithLists. -; Selects: Same like Lists, but only allows to choose ONE item. Note that you still must place these modules into ObjectsWithLists, too. -; -; Value = [Direct] [Lists ListName | Type] [# comment] -; Direct: specifies if there is no = after the value name. If Direct is not set, FinalBIG will place an equal = after Value -; #: # will be replaced by ; so that it represents an comment. -; Lists: Lists ListName. -; Selects: Selects ListName -; -; -; Currently, FinalBIG does interpret "Type" in a limited way. -; For now, you can instruct FinalBIG to build a list of global module instances. -; E.g: To list all Object's, put -; BaseDefenseStructure1 = data\ini\Object\::Object -; If you only want to read CivilianProp.ini, put: -; BaseDefenseStructure1 = data\ini\Object\CivilianProp.ini::Object -; -; This can be modified slightly: If you put Named before data\ini\Object\::Object, there will be a name before the selected Object. This is for example used -; for ParticleSysBone's. There can also be additional data after the selected object. Do this by putting AdditionalData before data\ini\Object\::Object. -; Used for example for LOTR:BFME ParticleSysBone's, where you can specify additional flags. Example for LOTR:BFME ParticleSysBone's: -; ParticleSysBone = Named AppendedData data\ini\ParticleSystem.ini::ParticleSystem -; -; -; Later on it will interpret Type further more: -; Campaign CampaignName -; CampaignNameLabel = Direct String -; FirstMission = Direct Mission -; Mission MissionName -; ... -; END -; END -; This will automatically list all Mission objects. You don't have to explicitly write that. -; Not implemented yet, though -; -; -; If you add stuff here, please comment it somehow - -Games - -; ---------------------------- BEGIN GENERALS ------------------------------------------------------------ - - Generals - ObjectsWithLists - ConditionState=1 - TransitionState=1 - end - ForcedObjects - TransitionState=1 - EmissionVolume=1 - EmissionVelocity=1 - Color=1 - Update=1 - Physics=1 - Alpha=1 - ConditionState=1 - ModelConditionState=1 - Window=1 - Transition=1 - WindowTransition=1 - LodOptions=1 - ;Animation=1 - AnimationState=1 - ArmyEntry=1 - LivingWorldPlayerArmy=1 - SplineCamera=1 - RegionReinforcements=1 - MoveCamera=1 - ToggleArmyControl=1 - ModifyArmyEntry=1 - LivingWorldRegionCampaignCampEA_DEMO=1 - EnemyBordersEffect=1 - ControlPoint=1 - FriendlyBordersEffect=1 - HilightBordersEffect=1 - ConqueredEffectEvenglow=1 - ConqueredEffectFlareup=1 - MouseoverEffectFlareupOwned=1 - MouseoutEffectFlareupOwned=1 - MouseoverEffectFlareupContested=1 - SkirmishOpponent=1 - MouseoutEffectFlareupContested=1 - SpawnArmy=1 - MoveArmy=1 - EyeTowerPoints=1 - WorldText=1 - AudioEvent=1 - EnableRegion=1 - ForceBattle=1 - Behavior=1 - Draw=1 - AllowAIPickup=1 - Body=1 - ChildObject=1 - end - ForcedValues - MinVolume=1 - ParticleSysBone=1 - CurDrawableShowSubObject=1 - CurDrawableHideSubObject=1 - blank=1 - #define=1 - Size=1 - ScreenCreationRes=1 - Side=1 - CommandBarBorderColor=1 - BuildUpClockColor=1 - ButtonBorderBuildColor=1 - ButtonBorderActionColor=1 - ButtonBorderUpgradeColor=1 - ButtonBorderSystemColor=1 - ButtonBorderAlteredColor=1 - Geometry=1 - Time=1 - Position=1 - CampaignNameLabel=1 - UnitNames0=1 - UnitNames1=1 - UnitNames2=1 - LocationNameLabel=1 - firstMission=1 - ImageName=1 - Layer=1 - FinalVictoryMovie=1 - Map=1 - IntroMovie=1 - ObjectiveLine0=1 - ObjectiveLine1=1 - ObjectiveLine2=1 - ObjectiveLine3=1 - ObjectiveLine4=1 - NextMission=1 - RemoveModule=1 - end - - Lists - ConditionStateTypes - PREORDER=1 - USING_WEAPON_A=1 - USING_WEAPON_B=1 - USING_WEAPON_C=1 - EXPLODED_BOUNCING=1 - EXPLODED_FLAILING=1 - CAPTURED=1 - RAISING_FLAG=1 - CONTINUOUS_FIRE_SLOW=1 - SPECIAL_CHEERING=1 - POWER_PLANT_UPGRADING=1 - ARMED=1 - RAPELLING=1 - CLIMBING=1 - POWER_PLANT_UPGRADED=1 - OVER_WATER=1 - DEPLOYED=1 - UNPACKING=1 - PACKING=1 - JETEXHAUST=1 - JETAFTERBURNER=1 - LOADED=1 - CARRYING=1 - DOCKING_ENDING=1 - DOCKING_ACTIVE=1 - DOCKING_BEGINNING=1 - DOCKING=1 - SMOLDERING=1 - PANICKING=1 - RADAR_UPGRADED=1 - RADAR_EXTENDED=1 - CONSTRUCTION_COMPLETE=1 - ACTIVELY_CONSTRUCTING=1 - PRONE=1 - FREEFALL=1 - ACTIVELY_BEING_CONSTRUCTED=1 - PARTIALLY_CONSTRUCTED=1 - DYING=1 - POST_COLLAPSE=1 - TURRET_ROTATE=1 - RELOADING_A=1 - BETWEEN_FIRING_SHOTS_A=1 - FIRING_A=1 - PREATTACK_A=1 - RELOADING_B=1 - BETWEEN_FIRING_SHOTS_B=1 - FIRING_B=1 - PREATTACK_B=1 - RELOADING_C=1 - BETWEEN_FIRING_SHOTS_C=1 - FIRING_C=1 - PREATTACK_C=1 - DOOR_4_WAITING_TO_CLOSE=1 - DOOR_4_WAITING_OPEN=1 - DOOR_4_CLOSING=1 - DOOR_4_OPENING=1 - DOOR_3_WAITING_TO_CLOSE=1 - DOOR_3_WAITING_OPEN=1 - DOOR_3_CLOSING=1 - DOOR_3_OPENING=1 - DOOR_2_WAITING_TO_CLOSE=1 - DOOR_2_WAITING_OPEN=1 - DOOR_2_CLOSING=1 - DOOR_2_OPENING=1 - DOOR_1_WAITING_TO_CLOSE=1 - DOOR_1_WAITING_OPEN=1 - DOOR_1_CLOSING=1 - DOOR_1_OPENING=1 - WEAPONSET_PLAYER_UPGRADE=1 - WEAPONSET_CRATEUPGRADE_ONE=1 - WEAPONSET_CRATEUPGRADE_TWO=1 - WEAPONSET_HERO=1 - WEAPONSET_ELITE=1 - WEAPONSET_VETERAN=1 - ENEMYNEAR=1 - SNOW=1 - NIGHT=1 - SPECIAL_DAMAGED=1 - BACKCRUSHED=1 - FRONTCRUSHED=1 - end - PBFESlots - PRIMARY=1 - SECONDARY=1 - TERTIARY=1 - end - UpgradeConditionTypes - Upgrade_Veterancy_VETERAN=1 - Upgrade_Veterancy_ELITE=1 - Upgrade_Veterancy_HEROIC=1 - end - ObjectConditionTypes - ATTACKING=1 - MOVING=1 - FIRING_PRIMARY=1 - FIRING_SECONDARY=1 - FIRING_TERTIARY=1 - end - WeaponSetConditionTypes - PLAYER_UPGRADE=1 - MINE_CLEARING_DETAIL=1 - CARBOMB=1 - VEHICLE_HIJACK=1 - CRATEUPGRADE_ONE=1 - CRATEUPGRADE_TWO=1 - end - AutoAcquireEnemiesWhenIdleTypes - Yes=1 - No=1 - NOTWHILEATTACKING=1 - ATTACK_BUILDINGS=1 - STEALTHED=1 - end - end - - INIStructure - AIData - StructureSeconds = Integer - TeamSeconds = Integer - Wealthy = Integer - Poor = Integer - StructuresWealthyRate = Float - StructuresPoorRate = Float - TeamsWealthyRate = Float - TeamsPoorRate = Float - TeamResourcesToStart = Float - GuardInnerModifierAI = Float - GuardOuterModifierAI = Float - GuardInnerModifierHuman = Float - GuardOuterModifierHuman = Float - GuardChaseUnitsDuration = Integer - GuardEnemyScanRate = Integer - GuardEnemyReturnScanRate = Integer - AlertRangeModifier = Float #while in alert: affects scan range - AggressiveRangeModifier = Float - AttackPriorityDistanceModifier = Float - MaxRecruitRadius = Float - ForceIdleMSEC = Integer - ForceSkirmishAI = Bool - RotateSkirmishBases = Bool - AttackUsesLineOfSight = Bool - EnableRepulsors = Bool - RepulsedDistance = Float - WallHeight = Integer - AttackIgnoreInsignificantBuildings = Bool - SkirmishGroupFudgeDistance = Float - MinInfantryForGroup = Integer - MinVehiclesForGroup = Integer - MinDistanceForGroup = Float - DistanceRequiresGroup = Float - InfantryPathfindDiameter = Integer - VehiclePathfindDiameter = Integer - SupplyCenterSafeRadius = Float - RebuildDelayTimeSeconds = Integer - AIDozerBoredRadiusModifier = Float - AICrushesInfantry = Bool - - - SideInfo SideName - ResourceGatherersEasy = Integer - ResourceGatherersNormal = Integer - ResourceGatherersHard = Integer - BaseDefenseStructure1 = data\ini\Object\::Object - - SkillSet1 - Science = data\ini\Science.ini::Science - End - - SkillSet2 - Science = data\ini\Science.ini::Science - End - - End - - SkirmishBuildList SideName - Structure StructureName - Location = Location - Rebuilds = Integer - Angle = Angle - InitiallyBuilt = Bool - AutomaticallyBuild = Bool - END - END - end - - Terrain TerrainName - Texture = Filename - Class = TerrainClass - End - - ActiveBody - MaxHealth = Float - InitialHealth = Float - End - - ActiveShroudUpgrade - TriggeredBy = data\ini\Default\Upgrade.ini::Upgrade data\ini\Upgrade.ini::Upgrade - FXListUpgrade = data\ini\Default\FXList.ini::FXList data\ini\FXList.ini::FXList - ConflictsWith = data\ini\Default\Upgrade.ini::Upgrade data\ini\Upgrade.ini::Upgrade - RequiresAllTriggers = Bool - NewShroudRange = Float - End - - AIUpdateInterface - AutoAcquireEnemiesWhenIdle = [Yes/No/NOTWHILEATTACKING/ATTACK_BUILDINGS/STEALTHED] - MoodAttackCheckRate = Integer - Turret - TurretTurnRate = Integer - TurretPitchRate = Integer - NaturalTurretAngle = Integer - NaturalTurretPitch = Integer - FirePitch = Integer - MinPhysicalPitch = Integer - GroundUnitPitch = Integer - TurretFireAngleSweep = [weaponslot integer] - TurretSweepSpeedModifier = [weaponslot real number] - ControlledWeaponSlots = [weaponslots] - AllowsPitch = Bool - MinIdleScanAngle = Integer - MaxIdleScanAngle = Integer - MinIdleScanInterval = Integer - MaxIdleScanInterval = Integer - RecenterTime = Integer - FiresWhileTurning = Bool - InitiallyDisabled = Bool - End - AltTurret - TurretTurnRate = Integer - TurretPitchRate = Integer - NaturalTurretAngle = Integer - NaturalTurretPitch = Integer - FirePitch = Integer - MinPhysicalPitch = Integer - GroundUnitPitch = Integer - TurretFireAngleSweep = [weaponslot integer] - TurretSweepSpeedModifier = [weaponslot real number] - ControlledWeaponSlots = [weaponslots] - AllowsPitch = Bool - MinIdleScanAngle = Integer - MaxIdleScanAngle = Integer - MinIdleScanInterval = Integer - MaxIdleScanInterval = Integer - RecenterTime = Integer - FiresWhileTurning = Bool - InitiallyDisabled = Bool - End - End - - AnimatedParticleSysBoneClientUpdate - End - - - Object ObjectName - Draw Specified W3DModelDraw ModuleTag_01 - DefaultConditionState - Model = Model - ShowSubObject = [sub object name(s)] - HideSubObject = [sub object name(s)] - WeaponRecoilBone = [bone name] - WeaponFireFXBone = [bone name] - WeaponMuzzleFlash = [bone name] - WeaponLaunchBone = [bone name] - WeaponHideShowBone = [bone name] - IdleAnimation = [model animation name] - TransitionKey = [TransitionKey name] - Animation = [model animation name] - Flags = [AnimationFlag types list] - AnimationSpeedFactorRange = [real number real number] - ParticleSysBone = Named AppendedData data\ini\ParticleSystem.ini::ParticleSystem - Turret = [sub object name] - TurretArtAngle = [integer] - TurretPitch = [integer] - TurretArtPitch = [integer] - AltTurret = [sub object name] - AltTurretArtAngle = [integer] - AltTurretArtPitch = [integer] - AltTurretPitch = [integer] - end - ConditionState Implements DefaultConditionState Lists ConditionStateTypes - End - - AliasConditionState = [ConditionState name] - - TransitionState Implements DefaultConditionState Lists ConditionStateTypes # Exactly 2 ConditionStates needed - End - - AnimationsRequirePower = Bool - ProjectileBoneFeedbackEnabledSlots = Lists PBFESlots - TrackMarks = TextureFilename - ExtraPublicBone = [bone name, multiple entries possible] - AttachToBoneInAnotherModule = [bone name] - IgnoreConditionStates = Lists ConditionStateTypes - end - Draw Specified W3DDebrisDraw ModuleTag_01 - End - Draw Specified W3DDefaultDraw ModuleTag_01 - End - Draw Specified W3DDependencyModelDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - AttachToBoneInContainer = [bone name from object in W3DOverlordTankDraw module] - End - Draw Specified W3DOverlordTankDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - end - Draw Specified W3DPoliceCarDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - end - Draw Specified W3DProjectileStreamDraw ModuleTag_01 - Texture = TextureFilenameExt - Width = Float - TileFactor = Integer - ScrollRate = Float - MaxSegments = Integer - end - Draw Specified W3DRopeDraw ModuleTag_01 - End - Draw Specified W3DScienceModelDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - RequiredScience = data\ini\Science.ini::Science - end - Draw Specified W3DSupplyDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - SupplyBonePrefix = [bone name] - end - Draw Specified W3DTankDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - TreadDriveSpeedFraction = Float - TreadPivotSpeedFraction = Float - TreadAnimationRate = Float - InitialRecoilSpeed = Integer - MaxRecoilDistance = Integer - RecoilDamping = Integer - RecoilSettleSpeed = Integer - end - Draw Specified W3DTruckDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - RotationDamping = Float - TrailerRotationMultiplier = Float - CabRotationMultiplier = Float - TrailerBone = [bone name] - CabBone = [bone name] - PowerslideRotationAddition = Float - TireRotationMultiplier = Float - MidRightMidTireBone = [bone name] - MidLeftMidTireBone = [bone name] - MidRightRearTireBone = [bone name] - MidLeftRearTireBone = [bone name] - MidRightFrontTireBone = [bone name] - MidLeftFrontTireBone = [bone name] - RightRearTireBone = [bone name] - LeftRearTireBone = [bone name] - RightFrontTireBone = [bone name] - LeftFrontTireBone = [bone name] - PowerslideSpray = data\ini\ParticleSystem.ini::ParticleSystem - DirtSpray = data\ini\ParticleSystem.ini::ParticleSystem - Dust = data\ini\ParticleSystem.ini::ParticleSystem - end - Draw Specified W3DTankTruckDraw Implements "Draw Specified W3DTankDraw" Implements "Draw Specified W3DTruckDraw" ModuleTag_01 - end - Draw Specified W3DLaserDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - NumBeams = Integer - Texture = TextureFilename - InnerBeamWidth = InnerBeamWidth - OuterBeamWidth = OuterBeamWidth - InnerColor = RGBA - OuterColor = RGBA - MaxIntensityLifetime = Integer - FadeLifetime = Integer - Tile = Bool - Segments = Integer - ArcHeight = Float - SegmentOverlapRatio = Float - TilingScalar = Float - end - Draw Specified W3DTracerDraw ModuleTag_01 - end - - ; map.ini stuff: - AddModule ImplementsModules Object - end - - ReplaceModule ImplementsModules Object ModuleName - end - - RemoveModule = Direct ModuleName - - AnimatedParticleSysBoneClientUpdate - End - - - ; Body Modules - - Body Specified ActiveBody ModuleTag_01 - MaxHealth = Float - InitialHealth = Float - End - - Body Specified HighlanderBody ModuleTag_01 - End - - Body Specified HiveStructureBody ModuleTag_01 - End - - Body Specified ImmortalBody ModuleTag_01 - End - - Body Specified InactiveBody ModuleTag_01 - End - - Body Specified StructureBody ModuleTag_01 - End - - ; Power Modules - - Behavior Specified BaikonurLaunchPower ModuleTag_01 - End - - Behavior Specified CashBountyPower ModuleTag_01 - End - - Behavior Specified CashHackSpecialPower ModuleTag_01 - End - - Behavior Specified CleanupAreaPower ModuleTag_01 - End - - Behavior Specified DefectorSpecialPower ModuleTag_01 - End - - Behavior Specified OCLSpecialPower ModuleTag_01 - End - - Behavior Specified SpecialAbility ModuleTag_01 - End - - Behavior Specified SpyVisionSpecialPower ModuleTag_01 - End - - ; Collide Modules - - Behavior Specified ConvertToCarBombCrateCollide ModuleTag_01 - End - - Behavior Specified ConvertToHijackedVehicleCrateCollide ModuleTag_01 - End - - Behavior Specified FireWeaponCollide ModuleTag_01 - End - - Behavior Specified HealCrateCollide ModuleTag_01 - End - - Behavior Specified MoneyCrateCollide ModuleTag_01 - End - - Behavior Specified SalvageCrateCollide ModuleTag_01 - End - - Behavior Specified ShroudCrateCollide ModuleTag_01 - End - - Behavior Specified SquishCollide ModuleTag_01 - End - - Behavior Specified UnitCrateCollide ModuleTag_01 - End - - Behavior Specified VeterancyCrateCollide ModuleTag_01 - End - - ; Damage FX Modules - - Behavior Specified BoneFXDamage ModuleTag_01 - End - - Behavior Specified TransitionDamageFX ModuleTag_01 - End - - ; Create Modules - - Behavior Specified GrantUpgradeCreate ModuleTag_01 - End - - Behavior Specified PreorderCreate ModuleTag_01 - End - - Behavior Specified SpecialPowerCreate ModuleTag_01 - End - - Behavior Specified SupplyCenterCreate ModuleTag_01 - End - - Behavior Specified SupplyWarehouseCreate ModuleTag_01 - End - - Behavior Specified VeterancyGainCreate ModuleTag_01 - End - - ; Upgrade Modules - - Behavior Specified ActiveShroudUpgrade ModuleTag_01 - TriggeredBy = UpgradeEntry - FXListUpgrade = FXListEntry - ConflictsWith = UpgradeEntry - RequiresAllTriggers = Bool - NewShroudRange = Float - End - - Behavior Specified ArmorUpgrade ModuleTag_01 - End - - Behavior Specified CostModifierUpgrade ModuleTag_01 - End - - Behavior Specified ExperienceScalarUpgrade ModuleTag_01 - End - - Behavior Specified LocomotorSetUpgrade ModuleTag_01 - End - - Behavior Specified MaxHealthUpgrade ModuleTag_01 - End - - Behavior Specified ObjectCreationUpgrade ModuleTag_01 - End - - Behavior Specified PowerPlantUpgrade ModuleTag_01 - End - - Behavior Specified RadarUpgrade ModuleTag_01 - End - - Behavior Specified StatusBitsUpgrade ModuleTag_01 - End - - Behavior Specified StealthUpgrade ModuleTag_01 - End - - Behavior Specified SubObjectsUpgrade ModuleTag_01 - End - - Behavior Specified UnpauseSpecialPowerUpgrade ModuleTag_01 - End - - Behavior Specified WeaponBonusUpgrade ModuleTag_01 - End - - Behavior Specified WeaponSetUpgrade ModuleTag_01 - End - - ; AI Update Modules - - Behavior Specified AIUpdateInterface ModuleTag_01 - AutoAcquireEnemiesWhenIdle = Lists AutoAcquireEnemiesWhenIdleTypes - MoodAttackCheckRate = Integer - Turret - TurretTurnRate = Integer - TurretPitchRate = Integer - NaturalTurretAngle = Integer - NaturalTurretPitch = Integer - FirePitch = Integer - MinPhysicalPitch = Integer - GroundUnitPitch = Integer - TurretFireAngleSweep = [weaponslot integer] - TurretSweepSpeedModifier = [weaponslot real number] - ControlledWeaponSlots = [weaponslots] - AllowsPitch = Bool - MinIdleScanAngle = Integer - MaxIdleScanAngle = Integer - MinIdleScanInterval = Integer - MaxIdleScanInterval = Integer - RecenterTime = Integer - FiresWhileTurning = Bool - InitiallyDisabled = Bool - End - AltTurret Implements Turret - End - End - - Behavior Specified AssaultTransportAIUpdate ModuleTag_01 - End - - Behavior Specified ChinookAIUpdate ModuleTag_01 - End - - Behavior Specified DeployStyleAIUpdate ModuleTag_01 - End - - Behavior Specified DozerAIUpdate ModuleTag_01 - End - - Behavior Specified HackInternetAIUpdate ModuleTag_01 - End - - Behavior Specified JetAIUpdate ModuleTag_01 - End - - Behavior Specified MissileAIUpdate ModuleTag_01 - End - - Behavior Specified RailedTransportAIUpdate ModuleTag_01 - End - - Behavior Specified SupplyTruckAIUpdate ModuleTag_01 - End - - Behavior Specified TransportAIUpdate ModuleTag_01 - End - - Behavior Specified WanderAIUpdate ModuleTag_01 - End - - Behavior Specified WorkerAIUpdate ModuleTag_01 - End - - ; Update Modules - - Behavior Specified AnimatedParticleSysBoneClientUpdate ModuleTag_01 - End - - Behavior Specified AutoFindHealingUpdate ModuleTag_01 - End - - Behavior Specified BaseRegenerateUpdate ModuleTag_01 - End - - Behavior Specified BattlePlanUpdate ModuleTag_01 - End - - Behavior Specified BeaconClientUpdate ModuleTag_01 - End - - Behavior Specified BoneFXUpdate ModuleTag_01 - End - - Behavior Specified CheckpointUpdate ModuleTag_01 - End - - Behavior Specified CleanupHazardUpdate ModuleTag_01 - End - - Behavior Specified CommandButtonHuntUpdate ModuleTag_01 - End - - Behavior Specified DefaultProductionExitUpdate ModuleTag_01 - End - - Behavior Specified DeletionUpdate ModuleTag_01 - End - - Behavior Specified DemoTrapUpdate ModuleTag_01 - End - - Behavior Specified DynamicGeometryInfoUpdate ModuleTag_01 - End - - Behavior Specified DynamicShroudClearingRangeUpdate ModuleTag_01 - End - - Behavior Specified EMPUpdate ModuleTag_01 - End - - Behavior Specified EnemyNearUpdate ModuleTag_01 - End - - Behavior Specified FireOCLAfterWeaponCooldownUpdate ModuleTag_01 - End - - Behavior Specified FireSpreadUpdate ModuleTag_01 - End - - Behavior Specified FirestormDynamicGeometryInfoUpdate ModuleTag_01 - End - - Behavior Specified FireWeaponUpdate ModuleTag_01 - End - - Behavior Specified FlammableUpdate ModuleTag_01 - End - - Behavior Specified HeightDieUpdate ModuleTag_01 - End - - Behavior Specified HijackerUpdate ModuleTag_01 - End - - Behavior Specified HordeUpdate ModuleTag_01 - End - - Behavior Specified MissileLauncherBuildingUpdate ModuleTag_01 - End - - Behavior Specified MobMemberSlavedUpdate ModuleTag_01 - End - - Behavior Specified NeutronMissileUpdate ModuleTag_01 - End - - Behavior Specified ParticleUplinkCannonUpdate ModuleTag_01 - End - - Behavior Specified PilotFindVehicleUpdate ModuleTag_01 - End - - Behavior Specified PointDefenseLaserUpdate ModuleTag_01 - End - - Behavior Specified PowerPlantUpdate ModuleTag_01 - End - - Behavior Specified ProductionUpdate ModuleTag_01 - End - - Behavior Specified ProneUpdate ModuleTag_01 - End - - Behavior Specified QueueProductionExitUpdate ModuleTag_01 - End - - Behavior Specified RadarUpdate ModuleTag_01 - End - - Behavior Specified RepairDockUpdate ModuleTag_01 - End - - Behavior Specified SlavedUpdate ModuleTag_01 - End - - Behavior Specified SpawnPointProductionExitUpdate ModuleTag_01 - End - - Behavior Specified SpecialAbilityUpdate ModuleTag_01 - End - - Behavior Specified SpyVisionUpdate ModuleTag_01 - End - - Behavior Specified StealthDetectorUpdate ModuleTag_01 - End - - Behavior Specified StealthUpdate ModuleTag_01 - End - - Behavior Specified StructureCollapseUpdate ModuleTag_01 - End - - Behavior Specified StructureToppleUpdate ModuleTag_01 - End - - Behavior Specified SupplyCenterProductionExitUpdate ModuleTag_01 - End - - Behavior Specified TensileFormationUpdate ModuleTag_01 - End - - Behavior Specified ToppleUpdate ModuleTag_01 - End - - Behavior Specified WaveGuideUpdate ModuleTag_01 - End - - Behavior Specified WeaponBonusUpdate ModuleTag_01 - End - - ; Die Modules - - Behavior Specified CreateCrateDie ModuleTag_01 - End - - Behavior Specified CreateObjectDie ModuleTag_01 - End - - Behavior Specified CrushDie ModuleTag_01 - End - - Behavior Specified DamDie ModuleTag_01 - End - - Behavior Specified DestroyDie ModuleTag_01 - End - - Behavior Specified EjectPilotDie ModuleTag_01 - End - - Behavior Specified FXListDie ModuleTag_01 - End - - Behavior Specified KeepObjectDie ModuleTag_01 - End - - Behavior Specified RebuildHoleExposeDie ModuleTag_01 - End - - Behavior Specified SpecialPowerCompletionDie ModuleTag_01 - End - - Behavior Specified UpgradeDie ModuleTag_01 - End - - ;Behavior Modules - - Behavior Specified AutoHealBehavior ModuleTag_01 - End - - Behavior Specified BridgeBehavior ModuleTag_01 - End - - Behavior Specified BridgeScaffoldBehavior ModuleTag_01 - End - - Behavior Specified BridgeTowerBehavior ModuleTag_01 - End - - Behavior Specified DumbProjectileBehavior ModuleTag_01 - End - - Behavior Specified FireWeaponWhenDamagedBehavior ModuleTag_01 - End - - Behavior Specified FireWeaponWhenDeadBehavior ModuleTag_01 - End - - Behavior Specified GenerateMinefieldBehavior ModuleTag_01 - End - - Behavior Specified HelicopterSlowDeathBehavior ModuleTag_01 - End - - Behavior Specified InstantDeathBehavior ModuleTag_01 - End - - Behavior Specified JetSlowDeathBehavior ModuleTag_01 - End - - Behavior Specified MinefieldBehavior ModuleTag_01 - End - - Behavior Specified NeutronBlastBehavior ModuleTag_01 - End - - Behavior Specified NeutronMissileSlowDeathBehavior ModuleTag_01 - End - - Behavior Specified OverchargeBehavior ModuleTag_01 - End - - Behavior Specified ParkingPlaceBehavior ModuleTag_01 - End - - Behavior Specified PhysicsBehavior ModuleTag_01 - End - - Behavior Specified PoisonedBehavior ModuleTag_01 - End - - Behavior Specified PropagandaTowerBehavior ModuleTag_01 - End - - Behavior Specified RebuildHoleBehavior ModuleTag_01 - End - - Behavior Specified SlowDeathBehavior ModuleTag_01 - End - - Behavior Specified SpawnBehavior ModuleTag_01 - End - - Behavior Specified SupplyWarehouseCripplingBehavior ModuleTag_01 - End - - Behavior Specified TechBuildingBehavior ModuleTag_01 - End - - ; Contain Modules - - Behavior Specified CaveContain ModuleTag_01 - End - - Behavior Specified GarrisonContain ModuleTag_01 - End - - Behavior Specified HealContain ModuleTag_01 - End - - Behavior Specified MobNexusContain ModuleTag_01 - End - - Behavior Specified OpenContain ModuleTag_01 - End - - Behavior Specified OverlordContain ModuleTag_01 - End - - Behavior Specified ParachuteContain ModuleTag_01 - End - - Behavior Specified RailedTransportContain ModuleTag_01 - End - - Behavior Specified TransportContain ModuleTag_01 - End - - Behavior Specified TunnelContain ModuleTag_01 - End - - end - - - end - end - -; ---------------------------- BEGIN ZERO HOUR ------------------------------------------------------------ - - ZeroHour Implements Generals ; we support everything Generals supports and some additional stuff: (note: you currently cannot remove modules/values from Generals, just overwrite/append to them. If this is necessary, contact me and I'll add that functionality) - Lists - ConditionStateTypes - LEFT_TO_CENTER=1 - RIGHT_TO_CENTER=1 - CENTER_TO_LIGHT=1 - CENTER_TO_RIGHT=1 - RIDER1=1 - RIDER2=1 - RIDER3=1 - RIDER4=1 - RIDER5=1 - RIDER6=1 - RIDER7=1 - SECOND_LIFE=1 - ARMORSET_CRATEUPGRADE_ONE=1 - ARMORSET_CRATEUPGRADE_TWO=1 - end - end - - INIStructure - - end - end - -; ---------------------------- BEGIN BFME ------------------------------------------------------------ - - - BFME ; we don't implement generals/zero hour into BFME right now, I think there are just too many differences. Might be messy. - ObjectsWithLists - ConditionState=1 - ModelConditionState=1 - TransitionState=1 - AnimationState=1 - Animation=1 - end - ForcedObjects - TransitionState=1 - EmissionVolume=1 - EmissionVelocity=1 - Color=1 - Update=1 - Physics=1 - Alpha=1 - ConditionState=1 - ModelConditionState=1 - Window=1 - Transition=1 - WindowTransition=1 - LodOptions=1 - Animation=1 - AnimationState=1 - ArmyEntry=1 - LivingWorldPlayerArmy=1 - SplineCamera=1 - RegionReinforcements=1 - MoveCamera=1 - ToggleArmyControl=1 - ModifyArmyEntry=1 - LivingWorldRegionCampaignCampEA_DEMO=1 - EnemyBordersEffect=1 - ControlPoint=1 - FriendlyBordersEffect=1 - HilightBordersEffect=1 - ConqueredEffectEvenglow=1 - ConqueredEffectFlareup=1 - MouseoverEffectFlareupOwned=1 - MouseoutEffectFlareupOwned=1 - MouseoverEffectFlareupContested=1 - SkirmishOpponent=1 - MouseoutEffectFlareupContested=1 - SpawnArmy=1 - MoveArmy=1 - EyeTowerPoints=1 - WorldText=1 - AudioEvent=1 - EnableRegion=1 - ForceBattle=1 - Behavior=1 - Draw=1 - Event=1 - AllowAIPickup=1 - Body=1 - ChildObject=1 - Emitter=1 - Wind=1 - end - ForcedValues - MinVolume=1 - ParticleSysBone=1 - CurDrawableShowSubObject=1 - CurDrawableHideSubObject=1 - blank=1 - #define=1 - Size=1 - ScreenCreationRes=1 - Side=1 - CommandBarBorderColor=1 - BuildUpClockColor=1 - ButtonBorderBuildColor=1 - ButtonBorderActionColor=1 - ButtonBorderUpgradeColor=1 - ButtonBorderSystemColor=1 - ButtonBorderAlteredColor=1 - Geometry=1 - Time=1 - Position=1 - CampaignNameLabel=1 - UnitNames0=1 - UnitNames1=1 - UnitNames2=1 - LocationNameLabel=1 - firstMission=1 - ImageName=1 - Layer=1 - FinalVictoryMovie=1 - Map=1 - IntroMovie=1 - ObjectiveLine0=1 - ObjectiveLine1=1 - ObjectiveLine2=1 - ObjectiveLine3=1 - ObjectiveLine4=1 - NextMission=1 - RemoveModule=1 - end - - StringAreas - BeginScript - End=EndScript - end - end - - Lists - ConditionStateTypes - PREORDER=1 - USING_WEAPON_A=1 - USING_WEAPON_B=1 - USING_WEAPON_C=1 - EXPLODED_BOUNCING=1 - EXPLODED_FLAILING=1 - CAPTURED=1 - RAISING_FLAG=1 - CONTINUOUS_FIRE_SLOW=1 - SPECIAL_CHEERING=1 - POWER_PLANT_UPGRADING=1 - ARMED=1 - RAPELLING=1 - CLIMBING=1 - POWER_PLANT_UPGRADED=1 - OVER_WATER=1 - DEPLOYED=1 - UNPACKING=1 - PACKING=1 - JETEXHAUST=1 - JETAFTERBURNER=1 - LOADED=1 - CARRYING=1 - DOCKING_ENDING=1 - DOCKING_ACTIVE=1 - DOCKING_BEGINNING=1 - DOCKING=1 - SMOLDERING=1 - PANICKING=1 - RADAR_UPGRADED=1 - RADAR_EXTENDED=1 - CONSTRUCTION_COMPLETE=1 - ACTIVELY_CONSTRUCTING=1 - PRONE=1 - FREEFALL=1 - ACTIVELY_BEING_CONSTRUCTED=1 - PARTIALLY_CONSTRUCTED=1 - DYING=1 - POST_COLLAPSE=1 - TURRET_ROTATE=1 - RELOADING_A=1 - BETWEEN_FIRING_SHOTS_A=1 - FIRING_A=1 - PREATTACK_A=1 - RELOADING_B=1 - BETWEEN_FIRING_SHOTS_B=1 - FIRING_B=1 - PREATTACK_B=1 - RELOADING_C=1 - BETWEEN_FIRING_SHOTS_C=1 - FIRING_C=1 - PREATTACK_C=1 - DOOR_4_WAITING_TO_CLOSE=1 - DOOR_4_WAITING_OPEN=1 - DOOR_4_CLOSING=1 - DOOR_4_OPENING=1 - DOOR_3_WAITING_TO_CLOSE=1 - DOOR_3_WAITING_OPEN=1 - DOOR_3_CLOSING=1 - DOOR_3_OPENING=1 - DOOR_2_WAITING_TO_CLOSE=1 - DOOR_2_WAITING_OPEN=1 - DOOR_2_CLOSING=1 - DOOR_2_OPENING=1 - DOOR_1_WAITING_TO_CLOSE=1 - DOOR_1_WAITING_OPEN=1 - DOOR_1_CLOSING=1 - DOOR_1_OPENING=1 - WEAPONSET_PLAYER_UPGRADE=1 - WEAPONSET_CRATEUPGRADE_ONE=1 - WEAPONSET_CRATEUPGRADE_TWO=1 - WEAPONSET_HERO=1 - WEAPONSET_ELITE=1 - WEAPONSET_VETERAN=1 - ENEMYNEAR=1 - SNOW=1 - NIGHT=1 - SPECIAL_DAMAGED=1 - BACKCRUSHED=1 - FRONTCRUSHED=1 - end - PBFESlots - PRIMARY=1 - SECONDARY=1 - TERTIARY=1 - end - UpgradeConditionTypes - Upgrade_Veterancy_VETERAN=1 - Upgrade_Veterancy_ELITE=1 - Upgrade_Veterancy_HEROIC=1 - end - ObjectConditionTypes - ATTACKING=1 - MOVING=1 - FIRING_PRIMARY=1 - FIRING_SECONDARY=1 - FIRING_TERTIARY=1 - end - WeaponSetConditionTypes - PLAYER_UPGRADE=1 - MINE_CLEARING_DETAIL=1 - CARBOMB=1 - VEHICLE_HIJACK=1 - CRATEUPGRADE_ONE=1 - CRATEUPGRADE_TWO=1 - end - EditorSortingTypes - SYSTEM=1 - STRUCTURE=1 - MISC_MAN_MADE=1 - End - OCLCreationPointTypes - CREATE_AT_EDGE_FARTHEST_FROM_TARGET = 1 - CREATE_ABOVE_LOCATION = 1 - USE_OWNER_OBJECT = 1 - CREATE_AT_LOCATION = 1 - CREATE_AT_EDGE_NEAR_TARGET = 1 - CREATE_AT_EDGE_NEAR_SOURCE = 1 - end - KindOfTypes - SPELL_BOOK=1 - IMMOBILE=1 - IGNORES_SELECT_ALL=1 - INERT=1 - UNATTACKABLE=1 - OPTIMIZED_PROP=1 - end - RadarPriorityTypes - NOT_ON_RADAR=1 - end - HealAffectsTypes - INFANTRY=1 - CAVALRY=1 - MONSTER=1 - MACHINE=1 - end - AnimationStateTypes ; TODO - WEAPONSET_TOGGLE_1=1 - SELECTED=1 - STUNNED=1 - end - AnimationModeTypes - LOOP=1 - ONCE=1 - end - end - - - - INIStructure - Object ObjectName - - Draw Specified W3DScriptedModelDraw ModuleTag_01 - DefaultModelConditionState - Model = Model - ShowSubObject = [sub object name(s)] - HideSubObject = [sub object name(s)] - WeaponRecoilBone = [bone name] - WeaponFireFXBone = [bone name] - WeaponMuzzleFlash = [bone name] - WeaponLaunchBone = [bone name] - WeaponHideShowBone = [bone name] - ;IdleAnimation = [model animation name] - ;TransitionKey = [TransitionKey name] - ;Animation = [model animation name] - ;Flags = [AnimationFlag types list] - ;AnimationSpeedFactorRange = [real number real number] - ParticleSysBone = Direct Named AppendedData data\ini\ParticleSystem.ini::ParticleSystem - Turret = [sub object name] - TurretArtAngle = [integer] - TurretPitch = [integer] - TurretArtPitch = [integer] - AltTurret = [sub object name] - AltTurretArtAngle = [integer] - AltTurretArtPitch = [integer] - AltTurretPitch = [integer] - end - ;ConditionState Implements DefaultConditionState Lists ConditionStateTypes - ;End - - ModelConditionState Implements DefaultModelConditionState Lists ConditionStateTypes - End - - AliasConditionState = [ConditionState name] - - AnimationState Lists AnimationStateTypes - StateName = Name - Animation Selects AnimationName # Selects isn't accurate actually. But does what it should do for now. - AnimationName = AnimName - AnimationMode = Selects AnimationModeTypes - UseWeaponTiming=Bool - End - end - - - TransitionState Implements AnimationState Lists ConditionStateTypes # Exactly 2 ConditionStates needed - End - - OkToChangeModelColor=Bool - AnimationsRequirePower = Bool - ProjectileBoneFeedbackEnabledSlots = Lists PBFESlots - TrackMarks = TextureFilename - ExtraPublicBone = [bone name, multiple entries possible] - AttachToBoneInAnotherModule = [bone name] - IgnoreConditionStates = Lists ConditionStateTypes - end - Draw Specified W3DTreeDraw ModuleTag_01 - ModelName = Model - TextureName = TextureName - DoTopple = Bool - ToppleFX = data\ini\fxlist.ini::FXList - BounceFX = data\ini\fxlist.ini::FXList - KillWhenFinishedToppling = Bool - SinkDistance = Integer - SinkTime = Integer - End - Draw Specified W3DHordeModelDraw Implements "Draw Specified W3DScriptedModelDraw" ModuleTag_01 - end - Draw Specified W3DDebrisDraw ModuleTag_01 - End - Draw Specified W3DDefaultDraw ModuleTag_01 - End - ;Draw Specified W3DDependencyModelDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; AttachToBoneInContainer = [bone name from object in W3DOverlordTankDraw module] - ;End - ;Draw Specified W3DOverlordTankDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ;end - ;Draw Specified W3DPoliceCarDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ;end - ;Draw Specified W3DProjectileStreamDraw ModuleTag_01 - ; Texture = TextureFilenameExt - ; Width = Float - ; TileFactor = Integer - ; ScrollRate = Float - ; MaxSegments = Integer - ;end - ;Draw Specified W3DRopeDraw ModuleTag_01 - ;End - ;Draw Specified W3DScienceModelDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; RequiredScience = data\ini\Science.ini::Science - ;end - ;Draw Specified W3DSupplyDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; SupplyBonePrefix = [bone name] - ;end - ;Draw Specified W3DTankDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; TreadDriveSpeedFraction = Float - ; TreadPivotSpeedFraction = Float - ; TreadAnimationRate = Float - ; InitialRecoilSpeed = Integer - ; MaxRecoilDistance = Integer - ; RecoilDamping = Integer - ; RecoilSettleSpeed = Integer - ;end - ;Draw Specified W3DTruckDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; RotationDamping = Float - ; TrailerRotationMultiplier = Float - ; CabRotationMultiplier = Float - ; TrailerBone = [bone name] - ; CabBone = [bone name] - ; PowerslideRotationAddition = Float - ; TireRotationMultiplier = Float - ; MidRightMidTireBone = [bone name] - ; MidLeftMidTireBone = [bone name] - ; MidRightRearTireBone = [bone name] - ; MidLeftRearTireBone = [bone name] - ; MidRightFrontTireBone = [bone name] - ; MidLeftFrontTireBone = [bone name] - ; RightRearTireBone = [bone name] - ; LeftRearTireBone = [bone name] - ; RightFrontTireBone = [bone name] - ; LeftFrontTireBone = [bone name] - ; PowerslideSpray = data\ini\ParticleSystem.ini::ParticleSystem - ; DirtSpray = data\ini\ParticleSystem.ini::ParticleSystem - ; Dust = data\ini\ParticleSystem.ini::ParticleSystem - ;end - ;Draw Specified W3DTankTruckDraw Implements "Draw Specified W3DTankDraw" Implements "Draw Specified W3DTruckDraw" ModuleTag_01 - ;end - ;Draw Specified W3DLaserDraw Implements "Draw Specified W3DModelDraw" ModuleTag_01 - ; NumBeams = Integer - ; Texture = TextureFilename - ; InnerBeamWidth = InnerBeamWidth - ; OuterBeamWidth = OuterBeamWidth - ; InnerColor = RGBA - ; OuterColor = RGBA - ; MaxIntensityLifetime = Integer - ; FadeLifetime = Integer - ; Tile = Bool - ; Segments = Integer - ; ArcHeight = Float - ; SegmentOverlapRatio = Float - ; TilingScalar = Float - ;end - ;Draw Specified W3DTracerDraw ModuleTag_01 - ;end - - - EditorSorting = Lists EditorSortingTypes - CommandSet = data\ini\commandset.ini::CommandSet - RadarPriority = Lists RadarPriorityTypes - KindOf = Lists KindOfTypes - - - ; terrain stuff: - IsGrabbable = Yes - IsHarvestable = Yes - - - ; evil special power behaviors: - - Behavior Specified OCLSpecialPower ModuleTag - SpecialPowerTemplate = data\ini\specialpower.ini::SpecialPower - OCL = data\ini\objectcreationlist.ini::ObjectCreationList - CreateLocation = Lists OCLCreationPointTypes - AvailableAtStart = Bool - End - - Behavior Specified SpecialPowerModule ModuleTag - SpecialPowerTemplate = data\ini\specialpower.ini::SpecialPower - AttributeModifier = data\ini\specialpower.ini::SpecialPower - AttributeModifierRange = Integer - AttributeModifierAffects = [who/what does it affect, for example ANY +HORDE -HERO] - TriggerFX = data\ini\fxlist.ini::FXList - UpdateModuleStartsAttack = Bool - AvailableAtStart = Bool - end - - Behavior Specified WeatherSpecialPower_decl Implements "Behavior Specified SpecialPowerModule" ModuleTag - AntiCategory = LEADERSHIP - ; AntiFX = FX_AntiLeadership ; FX for anti category - AttributeModifierWeatherBased = Bool - TargetAllSides = Bool ; Then the alliance setting in the Object Filter will control who - end - - Behavior Specified FreezingRainSpecialPower Implements "Behavior Specified WeatherSpecialPower_decl" ModuleTag - end - - Behavior Specified DarknessSpecialPower Implements "Behavior Specified WeatherSpecialPower_decl" ModuleTag - end - - Behavior Specified TaintSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - TaintObject = [Taint object]; data\ini\object\::Object - TaintRadius = Integer - TaintFX = data\ini\fxlist.ini::FXList - TaintOCL = data\ini\objectcreationlist.ini::ObjectCreationList - End - - Behavior Specified ScavengerSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - BountyPercent = Float - End - - Behavior Specified DevastateSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - Radius = Integer - TreeValueMultiplier = Percent #The value sqeezed out of each tree is multiplied by this compared to what a worker would have gotten for it - TreeValueTotalCap = Integer #And the most you can get for the enitre spell is this, so you can't find the one map that has a 20000 patch of trees in the corner - TriggerFX = data\ini\fxlist.ini::FXList - FX = data\ini\fxlist.ini::FXList - End - - Behavior Specified ProductionSpeedBonus Implements "Behavior Specified SpecialPowerModule" ModuleTag - NumberOfFrames = Integer - SpeedMulitplier = Float - Type = [Who] ;MordorFighterHorde MordorArcherHorde - End - - ; good special power behaviors: - Behavior Specified CloudBreakSpecialPower Implements "Behavior Specified WeatherSpecialPower_decl" ModuleTag - SunbeamObject = data\ini\object\::Object - ObjectSpacing = Integer - ReEnableAntiCategory = Bool # cancel negative effects on good guys - End - - Behavior Specified ElvenWoodSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - ElvenGroveObject = ElvenGrove - ElvenWoodRadius = Integer - ElvenWoodFX = FX_ElvenWoodSpellFX - ElvenWoodOCL = OCL_ElvenWoodSeed - End - - Behavior Specified PlayerUpgradeSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - UpgradeName = Name - UpdateModuleStartsAttack = Bool - AffectAllies = Bool - End - - Behavior Specified PlayerHealSpecialPower Implements "Behavior Specified SpecialPowerModule" ModuleTag - HealAffects = Lists HealAffectsTypes - HealAmount = Float # 0.5 being 50% health - HealRadius = Integer - HealFX = data\ini\fxlist.ini::FXList - HealOCL = data\ini\objectcreationlist.ini::ObjectCreationList - End - - - End - ChildObject Implements Object ObjectName ParentObjectName - end - Campaign CampaignName - CampaignNameLabel = Direct String - FirstMission = Direct Mission - Mission MissionName - Map = Direct Filename - IntroMovie = Direct Movie - ObjectiveLine0 = Direct String - ObjectiveLine1 = Direct String - ObjectiveLine2 = Direct String - ObjectiveLine3 = Direct String - UnitNames0 = Direct Object - UnitNames1 = Direct Object - UnitNames2 = Direct Object - LocationNameLabel = Direct Object - VoiceLength = Integer - END - END - end - end -end \ No newline at end of file diff --git a/Tools/IniChecker/IniChecker3.exe b/Tools/IniChecker/IniChecker3.exe deleted file mode 100644 index 6bc5d45aa..000000000 --- a/Tools/IniChecker/IniChecker3.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af4aaf322353b596b231de5088a99299d86a044368cff986f6d61a17f8a1ff4e -size 608256 diff --git a/Tools/IniChecker/README.md b/Tools/IniChecker/README.md deleted file mode 100644 index eea64f856..000000000 --- a/Tools/IniChecker/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Ini Checker -(PC only) - -## Description - -This tool was developed for mod makers. It finds errors in Generals Zero Hour ini code as well as in scripts automatically. It does not fix errors. Ini Checker just helps to find them. It performs hundreds of checks and allows to detect many types of bugs, but not all of them. So, don't rely on it very much. Some errors can stay. - -Ini Checker 3.1 consists of three modules: Ini Scanner, Hotkey Fixer and Scripts Analyzer. - -Hotkey Fixer allows you to find free hotkeys for your new buttons with one click and solve hotkey conflicts with ease. - -Ini Scanner checks the code and displays you errors and warnings. Some warning are not errors. They point to strange code constructions, which should be checked manually. - -## How to use - -Unpack the archive. Start Ini Checker. Click "Browse" and find any of your ini files. This is needed to define the folder with ini files you want to check. Nothing more. You don't need to open each file. After you are done, the path similar to this string will appear: "C:/Games/Generals Zero Hour/Data/INI/". Note, that there is no any "Object", "Default" or any other folder in the end. You can also type folder location manually. Preparations are over. You can now start any of modules. - -Work with Ini Scanner is easy. Just click "Scan" and wait for a couple of minutes. Then read all it has written. Not all of messages will be errors. Many of them will be just warnings. There is not division between errors and warnings. It puts everything into one heap. It also saves the log into TXT file. So, you can return to it later. Ini Scanner does not see files packed inside *.big archives. Thus, if you have only some INI files unpacked, it will show you many errors. In order the scanner to work properly, you need to have all files from INIZH.big unpacked. - -If you use Hotkey Fixer click "Scan for hotkeys" and wait. It will analyze the code and find all buttons, inscriptions, all hotkeys and display them. There are 3 show modes: "Show all buttons", "Show conflicting only" and "Show without hotkeys only". You can choose any you like. Button names are arranged in alphabetic order. So, it is not difficult to find the button you need. Select the button of your choice and click "Suggest a hotkey". The program will analyze all command sets, all buttons, all hotkeys and suggest you a number of non-conflicting keys. - -If you use Scripts Analyzer, then the path to SkirmishScripts.scb file will be filled automatically after you choose ini files. You just need to click "Analyze" button. If you want to check scripts for maps then you need to start World Builder first and export scripts from your map. When you are done, return to Ini Checker and point the path to the SCB-file. Note, that there is "Skirmish Scripts" inscription in the right bottom corner. The thing is that the same scripts will be errors for the skirmish AI and will be ok for maps. So, check "Skirmish Scripts" when you analyze skirmish AI and uncheck it for map scripts. - -Note: -The program generates text automatically. Some messages can sound a bit weird. But I hope that everything is comprehensible. diff --git a/Tools/ParticleEditor/Documentation.rtf b/Tools/ParticleEditor/Documentation.rtf deleted file mode 100644 index 7f7ef7fac..000000000 --- a/Tools/ParticleEditor/Documentation.rtf +++ /dev/null @@ -1,350 +0,0 @@ -{\rtf1\ansi\deff0\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\fnil\fprq0\fcharset1 OpenSymbol{\*\falt Arial Unicode MS};}{\f4\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f5\fnil\fprq2\fcharset0 Mangal;}{\f6\fnil\fprq0\fcharset1 Mangal;}} -{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} -{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079 Normal;} -{\*\cs15\snext15\dbch\af3\dbch\af3\loch\f3 Aufz\u228\'e4hlungszeichen;} -{\s16\sbasedon0\snext17\sb240\sa120\keepn\dbch\af4\dbch\af5\afs28\loch\f2\fs28 \u220\'dcberschrift;} -{\s17\sbasedon0\snext17\sb0\sa120 Textk\u246\'f6rper;} -{\s18\sbasedon17\snext18\sb0\sa120\dbch\af6 Liste;} -{\s19\sbasedon0\snext19\sb120\sa120\noline\i\dbch\af6\afs24\ai\fs24 Beschriftung;} -{\s20\sbasedon0\snext20\noline\dbch\af6 Verzeichnis;} -}{\*\listtable{\list\listtemplateid1 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid1} -{\list\listtemplateid2 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid2} -{\list\listtemplateid3 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid3} -{\list\listtemplateid4 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid4} -{\list\listtemplateid5 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid5} -{\list\listtemplateid6 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid6} -{\list\listtemplateid7 -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li720} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1080} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1440} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li1800} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2160} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2520} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li2880} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9702 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3240} -{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u9642 ?;}{\levelnumbers;}\f3\dbch\af3\fi-360\li3600}\listid7} -{\list\listtemplateid8 -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-432\li432} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-576\li576} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-720\li720} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-864\li864} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-1008\li1008} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-1152\li1152} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-1296\li1296} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-1440\li1440} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi-1584\li1584}\listid8} -}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}}{\info{\creatim\yr2017\mo2\dy19\hr8\min34}{\revtim\yr2017\mo2\dy19\hr9\min42}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern4000}}\deftab709 -\viewscale160 -{\*\pgdsctbl -{\pgdsc0\pgdscuse451\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}} -\formshade\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs36\ab\rtlch \ltrch\loch\fs36 -Zero Hour Particle Editor Documentation} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b\afs36\ab\rtlch \ltrch\loch\fs36 - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs28\ab\rtlch \ltrch\loch\fs28 -What is this} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -This is a work in progress ZH modding tool to view, create and modify Particle Effects. You can load up your ParticleSystem.ini and FXList.ini files and view your FX and modify them. }{\b0\ab0\rtlch \ltrch\loch -To actually create FX you still need knowledge about what ParticleSystem attributes do, etc.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -Feel free to ask any specific questio}{\b0\ab0\rtlch \ltrch\loch -ns}{\b0\ab0\rtlch \ltrch\loch -.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -The whole SAGE Particle engine has been re-created in JAVA. I tried my best to keep it exactly like ingame, but it is entirely possible that some minor details might be off. }{\b0\ab0\rtlch \ltrch\loch -Some features might not be supported at this point (Check the list at the end of this document.)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -Also I discovered some numerical errors with effects ingame, so it is possible that an effect that work in this editor will not show up ingame. (I will create a list of known errors at some point).} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -This tool is an early alpha. It is not entirely bug free or crash safe. It should not be possible to break your files, but to be safe, the save feature will always create a backup of your ini files. If you don't want to trust this tool, export to clipboard or a seperate file and manually edit your filles.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b\ab\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs28\ab\rtlch \ltrch\loch\fs28 -How to install} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls1 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Install JAVA and make sure it's set up properly (1.7 is required)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls1 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Extract this archive wherever you want. No install required} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls1 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Run the .bat file to launch the program} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs28\ab\rtlch \ltrch\loch\fs28 -Configuration} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -(Go to Settings->Preferences in the menu bar at the top)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -Here you can set up some file paths:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Primary Texture Folder}{\b0\ab0\rtlch \ltrch\loch -: Point this to where your Textures are located (in TGA or DDS format)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -(restart required)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Secondary Texture folder}{\b0\ab0\rtlch \ltrch\loch -: This is optional if you want to keep vZH texture seperate.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch - }{\b0\ab0\rtlch \ltrch\loch -e.g. Primary = Your mods' art/textures folder, Secondary = Folder with vZH or any additional textures. The program first looks up textures in the primary folder and then checks the secondary folder if they can't be found.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Load used textures only}{\b0\ab0\rtlch \ltrch\loch -: Only textures which are used in any of the ParticleSystems are loaded from the folders. (You can manually load additional textures later)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Load all textures}{\b0\ab0\rtlch \ltrch\loch -: All textures (even unused) matching the pattern are loaded. The Pattern is a regular expression (without the file extension, and you need to escape '\\'). The default value \u8222\'84(EX|FX).*\u8220\'93 loads all textures starting with \u8222\'84EX\u8220\'93 or \u8222\'84FX\u8220\'93.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Default ParticleSystem & FX Files}{\b0\ab0\rtlch \ltrch\loch -: These files are loaded when the program starts. You can either use the File->Import option to load your files, or set your own particleSystem and FX INI files here as default. No files will be overwritten automatically. This is read only.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -(Restart required)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\ab0\rtlch \ltrch\loch -Restart the program after setting up the paths and it should now load your INI files and textures (There's no proper loading screen yet)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs28\ab\rtlch \ltrch\loch\fs28 -How to use} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -GUI overview:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls2 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Top: Various controls to play FX and change the View} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls2 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Menu bar for file handling and undo} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls2 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Left: Browse your FX and Particle effects.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls2 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -BrowseAll = All Loaded effects} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls2 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -WorkingSet = All currently edited effects.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls2 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Use the textbox to filter} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls2 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Create new FX/Particle or clone an existing one} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls2 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Right: Edit the current effect, either in GUI or the code. Code needs to be parsed manually (press the button) GUI values are automatically applied.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls2 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Bottom: Some }{\b0\ab0\rtlch \ltrch\loch -probably }{\b0\ab0\rtlch \ltrch\loch -helpful statistics} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Menu bar:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls3 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -File} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Import: First pick your Particlesystem.ini, then your FXList.ini} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Export working set: Write your currently edited items to a seperate file (or copy to clipboard) This is a good way to make backups during editing.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Save .ini files: THIS WILL OVERWRITE YOUR FILES. Every changes made will be written to the currently loaded files. Only modified items will be changed. New items will be added at the end. A backup is made (in the same folder) before any overwriting takes place. This should already work properly but I can't guarantee that it works in any case. (remember, this is an alpha)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls3 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Edit} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Undo/Redo: I'm not sure if every single edit is currently undo-able, but it should work properly.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls3 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Settings} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Preferences: See above} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -View: Setup various view options. Pretty self explanatory} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls3 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Filter (Experimental)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls3 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Scale: scale the total size or the speed of an effect. Keep in mind that particlesystems might be used by different effects, so if you want to e.g. scale down a nuke FX, make sure its particlesystems are unique to the FX you want to scale.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\ab\rtlch \ltrch\loch -Edit Panel:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls4 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Edit the currently selected FX/Particles} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls4 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Switch between FX/Particles or Code/GUI} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Edits in the GUI are applied immediately} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Edits in code need to be parsed first} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls4 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -FX GUI} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -The textbox at the top can be used to rename the current FX} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Button \u8222\'84Add ParticleSystem\u8220\'93: } -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Create a new ParticleSystem entry here.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -ParticleSystem entries} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Alle particlesystems in this FX are listed here} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -The checkbox on the left side controls visibility of this ParticleSystem. Right click for more options} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Select a system in the combobox} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Right-click the combobox to add a new system or clone an existing one} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -The [x] button removes an entry.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -LightPulse, Sound, Scorchmark, etc. is NOT supported. It will be stored, but you won't see it in the editor.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls4 \li720\ri0\lin720\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -ParticleSystem GUI} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Combobox at the top: Select a Particlesystem from your current FX.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -The GUI elements represent the particle system values. Most of this should be obvious} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Color/Alpha values. Use the buttons to add, remove, or move the entries.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls4 \li1080\ri0\lin1080\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Slave/Attached System} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9642\'3f\tab}\ilvl2\ls4 \li1440\ri0\lin1440\rin0\fi-360{\b0\ab0\rtlch \ltrch\loch -Select a particlesystem. If you type in a new name and press enter, you can create a new one. }{\b0\ab0\rtlch \ltrch\loch -I think it prevents endless loops, but don't try to select the same particlesystem again.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b\afs28\ab\rtlch \ltrch\loch\fs28 - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs28\ab\rtlch \ltrch\loch\fs28 -Unsupported features} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\afs24\rtlch \ltrch\loch\fs24 - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -The following features from ZH are either unsupported, ignored or unselectable inside the editor:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\afs24\rtlch \ltrch\loch\fs24 - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs24\ab\rtlch \ltrch\loch\fs24 -Unsupported:}{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 - (Information will be lost when an item is edited/re-exported with these values)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls5 \li720\ri0\lin720\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Particle}{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -S}{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -ystem:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls5 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -WindMotion and its parameters.} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls5 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -ParticleType: Anything except PARTICLE or STREAK (not: Streak will lag inside the editor, but it works)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls5 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Shader: Anything but ALPHA, ADDITIVE. (ALPHA_TEST works too, but it will not show any difference)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls5 \li720\ri0\lin720\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -FX:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls5 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -can't remember at the moment} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs24\ab\rtlch \ltrch\loch\fs24 -Ignored: }{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -(Information is not used in the editor, but values can be selected and are exported)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls6 \li720\ri0\lin720\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -ParticleSystem:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -EmitAboveGroundOnly} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -IsOneShot (I don't even know what this does)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls6 \li720\ri0\lin720\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -FX:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -UseCallersRadius} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -OrientToObject} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Ricochet} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls6 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -CreateAtGroundHeight} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\b\afs24\ab\rtlch \ltrch\loch\fs24 -Unselectable:}{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 - (Information is stored/parsed, but cannot be selected or changed in the GUI at the moment)} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u8226\'95\tab}\ilvl0\ls7 \li720\ri0\lin720\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -FX:} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Random types for Height, Delay, etc. (New FX entries will use 'UNIFORM')} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -LightPulse} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Scorchmark} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Sound} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Tracer} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079{\listtext\pard\plain \dbch\af3\dbch\af3\loch\f3 \u9702\'3f\tab}\ilvl1\ls7 \li1080\ri0\lin1080\rin0\fi-360{\b0\afs24\ab0\rtlch \ltrch\loch\fs24 -Viewshake} -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af5\afs24\alang1081\loch\f0\fs24\lang3079\b0\ab0\rtlch \ltrch\loch - -\par } \ No newline at end of file diff --git a/Tools/ParticleEditor/FXList.txt b/Tools/ParticleEditor/FXList.txt deleted file mode 100644 index 364b44f47..000000000 --- a/Tools/ParticleEditor/FXList.txt +++ /dev/null @@ -1,6 +0,0 @@ -FXList FX_NLS - ParticleSystem - Name = NLSLogoParticle - Height = 20 20 UNIFORM - End -End \ No newline at end of file diff --git a/Tools/ParticleEditor/Launch_ParticleEditor.bat b/Tools/ParticleEditor/Launch_ParticleEditor.bat deleted file mode 100644 index 670f3d7f9..000000000 --- a/Tools/ParticleEditor/Launch_ParticleEditor.bat +++ /dev/null @@ -1,2 +0,0 @@ -java -jar ParticleEditor.jar -PAUSE \ No newline at end of file diff --git a/Tools/ParticleEditor/ParticleEditor.jar b/Tools/ParticleEditor/ParticleEditor.jar deleted file mode 100644 index c14088b30..000000000 Binary files a/Tools/ParticleEditor/ParticleEditor.jar and /dev/null differ diff --git a/Tools/ParticleEditor/ParticleSystem.txt b/Tools/ParticleEditor/ParticleSystem.txt deleted file mode 100644 index c5c384524..000000000 --- a/Tools/ParticleEditor/ParticleSystem.txt +++ /dev/null @@ -1,27 +0,0 @@ -ParticleSystem NLSLogoParticle -Priority = WEAPON_EXPLOSION -IsOneShot = Yes -Shader = ADDITIVE -ParticleName = EXNLS.tga -VelocityDamping = 0.88 0.9 -Gravity = 0.2 -Lifetime = 27 29 -SystemLifetime = 0 -Size = 1.0 2.0 -SizeRate = 1.0 2.0 -SizeRateDamping = 0.93 0.95 -Alpha1 = 0 0 0 -Color1 = R:0 G:0 B:0 0 -Color2 = R:255 G:255 B:255 5 -Color3 = R:255 G:255 B:255 25 -Color4 = R:0 G:0 B:0 30 -BurstDelay = 3 6 -BurstCount = 1 4 -DriftVelocty = X:0 Y:0 Z:0.25 -VelocityType = HEMISPHERICAL -VelHemispherical = 2 8 -VolumeType = CYLINDER -VolCylinderRadius = 25 -VolCylinderLength = 5 -IsHollow = Yes -End \ No newline at end of file diff --git a/Tools/ParticleEditor/README.txt b/Tools/ParticleEditor/README.txt deleted file mode 100644 index 8202e09f3..000000000 --- a/Tools/ParticleEditor/README.txt +++ /dev/null @@ -1,14 +0,0 @@ -INSTALLATION: -------------- --Install JAVA and make sure it's set up properly (1.7 is required) --Extract this archive wherever you want. No install required --Run the .bat file to launch the program --Go to Settings->Preferences in the menu bar at the top to Configure your File Paths. --Read the documentation for more information - -CREDITS -------- -Stalker - - -Updates at: https://www.dropbox.com/sh/6d40wkqw6uxcmfk/AADh9guW6laKKr1gQXZeLOJXa?dl=0 \ No newline at end of file diff --git a/Tools/ParticleEditor/changelog.txt b/Tools/ParticleEditor/changelog.txt deleted file mode 100644 index e2e632de0..000000000 --- a/Tools/ParticleEditor/changelog.txt +++ /dev/null @@ -1,33 +0,0 @@ -02/18/2017 ---------- --Added Scale Filter feature: This can scale the speed and size of whole FX --Added "Copy Working set to clipboard" menuitem - -02/16/2017 --------- --Added view config menu (change ground appearance and background) --Fixed some bugs - - -02/14/2017 ---------- --Fixed some bugs --Fixed behaviour of Slaved ParticleSystems to what it is ingame - -02/12/2017 ---------- --Fixed some bugs --File saving should now work properly --Textures now no longer case sensitive - - -02/10/2017 ---------- --Undo/Redo functions added. Might not be 100% reliable for all edits yet. --Support added to read the RandomType of random FX entries (Height, Radius, Delay, etc.). The type (e.g.UNIFORM) is not stored, but you can't change it in the gui yet, only in the code. --Added a copy to clipboard button which copies the whole formatted FX/Particle code to clipboard - --Fixed an issue with copy-to-clipboard --Changed Look&Feel to default OS style (Looks like windows gui now) --Addes File->Save... options to save currently edited entries to the opened ini file. (creates a backup) - diff --git a/Tools/ParticleEditor/config.properties b/Tools/ParticleEditor/config.properties deleted file mode 100644 index e8e3df5cb..000000000 --- a/Tools/ParticleEditor/config.properties +++ /dev/null @@ -1,16 +0,0 @@ -#Particle Editor Config -#Fri Sep 17 19:52:07 CEST 2021 -DefaultFolder=./ -FXListFile=FXList.txt -GroundType=1 -TextureFolder2=./ -TextureFolder1=textures -GroundTexture=ground.jpg -GroundSize=500.0 -ParticleSystemFile=ParticleSystem.txt -Fullscreen=true -WindowWidth=1280 -WindowHeight=1280 -BGColor=-4144960 -GroundResolution=20.0 -GridColor=-8355712 diff --git a/Tools/ParticleEditor/ground.jpg b/Tools/ParticleEditor/ground.jpg deleted file mode 100644 index 37cb8a0ca..000000000 --- a/Tools/ParticleEditor/ground.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de0ab83a820f6285f6be0afb31fb4622418071103c21ffd6feb52edd9bbfedff -size 99615 diff --git a/Tools/ParticleEditor/j3dcore-ogl.dll b/Tools/ParticleEditor/j3dcore-ogl.dll deleted file mode 100644 index 5f188ad95..000000000 --- a/Tools/ParticleEditor/j3dcore-ogl.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9eb48b0d21bb4949b8782c153e89cad90d73b724aa7931974ac388a20259c3d -size 229376 diff --git a/Tools/ParticleEditor/log.txt b/Tools/ParticleEditor/log.txt deleted file mode 100644 index d9aab0dc0..000000000 --- a/Tools/ParticleEditor/log.txt +++ /dev/null @@ -1,3 +0,0 @@ -2021/09/17 19:51:32 - - diff --git a/Tools/ParticleEditor/textures/EXNLS.tga b/Tools/ParticleEditor/textures/EXNLS.tga deleted file mode 100644 index b69a7a4e0..000000000 --- a/Tools/ParticleEditor/textures/EXNLS.tga +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:be56a051032402480d789762de32f53e04420ac2427fb5b9b8a7cefb0f071f07 -size 196626 diff --git a/Tools/PositionConverter/PositionConverter.exe b/Tools/PositionConverter/PositionConverter.exe deleted file mode 100644 index 6cb413871..000000000 --- a/Tools/PositionConverter/PositionConverter.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29cbbaed973907a7047a7b23642c74eab066a055cd1d831dc622c5eb6d6aa15c -size 68560 diff --git a/Tools/PositionConverter/README.md b/Tools/PositionConverter/README.md deleted file mode 100644 index ee70c65f1..000000000 --- a/Tools/PositionConverter/README.md +++ /dev/null @@ -1,5 +0,0 @@ -Position Converter: Is a useful tool made by NOH (Nizar [Rage]#3003) for converting Buildings Positions from World Builder to equivalent Positions to be used inside AIData.ini. - -So now, using this tool, you can design your base in World Builder, and quickly know the XY positions to be used in AIData.ini without having to keep testing for arbitrary positions in that file which were expected to work.. and most of the time didn't. - -requirements: Microsoft .NET Framework 4 (x86) \ No newline at end of file diff --git a/Tools/WorldBuilder_22.7z b/Tools/WorldBuilder_22.7z deleted file mode 100644 index f8e460e7a..000000000 --- a/Tools/WorldBuilder_22.7z +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ae8db7947d58c40d694ac2c47cbfa344f8e71bb8555b067586db09a453bbb21 -size 3236072 diff --git a/Tools/WorldBuilder_27.7z b/Tools/WorldBuilder_27.7z deleted file mode 100644 index 12bedd5be..000000000 --- a/Tools/WorldBuilder_27.7z +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:323f8aff91681063acbb71d3eb0737a1a21e51c976aad9edd5fcf37c4cd23cd4 -size 2756873 diff --git a/Tools/csfeditor/csfeditor.exe b/Tools/csfeditor/csfeditor.exe deleted file mode 100644 index 2ecdd11ec..000000000 --- a/Tools/csfeditor/csfeditor.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f640f703350cc73b3165e0ea25d313ba29694c70dec8f81d0ecf51fe7ee81fb1 -size 244736 diff --git a/Tools/csfstr/csfstr_094.exe b/Tools/csfstr/csfstr_094.exe deleted file mode 100644 index 7e698bd7a..000000000 --- a/Tools/csfstr/csfstr_094.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58de4bde932e20738655edacd283518263f75781c6748c43d0a39bfbc1d50e95 -size 14336