Jump to content


DeeZire

Member Since 06 Oct 2009
Offline Last Active Oct 08 2014 08:27 PM

#904819 Going through game.dat I found following:

Posted by DeeZire on 12 November 2012 - 10:23 PM

readme.txt is transferred between players along with the other files during the map transfer process. Commonly used in C&C3 but not BFME as at that time it was an undocumented feature.

assetusage.txt got generated if DumpAssetUsage=yes was set in the GameData, not sure if it still works in the public release.


#889038 Special effects, lightnings

Posted by DeeZire on 06 June 2012 - 09:51 PM

You could do the same thing with the global music scripts by detecting when a player has activated the Darkness power and then adjusting the ambient light setting, I haven't tried this myself however I think you may have trouble restoring the ambient light to the pre-Darkness settings. One thing I do know is that trying to speed up the clouds won't work - the 'adjust the speed of the Mordor cloud effect' script does not work - that got nerfed with the rest of the effects due to the addition of map-specific cloud settings in BFMEII.

However I'm pretty sure that the ambient light does get changed when the old (from BFMEI) Rain Of Fire module is activated, so by hooking that into a player spell book so it's activated along with Darkness you may be able to replicate the effect.


#887529 Special effects, lightnings

Posted by DeeZire on 26 May 2012 - 10:11 PM

Just to settle this issue for anybody still wondering ;)

In BFME the Freezing Rain power triggered the special lightning visual effect. In BFMEII/RotWk it does not. The code for the lightning effect was disabled as it worked by 'jittering' the shadows across the whole map - this obviously did not look too good on the large number of snow terrain maps added for BFMEII (the engine does not differentiate between snow and rain, snow is simply rain with a different texture so on snow maps you get a snow storm rather than rain and this looked funky with lightning). It was even further complicated by the addition of the new lighting and shadow system code. It did get fixed for the next engine iteration - C&C3 - as that engine was given independent handling for snow and rain and associated code to tweak them.

