PDA

View Full Version : EBG Command Listing



Delphy
21st Jun 02, 12:38 PM
SvK edit:
EBG manual (http://svk.mondrary.com/manual/) that explains how to write effects, and lists all the commands and their functions.

This is intended to be a comprehensive listing of all the EBG commands found, and what they do.

If I've missed any please let me know!

Colour definitions

setColorA

Description: Here you are setting the Red, Green, Blue and the Transparency (Alpha) value.

Syntax: setColorA([r + g * 256 + b * 65536 + a * 65536 * 256])

Example: A half transparent red color
setColorA([255 + 0 * 256 + 0 * 65536 + 128 * 65536 * 256])

Notes: The color value is greatest at 255 for r, g, or b.
The transparency(a) is non-existent at 255, the lower the number the more transparent the attached object becomes.

setDeltaColorA

Description: You are setting a colour change over time. This is in percentage of 255 changes per second.

Syntax: setDeltaColorA(r, g, b, a)

Example: A completely opaque object that becomes completely transparent in 2 seconds.

setDeltaColorA(0.0, 0.0, 0.0, -0.5)

Notes: Since the values can be from 0 to 1, a decrease of 0.5 per second indicates that the object will go from opaque to transparent in 2 seconds.

Velocity definitions

setVelocityInWorldSpace

Description: This indicates whether the objects velocity is relative to the parent or the world.

Syntax: setVelocityInWorldSpace(x), where x = 1 or 0. 1 = World, 0 = Parent.

Example: Can somebody give me an example of this?

setDeltaR

Description:

Syntax: setDeltaR(x, y), where x = any number, and y = 0 - 2pi (value in radians)

Example:

Other definitions

MaxFrequency

Description: Determines the maximum times this effect will show up in game at any one time.

Syntax: MaxFrequency(x) where x is the number is instances.

Example: MaxFrequency(20) which means Homeworld will display 20 effects.

setAddColor

Description:
Syntax:
Example:

eventStart

Description:
Syntax:
Example:

createEffects

Description:
Syntax:
Example:

setMeshAnimation

Description:
Syntax:
Example:

particleBlocks

Description:
Syntax:
Example:

setTumble

Description: is how far the object is rotated on each axis
Syntax:
Example:

setDeltaTumble

Description: Is how fast the object spins on each axis
Syntax:
Example:

setDefaults

Description:
Syntax:
Example:

setLength

Description:
Syntax:
Example:

fmult

Description: multiplies two numbers together.
Syntax:
Example:

modifyLength

Description:
Syntax:
Example:

setIllum

Description: makes the object self-illuminated. It glows.
Syntax:
Example:

setLighting

Description: means that the object is not affected by the lighting in the level
Syntax:
Example:

setDepthWrite

Description:
Syntax:
Example:

Edit: Thanks for the help Crook and Machina :)

nickersonm
22nd Jun 02, 12:14 AM
Thank you. This is sorely needed by EBG'ers to be, and is very hepfull.

- nickersonm

Crook
25th Jun 02, 2:57 AM
setPseudoBillboard

Description: Makes a mesh or sprite orient towards camera - boolean, 0 = off 1 = on
Syntax: setPseudoBillboard(value)
Example:setPseudoBillboard(0) setPseudoBillboard(1)

Machina21
25th Jun 02, 11:52 AM
label

Description: names a group of following textures as an animation
Syntax: label(NAME)
Example: label(fire)

subTextureDWORD

Description: put before corrispond textures after label, no clue what the numbers stand for
Syntax: subTextureDWORD(directory of texture,[64 * 16777216 + 64 * 65536 + 0 * 256 + 0], 0)
Example: subTextureDWORD(ETG\textures\akira\akira01,[64 * 16777216 + 64 * 65536 + 0 * 256 + 0], 0)

setScale

Description: set size of object in game world
Syntax: setScale(value)
Example: setScale(4)

setAnimation

Description: sets a animation (label) to an object
Syntax: setAnimation(labelname, repeats?, lifespan?)
Example: setAnimation(repeater, 19, 1000)

createMeshes

Description: creates the statements on mesh
Syntax: createMeshes(numberofmeshes,?)
Object name <- createMeshes(numberofmeshes,?)
Example: createMeshes(1,0) shield2 <- createMeshes(1,0)

createSprites

Description: creates effect on a poly i belive
Syntax: createSprites(numberofsprites, ?)
sprite name <- createSprites(numberofsprites, ?)
Example: ball1 <- createSprites(1, 0)

setTexture

