scripts.dll 3.2 WIP update [message #244623] |
Sat, 10 February 2007 02:21 |
|
This is what is currently in scripts.dll 3.2:
added code to coreshader.cpp to explicitly unset pixel and vertex shaders
replaced code to handle the "current Direct3D textures" array with new code so we can store Direct3D9 textures as well as Direct38 textures
split engine.cpp and shadereng.cpp up into multiple files and did cleanups/fixes on stuff that I cant remember anymore
cleaned up the way initalization of engine stuff and detection of if we are FDS or client is handled
cleanups to the way shaders are defined and such (especially the handling of ID3DXEffect)
shader state manager cleanups
fixed a bug in the code for calculating CRC32
bug fixes to the implementation of DynamicVBAccessClass and friends
working clone of the base code that renders a skin mesh
Improvements to the code for drawing non skin meshes
added code from bhs.dll into relavent places in new engine_* files
added new engine call to send a particular integer to the custom HUD code of a given player from a script
Making all calls to SetRenderState and SetTextureStageState made by renegade or by bhs.dll go through the code in shaders.dll and the new state manager code
cloned ShaderClass::Apply
Cleanups to the definition of TextureMapperClass
added access to the current light direction vector
added code to make the screen fade rendering go through shaders.dll (the intent is that if shaders is off, screen fade works as it does now, if shaders is on, custom screen fade can be provided by post process shaders)
added access to the detection flags for SSE and 3DNow (i.e. code can see if the current machine has a CPU supporting either of those instruction sets)
fixed a bug with Get_Armour_Name
Cleaned up the definitions of myIDirect3D* (as formerly defined in shadereng.h and now defined in engine_d3d.h)
New code so that if your CPU supports SSE instructions, some matrix/vector math operations will be faster
Added various functions to various math classes
Fixed 2 bugs with the defniition of ScriptableGameObj which caused a crash on the RH8 LFDS
Corrected the definition of Get_Vehicle_Seat_Count
Added definitions for reading the current player list
Changed Get_GameObj_By_Player_Name, Send_Custom_All_Players, Steal_Team_Credits and the new Get_Team_Credits engine call to read the player list
added a new engine call float Get_Team_Credits(int team); //Count the total credits for a team
fixed a bug with Get_GameObj
fixed a bug with the definition of PlayerDataClass that broke stuff on the LFDS
new scripts, JFW_Kill_Message and JFW_Kill_Message_Display which handle displaying new kill messages. JFW_Kill_Message goes on all the objects and then sends a message to JFW_Kill_Message_Display to actually display the kill message.
added an improved version of JFW_Resource_Collector known as JFW_Resource_Collector_2, changes also by zunnie
new script JFW_2D_Sound_Death_Team which plays a 2d sound to the team when an object dies (e.g. for "unit lost" sounds)
new script JFW_Vehicle_Full_Sound that, when created, starts a timer. When the timer goes off, it restarts the timer.
Also, when the timer goes off, if the vehicle is full, it plays a 2d sound for the team of the vehicle and displays a message for the team of the vehicle.
The message will be of the form <driver>'s <vehicle> is now full where <driver> is the name of the driver and <vehicle> is the name of the vehicle.
new script, JFW_Vehicle_Effect_Animation. This basicly plays an animation whenever there is at least one person in the vehicle.
For example, a spinning radar dish on top of a radar truck.
Added sound that is played when the radar spy zone triggers and gives the allies radar
Fixed a bug with JFW_Infantry_Force_Composition_Zone and JFW_Vehicle_Force_Composition_Zone
new script, JFW_Cash_Spy_Zone which is used to display the emenies cash reserves when the spy enters a silo or refinery spy zone
new script, JFW_Power_Spy_Zone which brings down the enemy power for a period of time when the spy enters the power plant spy zone
Improvements to scripts by Kamuix
New scripts by Kamuix
added some scripts by zunnie
bumped version number to 3.2 and copyright year to 2007
slight improvements to the win32 build process and compiler options for all projects in the scripts.dll and bhs.dll
Changed the ExpVehFac scripts to call Enable_Engine on flying units that are flying in (should make the rotor blades spin)
small typo fix to Reborn_IsDeployableMech
cleanup to some parts of bhs.dll
Fixed a bug to do with the nickname exploit fixes that caused the LFDS to crash when people joined
Multisample Anti-Alias
Changes so that certain non-shaders code in shaders.dll gets run even with "shaders off" ("shaders off" basicly means no loading databases and no creating shader objects)
Moved large parts of the custom hud code to shaders.dll
new hud.ini keyword to disable kill messages
Crashdumps are now output with sequential filenames much like screenshots
Changed the bhs.dll configuration dialog to be more consistant with the other configuration dialogs
Added new console command to check if a given client has a given file in their data folder (e.g. a map)
bug fixing to the handling of D3DRS_ZBIAS to hopefully fix all the ZBIAS problems (i.e. flickering bullet holes etc)
bug fixing for npatch handling so that npatches will work again
turret lag fix improvements
fixed a bug with the cmsgp and cmsgt console commands
Added a hud.ini keyword so you can have 2 armour types that are unsqiushable
fixed a typo with Set_Obj_Radar_Blip_Shape_Player and Set_Obj_Radar_Blip_Color_Player
fixed a bug causing the LFDS to crash anytime a player disconnected without properly leaving the server
Added debug output to d3d8.dll to print if any functions are being called that dont have implementations.
Still to do:
New scripts to send messages to various players (one example would be a "when a player enters this zone, play an optional sound and send a message similar to what cmsgp does)
A new script which is a clone of JFW_Blow_Up_On_Enter but with a delay
Check that the spy power plant script actually works and if necessary, add any required hacks
Make sure that Set_Obj_Radar_Blip_Color and Set_Obj_Radar_Blip_Shape work correctly
Make sure that Disable_All_Collisions works correctly
Finish the aformentioned kill message scripts
Code to allow buildings to be brought back to life (requires code on the client)
Change the skin rendering code to spit out tangent and binormal data (required for the offset normal map shader)
Patch the bump map texture mapper to go through the new code and not to call SetRenderState or SetTextureStageState in d3d8.dll anymore
Investigate the RA_xxx scripts which need changing for 994 and see if I can make any of those changes (or if I need NeoSaber to do it since they are his scripts)
Find a solution to the problem of multisample anti-alias not working correctly with the shadow render targets
Further improvements to the shader state manager
Add code to disable use of state blocks by ID3DXEffect
Finish the new shader stuff (such as the new EffectClass class)
Redo the shaders to use the new system
Add zbias to whichever texture mappers require it in order to fix the problem jerard was having with his doors
More SSE math code
Fix the normal map shader to use the correct light direction
Some of this stuff such as all the great shaders.dll work is being done by SaberHawk
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 3.2 WIP update [message #244660 is a reply to message #244623] |
Sat, 10 February 2007 07:27 |
|
The problem is that Miles Sound System doesn't support OGG Vorbis (at least the version renegade uses) so we cant do it unless we completely rip Miles out and replace it its not going to happen.
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 3.2 WIP update [message #244670 is a reply to message #244623] |
Sat, 10 February 2007 09:08 |
|
jnz
Messages: 3396 Registered: July 2006 Location: 30th century
Karma: 0
|
General (3 Stars) |
|
|
i gotter ask, how are you going to manage the player info thing?
eg i want an array of all the player in game, can i do something like:
GameObject **pArr = Get_All_Players();
and mabe things like:
GameObject **pArr = Get_All_Team_Players(1);
[Updated on: Sat, 10 February 2007 09:09] Report message to a moderator
|
|
|
Re: scripts.dll 3.2 WIP update [message #244672 is a reply to message #244623] |
Sat, 10 February 2007 09:48 |
|
Jerad2142
Messages: 3809 Registered: July 2006 Location: USA
Karma: 6
|
General (3 Stars) |
|
|
jonwil wrote on Sat, 10 February 2007 02:21 | Add zbias to whichever texture mappers require it in order to fix the problem jerad was having with his doors
|
I am so happy, I am currently working on level 11 and I wasn't going to make anything shiny, but now. Thanks!!!!
tankkiller wrote on Sat, 10 February 2007 07:25 |
On a side note, I wonder how EA is going to feel we are putting so much in a stoneaged enigne.
|
Who cares what EA thinks, they killed Renegade 2.
Visit Jerad's deer sweat shop
[Updated on: Sat, 10 February 2007 09:50] Report message to a moderator
|
|
|
|
|
|
Re: scripts.dll 3.2 WIP update [message #244733 is a reply to message #244623] |
Sat, 10 February 2007 16:43 |
|
If you look in engine.cpp at any of the GameObject lists (i.e. SmartGameObjList, BuildingGameObjList, BaseGameObjList) and see how the code iterates through those, thats how the player list works.
Basicly is declared as SList<cPlayer *> *PlayerList
From there you can iterate through it and look at player names, what team they are on, get their GameObject etc.
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 3.2 WIP update [message #244749 is a reply to message #244623] |
Sat, 10 February 2007 18:27 |
|
Its like that because thats how it is in the game.
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 3.2 WIP update [message #246748 is a reply to message #244623] |
Sat, 24 February 2007 11:50 |
|
rm5248
Messages: 1156 Registered: November 2003 Location: USA
Karma: 0
|
General (1 Star) |
|
|
Okay, two questions and a problem for you jonwil.
I'm just curious if these are possible:
1. 3rd person reload animations
2. showing more than one gun on a person. Like in Counter-Strike source, you can see all the weapons a person has, pistol, rifle, etc. Renegade only shows the next weapon in your inventory.
Also, a slight problem. When playing normal Renegade, I sometimes get weird diagonal lines. I can clear this by Alt-tabbing out of Renegade, and then going back in. I'm pretty sure that this is a scripts problem because when I upgraded to the most recent version for APB, it now happens in APB and the game crashes when I try to alt-tab out of the game. It looks like this:
I have no idea what the problem is. I tried updating my video card drivers, but that didn't fix it.
w00t?
|
|
|
|
Re: scripts.dll 3.2 WIP update [message #246774 is a reply to message #244623] |
Sat, 24 February 2007 15:56 |
|
Cpo64
Messages: 1246 Registered: February 2003 Location: Powell River, B.C. Canada
Karma: 0
|
General (1 Star) |
|
|
It really does. My guess tho was that it is a visual representation of what it looks like, instead of a screenshot.
-->
|
|
|
|