The observant amongst you will also have noticed that the Darkness power does not change the ambient light setting and cloud texture nor does it speed up cloud movement in BFMEII as it did in BFME - again, this was disabled due to an engine change which allowed for the settings of map-specific cloud textures and their movement speeds (although you can't edit these in the publicly released version of World Builder) - something used extensively in BFMEII, as BFME used one global cloud texture and speed setting for all maps.

So if you want the lightning effect in BFMEII the only way to go is with map scripts as described, putting these scripts into the single player music scripts will trigger their use globally rather than being map-dependent.


#801064 Particle Systems

Posted by DeeZire on 24 April 2010 - 05:48 AM

This hasn't been looked at too much AFAIK so I thought I'd post this list here that I compiled some time ago as I think it will be of considerable value to other modders.

This is a list of all the particle systems in BFMEII/RoTWK that are never used anywhere in the game and thus would not be seen under any circumstances. The value of this is two-fold - first, modders often struggle to come up with new systems of their own as they are complex to get right, and there is a HUGE number of original professionally written systems that are already in the game which you can make use of to add some uniqueness to your mod as they wouldn't be seen or used otherwise. Second, if you don't want to make use of them you can delete them from FXParticleSystem.INI saving some considerable space, thus reducing the size of your mod and the game's memory footprint (around 30% of that 1.8MB file is not needed by the game).

The list is about 99% accurate - there's a few I already added into my project so forgot to put them into this list - and there are 4 categories of unused systems;-
1 - systems that are simply never used or seen anywhere in the game(s)
2 - systems that are called for but only on obsolete objects so you would not see them anyways
3 - systems that are residual from early stages of game development and earlier game versions (BFME1), test systems etc that look a bit hack
4 - systems that are called for by cinematic objects only, so these systems would not be seen under normal circumstances. Some of these may not be suitable for normal use in game as they were designed for cinematic/1st person views

A couple of notes - most work and look fine but for some the relevant textures are missing form the game. Experienced modders can however make a pretty good educated guess and substitute more appropriate textures in. There are more systems that are unused than are on this list, but they are mainly slave systems to others so I have only listed the parent systems to make it simpler.

In addition to this list, the following are from BFME1 and are absent from BFME2/RoTWK;-
AndruilEfxParent
AndruilFlare
AODsummonLightShafts
LightningBolt

My memory is a little hazy but I'm sure the old (obsolete) 'Rain Of Fire' particle systems are in the original unpatched BFME1 INI files but I don't have them to hand to check this.

Quite surprising just how much is here and there are some very cool effects to be had with minimal effort which can make one heck of a good visual difference to your mod.

WyrmSplashDive
WTrails3
WTrails2
WormtongueBackstab03
WordofDoomChunks
WizardFireballProxy_03
WizardFireballProxy_02
WizardFireballProxy_01
WizardFireballExp_03
WizardBlast03_Proxy
WizardBlast03_Heat
WizardBlast03_Dust
WizardBlast03_Proxy
WizardBlast03_Heat
WizardBlast03_Dust
WizardBlast01_Proxy
WizardBlast01_Heat
WizardBlast01_Dust
WipeFire
WindowGlow
WhiteWaterSplash02
WhiteWaterSplash
WhiteWaterRipple
WhiteSlowHaze
WhiteHaze
WellOfSoulsLittleSwirl
WellOfSoulsCloud01
WellOfSouls02
WaterWallRight
WaterWallLeft
WaterWallBlast
WaterSplashSmall
WaterSplashSlave
WaterSplashHuge
WaterSplashForlindon02
WaterSplashForlindon01
WaterRipplesWake
WaterPokeLand
waterMudDrips
WallofFireTall	;; Only used on cinematic
WallofFireShort
WallofEmbers	;; Only used on cinematic
WallofEmbersShort
WallDamageDust
Wake_test

unkownbuff2
UnkownBuff
UnitPoison

TrollSplatEmbers1
TrollSplatEmbers
TrollSmoke
TrollFireSplat
TrollFireSplat1
TrollFireGlow
TrollFireGlow1
TrollFire
TrollFire1
TrollEmbers
TreeOnFire01
TreeLineFire
TreeGlow
TreeBeardWalkingLeaves
TreebeardWalkDebris
TreebeardSmokeStart
TreebeardSmoke1
TreeBeardMovingLeaves
TreebeardFlareStart
TreebeardFireStart
TreebeardFireSplat
TreebeardFireMediumStart
TreebeardFireMedium
TreebeardEmbersStart
TreeBeardDustTrail
TreebeardDustSplat
TrBrdWaterSplash1
TrBrdWaterSplash
TrBdFire
TornadoSpinningRocks
TornadoSpinningDust02
TornadoSpinningDust
TorchSmokeWhite
TorchEmbers
Temp_SarumanFirework01
TaintSwampRain
TaintSwampDrops
TaintLightLenzflare

SwirlTest
SunFlare
SummonEntMootTreeA
SummonedDragonSignal
Steam05
Steam04
Steam03
Steam02 ;; Used on obsolete SpinObject in system.ini
StaticSortTest
SpiderRdrSmoke
SpellWarChantReceive
SpellRallyingCallCircles
SpellMightyRage
SpearHitFX
SoWolf_Summon_wolf
SonicXHit
SonicSongGlow
SnowChunkSmoke
SmokeShift ;; only used on cinematic
SmokeRed
smokePuffSmall
SmokeIsengardPitupper
SmokeIsengardPitThin ;; only used on cinematic
SmokeIsengardPit
SmokeHazeLargeNight ;; only used on cinematic
SmokeHazeLarge ;; only used on cinematic
SmokeColumnLarge ;; only used on cinematic
SmokeChimney
smallBlueExplosion
SiegeBalistaExpDebris
ShellWaterfallMist
ShellWaterfall3
ShellWaterfall2
ShellWaterfall
ShellBirds
SauronSphere
SarumonFireballProxy
SarumanLightningHitFlare
SarumanLightningHitArc2
SarumanLightningHit01
sarumanbolt1

rocketTrail
rockDebris
RockCollide
RingWraithWindIdle ;; on obsolete unit
RingWraithFlare ;; on obsolete unit
RenderObjectDrawTest
ReceiveHeroDamageDistortion
RAExpCenter
RAExp

QuadRenderDrawTest

PoisonArrowHitFlash
PointerShaft
PixeyLite
PINKY
PCTSmallDust
PCTFortressDust

OliphantSpltSparks
OliphantSplatSmoke
OliphantSplatDustDieF ;; on obsolete unit
OliphantSplatDebrisDieF ;; on obsolete unit
OliphantSplatDebris ;; on obsolete unit
OliphantSparksHit
OliphantSmokeHit
OliphantFireSplat
OliphantFireHit
OliphantEntAttackDebris
OliphantDieSmoke1
OilSpillSpray
OilSpillpuddle
OilBarrelSpray
OathBreakerSmoke2
OathBreakerSmoke1
OathBreakerSkull

NewCatapultExplosion
NewBuildingDust
Necro_Acolyte_Suck
NazgulSplatSmoke
NazgulSplatEmbers
NazgulSplatDust ;; on obsolete unit but used on oliphant not on nazgul
NazgulLitePtGlowGlow
NazgulFireSplat
NazgulFireLonger
NazgulFire
NazgulEmitter
Narsil ;; used on old Arnor units in FXList.INI

MumakilPenDust
multiplytest
MtDoomSmokeIntro
MtDoomSmoke ;; only used on cinematic
MtDoomLava3 ;; only used on cinematic
MtDoomLava2 ;; only used on cinematic
MtDoomLava ;; only used on cinematic
MtDoomInner3
MtDoomInner2
MtDoomInner1
MtDoomHeat ;; only used on cinematic
MtDoomFireballs ;; only used on cinematic
MorgulBladeHitFX
MordorSpireTrail
MordorCloudsWrldHze
MordorCloudsWorld
MorderFortSpray02
MorderFortSpray
MootSpawnDust
MootSpawn
MissileExhaust ;; only used on cinematic
MicrowaveEmitter
MeleeDust
MagmaExplosion

LurtzCrippleStrike
LitePoint6
LitePoint5
litePoint4
litePoint3
LitePoint1
LitePoint
LiteBallFlare
LightningSword
LightningStrikeHit1
LighteningBallSmoke ;; on obsolete unit
LeadershipFlareReceive02
LeadershipFlareReceive
LavaSteam3
LavaSteam2
LavaSteam
lampGlow

IsengardOrcRunner
ImpactDust
IceArrowFire

HumanHeadGroundToxin
HumanHeadBitsTrail
HorseFallDust ;; only used on cinematic
HornOfGondorShockwave
HornOfGondorDistortion
HobbitThrowRockTrail
HitFXTheodin
HitFXSarumon
HitFxHobbits
HitFxNazgul
HitFXFaramir
HitFXEowyn
HitFXEomer
HitFXEnts
HitFXBoromir
HitFXArrows
HitFXAragorn
HealReceive02

GwaihirvxWyrmSlashes
GwaihirLightPer
GwaihirLightPar
GPUSpiderRiderFireSm
GPUSpiderRiderFire
GPUSpiderRiderEmberSm
GPUSpiderRiderEmber
GPUSarumonFire02
GpuParticleTest4
GpuParticleTest3
GpuParticleTest02
GpuParticleTest
GPUFireSector03
GPUFireSector02
GPUFireSector01
GothmogTorch ;; only used on cinematic
GothmogFlare ;; only used on cinematic
GoodShipBombardProjectileExpFire
GoodShipBombardGlow02
GoodShipBombardExplosionGlow
GondorSwordHitSpark
GondorDeliver ;; on obsolete unit
glowWargWhite
glowRed
glowGenericBuff
GenericLeadershipReceive
gateFire
gatedoorEmbersBig
gatedoorEmbers
GateDoorDustBiggest
GateDoorDustBigger
GateDoorDustBig
GateDoorDust
GandalfWaveBlastRock
GandalfWaveBlastDust
gandalfStaffFlareHalf
GandalfMoriaLightCenter
GandalfLightningHit01
GandalfLightningHeatWave
GandalfLightningCharge
GandalfLightningBuildup
GandalfLightning04
GandalfLightning03
GandalfLightning02
GandalfLightning01
GandalfHeavenRaysMotesSmall
GandalfHeavenRaysMotes
GandalfHeavenRaysBacklitClouds
GandalfBlastTier1
GandalfBlastHitFlare
GandalfBeamGlow3
GandalfBeamGlow2
GandalfBeamGlow1
GandalfBeamFlare4
GandalfBeamFlare3
GandalfBeamFlare2
GandalfBeamFlare1
GalMirror_ripple

FXSplash02
ForbiddenPoolSplash
FloodWaterHit
flareSpin3Small
flareSpin3
flareSpin2 ;; on obsolete unit
flareSpin1
FlameArrowSmoke
FissureSteam03
FireworksTestParticle
FireworkSpark ;; on obsolete unit
fireworkCloud
firework3 ;; on obsolete unit
firework2 ;; on obsolete unit
firework1 ;; on obsolete unit
Firework02
Firework01
FireTorch ;; on obsolete unit
FireSword
FireSummon2
FireSummon
FirePatchSmoke ;; only used on cinematic
fireGlowDelayed
fireGlowBright
FireFlies
FireFieldTinyFire
FireFieldTinyEmbers
FireBuildingSmallFlare
FireBuildingMediumSmoke
FireBuildingMediumFlare
FireBuildingLargeFlare
FireBlast01
FellWraithWindTail
FellWraithWindIdle
FellBeastWingBeat
FellBeastDeathDebris
FellBeastDeathAsh
FellBeastDeath02
FellBeastDeath01 ;; listed in FXList.INI (commented out) but does not exist
FangornTreeEmber

EyePulse
EyeOfSauronLightning3 ;; only used on cinematic
EyeOfSauronLightning2 ;; only used on cinematic
EyeOfSauronLightning1 ;; only used on cinematic
EyeOfSauronLarge
EyeOfSauronFlare3 ;; only used on cinematic
EyeOfSauronFlare2 ;; only used on cinematic
EyeOfSauronFlare1 ;; only used on cinematic
EyeExplode2
EyeExplode ;; on obsolete unit
ExplosiveMineShockwave ;; used only on Erebor Throne so seldom seen
ExplosiveMineFire03
ExplosiveMineEmbers
explosionShockWave
explosion4
Explosion2Glow
Explosion2Flare
Explosion2
Explosion1
EmbersMedium
EmbersLite
ElvenAlliesUnsummonGrassA
ElendilSparks
ElectricalHitFlare
ElectricalEfx ;; on obsolete unit

DwarvenOilCaskFire
DwarfTossCloud
DrogothProjectileChunks2
DrogothHugeChunks
DragonSummonBurn
DragonStrikeSmoke
DragonStrikeProxy
DragonStrikeEmbers
DragonBreathW
DragonBreathS
DragonBreathE
DragonBreathCine ;; only used on cinematic
DragonBreath02
DoomLava ;; only used on cinematic
DoomHaze
DoomClouds01
DirtFalling
Destructleaves ;; on obsolete unit
DestructionDust ;; on obsolete unit
DestructDebris
DerstructSparks ;; on obsolete unit TYPO should be called DestructSparks
DebrisSmoke2 ;; only used on cinematic
DebrisSmoke ;; only used on cinematic
DebrisFire2 ;; only used on cinematic
DebrisFire ;; only used on cinematic
DebrisEmbers ;; only used on cinematic

CursorLitePts
CorsairFireBombProjectileExpFire
CorpseRainProjectileSmoke02
CorpseRainProjectileExplosion
ColorTestFireball ;; on obsolete unit
ColorTestFire ;; on obsolete unit
ColorTestDust02 ;; on obsolete unit
ColorTestDust01 ;; on obsolete unit
cloudPuffPixey
CineSparkTrail
CineSparks ;; only used on cinematic
CINEsmokeSmall
CINEsmokeMedium ;; only used on cinematic
CINEsmokeLarge ;; only used on cinematic
CineFireRing ;; only used on cinematic
CineFireComet ;; only used on cinematic
CineDragonEyeR
CineDragonEyeL
CineClouds_2 ;; only used on cinematic
CineClouds ;; only used on cinematic
CINECampfireEmbers ;; only used on cinematic
CHWizEyeR
CHWizEyeL
CHWizEye02
CHSmoke ;; only used on cinematic
CHFire
CHEmbers ;; only used on cinematic
CHDwfPipe
CCC
CatapultProjectileExpFire
CatapultProjectileChunksSlave
CatapultExplosionNewGlow
CampfireGlow ;; only used on cinematic
CaHStaff02

ButterflyDrawTest
burningTreeFireB ;; only used on cinematic
burningTreeFireA ;; only used on cinematic
burningTreeFire ;; only used on cinematic
burningTreeEmbers ;; only used on cinematic
BuildingHitBricks
BugSwarm2
BugSwarm
BrownSlowHaze
BoromirLastStandWave
BoromirLastStand
BoromirForGondorFollower
BoromirForGondor
BombaSkull
BoilingOilSteam3
BoilingOilSteam2
BoilingOilSteam1
BoilingOilSteam
BoilingOilPuddle
boilingOilFire2
BoilingOil
BoatBuildMiddle
BoatBuildFront
BoatBuildBack
BlueSlowHaze
BlueHaze
BlueGlow
bloodyHeadTrails
bloodyHeadGreaseSplat
BloodyHeadDust
BarrowWightLair
BarrageExplosionSmoke
BarrageExplosionShockWave
BarrageExplosionGlow
BarrageExplosionCracks
BarbedArrowHitFlash
BaradDurWaveDust ;; only used on cinematic
BaradDurWave ;; only used on cinematic
BaradDurFlash ;; only used on cinematic
BaradDurDust01 ;; only used on cinematic
BanrFire ;; only used on cinematic
BanrEmbers ;; only used on cinematic
BalrogSwordFire
BalrogSwordFlare
BalrogSwordEmbers
balrogPixelDisplEfx
BalrogHandSqueezeFlash
balrogHandSqueezeFlamesFinal
balrogHandSqueezeFlames2
balrogHandSqueezeFlames
BalrogHandSmoke
balrogHandGlow
BalrogHandEmbers
balrogHandAshSmall
balrogHandAsh
balrogFireRingTest
balrogFireRingSparksTest
BalrogFireRingSmokeTest
balrogFireRingGlowTest
balrogBreathBurnMark
BalinTombDust ;; on obsolete unit

AtmosphericHaze ;; only used on cinematic
arrowSteam
ArrowFireGlow
ArrowContrailThin
AreaHazeThin ;; only used on cinematic
AreaDustEffectGray
AODTrailHeatWave
AODsummonLightLenzflare
AngBuildingContructDustExpB

EDIT: one technical note, the BeaconSmokeXXXXXX particle systems look like they are not used but they are. These are a leftover from Generals, the XXXXXX equates to a hex number which represents the RGB value of multiplayer house colours. These particle systems are thus mapped to the house colours for multiplayer beacons.


#771608 Editing APT Files

Posted by DeeZire on 20 November 2009 - 08:17 AM

I know this is years old - but I've been asked countless times how I did this in my old BFMEI mod, and I still get asked how to edit APTs. It's kinda funny to still see people resorting to hex edits, and at the same time quite sad to see not many changes made to the APTs, so I thought I'd share the years old 'secret'.

Yes, you can 'edit' the APT files to a degree with a hex editor, but in the case of the BFMEI spellbook this was my last resort. Hex edits are also very limited in their scope and can only accomplish a little as you are digging in the dark.

Explanation - I decompiled the APT file so it was in a more readable and understandable form, this way I knew what I had to edit inside it to switch the campaign spellbook with the multiplayer one. Only by decompiling it did I figure this out. My frustration was that I could never get the damn things to recompile into a form that the game would read or use, so given that I knew what needed changing I resorted to a hex edit to do it. The key thing was decompiling the APT so I could figure out what was required to be edited. Editing by hex alone is almost pointless, as you have no idea what you are looking at.

Using the same method, a lot more could be done with them, although you have to have an understanding of how they work. You see the APT files all interact with eachother. Some contain IMPORTS, these work a bit like INC files for INIs, in that they call resources or code from other APT files - for example, common buttons/images, sounds etc. Others contain EXPORTS that make their internal resources available to other APT files. The trickiest bit is that the APT files all interact with the core game code, and the restriction here is due to the naming convention of the elements inside the APT file. For example, a button called 'GoodCanpaignButton' may be named so in the game exe, which means that particular button in an APT file will only trigger a specific function in the exe. Also, that button will only work when inside a particular tree in the APT file, for example MainMenu > SinglePlayerMenu > GoodCampaignButton will be the only one able to trigger the good campaign to start.

Back when I did my BFMEI mod I was lucky enough to have a proprietary app that could decompile but it's compiler sucked and made APT files of a lower version than BFMEI supported. However, you can still decompile them into XML which makes them very readable (thus editable). I wish you could recompile into APT again but the tools cannot do this, so what you have is the ability to decompile, read and thus analyse what you can edit, where and how. Armed with this knowledge, you can apply hex edits (albeit in a limited capacity) although you would not be digging in the dark as much because you know what and where to change. This is how I accomplished the BFMEI spell book thing, I dont see how it could have been done without reading and understanding the APT first.

So, if anyone wants to follow in my footsteps and try to get more out of the APT files, you can use a newer tool from this very network at this page on C&C Guild to decompile APTs into XML.

I've recently used the same method to make a perfect port of the BFMEII spell store into RoTWK complete with more spells in multiplayer, perfect color/sounds scheme etc. I actually picked on SpellStore.APT because it is the easiest one to edit by far, on account of the fact that it has no IMPORTS or EXPORTS (it acts independently). There you have it - good luck.