Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Tiberian Technologies / Blackhand Studios » Other Products » scripts.dll 2.2 progress report
scripts.dll 2.2 progress report [message #174010] Sat, 08 October 2005 09:11 Go to next message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

Here is a list of what is in 2.2 so far: (not all of these changes are necessarily mine Smile
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 Smile
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

Re: scripts.dll 2.2 progress report [message #175350 is a reply to message #174010] Wed, 19 October 2005 04:23 Go to previous messageGo to next message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

Here is the changes beoynd the list above:
1.Removed the script JFW_Follow_Waypath_Loop since it doesnt work
2.Beginnings of new HUD code
3.A couple of cleanups that might help with the ICON console command
4.Code in the keyhooks so that if a key with the same logical key name and player ID as an already installed key gets installed, the old key is removed.
5.Added code so that any client using 2.2+ will send the bhs.dll version when they join (which will cause the same output as the VERSION command does)
6.Changed the Clear_Weapons hook so its only activated for vehicles (acording to WD, activating it for soldiers breaks stuff and is not required)
7.Added a new command TMSG that sends a team message as though it came from a particular player.
8.Added a new script JFW_Attach_Script_Collector (attach a script to the collector of the powerup with this on it when its collected)
9.Added a new script JFW_Attach_Script_Sender (attach a script to the sender of the custom on custom)
10.Changed several scripts (including JFW_Repair_Zone and JFW_Vechicle_Damage_Zone) to use a better "is vehicle" vs "is not vehicle" test)
11.Documented how to detect private messages in chat hooks
12.Documentation cleanups (currently WIP, someone is looking over the documentation for me)
13.Fixed a crash bug to do with accidently deleting something that has already been deleted (this would probobly affect quite a few people)
14.Cleanups to SimpleVecClass and SimpleDynVecClass (including the fix for 13 above)
15.Wrote the engine call Get_Vehicle_Seat_Count which gets the count of seats in a vehicle
16.Fixed a crash bug in keycfg.exe so that it wont crash anymore, it will print a meaningfull error message.
17.Renamed a couple fields in the ActionParamsStruct structure based on a couple discoveries I made whilst looking at all the stuff connected to Actions. Lots still unknown though Smile


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
scripts.dll 2.2 progress report [message #179353 is a reply to message #174010] Wed, 16 November 2005 05:50 Go to previous message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

I am working hard to get scripts.dll 2.2 out the door, here is my current to-do list:
1.Fix any of the crash-on-exit bugs that I can (I have a couple I can reproduce that are probobly different ways to trigger the same bug and there is at least one that someone else can reproduce but hasnt given me that much info on)
2.Check/Debug/Fix my Set_Model fixes to identify what is broken (specifically the crash when you go straight from a PT into a vehicle that some people have reported)
3.New code to dump exception dumps (basicly, it replaces the old _except.txt stuff (in most cases) with something better)
4.Make sure that the changes being made to 2.2 and to SSAOW are correct and matched up
5.Finish getting the documentation proof-read and cleaned up (someone is doing that for me)
6.Possibly replace the renegade_binary_scripts_patch.exe program with a nice open-source linux native program
and 7.Make sure all the changes for 2.2 (including all the code cleanups I have made recently) end up in the new version of SSAOW.



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
Previous Topic: request for the next brenbot release
Next Topic: Rengaurd Not Recognized
Goto Forum:
  


Current Time: Tue Nov 19 02:49:35 MST 2024

Total time taken to generate the page: 0.00634 seconds