scripts.dll 2.2 progress report [message #174010] |
Sat, 08 October 2005 09:11 |
|
Here is a list of what is in 2.2 so far: (not all of these changes are necessarily mine
1.Changed all remaining uses of malloc() and free() in the scripts.dll and bhs.dll to use new and delete instead
2.Added code to redirect all memory allocations (via new and delete) through the renegade memory manager which should put an end to any issues to do with allocating memory and freeing it with different memory managers
3.Changed the chat hook so that chat messages are passed in as wide character strings (this will preserve chat messages with those "foriegn" characters)
4.Fixed the nickname display in the Linux FDS "client has lost connection" message (if anyone knows of any other such issues in the Linux FDS, please let me know of them & I will fix them)
5.Fixed the logging of messages (in bhs_renlog etc) to log unicode strings correctly
6.Added new hook to let you hook into the MESSAGE/MSG, PPAGE and TPAGE console commands (i.e. the commands that send messages from the host to the clients)
7.Some general code cleanups (should make the code better & maybe a little more readable)
8.Made sure that any function that takes a GameObject checks that its not NULL first before using it.
9.Increased the version to 2.2
10.Wrote the script JFW_Spawn_Object_Death_Weapon (This script will create an object upon death of a unit if the killer used a particular weapon, does not work on player spawners)
11.Wrote the script JFW_Send_Message_Preset (This script will send a message to all instances of a preset on creation then another one on destruction)
12.Wrote the script JFW_Object_Counter (when sent one message, increments a count, when sent another, decrements a count. If the new count is higher than <number>, the object that sent the message is destroyed)
13.Wrote the script JFW_Vehicle_Zone_Animation (plays an animation on zone entry then one on repeat then one on zone exit, only triggers for vehicles)
14.Wrote the script JFW_Zone_Money_Preset (when an object of a given preset/team enters the zone, an amount of money is given to the team of the object represented by ID)
15.Wrote the script JFW_Follow_Waypath_Loop (when created, follows a waypath, when that finishes, starts a timer, when the timer expires, starts the waypath again)
16.Wrote the script JFW_Spawn_Object_Death_Team (This script will create an object upon death of a unit, does not work on player spawners. The object created depends on the team of the object that did the killing)
17.Wrote the engine call Get_Mine_Limit //gets the current mine limit (use the MLIMIT console command to set it)
18.Wrote the engine call Is_Gameplay_Permitted //is gameplay permitted
19.Wrote the engine call Get_Ping //get ping for a player
20.Wrote the engine call Get_Kbits //get Kbits/s for a player
21.Wrote the engine call Remove_Duplicate_Script //remove duplicate scripts from a player
22.Wrote the engine call Send_Custom_Event_To_Object //this is like Send_Custom_Event except it sends to all objects of the passed in preset
23.Added the script Reborn_IsDeployableMech written by E! for Reborn
24.Added the script Reborn_IsDeployableTank written by E! for Reborn
I currently have the following on various to-do lists: (not all of it will be in 2.2 of course)
Stuff that is a must have for 2.2:
1.Find out if calling Set_Model on a powerup with my fixes in place is in fact broken and if so, fix it.
2.Find out if Damage_All_Objects_Area is in fact broken and if so, fix it (and any other engine calls affected by the same issue)
3.Find out if the ICON console command is in fact broken and if so, fix it.
4.Look for (and fix) as many crash bugs as possible
5.Fix the Set_Model and Set_Animation client-side fixes so they are better (and so they dont crash anymore)
7.Find a way to send the BHS.DLL version when a player connects to the FDS so that the FDS can print it out (basicly, it will be like the VERSION console command only automatic)
and 8.Identify if and when the Clear_Weapons console command needs to be sent over the network and/or fixed to work properly in multiplayer.
Stuff that should be in 2.2 but can be left to a later version:
1.Fix as many memory leaks as possible (both in scripts.dll and in renegade if I can)
2.Try to fix the problem where changing the max health or shield strength of an object in multiplyer can screw the health bar
3.Find any remaining text messages or sounds that dont go over the network in multiplayer (i.e. they show up/play if you play as the host in LAN mode but not if you arent the host) and fix it so they do get displayed/play
4.Try to fix the bug where you start out with 5 proximity C4 but when you reload, you get 6
5.Try to fix the bug where weapons with infinate ammo dont start out loaded
6.Add an engien call to get the seat count of a vehicle
7.Try to fix the bugs with the repair bay (e.g. as seen on Glacier Flying)
8.Try and find a way to identify who planted a C4 object
9.Try and find a way to identify who planted a beacon object
10.Try and find a way to get the owner of a vehicle (like when you first buy it and only you can get in)
11.Try and find a way to set the owner of a vehicle
12.Try and find a way to get the mode of a C4 object (i.e. timed, remote, proximity)
13.Add an engine call to get the current game mode (e.g. WOL, GSA, LAN etc)
14.Try and add a hook that is executed when the level first loads
15.Try and add a hook that is executed when the game ends (which would be passed details of the results of the game)
16.Try and add a hook for when a player first joins the game
17.Try and add a hook for when a player leaves the game (or is disconnected etc)
18.Add an engine call to get the time for a player (same as the Player_Info console command)
Stuff that would be nice to have in scripts.dll at some point but will probobly not make 2.2:
1.Try to add support for the side buttons on my USB Microsoft Optical Intellimouse
2.Try to add a console command to change the player limit at runtime
3.Try to add an engine call and console command to get the current player limit
4.Try to add a console command to change the time limit/time remaining
5.Try to add an engine call and console command to get the time limit/time remaining
6.Try to make better vehicle firing animation work (mabie via the Fire0Anim and Fire1Anim fields in leveledit)
7.Try to add an engine call and console command to end the game by timing out
8.Try and find a way to get the object a C4 object is stuck to
9.Try and find a way to get the object an object is currently targeting (i.e. what a player is aiming at)
10.Add an engine call to get the damage points for an object
11.Add an engien call to get the death points for an object
12.Try and find a way to get the current ammo for a given player and a given gun
13.Try and find a way to set the current ammo for a given player and a given gun
14.Try and find a way to add to the current ammo for a given player and a given gun
15.Try and find a way to remove a specific gun from a given player
I also have a few things for reborn on the list:
1.
2.scripts for the Amphibious APC and Hover MRLS (If anyone out there has any clue how to write these in a non-hacky way, I would love to hear from you)
3.Code for the custom HUD (which should be generic enough to use for any mod)
4.Logic for destroyable bridges (I have some ideas of how to make this happen, including bridge huts)
5.The custom base defence repurchase dialog we are working on (dont want to say too much but I will say that this logic, if I can pull it off, should be generic enough for just about anything where you want a dialog box with a texture as background and then some conbimation of images, labels and buttons that you can press as foreground
6.Logic for metior storms and ion storms (if we decide we want them in reborn and if I can find a way to do them)
Jonathan Wilson aka Jonwil
Creator and Lead Coder of the Custom scripts.dll
Renegade Engine Guru
Creator and Lead Coder of TT.DLL
Official member of Tiberian Technologies
[Updated on: Mon, 21 November 2005 14:32] by Moderator Report message to a moderator
|
|
|