Description: assigns texture of the effect
Syntax: setTexture(locationoftexture, pixeleffectstartson, pixeleffectstartson, sizeinpixels, sizeinpixels)
Example: setTexture(textures\flatflare, 0, 0, 64, 64)

setLifespan

Description: how long the object exists in seconds
Syntax: setLifespan(sec)
Example: setLifespan(25)

setIllum

Description: makes the object self-illuminated. It glows.
Syntax: setIllum(value) 0 or 1
Example: setIllum(1)

setLighting

Description: means that the object is not affected by the lighting in the level
Syntax: setLighting(value) 0 or 1
Example: setLighting(0)

hope they help

Guernicava
25th Jun 02, 4:27 PM
wow. that is really good. :)

-Guernicava

Ghent
8th Jul 02, 3:59 AM
this... is pure yumminess.... will it be sticky-fied?

SvK
21st Mar 03, 11:58 AM
Here are all the commands I've found. The variable names aren't important; I just copied these lines out of the files I found them in.

eventStart()
variable
startup
eachFrame
timeIndex

int
float
RGBA
RGB

frandom
fadd
fmult
fdiv

{}

alt(1):
alternate
at(0.01)
before(1.0)
damageDone()
delete()
deleteParentShip()
else
every(0.2)
floats2ColorA(mapAlpha, mapAlpha, mapAlpha, mapAlpha)
float2Int(spriteCount)
getColorScheme()
goto(angleLoop)
hideParentShip()
if (spriteHandle == 0)
inc(dist)
label(beamMesh)
maxFrequency(15)
morphAnimDWORD(ETG\meshes\misc\beamRibbon.geo, 0)
particleBlocks([10 * (1 / 0.1)])
playSound([(3 + 4096)])
spawn(DDSsparks.ebg, 150)
subTextureDWORD(ETG\textures\bullets\laserBeam00,[64 * 16777216 + 8 * 65536 + 0 * 256 + 0], 1)
worldRender

createCircles(2, 0)
createEffects(DPSsmokePuff.ebg, 4, 1, smokePuffSize)
createLines(1,0)
createMeshes(1,0)
createPoints(1,0)
createSprites(1, 0)

setAddColor(1.0, 0.75, 0.5)
setAddColorDist(0.03, 0.02, 0.05)
setAlphaMode(0)
setAnimation(laserBeam, 50, 100)
setCircleSlices(16)
setColor([200 + 130 * 256 + 70 * 65536])
setColorDist(colorVariance, colorVariance, colorVariance)
setColorA([255 + 255 * 256 + 255 * 65536 + 255 * 65536 * 256])
setColorADist(0, 0, 0, 0)
setColorScheme(colorScheme)
setDefaults()
setDeltaColor(value, value, value)
setDeltaColorA(0.0, -1.0, 0.0, -1.5)
setDeltaLength(-30)
setDeltaLengthDist(5)
setDeltaLOF(0)
setDeltaLOFDist(smokeCloudSize)
setDeltaR(smokeCloudSize, [(360) * 2.0 * 3.14159265359789 / 360.0])
setDeltaRDist(0, [(360) * 2.0 * 3.14159265359789 / 360.0])
setDeltaScale(shockSizeRate)
setDeltaScaleDist(val)
setDeltaTumble(0, 0, 7)
setDepthWrite(0)
setDrag(0.01)
setEffAttachParent(1)
setEffDefaults()
setEffOffsetLOF(10)
setEffOffsetR(shiftR, shiftTheta)
setEffOffsetTime(timeOffset)
setIllum(1)
setIsWorldSpace(0)
setLength(2)
setLengthDist(40)
setLighting(0)
setLifespan(0.3)
setLifespanDist(0.5)
setMesh(etg\meshes\misc\bullet.geo)
setMeshAnimation(beamMesh,0.01,0)
setMeshStartFrame(1)
setOffsetArray(R2starting10)
setOffsetLOF(-42.5)
setOffsetR(21)
setOffsetTheta([(-125) * 2.0 * 3.14159265359789 / 360.0])
setPseudoBillboard(1)
setScale(shockSize)
setScaleDist(glowscaleDist)
setSpecular(2)
setSpriteDeltaRot(-2)
setSpriteRot(spriteAngle)
setStartFrame(0)
setTexture(textures\glow32 0, 0, 32, 32)
setTumble(0, 0, bulletOffset)
setVelLOF(30)
setVelLOFDist(smokeCloudSpeed)
setVelocityInWorldSpace(1)
setVelR(smokeCloudSpeed)
setVelRDist(val)
setXYZScale(xscale, yscale, zscale)

