• Welcome to Battlezone Universe.
 

News:

Welcome to the BZU Archive dated December 24, 2009. Topics and posts are in read-only mode. Those with accounts will be able to login and browse anything the account had access granted to at the time. No changes to permissions will be made to be given access to particular content. If you have any questions, please reach out to squirrelof09/Rapazzini.

Main Menu

BZ Modding Questions

Started by CmdrCamp, May 20, 2009, 05:49:22 PM

Previous topic - Next topic

CmdrCamp

Hey, new guy here. I've been messing around with (very) simple modding for BZ. Mainly messing with ODF files. I've been trying to teach myself and looking for any guides or tutorials for this, but that's hard to come by. I'm just looking for a little help to change to a few files for my personal tastes. I've played BZ1.8 by Radigator. Its ok, but i dont like it enough to keep it installed. I do, however, love the bigger explosions it adds. So i want to change the vanilla explosions to something like BZ1.8.

I have gotten this far: I've used unzfs to extract files from both bzone.zfs and bzone18.zfs(the BZ1.8 file) to compare changes. However, what i dont know is this: Since i'm changeing just explosions, what do i change? bzone18 has more explosion files per object (such as two different files for a vehicle explosion compared to just one in bzone), so is there a way to specifiy what explosion an object uses when it dies? And how do i implement these changes into the bzone.zfs....is there a program to reinsert the files to the .zfs? or do i just place the changed ODF files somewhere else?

Thanks ahead of time for any help!

General BlackDragon

#1
I never liked bz1.8 because it was rediculous and the name is confusing.

Anyway, In BZ1, just put your modified files in addon folder, and as for explosion names, the ones for weapons are in the weapon odfs, other then that there is i belive gineric hardcoded names for the explosions of units, buildings, etc. :-/ xplName? explosionName? BZ2 is so much easier to mod, BZ1 has Alot of hardcoded things in it.

