Mod-related changes in scripts 4.1 [message #484631] |
Wed, 27 November 2013 22:18 |
|
Here is a list of changes in scripts 4.1 (which has just entered private beta testing) that modders and scripters might care about: (note that some of these new changes will require 4.1 on the client, I dont have time to analyze each change and figure out if it does or doesn't need 4.1)
We are now using Visual C++ 2012 to compile scripts.dll. Anyone who wants to be able to continue to do scripts.dll coding once the next build comes out (whenever that is) should obtain Visual Studio 2012 and install the updates for it (yes the Express Edition of Visual Studio 2012 will work for compiling scripts 4.1)
Support for a new file called e.g. C&C_City_surface.ini (or whatever for each map). This is read per-map and if it exists should be a full copy of surfaceeffects.ini with any desired per-map changes. This file IS cheat checked just like surfaceeffects.ini.
Changes to make Commands->Set_Obj_Radar_Blip_Color and Commands->Set_Obj_Radar_Blip_Shape work over the network (the old obsolete broken code for doing this is gone and as such Set_Obj_Radar_Blip_Shape_Player/Set_Obj_Radar_Blip_Color_Player are also gone)
Support for a new file called e.g. C&C_City_tt.ini (or whatever for each map). This is read per-map and allows you to use the sidebar, Air Factory objects, Naval Factory objects and a few other things on a per-map basis. Yes this means you can have a separate helipad which controls whether you can build helicopters (i.e. if its dead, you cant build helicopters anymore, if its alive and the war factory is dead, you can still build helicopters even though you cant build ground vehicles)
The following keywords are valid in the per-map ini file:
AirFactoryVehicleLimit
NavalFactoryVehicleLimit
VehicleFactoryVehicleLimit
BuildingRefillDisable
NodBuildingRefillDisable
GDIBuildingRefillDisable
NewTechLevel
GDIUpArrowTexture
GDIDownArrowTexture
GDIBackgroundTexture1
GDIBackgroundTexture2
NODUpArrowTexture
NODDownArrowTexture
NODBackgroundTexture1
NODBackgroundTexture2
AlternateSelectEnabled
GDIAlternateSelectTexture1
GDIAlternateSelectTexture2
GDIAlternateSelectTexture3
GDIAlternateSelectTexture4
NODAlternateSelectTexture1
NODAlternateSelectTexture2
NODAlternateSelectTexture3
NODAlternateSelectTexture4
Sidebar
SidebarSoundsEnabled
SidebarRefillSound
SidebarInfantrySound
SidebarVehicleSound
This per-map tt.ini file IS cheat checked (just like the global tt.ini file)
A new engine call (Set_Stealth_Active) on SmartGameObj objects that allows you to basically "deactivate" stealth (i.e. you set this flag and it turns on/off the stealth without affecting its enable/disable state etc)
A special Custom you can listen for called CUSTOM_EVENT_REFILL to detect when someone refills so you can do things if you want. No you dont get to block the refill, just detect that its happened.
A new hud.ini keyword CenterMainMenu. Setting this will cause the main menu options to be centered instead of left-justified.
Some logic for Underground units (as seen in C&C: Reborn).
A new Force_Vehicle_Entry engine call that will force a player into a vehicle (you pass in the soldier and the vehicle). For vehicle exit, keep using the Soldier_Transition_Vehicle engine call as normal.
New flag in LE for per-team visibility. Set the "Team Visibility Mode" to "Default" and everyone can see it. Set it to "Visible Only To Friendlies" and only units on the same team as the object can see it. Set it to "Visible Only To Enemies" and only units not on the same team can see it.
New engine call (Set_Can_Drive) for VehicleGameObj objects. Set this to false and this will cause the vehicle to ignore any movement commands.
New engine call Create_Lightning which is used to create a lightning bolt through code (similar to the lightning bolt effect used by e.g. the Volt Auto Rifle)
New value in LE CollisionDamageMultiplier on explosions. This lets you change the collision damage multiplier that gets used for certain things in the explosion logic (i.e. when an explosion goes through walls and does less damage to stuff on the other side than would have happened had the wall not been there)
New engine call (Get_Bounds) for BuildingGameObj objects. This returns an AABox representing the bounding box of the building.
Smooth skinning support (I dont know the exact details other than that its something Saberhawk wrote and that it relies on certain features in the W3D export plugin for 3DS MAX)
Add support for some new radar blip shape types (these only work if you are using the hud.ini custom HUD to override the stock radar)
New flag in LE RequiresSilo on beacons. If this is set, the beacon wont be able to be deployed unless the team has a building of type "Shrine" and that building is still alive.
New engine call Set_Global_Stealth_Disable which will disable/enable stealth on a global basis.
New building type "Superweapon". This is mostly intended to allow you to have an animated missile silo door, ion canon satellite dish or other animated bit that animates when the superweapon is fired but which is still part of the building and will do damage to the building when you shoot it.
New command line options for level edit to allow it to be used in a "batch" mode. Pass -mod <name> to load a specific mod automatically. Pass -map <name> to load a specific map automatically. Pass -save to force an auto-save. Pass -light to force it to do "compute vertex solve" before saving.
This (combined with makemix.exe) is intended so you can build a map automatically (or even an entire mod/TC)
New tt.ini keyword NoPowerCostMultiplier which lets you set the cost multiplier that gets applied when the power plant is dead.
Rewrite/improve makemix
Improvements to the way LE handles temp presets. temps20.ddb is now gone and each map in a mod package has its own set of temp presets (the intent is to make things less likely to screw up or go wrong)
Support for giving projectiles a width/height/depth
Support for vehicles to use the same hitbox/bones.ini logic as infantry (so you can have some parts of a vehicle being weaker than others)
New tool called w3dviewer that basically exists as a way to display a w3d file outside of the engine but using all the rewritten rendering engine code we have.
Add a "cost" field to Team Purchase Settings (the infantry that are normally free)
New tool called lsdview that basically exists as a way to display an lsd file outside of the engine but using all the rewritten rendering engine code we have. (the lsd file contains all the terrain and tiles and static data)
New value in LE on vehicles, FactoryRideHeight. Use this to set the right height used when the vehicle is first spawned. Mostly this exists to avoid some issues with certain vehicles in C&C: Reborn.
Add tt.ini keyword DisableSP to disable the single player button (for stand-alone mods that have no single player)
Increase the number of engine/rotor bones for VTOL vehicles from 4 to 6.
New values in LE on powerups, GrantShieldStrengthMaxIsScaled and GrantHealthMaxIsScaled. When turned off, it makes the max health/max shield strength granted by powerups linear instead of scaled.
New values in LE on "General" settings, "GDI Spawn Character" and "Nod Spawn Character". Use these to override the default multiplayer spawn characters for each team.
Add new engine call Wake_Up_Objects_In_Box (this is used for destroyable bridge logic in various mods so that the objects that are on the bridge when its destroyed will properly run their physics logic and will fall through the bridge if necessary)
Made Commands->Set_Is_Visible support vehicles and removed Set_Vehicle_Is_Visible.
Anyone with any questions about these features feel free to ask in here and I will do my best to answer them as time permits.
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: Mod-related changes in scripts 4.1 [message #484681 is a reply to message #484631] |
Sat, 30 November 2013 00:59 |
|
What used to happen is that temp presets were stored in temps20.ddb which was then copied when you saved the level (i.e. temps20.ddb got copied to e.g. C&C_City.ddb by leveledit).
What the code does now is to write the temps straight to the map ddb file.
The game never read temps20.ddb, it only read the map ddb file.
So yes all maps (old and new) will be compatible with all versions of the game. Loading a pre-4.1 mod folder will work just fine in 4.1 leveledit. Only thing that wont work is loading a 4.1 mod folder/map in a pre-4.1 leveledit if that mod folder/map has temp presets.
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: Mod-related changes in scripts 4.1 [message #484745 is a reply to message #484631] |
Sun, 01 December 2013 07:53 |
|
It wont load any temp presets until you load a .lvl file.
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: Mod-related changes in scripts 4.1 [message #484830 is a reply to message #484631] |
Sun, 08 December 2013 16:23 |
|
The Reborn EMP effect uses Set_Freeze on infantry units which causes the infantry unit to not be able to use any of its controls.
Although that may not work for what you want.
Will have to see about something similar for just blocking movement.
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: Mod-related changes in scripts 4.1 [message #484835 is a reply to message #484631] |
Mon, 09 December 2013 06:03 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
Commands->Control_Enable(GameObject * obj, bool enable)
Does what you need it to do. Works fine in multiplayer. Altough I'm not sure if it works properly after creation of an object. I only used it at that point.
|
|
|
|
|
Re: Mod-related changes in scripts 4.1 [message #484841 is a reply to message #484631] |
Mon, 09 December 2013 19:37 |
|
Not sure whats up with that. There IS code (in the latest scripts at least) that sends Control_Enable over the network. (so if its not working I have no clue why)
I have thought of a way to do it better (that would work 100% if all players have 4.1) but A.I dont have the time to implement it and B.I dont know how risky the change would be at this late stage in the development of 4.1 (its a netcode change and netcode changes are always somewhat risky)
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, 09 December 2013 19:37] Report message to a moderator
|
|
|
Re: Mod-related changes in scripts 4.1 [message #484971 is a reply to message #484812] |
Mon, 23 December 2013 14:36 |
|
Jerad2142
Messages: 3812 Registered: July 2006 Location: USA
Karma: 6
|
General (3 Stars) |
|
|
I'll try flipping control_enable off client side via shaders for now, and if it works in 4.1 it'll be easy to rip out, if not it'll be a place holder.
Didn't you guys also make it so projectiles can now be fired at rates faster than 400m/s?
Jerad Gray wrote on Fri, 06 December 2013 16:25 | Is smooth skinning like what modern games are able to use where one bone can apply different "weights" to a mesh point, like so you could have a bicep that is affected by the rotation of the lower arm and shoulder? Or is this something to do with texturing?
|
Anyone know anything about this, or do we have to wait for Saberhawk to respond?
Visit Jerad's deer sweat shop
[Updated on: Mon, 23 December 2013 14:55] Report message to a moderator
|
|
|
|
Re: Mod-related changes in scripts 4.1 [message #485142 is a reply to message #484631] |
Mon, 06 January 2014 08:21 |
|
danpaul88
Messages: 5795 Registered: June 2004 Location: England
Karma: 0
|
General (5 Stars) |
|
|
MIX files have no concept of a folder hierarchy... hence why all file names must be unique within a map, because once the folder structure is stripped away they suddenly become "the same file" as far as the MIX archive is concerned.
From the screenshot you've shown it looks like whatever tool you're using to generate that directory structure is malfunctioning. The engine strips folder paths off the paths you provide in LE before searching for files so it'd probably never be able to find those anyway...
[Updated on: Mon, 06 January 2014 08:23] Report message to a moderator
|
|
|
Re: Mod-related changes in scripts 4.1 [message #485147 is a reply to message #485142] |
Mon, 06 January 2014 14:00 |
|
Gen_Blacky
Messages: 3250 Registered: September 2006
Karma: 1
|
General (3 Stars) |
|
|
danpaul88 wrote on Mon, 06 January 2014 08:21 |
From the screenshot you've shown it looks like whatever tool you're using to generate that directory structure is malfunctioning. The engine strips folder paths off the paths you provide in LE before searching for files so it'd probably never be able to find those anyway...
|
That's how renegade loads the lightmaps for the map terrain model.
Look at the stock renegade maps.
Mauler wrote on Mon, 06 January 2014 02:37 | I was wondering if the makemix can package an entire directory of my map.. including folders located inside that directory.. to out put something like this...
last time i tried to do this if failed to work properly..
|
add them manually and use RenegadeEx
[Updated on: Mon, 06 January 2014 14:02] Report message to a moderator
|
|
|
|
Re: Mod-related changes in scripts 4.1 [message #485155 is a reply to message #485149] |
Mon, 06 January 2014 18:31 |
|
Gen_Blacky
Messages: 3250 Registered: September 2006
Karma: 1
|
General (3 Stars) |
|
|
Mauler wrote on Mon, 06 January 2014 15:01 | I did use RenegadeEX.. It worked on getting the filename just like the the image i posted but failed to load textures ingame since i work with lightmap textures it would be an asset to use the same method westwood used..
|
I know you can because I have done it before several times just cant remember how from the top of my head.
Play around with RenegadEx and XCC mixer or its with the leveledit editor cache.
[Updated on: Mon, 06 January 2014 18:32] Report message to a moderator
|
|
|
|
|
|
|
Re: Mod-related changes in scripts 4.1 [message #485833 is a reply to message #484631] |
Sat, 08 February 2014 18:37 |
Stallion
Messages: 222 Registered: April 2006
Karma: 0
|
Recruit |
|
|
I get a "failed to connect to the update server. Please check your internet connection and firewall." as well as level editor having no presets and crashes when I try to load a project.
Could this be related or just really bad coincidence?
(I've already uninstalled ren, reinstalled, updated with a fresh scripts and level editor download, and corrected my ren path in regedit.)
Any ideas on how to fix it?
Level edit is my play ground
|
|
|