You can find the latest FAQ at http://code.google.com/p/fpscreatorengine/wiki/FAQ
Note:Version numbers for V119 refer to internal source code references. E.g. V15 is a internal code references.
playfullvideo=x – X=1, plays the full version of the next video called by video=x, preventing the player interrupting the playback. plrwobble=x – sets the amount of 'wobble' affecting the player as they move around. plrdeath=x –where X equal the direction of fall for the player
X=1 Fall left X=2 Fall right X=3 Fall forward X=4 Fall backwards X=5 Fall randomly
plrdeathspeed=x where x is the speed of the players fall.
plrdeathbounce=x where x is the amount of 'shake' when the player hits the floor.
plraction=X – Forces a one off player action X=1 Fires current weapon X=2 Zooms current weapon X=3 Reloads current weapon X=4 Crouches player X=5 Jumps player X=6 Peeks player left X=7 Peeks player right X=8 Forces “use” key X=9 Forces left mouse click X=10 Forces right mouse click
plrforcemove=X – if positive, turns on auto move forward for player, a negative value forces an auto move backwards as if the appropriate movement key had been pressed. A setting of 0 (the default) disables auto move
Emitforce=x emits X amount of force from the current entity as a pulse. In a range of 0.0+ (default 1.0) Forcedamageon=x 1=allows force damage (the default) any other number prevents damage
mousesclick=x (condition) – Returns the current mousestate.
X=1 returns true if left button is depressed X=2 returns true if right button is depressed X=3 returns true if both left and right buttons are depressed
WASP - Official V2 additions
crosshair=x, where 1 displays a crosshair if available and x=0 disables them. The default is on weapontoslot=x where X is the next weapon slot to be used, X=0, use next free slot. Armon = x 1=Turn on body armour, 0=No body armour, damage is deducted from armour before health. SetArmx=x, X cord of the armour display SetArmy=x, Y cord of the armour display SetArm=x, Sets body armour value to X ArmInc=X, add X to your current body armour ArmDec=X, subtract X from your current armour. Airon=X - X=0 is off, X=1 acts like an aqualung. X=2 acts like lungs, restoring air to the amount set by SetAirMax when you surface. Addair=X - Add x to air Setair=X - Sets air to X Setairx=X - Sets air display X cord to X Setairy=X – Sets air display Y cord to X Setairmax=X – sets the maximum air allowed. Setair=X - Sets air to X Setairtime=X – Where X is the number of milliseconds underwater before air is reduced Setdrowntime=X - Where X is the number of milliseconds underwater before drowning damage occurs. Instantdrown=x – If X=1 (default) running out of air results ininstant death, otherwise x=0 reduces heath. AirGreater=x (condition) - returns true if air is greater than X. AirLesser=x (condition) - returns true if air is less than X. AirEqual=x (condition) - returns true if air equals X. Samefloorasplr(condition) - returns true if the entity is on the same floor as the player. Entityfloorequal=x - returns true if the entity is on floor X plrfloorequal=x - returns true if the player is on floor X plrsetimmune=x, when set the anything other than 0, player is immune from all damage! plrisimmune (condition)– returns true if the player is immune from damage.
Automated feature -Some characters, most notable Bond1's excellent models often include hard modelled melee weapons. The code automatically detects if you want the model to use another weapon and hides the melee weapon. Models must however use the default FPSC limb naming convention: MELEE-WEAPON-LEFT or MELEE-WEAPON-RIGHT.
WASP - official V3 additions
Arrowkeys=X - toggles use of the arrow keys for movement Peekkey= X - toggles use of the the peek keys Crouchkey= X - toggles use of the crouch key Jumpkey= X - toggles use of the jump key Walkkey=X - toggles use of the walk key for movement Runkey=x - toggles use of the walk key for movement Setforcedamage – Sets the amount of damage the next force burst will cause. Compasson = Turns on the compass Compassoff= Turns off the compass CompassX = Compass x coordinate on screen CompassY = Compass y coordinate on screen Compassspin = Sets the compass to spin rather than the needle Needlespin = Sets the needle to spin rather than the compass. radaron=x, where 1 turns on the dark radar feature, using blip1.png,blip2.png, etc, stored in databank to represent teams (1-10) non Dark AI's blips show as enemy (blip2) radarx=x the radar x cord of the radar centre radary=x the radar y cord of the radar centre rotateblip=x, 1= enables radar blip to show entity facing radarrange=x the range that entities show on the radar in segments plrspeedmod=x where x adjusts the player speed by X%
WASP - official V4 additions.
AddRawText = String, Adds the string to the current RawText text. Setisobjective, the object is set as the objective. A pointer, using the same format as the radar and the compass will point in the direction of the objective. Entities and Characters can all be set as objectives. This is NOT the same as the isobjective in an objects settings. setobjectivex=x. Where x= the x coordinate of the centre of the objective pointer setobjectivey=x. Where x= the y coordinate of the centre of the objective pointer setobjectivemode=x where x=0 hide objective set objective, x=1 always show, x=2 show on same floor only. setvarrnd=x or setvarrnd=var x. sets system variable or named var to a random value between 0 and x Randomize - resets the rnd seed to the timer Emptyreloadonly (gunspec) - Won't allow reload until weapon is empty. E.g. M1 Garand, flintlock, etc. setmaxweapons=x - sets the maximum number of weapons allowed in the players inventory. Exceeding X prevents pick up. plrweaponsgreater=x (condition) - returns true if weapons in inventory is greater than X plrweaponslesser=x (condition) - returns true if weapons in inventory is less than X plrweaponsequal=x (condition) - returns true if weapons in inventory is equal to X $ARM = system variable armour $AIR = system variable air $FPS = system variable FPS $WAT = system variable water height $MAX = system variable maximum weapons slots
Moved all new data to save/load routine.
WASP - official V5 additions.
Assigned variables to radar/compass objects for ease of use. entitydamagemult=x multiplies the entities damage by x%
WASP - Official V6 additions
weaponinslot=x (condition) - returns true if slot X contains a weapon playerstrength=x - multiplies the players strength by X% currentweapon=x (condition) - returns true if the currently held weapon is in slot X
WASP Official - Cull additions
Added performance increases Added 'average' timer based movement,for smoother movement. Increase max FPS to 80 to account for additional improvements, cap required as FPS 80+ corrupting animations, will look into this.
cullmode=X - 0=Legacy culling, 1=Legacy+dynamic entity cull based on entity size- default, x=1 and system calculated cull range cullrange=X - when cullmode=1 sets the range the entity will be culled at, overriding system defaults hide - hides the current entity show - shows the current entity cullmod=x - where x is the multiplier for the new culling - x=default 400, while entity size dependant 100=approximately 1 segment. $DIS - returns the current entities distance from the player.
WASP official - V7 - for use after V1.19 beta
Increased maximum radar blips to 20 to bring in line with maximum AI teams. Changes to cull system to improve performance and added entity fade for smoother appearence.
plrisrunning (condition) returns true if the player is running, plriszoomed (condition) - returns true if player weapon currently zoomed, plrisusingreload=X (condition) - X=1 returns true if reload pressed, X=0, returns true if reload not pressed. plriscrouching (condition) - returns true if player crouched plrisonground=x (condition) - X=1 and player is on ground returns true, X=0 and player is not on ground returns true. plrisjumping (condition) returns true if player is jumping
swaptoalt - swaps to alt fire on the current weapon firemode=x (condition) - returns true if current firemode=x, 0=normal, 1=alt fire mode
plrrotatex=x - rotate camera angle x to X plrrotatey=x - rotate camera angle y to X
entrotatex=x - rotate entity angle x to x entrotatey=x - rotate entity angle y to x entrotatez=x - rotate entity angle z to x
WASP official - V8
Fixed 'leavecorpse' bug, leave corpse now leaves corpse as it should do. Fixed limited spawn bug moveplrx=x - adds a one off X to players X velocity moveplry=x - adds a one off X to players Y velocity moveplrz=x - adds a one off X to players Z velocity $DIF - returns the current entities real world distance in feet from the player. $DIM - returns the current entities real world distance in metres from the player.
WASP official - V9
Prevented culling for multiplayer Added png & jpg to splash screen options. Only 1 type allowed. Note, Jpg will not fade. Fixed objective to scale to screen res. Fixed non-spawned characters appearing on radar onradar=x (condition) returns true if character on radar and x=1, else returns true if x=0 and character not on the radar.
WASP official - V10
scale=x or scale=x y - scales characters to scale X or scale X+ a value between 0-Y
V11
plrlastfired=x (condition) returns true if weapon path X is the last player weapon fired or x=the slot the weapon is carried in. radargreater=x y (condition) returns true is an entites range on the radar is greater (in segment size) than x and Y=1, else returns true if range less than x and Y=0 radarequal=x y (condition) returns true is an entites range on the radar is equal (in segment size) to x and Y=1, else returns true if range does not equal x and Y=0 Fixed aiheardsound bug. holster=x where x=1, player can swap/holster weapons as normal, x=0, player cannot holster or swap weapons.
V12
Fixed invisible spawn issue. Fixed addhealth issue Fixed AI footfall issue Added Splash.avi video option. globalnoair=x where X=1 set a global zero air, and x=0 sets air on. uses standard air settings otherwise. setnoairdamage=x where x is the about of health lost when player has no air left. fixed indirect death issue tweaked vWEAP physics
V13
gravitygun=x (gunspec) - turns weapon into gravity gun, allow plr to pick up an object with right click within range X, right click again, drops, left click throws magnet=x (gunspec) - turns gravity gun into magnet, left click hurls held object towards player gravitystrength=x (gunspec) - sets the psyhics weight the gravity gun will handle magnetstrength=x (gunspec) - sets the psyhics weight the magnet will handle
V14
entityishigher=x (condition) - returns true if the entity is X units higher than the player entityislower=x (condition) - returns true if the entity is X units lower than the player entityfloorhigher=x (condition) - returns true if the entity is X floors higher than the player entityfloorlower=x (condition) - returns true if the entity is X floors lower than the player plrpickon=x, x=1 then allow player pick up with right click plrpickrange=x, sets the range at which the player can pick up an entity with right click
V15
emitflash - Emits a flash from an entity setflashred=x - sets the next flashes red element setflashgreen=x - sets the next flashes green element setflashblue=x - sets the next flashes blue element setflashrange=x - sets the flash range of the next flash emitted, default=600 flashing=x (condition) returns true if a spotflash is in process and x=1 or returns true if no spotflash is in process and x=0 logicburst - give entity temporary logic burst, effectively setting to always active for a few moments. spawnsleft=x y (condition) returns true if spawnsleft=x and y=1 or returns true if spawnsleft<>x and y=0 spawnsgreater=x y (condition) returns true if spawns are greater than x and y=1 or returns true if spawns are less than x and y=0 damageby=X (condition) where X is either a weapon path (e.g. ww2/colt45) or the string "collision", "melee", "indirect", "flak" or "falling". or X= the slot number the weapon is carried in. plrdamagemult=x where x is a multiplier for the current damage caused by the player. plrnotzoomed (condition) - returns true if player is not zoomed plrnotrunning (condition) - returns true if player is not running plrnotjumping (condition) - returns true if player is not jumping plrnotcrouched (condition) - returns true if player is not crouched plrnotusingreload (condition) - returns true if player is not pressing reload notonradar (condition) - returns true if entity is not on the radar
V16 Fix usefullaim issue Tweaks
V17 addrawvar=X where X=var name or number. Adds the named variable to the current rawtext string. Added blood of floor for character V character sin=x y - set variable X to sin of Y cos=x y - set variable X to cos of Y damagetimegreater=x - returns true of last entity damage time greater than X scalehudx=X Y - rescales hud named X's X scale to Y scalehudy=X Y - rescales hud named X's Y scale to Y changehudalpha=X Y - changes hud X to alpha Y jamchance=X.0 (gunspec) = percentage chance of a gun jammed due to overheat (Reloading clears jam) overheatafter=x (gunspec) = the number of shots fired before the chance of jamming becomes active. cooldown=x (gunspec) = time in millisecs between shots to completely prevent jamming currentweaponjammed (condition) = returns true if the current weapon is jammed.
V18 Added new player action playeraction=11 which jams current gun nosubmergedfire=x (gunspec) - prevents the weapon firing while underwater. waterflow=x - sets the force of water flow effecting the player and entities if in water watercurrent=x - sets the direction in angles of the water flow. removeplrweapon=x where x is either the slot number or the weapon path e.g. scifi\autoslug - removes the weapon from the player, freeing the slot. giveplrweapon=x where x is the path of the weapon e.g. scifi\autoslug. The weapon must exist somewhere in the level or will fail silently. entitysetimmune=x - where x=1 set the entity to be immune from damage, x=0 set to receive damage isentityimmune (condition) - returns true if current entity is immune isentitynotimmune (condition)- returns true if current entity is not immune resetglobalsonreload=x - x=0, carries default global variables over to the next level. X=1 resets default global variables on loading. entitycam - moves camera to entity position, using entities rotation. playercam - restores camera to player lastcam - swaps to previous camera. playgunanimation=x y - where x is the animation start frame and y is the animation end frame. camrotationon=x if x=0 the camera uses the entities rotation, x=1 use user set rotation setcamoffsetx=x setcamoffsety=x setcamoffsetz=x setcamrotx=x setcamroty=x setcamrotz=x
V18.5
scalelimb=x y - scales limb X to scale y hidelimb=x - hides limb X showlimb=x - shows limb x
Limb scaling and hiding now requires the actual limb number of the model, this solves several imbalances and allows non-character models to be scaled.
Added new gun animation options to fit with default weapons fix jam (gunspec animation)=X Y where x is the start animation and Y is the end animation hand push hand dead jammed change firemode hand button hand take presetgunanimation=x, plays a present gun animation, if it exists. where x= one of the following: (no action is taken if animation doesn't exist)
fixjam handpush handdead jammed swaptoalt handbutton handtake select idle move run startreload endreload cock
various fixes for culling lockemplacement - locks the player to a 45 degree fire arc freeemplacement - frees the player from the fire arc. cullevenifimmobile=x where x=1 system will include immobile object in cull system, normally exluded to account for windows and doors.
V19
cull fix tweaks and fixes for scaling plrweaponidle (condition) - returns true if the player weapon is idle. plrweaponnotidle (condition) - returns true if the player weapon is not idle. Speed tweak plraccuracymult=x. Modifiers the player accuracy by x% entityaccuracymult=x Modifiers the entity accuracy by x% debugcursor=x y debugvar=var name debugtext=text wireframe=x 1=wireframe mode, 0=solid. plrcamoffseton=x - 1 allows player camera offsetting. plrcamoffsetx=x - x player camera offset plrcamoffsety=x - y player camera offset plrcamoffsetz=x - z player camera offset further tweaks to culling. fix to segment debug sphere issue. Entity damage multiplier tweaks. Mutate=x y - mutates the character/object limbs between scale X and Y Improvements to player carry and gravity gun, objects now dropped if attempts made to life throw ceiling/objects.
V20
setobjectiverange=x - sets the range an objective marker is dropped from the radar objectiverangelesser=x (condition) - returns true if the entity is an objective and it's range is less than x objectiverangegreater=x (condition) - returns true if the entity is an objective and it's range is greater than x linktoplayer - attach the current entity to the player cam using the entities camera offsets freefromplayer - free the entity from the player cam and leave at last cords. Added Team Death Match/Lemur V2 - Special thanks to Plystire for this code - I aim to improve this code at a later date.
To use Lemur you'll need to add additional options to the FPSC setup.ini located in your final built game folder.
aunt1=I Can Smell You! taunt2=Is That Fear I Smell? taunt3=Victory Is Mine!! taunt4=I Got You Sucka! taunt5=Time you got ya arse in gear! taunt6=You Play Worse Then My Grandma And She's On Oxygen! taunt7=Eat Lead Sucka! taunt8=What? No Bullets?? taunt9=The Object Of The Game Is To Kill, Not Die! taunt10=Who Taught You How To Shoot? taunt11=Your Resistance Is Futile! taunt12=You Just Got Spanked! taunt13=Uninstall Now Before Your Feelings Get Hurt! taunt14=Listen To The Sound Of PAIN! taunt15=Didn't Your Momma Teach You Not To Play With Guns? taunt16=I AM Your Daddy's Hero! taunt17=What? Lead Poisoning? HAH! taunt18=Should I Play Blindfolded? taunt19=That's DOCTOR Death To You Sir! taunt20=What? You Lose Something? Maybe A Life? taunt21=Sorry Babe, I Just Had To. taunt22=Whoops!!My Bad!!HAHA NOT! taunt23=You Are Probably The Worst Player I've Ever Beaten!! taunt24=And You Call THAT Skill? taunt25=Why Do You Keep Dying? Is It Me?? taunt26=What Do You Say You Give Up Now And Save Yourself The Embarassment!!! taunt27=Daddy Likes!!! taunt28=This Ain't No O.K. Corral, Put 'Em UP!! taunt29=I Must Be Your Bus Driver, Because I Just Took You To School! taunt30=Somebody Better Call The Meat Wagon!!! autoswaptrue=1 messagetime=3000 serverhostname= FPSC v119 Beta allowscope=1 allowchat=1 alwaysrun=0 - also works in single player mod autoswaptrue=X where X=1on and X =0 off (autochange gun) allowsscope=X where X=1on and X =0 off allowchat=X where X=1 on and X =0 off alwaysrun=X= 1(run,shift is walk) or X =0(walk,shift is run.) matchtype=X= 0 for a standard deathmatch or X=1 for Team death match
Death Match settings : matchtype=0 Make your game as normal making sure all character's have different names. You may have a maximum of 16 characters for a deathmatch game.
Team death Match settings :
matchtype =1 Make your game as normal, making sure to give each character in a team the same unique character name. e.g. You could call all the characters in team 1 Bob, all the characters in team 2 Tina, all the characters in team 3 Ronald, etc.
You may have as many teams as you like, up to a maximum of 16 characters in total.
v21
soundplaying (condition) - returns true if the last sound called by the entity is still playing. soundnotplaying (condition) - returns true if the last sound called by the entity is not longer playing. multicompass (setup.ini) - activates compass for multiplayer multicompassx (setup.ini) - multiplayer compass x multicompassy (setup.ini) - multiplayer compass y multiradar (setup.ini) - activates radar in multiplayer multiradarx (setup.ini) - multiplayer radar x multiradary (setup.ini) - multiplayer radar y
[SVN on GOOGLECODE now holds notes on additions, saves duplicating work!]
Fixed AIUSEMELEE=1 blood spurts
Added new FPI action AIROTATEY=X this will rotate the character to the angle specified by x
Added new FPI action AILOOKAROUND=X,Y this will rotate the character randomly between angle x and angle y
Added cool new adaptive bloom shader written by Mark Blosser (the legend)
Added new gunspec command BULLETLIMBTOTAL=X X is the amount of bullet limbs the weapon has
Added new gunspec command BULLETHIDERESET=X X is the animation frame at which the bullets will all be scaled back to 100%
Added new gunspec command BULLETHIDESTART=X X is the amount of ammo for the system to begin to hide the visible bullets
Added new gunspec command BULLETHIDEMOD=X if x=1 then the weapon will use the bullet hide system NOTE!: Weapon MUST have the bullets limb's named correctly "BULLET" prefix and then which number bullet it is (limbs will be hidden from max limbs to 0). EXAMPLE!: BULLET0,BULLET1,BULLET2,BULLET3,BULLET4, ETC....
Added new BULLET HIDE feture (all bullet hide gunspec commands are a must for the system to work)
Added new FPI action called EXPLODE this will cause an explodable entity to trigger its explosion OR if the object is a scriptable flak object then the flak will explode NOTE: If it is a scriptable flak object, upon explosion the entity/flak will not die allowing flak to have multiple explosions, for flak destory must be called to destroy the flak object
Added new gunspec switchtoalt=x,y by default to switch to an alternate weapon you have to press the number key of the weapon you are currently on. this command allows you to change that (THE Y PERAMATER IS OPTIONAL). For example switchtoalt=33 will allow you to use the 'F' key to switch to your weapons alternate mode. The Y peramater allows you to do key combos, for example switchtoalt=33,56 will allow it so you use 'ALT' + 'F' to swap to your weapons alternate mode.
Added new FPI condition called UNDERWATER=X this will return true if the entity is under the water surface
Added new FPI condition called PLRUNDERWATER=X this will return true if the player is under the water surface
Added new FPI condition called PLRNOTFACING which is true when the player is not facing the entity scripted
Added water "effects" such as water physics, swimming, water ripple, water splashes...etc
Added WATERFOGDIST=X to change how far away the underwater fog is
Added WATERFOGBLUE=X to change the blue value of the water's underwater color
Added WATERFOGGREEN=X to change the green value of the water's underwater color
Added WATERFOGRED=X to change the red value of the water's underwater color
Added WATERBLUE=X to change the blue value of the water's color
Added WATERGREEN=X to change the green value of the water's color
Added WATERRED=X to change the red value of the water's color
Added WATERSPEED=X to change the water ripple speed
Added WATERHEIGHT=X to specify the water's Y position
Added WATER=X to toggle water on and off
Added Water
Added NEXTLEVEL=X this will specify which level to jump to (this command will not end the current level, it will simply jump to the level specified after the current level has ended via winzone, etc.)
Added DIMLOCALVAR=X Works just like DIMVAR=X only makes the variable local to the entity (just like localvar=x only allows you to use the new variable system)
Added PASSTOSETUP=X Y x is equal to the string you would like to insert/change in the setup .ini Y is the value to give it Example: passtosetup=dynamicshadows 1
Removed SAVESETUP to save the changes to the setup.ini (MUST CALL BEFORE RESET)
Removed SETUP_DYNAMICSHADOWS=X to change the setup.ini's dynamicshadows setting
Removed SETUP_USEEFFECTS=X to change the setup.ini's useeffects setting
Removed SETUP_DIVIDETEXTURESIZE=X to change the setup.ini's dividetexturesize setting
Removed SETUP_MOUSESENSITIVITY=X to change the setup.ini's mousesensitivity setting
Removed SETUP_ASPECTRATIO=X to change the setup.ini's aspectratio setting
Removed SETUP_POSTPROCESSING=X to change the setup.ini's postprocessing setting
Removed SETUP_WIDTH=X to change the setup.ini's width setting
Removed SETUP_HEIGHT=X to change the setup.ini's height setting
Removed SETUP_DEPTH=X to change the setup.ini's depth setting
Updated arena player name entry and arena IP address entry to allow the backspace key to remove characters.
Updated arena chat messages so the backspace key removes string characters from messages.
Fixed 'super jump' bug that can occur in arena games.
NOTE: V117 and above on Vista require SP1 or above to function properly
Added SAVESETUP to save the changes to the setup.ini (MUST CALL BEFORE RESET)
Added RESET to reset the engine so the new setup.ini changes will be applied
Added SETUP_DYNAMICSHADOWS=X to change the setup.ini's dynamicshadows setting
Added SETUP_USEEFFECTS=X to change the setup.ini's useeffects setting
Added SETUP_DIVIDETEXTURESIZE=X to change the setup.ini's dividetexturesize setting
Added SETUP_MOUSESENSITIVITY=X to change the setup.ini's mousesensitivity setting
Added SETUP_ASPECTRATIO=X to change the setup.ini's aspectratio setting
Added SETUP_POSTPROCESSING=X to change the setup.ini's postprocessing setting
Added SETUP_WIDTH=X to change the setup.ini's width setting
Added SETUP_HEIGHT=X to change the setup.ini's height setting
Added SETUP_DEPTH=X to change the setup.ini's depth setting
Added SETUP_ANTIALIAS=X to change the setup.ini's antialias setting
Added new entity data file grouping for V118 properties (backward compat)
Added new decal particle setting to allow choice between animated or static decal particle textures, default is 0.
Halved the power of the Bloom in response to community feedback
Added Project Blue's variable system
REWROTE the way Airmod's alternate fire works. All it was doing was making a mess of the engine and didn't even have support for all primary gunspec commands Now you can use any gunspec command (excluding melee key=x, weaponisammo=x,altto=x,y, altfrom=x,y, addtospare=x,sound#=x, altsound=x, soundframes=x, and sframe=x) with the alternate fire feature. Simply use the word "alt" before the gunspec command you wish to use. For example to declare simple zoom in alternate mode I would use: "altsimplezoom=1" (without the quotation marks)
Added new gunspec command for the melee feature alt melee end 3=x,y the engine will randomly choose between this, alt melee end 2 and the normal alt melee end
Added new gunspec command for the melee feature alt melee end 2=x,y the engine will randomly choose between this and the normal alt melee end
Added new gunspec command for the melee feature alt melee end=x,y
Added new gunspec command for the melee feature alt melee start 3=x,y the engine will randomly choose between this, alt melee start 2 and the normal alt melee start
Added new gunspec command for the melee feature alt melee start 2=x,y the engine will randomly choose between this and the normal alt melee start
Added new gunspec command for the melee feature alt melee start=x,y
Added new gunspec command for the melee feature alt melee range=x to specify the range of the alternate melee
Added new gunspec command for the melee feature alt melee damage=x to specify the amount of damage the alternate melee will do
Added new gunspec command for the melee feature alt melee noscorch=x to specify wether or not the melee attack leaves a scorch mark
Added new gunspec command for the melee feature melee noscorch=x to specify wether or not the melee attack leaves a scorch mark
Added new gunspec command for the melee feature melee key=x to specify the key that will trigger the melee (uses scancodes)
Added new gunspec command for the melee feature melee range=x to specify the range of the melee
Added new gunspec command for the melee feature melee damage=x to specify the amount of damage the melee will do
Added new gunspec command for the melee feature empty melee end 3=x,y the engine will randomly choose between this, empty melee end 2 and the normal empty melee end
Added new gunspec command for the melee feature empty melee end 2=x,y the engine will randomly choose between this and the normal empty melee end
Added new gunspec command for the melee feature empty melee end=x,y
Added new gunspec command for the melee feature empty melee start 3=x,y the engine will randomly choose between this, empty melee start 2 and the normal empty melee start
Added new gunspec command for the melee feature empty melee start 2=x,y the engine will randomly choose between this and the normal empty melee start
Added new gunspec command for the melee feature empty melee start=x,y
Added new gunspec command for the melee feature melee end 3=x,y the engine will randomly choose between this, melee end 2 and the normal melee end
Added new gunspec command for the melee feature melee end 2=x,y the engine will randomly choose between this and the normal melee end
Added new gunspec command for the melee feature melee end=x,y
Added new gunspec command for the melee feature melee start 3=x,y the engine will randomly choose between this, melee start 2 and the normal melee start
Added new gunspec command for the melee feature melee start 2=x,y the engine will randomly choose between this and the normal melee start
Added new gunspec command for the melee feature melee start=x,y
Added support for melee animations (guns can shoot and melee)
Added new FPI action AIREMOVE to remove a Dark AI entity from the Dark AI system
Added new gunspec command for the ammo pooling feature for use with alternate weapons altpoolammo=x x is equal to a name you would like to use for the ammo pool
Added new gunspec command for the ammo pooling feature poolammo=x x is equal to a name you would like to use for the ammo pool
Added support for ammo pooling
Added new gunspec command for the running feature disablerunandshoot=x
Added new gunspec command for the empty feature empty shotgun=x works just like shotgun=x but applies to the empty feature
Added new gunspec command for the empty feature empty reload loop=x
Added new gunspec command for the empty feature empty end reload=x
Added new gunspec command for the empty feature empty start reload=x
Updated addendum document to include missing TODO sections
Added DECALPARTICLE script given early interest in particles
Added extra error information if SET DIR fails to find path
Enhanced AirMOD 'accurate object pickup' to skip if only 1 object in view
Added code to switch off postprocessing if GPU is lower than PS2.0
NOTE: If your dynamic entities are black, ensure they are captured by a dynamic light and well in its range
Fixed problem of mouse pointer leaking into any secondary displays
Fixed health numeric in arena game, now shows under the health label
Fixed shadows in arena game, now appears at the characters feet
Fixed issue causing arena games to crash if exit out and re-play game
Added new gunspec command empty run=x,y for running with a empty weapon
Added new gunspec command alt run=x,y for running with an alternate weapon
Added new gunspec command run=x,y for running
Added support for new run animations
Added debris decal for characters when they miss their shot and hit a piece of level geometry
Added new gunspec command "altchamberedround=x" works just like chamberedround=x but applies to the alternate firing mode
Decal particle settings populated by base decal settings (for tweaking)
Added decal particle settings right into entity properties (custom override)
Fixed DBP Basic3D DLL bug causing play object obj,start,end to overrun
Fixed bug causing the AI to keep their backs bent after their target has died
Fixed bug causing cross layer shooting to not work on AI vs AI action
Fixed bug in compiler which lost track of line numbers in the FPSC source code
Fixed issue causing joining games to crash on certain systems
Prevented DarkAI from interferring with arena mode games
Fixed bug causing flak weapons to sneak into arena mode games and crash
Solved issue in ODE which caused player to be pushed through floor
Solved issue of switches not performing their fixed rotation in test game
Entities that use the FIXROTY field auto-default to switch off physics (physics cannot pivot an object)
NOTE: Added new ADDENDUM.RTF document to the DOCS folder (extra info on new features)
Added new flag 'disablepeeking' to SETUP.INI to deactivate peeking controls
Added polygon count value to the polygon bar of the full resource tab
Added NORAGDOLL flag to FPE fields, and adjusted all Talker characters to use this flag
Fixed bug causing AI to still be able to move and rotate when knocked onto the floor
Fixed issue caused by some static entities drastically slowing down obstacle generation process
Updated DarkAI DLL to reduce fidelity of static obstacle creation (from 0.001 to 5.0) - for performance
NOTE: V117 drops support for Win2000 operating systems due to new DLL requirements
Totally removed the old editor preview mode from code, impossible to get it via shortcuts now
Standalone games now fill weapon slot with starting weapon held in player start marker (press '1' bug)
When player weapon fire is forced to end (out of ammo), now fades out loop sound instead of abrupt end
Updated DarkAI DLL to skip CAN SEE call if current entity coordinate reading as -1.#INF000
Fixed very deep monster slowdown issue with ADDTARGET subroutine (reduced and eliminated CAN SEE calls)
Due to user requests, set LOADREPORT to one will restore old baseline debug information in test game
Dropped weapons would sometimes rotate and reposition needlessly, fixed to high weapons out of view
NOTE: Fix in U76 solves the issue of missing decal debris and material scorches in static scene
New U76 DLL for Basic3D which fixes material/arbitary value return from raycast (cleared too late)
Replaced DUST decal back to original as it was more apprpriate to wall and ceiling impacts
Added extra check to ensure engine does a full rebuild of level if cleaner removed universe DBO
Adjusted character running code for DAI so they need a walk build-up before launching into run
Overhauled some of the stock characters to allow them to speak (full DarkVOICES mouth support)
Test Game now remembers the ambient light setting to save the user constantly re-adjusting each test
Added ability for DAI characters to run if they are further than 175 units away from their destination
Added new FPI actions ANIMATIONNORMAL and ANIMATIONREVERSE to reverse animations using ANIMATE
Added code to absorb the jitter seen when a character toggles quickly between two animations (interp=10%)
[G] and [H] prompts on Allies now work 100% of the time, solving the bug that hid the text on occasion
Comprehensive change to rename DIST# assigned variables (to ensure PLRWITHIN action works 100%)
Adjusted default AI scripts, removed melee (incomplete) and ensured enemies instantly start conflict!
Weapons carried by killed characters who are off-screen during skipped death animation no longer float
Ensured that enemies can target player, even if player has infinite health (no start marker or health=0)
Simplified DAI player position code so level without start marker will not mess up enemy targetting
Added code to detect if FPSC-MapEditor would be denied write access, and prompt early error of this
Added code to defer undo/redo interface update to the end of large loops (significant performance boost)
Improved code which draws floor as art shapes (floor features skip area check for performance)
Added new scifi segment entries and a few new textures to show off updated Full Effects system
Added new empty feature (rewrote code from Fenix Mod). This allows you to use special animations for your gun when its empty. (allowing something like the slide pulled back on a pistol). useempty=x 1 to enable 0 to disable
Added code to use an accumilator to detect strafe from DAI so lightning quick side move avoids strafe anim empty putaway=x,y empty select=x,y empty idle=x,y empty move=x,y empty cock=x,y empty reload=x,y (the x value is the start frame and the y value is the end frame)
Added new gunspec addtospare=x this will add the ammo you pick up to you "spare" collection when completely out of ammo instead of directly into the clip
In the Editor, when download and use a weapon containing FLAK, editor refreshes data right away
Can now collect gun if deceased character had gone into ragdoll mode
Fixed bug causing advanced weapons not to copy over their textures when build standalone games
AIRMOD Support added. Thanks to Hockeykid for a 21 hour marathon integration and Jake for his excellent work!
Adjusted speed of weapon animations to match old legacy speeds (sync's all weapons properly again)
Updated official U75 to reflect change to IMAGE and SPRITE DLLs (download 090710 version to compile source)
When collect weapon with lots of ammo specified, correctly place ammo in weapon and clip slots
When a character uses DarkAI, fall/get-up feature disabled (shutgun) as AI does not handle this behaviour
In standalone game, when pause game the looping entity sounds will now pause, and resume when resuming
Removed old style particle code from engine (as it could occasionally cause HUD screen corruption)
Fixed bug causing standalone games not detecting full effect textures (bumpent and illuminationent)
Updated DBP Sprite DLL to allow render state for sprite similar to GHOST MODE 2 (use SET SPRITE X,0,2)
Cross hair object no longer renders into depth buffer, removing any distortion that may have resulted
Updated setuplevel.FPI to completely hide the LIVES and HEALTH labels if start marker specifies zero
Fixed code that controls loading of _I _N and _S textures for fixed shaders (PS2 illumination bug fixed)
Added new code to the MapEditor to allow character entities to specify IFUSED string (for script below)
Added new script called DISAPPEARACTIVATE when can activate a second entity during the destroy step
Hid team debug text readout behind the showaioutlines flag from SETUP.INI for final levels
Restored the FPI team action constant name to fix temporary bug in DarkAI behaviours
Restored three laboratory textures to correct place (programmer art L shape on wall bug)
Replaced old text based debug info in TEST GAME with graphical bars from resource meter
Fixed BUMPENT in PS2 to allow entity to be lit by the dynamic lighting colors
Cleared camera view after each level, so don't get a ghost of last scene when start next level
Changed average light position code to be player centric and smooth (better bump map effects)
Fixed system so entities mistakenly using shaders without supporting textures are handled properly
Doubled speed of decal frame increment to match pre-timer based engine (glass smash correct again)
Fixed issue of debris not being lit like entities (destroyed crate looks correctly lit now)
Fixed issue of ALTTEXTURE (texture switched switches) not correct when re-load saved position
Fixed issue of immobile entities having their rotations reset on reloading a saved position
Fixed IMAGE BLOCK Code so if it exceeds contiuous virtual address allocation, it switches to non-imageblock mode
Added new FPI action AIAUTOFACTIONOFF=x by default the faction system adds the factionto both teams For example if I did aiaddenemy=1 2 then team 1 would become team 2's enemy but team 2 would also become team 1's enemy This command allows you to toggle that on and off which will allow you to do things such as: police help civilian but civilian wont help police
Added new FPI condition HEALTHGREATER=X this will return true if the entity's health is greater the X (a much needed addition)
Replaced direct MOUSE commands with mouse functions so controller can perfectly override HUD pointer
Added awareness of new XBOXMAG field to control the magnifier of the controllers Y rotation speed
Fixed issue of decals set to looping not always active, now forced to remain active always
Fixed overlap in VECTOR resources where multiplayer catmulrom spline mixed with stereoscopic eye calc
Fixed bug in WAYPOINTRANDOM command so multiple characters find the correct waypoint link node
Added AI Factions! (Commands for it listed below)
Added new FPI action AIADDNEUTRAL=X Y this will add the teams specified by Y to the X's neutral list NOTE!: separate each 'Y' with a | mark EXAMPLE: aiaddneutral=1 2|3|4|5|6 This will add teams 2,3,4,5,6 to team 1's neutral list
Added new FPI action AIADDENEMY=X Y this will add the teams specified by Y to the X's enemy list NOTE!: separate each 'Y' with a | mark EXAMPLE: aiaddenemy=1 2|3|4|5|6 This will add teams 2,3,4,5,6 to team 1's enemy list
Added new FPI action AIADDALLY=X Y this will add the teams specified by Y to the X's ally list NOTE!: separate each 'Y' with a | mark EXAMPLE: aiaddally=1 2|3|4|5|6 This will add teams 2,3,4,5,6 to team 1's ally list
Moved transport OUT desintation coordinates 10 units higher to (+75), fixes 'below gantry issue'
Fixed overlap in VECTOR resources where multiplayer catmulrom spline mixed with stereoscopic eye calc
Fixed bug in WAYPOINTRANDOM command so multiple characters find the correct waypoint link node
Moved transport OUT desintation coordinates units higher to (+75), fixes 'below gantry issue'
Added A: to non character entity debug info to show 'activation' state
Special state for physics objects on lifts (+100) is retained during save load process
When load saved game position while on lift3.fpi, sound will halt when instructed to stop
Can now place entity objects on lifts and carry them up and down
Added early out for decal creation if over 1000 units away (not close to player, waste of resource)
Increased decal element maximum from 200 to 490 (more real-time particle decals allowed)
In entity zoom view, press CONTROL to allow more accurate XYZ placement
Added USE KEY field to zone markers (so the zoneanykeyactivate.fpi can be used)
Fixed Basic3D.DLL so old material index not returned with static collision result
Second level play will not crash, even if stand on box at end of level one
Fixed Lightmapper.DLL bug that caused secondary lightmapping cycles to crash (heap)
Extended logic burst for activated entities to 2 seconds (120 interations)
Adjusted map editor to load view position from last time level was saved
Characters can now walk on gantries (segment overlays with directional floors)
All entities are nudged slightly at start of level so they fall if suspended
When click EXITGAME, hold until click released (prevents load game from showing)
Can now save your game position at the bottom, top and whilst riding lift
Added new data to save position (decal mode, sound state and lift-ride state)
Added code to ensure walk anim not interupted when temp-stop at closed door
Fixed issue of diffuse disappearing when use the ALTTEXTURE FPI action
Fixed bug preventing builds to export the LIPSYNC and some $0 and $1 files
Map Editor chops out mid-level base segments in entity zoom mode to stop blocking
Reset SPINE and SPINE2 new entity profile properties, and fixed TC to TC-1 (true limb index)
Fixed small bug which prevented smoke being emitted when no brass limb used in weapon
Added new FPI action AISETEYELEVEL=X this will set the eye offset (defaulted at 80) for use with the up and down aiming feature (the lower this is set the lower the entity will aim at its target)
Added new FPI action AIUSEFULLAIM=X this will toggle the option to have the AI aim up and down
Finally finally fixed the test game start issue, now no longer have repeating left clicks
Added new FPI action AICLEARTARGET this will manually clear the entities current target
Added new FPI condition AIHASTARGET=X this will return ture if the entity has a target
Added new FPI action AIATTACKAWARNESS=X by default this is turned on which causes the AI to go into "attack mode" when the see an enemy. Turning this off can make your AI ignore an enemy or aid in having the break away from a battle.
Added new FPI condition AICALLEDBYPLR=X this will return if the entity has been called by the AIPLRCALLTEAM=X command
Added new FPI action AIRESPONDTOPLRCALL=X this will cause a fellow player teammate to move towards the player (if any he for help)
Added new FPI action AISETSPEED=X this will change the ai character's current speed to the number specified by x
Added new FPI action AIPLRCALLTEAM=X this will alert teammates within x distance that the player needs help (to be used with other call commands)
Used new system to populate Entity Properties, providing much faster right click display
Updated Setup DLL so the TOPMOST directive used by test game now means user does not need click start
Ensured characters placed in sealed room on lowest level do not fall through floor at start
Tweaked sound system to produce quieter sounds from layers above and below (likely different room)
Improved built-in DarkLIGHTS system (new DLL required by modders) to reduce virtual memory usage
If an animation does not exist for an entity and that animation number is called the weapon offset will be removed to attempt to find a real animation. EX: Entities with guns can now melee with animation 8 This fix should allow modelers to trim out a sizeable amount of redundant animations
FPI actions merged from Fenix Mod aisetactive=x - if x=1 then the dark ai will take control of the dark ai entity if x=0 then the dark ai will not take control of the dark ai entity (used to toggle off during entity reload to avoid sliding around) alwaysactive=x -if x=1 then the entity will be set to always active if x=0 the entity will be set to always active off (mainly used for dark ai as dark ai entities need to be always active but can be used on regular FPSC objects) aisettarget -Sets the current entities target to an enemy nearby that it can see
FPI conditions merged from Fenix Mod ducking=x (condition); x=1 is true if DAI is ducking, x=0 is true if DAI is not ducking. strafingleft=x (condition); x=1 is true if DAI is strafing left, x=0 is true if DAI is not strafing left. strafingright=x (condition); x=1 is true if DAI is strafing right, x=0 is true if DAI is not strafing right. movingforwards=x (condition); x=1 is true if DAI is moving forewards, x=0 is true if DAI is not moving forewards (used mainly for setting animations). movingbackwards=x (condition); x=1 is true if DAI is moving backwards, x=0 is true if DAI is not moving backwards (used mainly for setting animations). idle=x (condition); x=1 is true if DAI is not moving, x=0 is true if DAI is moving (used mainly for setting animations). aicanshoot=x (condition); x=1 is true if DAI can see an enemy, x=0 is true if DAI can not see an enemy.
Made a few code fixes (and a new DarkAI DLL) to solve the cross-container navigation and firing!
Tied the memory resource readout in the TAB mode of the test game to reflect new Virtual Size limit
NOTE: Even though some systems can have 4-24GB of system memory, only 2GB is usable for 32bit apps
Increased system memory cap to 1.85GB (turns out build process fragments virtual memory addresses!)
Replaced USED and SYSTEM CAP code to use Virtual Memory Size (instead of smaller working set size)
Linked LOADREPORT flag in SETUP.INI so a value of one switched off TOPMOST action during test game
Added AI code to allow multiple levels to be built/played (resets AI for each level)
Updated Game Creator Store DLL to allow more artists
Added ability for TALK action to use the sound from any entity (use entity name instead of WAV in $1)
No longer crashes when TALK used with WAV that has no LIPSYNC file associated with it
Wrapped a few AI code calls in error trapping to ensure target object values not result in crash
Added saving and loading of obstacle data (.OBS) so standalone exes now have DarkAI Obstacles
Updated some existing DarkAI commands to use additional Y and CONTAINER parameters
Switched to latest DarkAI module (new commands, inc. cross-container and obstacle saving)
Added new 'entitytogglingoff' field in SETUP.INI, set to 1 to disable entity static mode toggling
Added extra status bar info as to whether we are in Static or Dynamic Entity Editing Mode
New game projects (FPG) include HUDTYPE 1 and 2 for lives,health display in setup script (to hide)
X9 can now load X10 levels (upto version V111) for limited forward compatibility
Removed PREVIEW button to the right of TEST GAME, reserving the space for future buttons
Re-arranged PREFAB internal order to place it last (so it can be excluded by interface flag)
Prevented .LOG files from being created with no meaningful filename associated with it
Improved ACTTALK action to allow $0 and $1 to work with externally called associated LIPSYNC file
Added code to prevent outright crash when meshes incorrectly specified (now default to mesh sphere)
Added new feature to AI obstacle code to detect Wall Large and Wall Small (creating full/half walls)
Added new FPI action AIMOVETOTARGET this will cause the entity to move to its target if it has one
Added new FPI action AISTOP this will stop the AI entity right away
Added new FPI condition AIATCOVER=x this will return true if the entity is at the cover that the entity was instructed to move to by AIMOVETOCOVER=X
Cleaned up some of the OBSTACLE container code and included new X10 modules (for later inclusion)
Added additional X10 inspired DarkAI code to include static entity obstacles
Added new FPI action AIROTATETOSOUND this will make the AI entity rotate to the closet sound that has been heard
Added new FOG constants to FASTBONE.FX (for correct depth camera rendering)
Fixed decal loop glitch which caused decal plate to disappear sometimes
Added COREDLLS and SCRIPTBANK to keep the files rapidly modified in the SVN
Added all new depth of field (using FF fog and passing in depth camera frame)
Added new FPI action AIROTATETOTARGET this will rotate the entity to its target.This command works just like rotatetotarget but uses the ai system to rotate
Added new FPI action AISETMELEEDAMAGE=X this will X is the amount of damage the entity will do with AIUSEMELEE=X
Added new FPI action AIUSEMELEE=X this will take away the amount of health specified by AISETMELEEDAMAGE=X from the entity's target. If X=1 then blood splats will be enabled for that hit
Added new FPI condition AITARGETDISTFURTHER=X this will check if the entities target is further then X distance (if the entity has no target this will return false)
Added new FPI condition AITARGETDISTWITHIN=X this will check if the entities target is within X distance (if the entity has no target this will return false)
Added new FPI action AIMOVETOCOVER=X if x is equal to 1 the entity will move to the closest unoccupied safe zone, if x is 0 the entity will move to cover based on its #1 targets X and z positions if the entity has no target it will move to a safe zone instead Note: To make a safe zone name a trigger zone "safe zone" (without the quotes). Hopefully in the future we will be able to supply a zone in the Markers bank specially for safe zones for easier setup
Added new FPI action AIRESPONDTOCALL this will cause an entity to move towards the teammate that called for help (if any called for help)
Added new FPI condition AICALLED=X this will return if the entity has been called by the AICALLTEAM=X command
Added new FPI action AICALLTEAM=X this will alert teammates within x distance that a team member needs help (to be used with other call commands)
Altered AIHEARDSOUND=X condition x is now equal to the maximum distance away the sound can be
Fixed crash caused by lifts (lift1.fpi on a trigger zone)
Added new FPI action ADDAITEAM=X x= the team number which can be anything you heart desiers. Team 1 is defaulted to the player This allows your enemies to have enemies who are all enemies of you. Meaning you can now have as many teams as you would like As a note team 1 is reserved for allies (so addaiteam=1 would add the character as the player's ally) for normal Allies versus enemies you can simply use addaiteam=1 for your allies and addaiteam=2 for enemies to add an extra team in there you could use addaiteam=3 (this team would be enemies of both team 2 and team 1) Extra note the addaiteam command does not have to be in numerical order so if you wanted to add an enemy you could even do addaiteam=5000000000
Fixed issue of multimeshes not being applied with depthoffield shader
Fixed B3D bug causing ATTACH OBJECT TO STATIC to hide ceiling entities
Changed script line cap from 150 to 350
Blood now works on all enemy on enemy attacks not just Dark AI vs Dark AI
Fixed build crash on large levels that use mixed primtypes (non-stock media)
Adapted Project Blue's accuracy system to work with weapon wielding character's accuracy system
Replaced accuracy system with Project Blue's accuracy system
Added Weapon wielding characters now use the fire iteration specified in their weapons gunspec
Fixed bug with accuracy values being ignored by weapon shooting characters
Added new action AIMOVETOSOUND will tell the entity to move the most recent sound that has been played within it's hearing range (sounds include: footsteps,reloading,gunshots etc)
Added new condition AIHEARDSOUND=x will return true if a sound was heard within the entities hearing range (sounds include: footsteps,reloading,gunshots etc)
Added flag to SETUP.INI to control whether the AI debug guidelines show or not
Fixed issue causing universe object culler to fail when camera one created
Added 'depth' technique to new set of PS_2_0 shaders and redirected to those (newblosser flag)
Added new FPI condition AIONPOINT=X x=is the points id number - this will check if the entity is on the point (named by x)
Added BLOOM post process shader with others in 'effectbank\ps_2_0'
Added POSTPROCESSING=1 flag to SETUP.INI to switch on/off the post process feature (performance)
Added new POST PROCESSING subroutines (U75+ only), typically depth of field, bloom, etc
Added new FPI action AIGOTOPOINT=X this will make the entity go from its current position to the point specified by x (to create a point use aiaddpoint=x) this path will avoid any obstacles
Added new FPI action AIADDPOINT=X x=is the points id number - this will create a point to be used with other ai point commands
Fixed bug from V1.16 that broke runfpi because of the runfpi scripts not being loaded
Added new FPI condition AITEAM=X x is the teams number
Added new FPI condition ISDARKAI=X which is true if the entity has been loaded into the Dark AI system
Added new FPI condition KEYPRESSED=X Y which is true if Y=1 and the X key is being pressed. Also true when Y=0 and the X key is not being pressed (x should be equal to the desired scancode)
Changed all data structure members from integer to float which fell under timer based calculations
Changed character weapon fire from counter to timer based logic
Changed flak movement and detonation from counter to timer based logic
Changed speed of gun animations to use timer based logic
Changed decal animation from counter to timer based logic
HUD Fader code now using timer based logic
Gun/Smoke/Flash/Brass counters now using timer based logic
Hover and Spin behaviour of collectable entities now using timer based logic
New improved physics system (timer based) allows sync rate zero without increasing physics speeds
Permanently sey SYNC RATE to ZERO for machine independent speeds (vsync ensures smooth 60-100fps)
Added code to allow Logitech Dual Action Controller to work by specifying XBOX=3 and XBOX=4 (inverted)
Modified the DarkAI player position command to include players Y coordinate (new version of DarkAI)
Added AIACTION=X condition (0 - if idle 1 - if attacking 2 - if in cover 3 - if retreating)
Added AIFOLLOWPLR=X if set to 1 this will allow AI ally entities to follow the player if set to 0 the AI ally will stop following
Added AIMOVERANDOM to allow AI entities to move about randomly (must be looped or entity will stop moving after a while)
Fixed bug causing machine gun's sounds to cut off
Added ETIMERSTART AND ETIMERGREATER=X to allow for personal entity timers
Added AICONDSOUNDFINISHED to allow sequence of WAV sounds to be played inside FPI scripts
Added new TALK FPI command (identical to SOUND command except this one triggers DarkVOICES for compatible characters
Extended ENTITYELEMENT data structure with new 'soundistalking' for DarkVOICES (FPI=TALK) support
Added addition to build game promot text to include (XXX MB) where XXX is memory used
Added new Information Section to Build Game Dialog to inform about memory consumption
Modified Lightmapping code to release DDS textures as they are saved (lower memory hit)
Added new FPI commands to control a new shader FX field called 'ShaderVariables'
Added new FPI condition called PLRFACING which is true when the player is facing the entity scripted
NOTE: Above commands are selectshadervariable,setshadervariable,incshadervariable,decshadervariable
NOTE: Above conditions are shadervariable,shadervariablegreater,shadervariableless
NOTE: Above features are not officially documented or supported and are for experimental use only
Fixed bug preventing serial codes from being confused between X9 and X10 when both installed on system
Fixed bug causing version numbers of format X.XX.XXXX not to correctly determine which value was bigger
Added script called APPEARANTIGRAVITY to allow good control of waypoint based moving platforms
Prevented the entity debug text to show at same time as RAWTEXT as the font size becomes an issue
Added NOTE to FPI Wizards warning that they overwrite any external FPI (and rely on internal templates)
Added LIGHTSOURCE data to scenery shaders to allow segment shaders to pickup local average light position
Added new NEWBLOSSERSHADERS flag to SETUP.INI, when set to one substitutes all D for D2 texture loading
Added for new shaders/textures in the PS2 effectbank folder (huge thanks to Mark Blosser for the hard work here)
Added blinking and pulsating corridor segment pieces to enrich scifi themed game levels
NOTE: New sample level added to mapbank called GS13-PS2ShadedScifi.fpm demonstrating the above improvements
NOTE: Remember to switch FULL SHADER EFFECTS on in order to view the improved scifi segments
Fixed bug causing entities that did not specify a TEXTURED field to wipe out texture when any shading applied
Added new HEADLIMBS field in FPE to control the DarkVOICES feature (specifies which limbs are the head)
Added new 1.6GB MEMORY cap on all build processes, to ensure excessive memory usage does not crash PC
Added new flag 'systemmemorycapoff=0' which controls whether above system mem cap if switched off
Introduced latest ODE Phyics DLL (replacing old ODE module from 2005)
Fixed world step issue created between old 2005 ODE and new 2010 ODE modules (timer based physics)
Fixed character rotation issue caused by old ODE/new ODE, now all characters orient forwards
Added new RAGDOLL FPI action and ragdollcorpse.fpi script, simply select to ragdoll your characters
Added extra support for controller within the title and in-game menus (no need for keyboard now)
NOTE: For the escape key, use the controllers start button (or similarly placed central buttons)
When building final game, all WAV files are assumed to come with a .LIPSYNC (so they get copied over)
Fixed issues relating to rag doll jitters, and limb handling good for non-specific models (legacy)
Now prevents weapons such as shotguns (blast) from knocking over ragdoll based characters until dead
Added new FPE fields and code to support arbitary footfall keyframes;
FOOTFALLMAX = 2 FOOTFALL0 = 30 FOOTFALL1 = 50
Above example triggers a footfall sound effect at frames 30 and 50.
Fixed bug causing entities with low SPEED values to stutter to a halt
Now when characters EXPLODABLE flag set to YES, they do explode (i.e. robots)
Updated DBPCOMPILER associated with executables so they report true linenumbers
Fixed bug causing mapeditor to lose cursor position after a TEST GAME
Finished BLOODONFLOOR feature so blood splats on floor if flagged
Altered player gravity so falling is more realistic (removed Y velocity cap)
Added new FPI commands to add variables as follows:
GLOBALVAR=X - set the current global variable index to write/read from to X LOCALVAR=X - set the current local variable index to wrire/read from to X SETVAR=X - set the value of the current variable to X INCVAR=X - increases the value of the current variable by X DECVAR=X - decreases the value of the current variable by X VAREQUAL=X - returns true if the current variable equals X VARNOTEQUAL=X - returns true if the current variable does not equal X VARGREATER=X - returns true if the current variable is greater than X VARLESS=X - returns true if the current variable is less than X
Added two new FPI scripts DOORLOCKPICK.FPI and PICKUPLOCKPICKS.FPI
Above scripts used to demonstrate variables in script (and add cool feature)
Added readout of first three global and local variables in entity debug view
Added new FPI commands to add changes to defaults:
NEWJUMPHEIGHT=X - change the default jump height of the player to X (default 50) LIGHTINTENSITY=X - change the intensity of a dynamic light to new percentage
New script LIGHTSUPERGRAVITY.FPI demonstrates above FPI actions
When using dynamic lights and DBU skip build, the dynamic lighting corrupt fixed