For instance, in BZ1, the odf name/base name must match a model name. The hardpoints must match hardpoint type names. The explosions are hardcoded. The names of things are not really that, they're sprites :-/, so you can't custom name things in simple text. So much restriction :(

But If I recall, the names of explosions are hardcoded and as follows:

xplbldxpl = normal building explosion, low graphics.
xplbldxpla = Large Assets explosion for building.
xcarxpl = Vehicle explosion low
xcarxpla = vehicle explosion large assets
xsecxpl = Secondary explosion, the explosion for the chunks that hit the ground.
xsecxpla = secondary xpl, large assets.

Allow me to demonstrate what I mean by BZ2 modding being easier.

BZ1 Tank ODF

[GameObjectClass]
classLabel = "wingman"
scrapValue = 5
scrapCost = 8
buildTime = 10.0
maxHealth = 3000
maxAmmo = 1200
weaponMask=00001
unitName = "Tank"
aiName = "TankFriend"
aiName2 = "TankEnemy"
heatSignature = 1.2
imageSignature = 3.0
radarSignature = 0.2

weaponHard1 = "GC1"
weaponName1 = "gatstab"
weaponHard2 = "GC2"
weaponName2 = "gminigun"
weaponHard3 = "GS1"
weaponName3 = "gquake"
weaponHard4 = "GM1"
weaponName4 = "gmdmgun"

[CraftClass]
rangeScan = 400.0f
periodScan = 5.0f
velocJam = 5.0f

selectWaitMsg = "avtankv0.wav"
selectAttackMsg = "avtankvj.wav"
selectFollowMsg = "avtankvn.wav"
selectGoMsg = "avtankvm.wav"
selectOtherMsg = "avtankvp.wav"

goMsg = "avtankv1.wav"
attackMsg = "avtankv2.wav"
followMeMsg = "avtankv4.wav"
followMsg = "avtankvk.wav"
repairMsg = "avtankv8.wav"
reloadMsg = "avtankv9.wav"
rescueMsg = "avtankvc.wav"
recycleMsg = "avtankvd.wav"
otherMsg = "avtankvn.wav"

user1Msg = "avtankva.wav"
killedMsg = "avtankv3.wav"
diedMsg = "abetty3.wav"

[HoverCraftClass]
setAltitude = 1.0
accelDragStop = 4.0
accelDragFull = 1.0
alphaTrack = 20.0
alphaDamp = 5.0
pitchPitch = 0.25
pitchThrust = 0.1
rollStrafe = 0.1
rollSteer = 0.1

velocForward = 20.0
velocReverse = 15.0
velocStrafe = 20.0
accelThrust = 20.0
accelBrake = 75.0
omegaSpin = 3.5
omegaTurn = 1.5
alphaSteer = 5.0
accelJump = 20.0

soundThrust = "avtanke0.wav"
soundTurbo = "avtanke3.wav"


BZ2 Tank ODF

[GameObjectClass]
baseName = "ivtank"
geometryName = "ivtank00.xsi"
cockpitName= "ivtank_cockpit.xsi"
classLabel = "wingman"
scrapValue = 20
scrapCost = 55
customCost = 65
buildTime = 15.0
customTime = 15.0
maxHealth = 3500
maxAmmo = 2200
addAmmo = 5
unitName = "Sabre"
aiName = "TankFriend"
aiName2 = "TankEnemy"

heatSignature = 2.0
imageSignature = 2.5
radarSignature = 0.5

isAssault = 0

armorClass = L

/////// REQUIREMENTS ///////////////

requireCount = 2
requireName1 = "ibfact"
requireText1 = "Build Factory"
requireName2 = "ibcbun"
requireText2 = "Build Relay Bunk"

////////////////////////////////////


/////// PROVIDES ///////////////////

provideCount = 3
provideName1 = "ivtank"
provideName2 = "VIRTUAL_CLASS_TANK"
provideName3 = "DefendUnit"

////////////////////////////////////


/////// weapons ////////////////////

weaponMask = 11111

weaponHard1 = "HP_CANNON_1"
weaponName1 = "gatstab_c"
recoilName1 = "recoil"
weaponAssault1 = 0
weaponHard2 = "HP_GUN_1"
weaponName2 = "gminigun_c"
weaponAssault2 = 0
weaponHard3 = "HP_GUN_2"
weaponName3 = "gminigun_c"
weaponAssault3 = 0
weaponHard4 = "HP_MORTAR_1"
weaponName4 = "gmortar"
weaponAssault4 = 0
weaponHard5 = "HP_SPECIAL_1"
weaponName5 = ""
weaponAssault5 = 0

////////////////////////////////////

lightHard1 = "hp_light_1"
lightName1 = "spotblue2"
lightHard2 = "hp_light_2"
lightName2 = 

[CraftClass]
rangeScan = 300.0f
periodScan = 5.0f
velocJam = 5.0f
engageRange = 120


//attackTask = "AssaultTankAttack"
//subAttackTask = "SupportSubAttack"
//subAttackClass = "ANS"

attackTask = "MortarBikeAttack"
subAttackTask = "MortarBikeSubAttack"
subAttackClass = "ANS"

// subAttackClass uses 3 letters.
// 1st letter is either A or N.     A is include Air targets.         N is attack ground only.
// 2nd letter is either D or N.     D is to deploy before attacking.  N for regular attack.
// 3rd letter is either S or N.     S is to use Weapon Range.         N is use the Engage Range to attack.


braccelFactor = 0.03
velFactor = 0.2
steerFactor = 1.5
omegaFactor = 0.2
strafeFactor = 0.2

avoidSpeed = 20;
topSpeed = 30;

selectWaitMsg = "ivtank05.wav"
selectAttackMsg = "ivtank02.wav"
selectFollowMsg = "ivtank04.wav"
selectGoMsg = "ivtank04.wav"
selectOtherMsg = "ivtank05.wav"
holdMsg = "ivtank12.wav"

goMsg = "ivtank04.wav"
attackMsg = "ivtank06.wav"
followMeMsg = "ivtank08.wav"
followMsg = "ivtank03.wav"
repairMsg = "ivtank09.wav"
reloadMsg = "ivtank09.wav"
rescueMsg = "ivtank10.wav"
recycleMsg = "ivtank11.wav"
otherMsg = "ivtank05.wav"
holdMsg = "ivtank12.wav"
user1Msg = "" 
killedMsg = "ivtank07.wav"
diedMsg = ""

[HoverCraftClass]
velocForward = 28.5 //
velocReverse = 20.0 //
velocStrafe = 16.0 //
accelThrust = 24.0 //acceleration
accelDragStop = 6.0 //how fast it stops once hands are off controls
accelJump = 15.0 //
w
setAltitude = 1.0 // how high off the ground

alphaTrack = 21.0 //springs speed it rights itself
alphaDamp = 8.0 //shocks

pitchPitch = 0.25 //nose up
pitchThrust = 0.1 //nose down

rollStrafe = 0.08 //rolls while strafing
omegaSpin = 6.0 //spinning in place speed
omegaTurn = 2.3 //turning while moving speed
alphaSteer = 7.0 //how fast it responds to steering
rollSteer = 0.08 //rolls while steering

soundThrust = "itank01e.wav"
soundTurbo = "avtanke3.wav"

[Lod1]
geometryName = "ivtankL1.xsi" ;geometry for lod1
distance = 50                 ;...distance over this many meters => switch to lod2

[Lod2]
geometryName = "ivtankL2.xsi" ;geometry for lod2
distance = 100                 ;...distance over this many meters => switch to lod2


As you can see, in BZ2 even default, much more can be specified. And there's a ton of parameters (100? +?) in the new patch that arn't used in the stock odfs. (such as specifying ExplosionName = "blah")



*****General BlackDragon*****

CmdrCamp

I see what you mean by BZ2 being easier to mod. Not that many options with BZ1. Ok, i found the explosion files and made a few changes, placed them in the addon folder, and tested it. It works (I have overdone the explosions a bit though, ha, need to tone them back down).

Now the only other thing I want to do is change the pieces that fly around after a vehicle explodes. Normally its small fiery pieces, but in the 1.8 mod, it was many little round particles, which i thought looked pretty cool. How would that be changed visually? I'm finding files pertaining to "flame puffs". Could that be the file that changes that? Or there is one ODF that's named particles. Might just have to do a little trial and error here, ha.

General BlackDragon

Sounds like your talking about 1.8 using particles yeah. The particle.odf thing is that. Try adding them to the explosions? Not 100% sure how to control that, if its hardcoded or not. look for how it's done in existing odfs. I'm tired and must go to bed :D



*****General BlackDragon*****