modifyAddColor(sprites, modAddColor)
modifyAlphaMode(fireball, 2)
modifyColor(spriteSystem,color)
modifyColorA(halo, modColorA)
modifyDeltaColor(sparks, 0.0, [-0.5 / (1.24 - 0.24)], [-0.5 / (1.24 - 0.24)], [-1 / (1.24 - 0.24)])
modifyDeltaLength(cone, value)
modifyDeltaScale(sphere, modSphereSizeRate)
modifyLength(line, beamLength)
modifyScale(glow, glowSize)
modifySpecular(fireball, fireballSpecular)

time(0.5, haloOpaque)
timeBlock(modColorA)

Delphy
24th Mar 03, 8:16 AM
Wow I'd completly forgotten I'd started this! :)

Should we try and go through each of the commands working out what they do, or just leave it for HW2

SvK
24th Mar 03, 3:30 PM
I'm writing a manual for this language as my Senior Project, so I'm going through and figuring out default values, acceptable parameters, and so on.

Pesmontis
24th Mar 03, 6:07 PM
That will give you a lot to test and a lot of new questions too I guess. I think it's not a bad idea to offer my help.

Like the Homeworld.exe mentions a few more (offset 3D9D10)... :

after
between
call
end
floats2Color (galaxymapopen.ebg)
int2Color
int2ColorA
int2Float
nop
return
yield

add (-> fadd)
cos (-> sin
crandom (-> frandom)
dec (-> inc)
div (-> fdiv)
fsub (-> fadd)
irandom (-> frandom)
mult (-> fmult)
sin (-> cos)
sub (-> fsub)

modifyAlphaMode (fireballtest.ebg)
modifyAnimation (Cata bulletbiggunglow.ebg)
modifyColorBias
modifyColorScheme
modifyDeltaVelLOF
modifyDeltaVelR
modifyDrag
modifyFrameRate
modifyLighting
modifyMesh (Cata slipgateopening.ebg)
modifyMeshAnimation
modifyMeshFrameRate
modifyPseudoBillboard
modifyTrueBillboard
modifyVelLOF (Cata afterburner.ebg)
modifyVelR (Cata afterburner.ebg)

setDeltaColorADist
setDeltaIllum
setDeltaIllumDist
setEffChangeLOF (Cata biggunbulletexplode.ebg)
setEffDeltaSpin
setEffDrag
setEffOffsetDrag
setEffOffsetSpin
setEffOffsetVelLOF
setEffOffsetXYZ
setEffSpin
setFrameRate
setIllumDist
setLoopFlag
setSpriteRotAngle
setSpriteRotDist
setSpriteDeltaRotDist
setTrueBillboard
setWaitSpan
setWaitSpanDist

deathCries
effModifyDeltaSpin
effModifyDrag
effModifyOffsetTime
effModifySpin
effModifyXYZ
effScaleVelocity
getEffectVelocity
playChatter

SvK
25th Mar 03, 11:10 PM
Thanks, Pesmontis. Since it's for school, I want to do all the work myself (it wouldn't be right to turn in a project with big chunks of work done by someone else) but those extra commands are great. I'm pretty sure that fsub() works in Cataclysm and not Homeworld, so I'll have to see which of those commands have an effect.

Pesmontis
29th Mar 03, 7:56 AM
I have a question too:
Do you know of any 'external' event - happening during the effect - which an EBG script can detect and use for changing the effect?

SvK
29th Mar 03, 6:41 PM
I know that length is continuously updated for bulletEffects, and that duration changes in gravwell effects.

Mikali
14th Sep 03, 6:43 AM
What's an EBG?

(I thought this might be a useful piece of info to put in a tutorial. Plus, I didn't know ;) )

-Mikail

Ghent
21st Jun 04, 7:04 PM
an EBG is the effects file type used in HW and HW:C for all the explosions, guns, fire effects, hit effects, hyperspacing, (slipgates).

SvK
21st Jun 04, 10:54 PM
Well well, it appears I never linked to my EBG manual (Which I finally finished.)

http://svk.mondrary.com/manual

Mr Tyranny
22nd Jun 04, 2:21 PM
"and the blind shall see.."

Thanks SvK and all the people who dug out the listings!!!

Ghent
22nd Jun 04, 8:49 PM
uber, good link SvK, great work with it!

SilverWolf_MT
5th Jul 04, 1:13 PM
I was wondering if you can use the EBG editing manual that Delphi posted to edit Caty EBG's as well?