Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Renegade Discussions » Mod Forum » scripts.dll 2.2 progress report
scripts.dll 2.2 progress report [message #174011] Sat, 08 October 2005 09:14 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
Re: scripts.dll 2.2 progress report [message #174058 is a reply to message #174011] Sat, 08 October 2005 14:22 Go to previous messageGo to next message
Dan
Messages: 395
Registered: August 2003
Location: UK
Karma: 0
Commander
Destroyable bridges actually require 0% coding.

I made one once which could be destroyed with appropriate animations, and then repaired (although the animation did play backwards when it was repaired, kinda interesting). You just have to make it as a building, and make it play animations at different health statuses.
Re: scripts.dll 2.2 progress report [message #174072 is a reply to message #174011] Sat, 08 October 2005 15:26 Go to previous messageGo to next message
Aircraftkiller is currently offline  Aircraftkiller
Messages: 8213
Registered: February 2003
Karma: 1
General (5 Stars)
It doesn't have to be a building.
Re: scripts.dll 2.2 progress report [message #174092 is a reply to message #174011] Sat, 08 October 2005 17:09 Go to previous messageGo to next message
xptek is currently offline  xptek
Messages: 1410
Registered: August 2004
Location: USSA
Karma: 0
General (1 Star)
Works fine as a vehicle as well, heh.

cause = time
Re: scripts.dll 2.2 progress report [message #174114 is a reply to message #174011] Sun, 09 October 2005 04:13 Go to previous messageGo to next message
danpaul88 is currently offline  danpaul88
Messages: 5795
Registered: June 2004
Location: England
Karma: 0
General (5 Stars)
What about a script like JFW_Base_Defense_Animated but without the set time for staying popped up, so it pops up when an enemy comes into range, and only reverses the animation when there are no longer any enemies in range?


oh and btw, does anyone know if JFW_Damage_Animation works on buildings (if attached to the building controller?)


http://steamsignature.com/card/1/76561197975867233.png
Re: scripts.dll 2.2 progress report [message #174174 is a reply to message #174072] Sun, 09 October 2005 14:43 Go to previous messageGo to next message
Dan
Messages: 395
Registered: August 2003
Location: UK
Karma: 0
Commander
Aircraftkiller wrote on Sat, 08 October 2005 18:26

It doesn't have to be a building.


I know, but if its a building, you can have an MCT in the hut!
Re: scripts.dll 2.2 progress report [message #174183 is a reply to message #174011] Sun, 09 October 2005 15:48 Go to previous messageGo to next message
Renardin6 is currently offline  Renardin6
Messages: 1570
Registered: December 2003
Location: Belgium
Karma: 0
General (1 Star)

sounds very good!

(Dan, Barney looks stupid than ever on that pic. It's a nice one! Very Happy)

[Updated on: Sun, 09 October 2005 18:35]

Report message to a moderator

Re: scripts.dll 2.2 progress report [message #174209 is a reply to message #174011] Mon, 10 October 2005 00:46 Go to previous messageGo to next message
Spice
Messages: 1448
Registered: November 2003
Location: Ohio
Karma: 0
General (1 Star)
On JFW_Vehicle_Zone_Animation do you have a option to set the animation to loop or un-loop? I would like it to not loop. Just simply play to the last frame, then when the vehicle exits it plays backswards to frame 0.



http://img46.imageshack.us/img46/8027/userbar358428pu3.gif
Re: scripts.dll 2.2 progress report [message #174254 is a reply to message #174011] Mon, 10 October 2005 17:52 Go to previous messageGo to next message
jonwil is currently offline  jonwil
Messages: 3557
Registered: February 2003
Karma: 0
General (3 Stars)

It should be possible to do that by just setting FirstFrame and LastFrame to the same thing, then it will play the one frame over and over.


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
Re: scripts.dll 2.2 progress report [message #175351 is a reply to message #174011] Wed, 19 October 2005 04:25 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
Re: scripts.dll 2.2 progress report [message #175352 is a reply to message #174011] Wed, 19 October 2005 04:41 Go to previous message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
Nice. The added JFW_ scripts have came at an oppurtune time for me. Thankyou Smile


Previous Topic: SWMOD in PC Gamer!!
Next Topic: map help,,,
Goto Forum:
  


Current Time: Fri Jan 10 03:46:16 MST 2025

Total time taken to generate the page: 0.00820 seconds