Re: Singleplayer scripts [message #492539 is a reply to message #492538] |
Mon, 18 September 2017 14:13 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
dblaney1 wrote on Mon, 18 September 2017 13:42 | Open the model that gets animated and then click and drag the animation w3d into the w3dviewer window.
The easiest way to find out if a script is on a preset is to open the objects.ddb in a hexeditor and search for the script name.
|
Ok, I'll try that. On a side note, I'm getting an error: mss32.dll was not found when trying to start W3dview.exe. Yeah I know how to check if its already on the preset, but I mean if its attached in the level. You know, you can add more scripts to a preset in a level when its that preset is created.
|
|
|
Re: Singleplayer scripts [message #492540 is a reply to message #492539] |
Mon, 18 September 2017 14:44 |
dblaney1
Messages: 358 Registered: March 2014 Location: United States
Karma: 0
|
Commander |
|
|
Neijwiert wrote on Mon, 18 September 2017 14:13 |
dblaney1 wrote on Mon, 18 September 2017 13:42 | Open the model that gets animated and then click and drag the animation w3d into the w3dviewer window.
The easiest way to find out if a script is on a preset is to open the objects.ddb in a hexeditor and search for the script name.
|
Ok, I'll try that. On a side note, I'm getting an error: mss32.dll was not found when trying to start W3dview.exe. Yeah I know how to check if its already on the preset, but I mean if its attached in the level. You know, you can add more scripts to a preset in a level when its that preset is created.
|
Do the same hexedit trick but on the .ldd file for that level.
[Updated on: Mon, 18 September 2017 14:44] Report message to a moderator
|
|
|
Re: Singleplayer scripts [message #492541 is a reply to message #492512] |
Tue, 19 September 2017 07:14 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
I have completed all scripts of M02, including the full code flow analysis.
dblaney1 wrote on Mon, 18 September 2017 14:44 |
Neijwiert wrote on Mon, 18 September 2017 14:13 |
dblaney1 wrote on Mon, 18 September 2017 13:42 | Open the model that gets animated and then click and drag the animation w3d into the w3dviewer window.
The easiest way to find out if a script is on a preset is to open the objects.ddb in a hexeditor and search for the script name.
|
Ok, I'll try that. On a side note, I'm getting an error: mss32.dll was not found when trying to start W3dview.exe. Yeah I know how to check if its already on the preset, but I mean if its attached in the level. You know, you can add more scripts to a preset in a level when its that preset is created.
|
Do the same hexedit trick but on the .ldd file for that level.
|
Okay, that works nicely. But I don't really know the layout of an LDD file. I have been able to find preset Ids and object Ids. And also the scripts with their params, but I don't know how I can associate an object id with a script. Object ids are declared in the beginning of the file and scripts etc at the end. Would you happen to know what field or how many bytes offset of something where the relation is at?
|
|
|
Re: Singleplayer scripts [message #492542 is a reply to message #492512] |
Tue, 19 September 2017 07:41 |
|
Unless you understand the inner workings of the Renegade data files and classes (and I suspect you dont) then you will not be able to match scripts to objects.
If you explain what you are trying to identify or figure out, I might be able to help.
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: Singleplayer scripts [message #492543 is a reply to message #492542] |
Tue, 19 September 2017 08:18 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
jonwil wrote on Tue, 19 September 2017 07:41 | Unless you understand the inner workings of the Renegade data files and classes (and I suspect you dont) then you will not be able to match scripts to objects.
If you explain what you are trying to identify or figure out, I might be able to help.
|
I'm trying to find if I missed any scripts that are present in the LE on the presets that are created. And if I can match an object id to that script then I can put proper comments in said script when/where it is used
|
|
|
Re: Singleplayer scripts [message #492544 is a reply to message #492543] |
Tue, 19 September 2017 10:01 |
dblaney1
Messages: 358 Registered: March 2014 Location: United States
Karma: 0
|
Commander |
|
|
Neijwiert wrote on Tue, 19 September 2017 08:18 |
jonwil wrote on Tue, 19 September 2017 07:41 | Unless you understand the inner workings of the Renegade data files and classes (and I suspect you dont) then you will not be able to match scripts to objects.
If you explain what you are trying to identify or figure out, I might be able to help.
|
I'm trying to find if I missed any scripts that are present in the LE on the presets that are created. And if I can match an object id to that script then I can put proper comments in said script when/where it is used
|
Anything created by scripts during a game only will spawn with scripts on the object in the ddb file where the preset exists and by the scripts themselves. What was attached to the presets in leveledit only applies to objects placed on the map during export. Those scripts will be shown in the ldd file.
[Updated on: Tue, 19 September 2017 10:01] Report message to a moderator
|
|
|
Re: Singleplayer scripts [message #492545 is a reply to message #492512] |
Tue, 19 September 2017 22:57 |
|
Which levels in particular are you trying to do it for? All the single player levels? All the maps that come with Renegade? Other maps beyond that?
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: Singleplayer scripts [message #492546 is a reply to message #492545] |
Wed, 20 September 2017 02:09 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
jonwil wrote on Tue, 19 September 2017 22:57 | Which levels in particular are you trying to do it for? All the single player levels? All the maps that come with Renegade? Other maps beyond that?
|
All the singleplayer mapa (mission maps) and I guess the skirmish map and tutorial map too.
|
|
|
|
Re: Singleplayer scripts [message #492548 is a reply to message #492547] |
Wed, 20 September 2017 05:21 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
jonwil wrote on Wed, 20 September 2017 05:15 | I cant help you with the skirmish level since Westwood never released a .lvl file for that but here are some dumps for all the levels they did release as part of the SinglePlayerLVLs.zip as well as the stock objects.ddb.
The dumps were taken via a specially hacked up (and not shippable) 4.x ttle.dll file and then loading each .lvl file into LE to produce the dump output.
The level dumps contain an entry for each object that exists in the scene followed by entries for every script that has been placed on that object in LE (as opposed to being there because its on the preset in objects.ddb)
The objects.ddb dump contains an entry for each preset followed by entries for every script that has been placed on that preset.
Hopefully this helps you out in figuring out all the scripts the stock single player missions actually use.
|
YES! Thank you that helps alot!. It is essential that I put comments on created events so that the code flow is clear to people. But I'm only human and it's easy to miss objects when going through the level. For example, on M02 I missed all the data disks and thought the script M02_Data_Disk wasn't used at first. I will verify all existing scripts to make sure all comments are correct. Will probably make a small program that checks the txt files for me.
[Updated on: Wed, 20 September 2017 15:32] Report message to a moderator
|
|
|
Re: Singleplayer scripts [message #492549 is a reply to message #492512] |
Wed, 20 September 2017 14:32 |
dblaney1
Messages: 358 Registered: March 2014 Location: United States
Karma: 0
|
Commander |
|
|
Keep in mind that this won't give you stuff that gets spawned by spawners once the map actually starts. You will still need to check all the objects that get spawned by spawners etc preset scripts.
|
|
|
Re: Singleplayer scripts [message #492570 is a reply to message #492512] |
Thu, 05 October 2017 14:45 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
M01 Has been completely reversed engineered with code flow.
The release contains the following scripts (May contain scripts that were missed in previous releases):
Toggle Spoiler
Uncompleted
M00_Nod_Obelisk
Completed
M01_First_AutoRifle_JDG
M01_Flyover_Generic_Script_JDG
M01_FP_BaseToBase_NorthSouth_Contoller_JDG
M01_FP_BaseToBase_SouthNorth_Contoller_JDG
M01_FP_GDIOcean_NorthSouth_Contoller_JDG
M01_FP_GDIOcean_SouthNorth_Contoller_JDG
M01_FP_NodBase_NorthSouth_Contoller_JDG
M01_FP_NodBase_SouthNorth_Contoller_JDG
M01_FP_NodBase_EastWest_Contoller_JDG
M01_FP_NodBase_WestEast_Contoller_JDG
M01_FP_NodBase_Dogfight_Contoller_JDG
M01_Announce_First_ObjectiveZone_JDG
M01_GDI_BeachGuy01_JDG
M01_Beach_Datadisc_JDG
M01_ConDropZone_JDG
M01_Use_Ladder_Zone_JDG
M01_Base_StartZone_JDG
M01_Base_GDI_Fodder_JDG
M01_AccessDenied_Zone_JDG
M00_No_Falling_Damage_DME
M00_HealthMedal_TextMessage
M00_C130_Explosion
M00_BUILDING_EXPLODE_NO_DAMAGE_DAK
M00_ArmorMedal_TextMessage_JDG
M00_Obelisk_Weapon
M01_C130_Dropoff_Dude_JDG
M01_SniperRifle_02_JDG
M01_SniperRifle_02_AirdropZone_JDG
M01_GDIBase_FirstChinookMinigunnerGuy_JDG
M01_Nod_Truck_JDG
M01_Base_Nod_Minigunner_JDG
M01_C4_TutorialScript_JDG
M01_SniperRifle_01_JDG
M01_SniperRifle_01_Target_JDG
M01_HON_FrontDoor_Evacuator_JDG
M01_CommCenter_Evacuator_JDG
M01_HarvesterScript_New_JDG
M01_KeyCard01_Script_JDG
M01_Tiberium_Cave_Helicopter_JDG
M01_Nod_Chinook_Reinforcement_Guy_JDG
M01_Hunt_The_Player_JDG
M01_Evac_TroopBone_JDG
M01_POW_Nod_Minigunner01_JDG
M01_BackPath_EntranceZone_JDG
M01_BasalBuilding_Population_JDG
M01_QuickSave_Zone_JDG
M01_TriggerZone_GDIBase_BaseCommander_JDG
M01_Duncan_Assailer_JDG
M01_MiniGunner_Point_Guard_JDG
M01_BackPath_NodGuy_JDG
M01_TibCave01_Datadisc_JDG
M01_BarnArea_NOD_Commander_Trigger_Zone02_JDG
M01_RealLightTank_TriggerZone_JDG
M01_Announce_TankAirstrikeZone_JDG
M01_GuardTower02_NewSniperTarget_JDG
M01_GDI_GuardTower02_SniperRifle_JDG
M01_GDIBase_AI_ExitZone_JDG
M01_Player_is_Entering_GDI_Base_Zone
M01_PlayerLeaving_BarnArea_Zone_JDG
M01_Player_is_Leaving_GDI_Base_Zone
M01_PlayerEntering_BarnArea_Zone_JDG
M01_Barn_Point_Guard_01_JDG
M01_C4_Tutorial_Zone_JDG
M01_FodderHovercraft_Script_JDG
M01_Medium_Tank01_JDG
M01_Medium_Tank_JDG
M01_Sinking_Gunboat_JDG
M01_Gunboat_Spawn_Hovercraft_Zone_JDG
M01_Barn_EntryZone_JDG
M01_Barn_Door_Guard_JDG
M01_Barn_Talk_Guard_01_JDG
M01_Shed_Datadisc_JDG
M01_Player_Is_Entering_Tailgun_Alley_Backway_JDG
M01_Tunnel_Exterior_Zone
M01_Tunnel_Interior_Zone
M01_Player_Is_Entering_Tailgun_Alley_JDG
M01_TurnOff_TankReminder_Zone_JDG
M01_HON_Commander_Guy
M01_Lose_Any_Church_Escorts_Zone_02
M01_Player_Is_Crossing_Bridge_Zone
M01_Waterfall_Exterior_Zone
M01_Waterfall_Interior_Zone
M01_TibCave_StartZone_JDG
M00_VisceroidInnate_DAY
M01_TibCave02_Datadisc_JDG
M01_Player_Is_Crossing_Bridge_Via_Cave_Zone
M01_Tiberium_Cave_Spawn_Helicopter_Zone_JDG
M01_Entering_Church_Area_Zone
M01_Player_Is_Crossing_Bridge_Via_Church_Zone
M01_Church_Loveshack_InterrogationConv_Zone_JDG
M01_Church_Guard_MiniGunner_JDG
M01_Priest_Datadisc_JDG
M01_Nod_GuardTower_01_Enter_Zone_JDG
M01_GuardTower_Sniper_Target_JDG
M01_Turn_on_the_Hand_of_Nod_Zone_JDG
M01_Lose_Any_Church_Escorts_Zone
M01_Announce_Hand_of_Nod_Zone
M01_ChurchArea_Spawner_Guy_JDG
M01_Whack_A_Mole_Enter_Zone_JDG
M01_Nod_GuardTower_03_Enter_Zone_JDG
M01_HON_Medlab_DropOff_Guy_JDG
M01_Lose_Any_HON_Escorts_Zone
M01_HandOfNod_SAMSite_Script
M01_Hand_Of_Nod_Exterior_Zone
M01_Hand_Of_Nod_Interior_Zone
M01_Havoc_Out_WarroomZone_JDG
M01_Havoc_In_WarroomZone_JDG
M01_HON_Escorts_Warroom_MCT_ZoneController_JDG
M01_HON_Escorts_Warroom_MCT_Protector01_JDG
M01_HON_Escorts_Warroom_MCT_Protector02_JDG
M01_Hand_Of_Nod_Grunt_Zone
M01_Hand_of_Nod_Building_Script_JDG
M01_Hand_Of_Nod_Dojo_Zone
M01_Civ_To_Minigunner_Guy_JDG
M01_HON_Paintball_Team_02_JDG
M01_HON_Paintball_Team_01_JDG
M01_Right_Interrogation_Room_Enter_Zone_JDG
M01_Left_Interrogation_Room_Enter_Zone_JDG
M01_HON_RedKey_Zone_JDG
M01_Medlab_Datadisc_JDG
M01_UnScramble_Radar_Zone
M01_Scramble_Radar_Zone
M01_Lose_Any_HON_Escorts_Zone_02
M01_Announce_Prisoner_Objective_Zone
M01_Comm_Center_Building_Script_JDG
M01_CommCenter_SAMSite_Script
M01_Comm_Center_Exterior_Zone
M01_Comm_Center_Interior_Zone
M01_Comm_Mainframe_PogZone_01_JDG
M01_Comm_Mainframe_PogZone_02_JDG
M01_Comm_Mainframe_PogZone_03_JDG
M01_Comm_Base_Commander_Conv_Start_Zone_JDG
M01_Comm_Base_Commander_JDG
M11_Temple_Hologram_01_JDG
M01_Obelisk_UpdateDisc_JDG
M01_Mainframe_Tutorial_Zone_JDG
M01_Detention_GuardTower_Enter_Zone_JDG
M01_MovieProjector_JDG
M01_TurretBeach_GDI_Guy_02_JDG
M01_HON_BackDoor_Evacuator_JDG
M01_Base_GDI_Grenadier_JDG
M01_Ambient_Sound_Controller_JDG
M01_Mission_Controller_JDG
M01_Whack_A_Mole_Minigunner_JDG
M01_HON_Easy_Spawned_Guy_01_JDG
M01_HON_Easy_Spawned_Guy_02_JDG
M01_HON_Easy_Spawned_Guy_03_JDG
M01_COMM_Chinook_Spawned_Soldier_GDI
M01_HON_Chinook_Spawned_Soldier_01_GDI_JDG
M01_HON_Chinook_Spawned_Soldier_02_GDI_JDG
M01_HON_Chinook_Spawned_Soldier_03_GDI_JDG
M01_HON_Chinook_Spawned_Soldier_04_GDI_JDG
M01_TurretBeach_Chinook_Spawned_Soldier_NOD
M01_GDIBaseCommander_EvacController_JDG
M01_GDIBaseCommander_Air_Evac_Waypath_JDG
M01_GDIBaseCommander_Air_Evac_Chopper_JDG
M01_GDIBaseCommander_Air_Evac_Rope_JDG
M01_GDIBase_POW_Conversation_Controller_JDG
M01_GDIBase_POWEncounter02_Controller_JDG
M01_GDIBasePOW_Air_Evac_Waypath_JDG
M01_GDIBasePOW_Air_Evac_Chopper_JDG
M01_GDIBasePOW_Air_Evac_Rope_JDG
M01_Base_POW01_JDG
M01_Base_POW02_JDG
M01_Duncan_InHere_ConvController_JDG
M01_Commander_Shack_Zone_JDG
M01_GDIBase_BaseCommander_JDG
M01_Airstrike_Controller_JDG
M01_Deco_LightTanks_JDG
M01_GuardTower02_Sniper_TowerZone_JDG
M01_GuardTower02_Sniper_Target01_JDG
M01_GuardTower02_Sniper_Target02_JDG
M01_GDI_GuardTower_NOD_Commander_JDG
M01_GDIBase_RealLightTank_JDG
M01_Billys_Conversation_Zone_JDG
M01_Hovercraft_Explosion_Controller_JDG
M01_TurretBeach_Turret_01_Script_JDG
M01_TurretBeach_FodderHovercraft_Controller_JDG
M01_Medium_Tank_Tunnel_Squish_Guy_JDG
M01_TurretBeach_Engineer_JDG
M01_GunboatAction_Controller_JDG
M01_Initial_Gunboat_Script_JDG
M01_BarnArea_EvacMonitor_JDG
M01_BarnArea_Air_Evac_Waypath_JDG
M01_BarnArea_Air_Evac_Chopper_JDG
M01_BarnArea_Air_Evac_Rope_JDG
M01_Barn_Prisoner_01_JDG
M01_Barn_Prisoner_02_JDG
M01_Barn_Prisoner_03_JDG
M01_Barn_Babushkas_Conversation_Zone_JDG
M01_BarnArea_AI_ExitZone_JDG
M01_Tank_Entering_Tunnel_Zone_JDG
M01_MediumTank_ReminderZone_JDG
M01_TailGun_01_JDG
M01_TailGun_02_JDG
M01_TailGun_03_JDG
M01_GDIBase_LightTank_JDG
M01_GDI_Base_Spawner_Controller_JDG
M01_CantBring_MediumTank_ThroughHereZone_JDG
M01_TailgunRun_NOD_Commander_JDG
M01_Visceroid01_JDG
M01_Visceroid02_JDG
M01_Visceroid03_JDG
M01_Visceroid_NodGuy01_JDG
M01_Visceroid_NodGuy02_JDG
M01_Tailgun_Run_Spawner_Controller_JDG
M01_TiberiumCave_UpThere_NodGuy_JDG
M01_TibField_Guard01_New_JDG
M01_Interior_Nun_Conversation_Zone_JDG
M01_GDI_Escort_Conversation_Controller_GDI
M01_ChurchArea_EvacMonitor_JDG
M01_Church_EvacController_JDG
M01_ChurchArea_Air_Evac_Waypath_JDG
M01_ChurchArea_Air_Evac_Chopper_JDG
M01_ChurchArea_Air_Evac_Rope_JDG
M01_CHURCH_Chinook_Spawned_Soldier01_GDI
M01_CHURCH_Chinook_Spawned_Soldier02_GDI
M01_Church_Exterior_MiniGunner_JDG
M01_Church_LoveShack_MiniGunner_JDG
M01_Church_LoveShack_Nun_JDG
M01_Priest_Conversation_Zone_JDG
M01_Loveshack_Nun_Conversation_Zone_JDG
M01_Church_Balcony_MiniGunner_JDG
M01_Church_Priest_JDG
M01_Church_Interior_Nun_JDG
M01_ChurchArea_NOD_Commander_JDG
M01_ChurchArea_Spawner_Controller_JDG
M01_Whack_A_Mole_Exit_Zone_JDG
M01_HON_WarroomController_JDG
M01_HON_Escorts_Warroom_MCT_Commander_JDG
M01_HON_Engineer02_JDG
M01_GiveMCTSpeech_Zone_JDG
M01_HON_Cafeteria_Walking_Guy_JDG
M01_HON_Cafeteria_Eating_Guy_JDG
M01_HON_Dorm_RocketGuy_JDG
M01_HON_Dorm_ChemGuy_JDG
M01_HON_Dorm_MiniGunner_JDG
M01_HON_Dorm_FlameGuy_JDG
M01_HON_Dorm_Crapper_JDG
M01_HON_Dojo_Trainer_JDG
M01_HON_Dojo_Civ_01_JDG
M01_PaintballRoom_ChatterController_JDG
M01_Interrogation_Room_Surprise_Guy_JDG
M01_BuggyNew_Controller_JDG
M01_BuggyScript_New_JDG
M01_Comm_Stationary_Tech_JDG
M01_Comm_Upstairs_Guard_JDG
M01_Comm_Repair_Engineer_JDG
M01_Comm_ComputerRoom_Tech_JDG
M01_Comm_Center_Player_Terminal_Zone
M01_GateSwitch_Tutorial_Zone_JDG
M01_Comm_Center_Pen_Gate
M01_DetentionPen_CivDeathMonitor
M01_PrisonPen_Civilian_JDG
M01_Propaganda_Sounds_Controller_JDG
M01_DetentionPen_GDIDeathMonitor
M01_PrisonPen_POW_JDG
M01_TurretBeach_GDI_Guy_01_JDG
M01_Nod_Commander_Conversation_Controller_GDI
M01_GDIBase_EvacMonitor_JDG
M01_Objective_Pog_Controller_JDG
M01_DataDisc_TextController_JDG
M01_GDI_Base_Artillery_Controller_JDG
M01_Base_GDI_Minigunner_JDG
// Below are scripts that are not used, but they are present
M01_GDI_GuardTower_02_Enter_Zone_JDG
M01_ConYard_Dropoff_Dude_JDG
M01_GDI_BaseCommander_Backside_EntryZone_JDG
M01_GDIBase_BackPath_NodGuy_JDG
M01_GDIBase_LightTank_PastTunnelZone_JDG
M01_BarnArea_NOD_Commander_Trigger_Zone_JDG
M01_GDIBase_FirstChinookFlamethrowerGuy_JDG
M01_GDIBase_FirstChinook_Script_JDG
M01_Nod_GuardTower_Tailgun_JDG
M01_DetentionGDI_Air_Evac_Chopper_JDG
M01_DetentionGDI_Air_Evac_Waypath_JDG
M01_DetentionPen_Evac_Controller02_JDG
M01_DetentionCiv_Air_Evac_Chopper_JDG
M01_DetentionCiv_Air_Evac_Waypath_JDG
M01_DetentionPen_Evac_Controller01_JDG
M01_Barn_Point_Guard_02_JDG
M01_Nod_GuardTower_02_Enter_Zone_JDG
M01_TailgunRun_Spawner_Guy_JDG
M01_GDI_Base_Spawner_Guy_JDG
M01_GDI_Toolshed_PatrolGuy_JDG
M01_Comm_MCT_Placeholder_JDG
M01_HON_MCT_Placeholder_JDG
M01_Comm_Kane_n_Havoc_Conv_Start_Zone_JDG
M01_Tailgun_02_SpawnApache_Zone_JDG
M01_TailGunner_03_JDG
M01_TailGunner_02_JDG
M01_TailGunner_01_JDG
M01_Interrogation_Room_L03_Keycard_JDG
M01_Flamethrower_Point_Guard_JDG
M01_Announce_Barn_Objective_Zone
M01_COMM_Commander_Guy
A couple of notes on this release:
- The guy at Westwood with the initials JDG did not know the principles of re-using code. This mission contains a buttload of code that is duplicate.
- I think it is possible to make a script that will enable you to evac X amount of soldiers via chinook. See the scripts with evac in them. It contains some interesting code
- Apparantly the coders of this mission left a substantial amount of unused code in the binary. For example: it seems that the 'tailgun alley' used to have soldiers that would actually enter the gun emplacements. Also the prisoners at the end of the level used to be evacuated via a chinook.
See GitHub for the source code.
|
|
|
Re: Singleplayer scripts [message #492571 is a reply to message #492512] |
Fri, 06 October 2017 04:08 |
|
I suspect based on credits.txt (but can't be sure) that JDG is Joseph Gernert (listed under designers)
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: Singleplayer scripts [message #492572 is a reply to message #492571] |
Fri, 06 October 2017 08:44 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
jonwil wrote on Fri, 06 October 2017 04:08 | I suspect based on credits.txt (but can't be sure) that JDG is Joseph Gernert (listed under designers)
|
I see. Well he also didnt know how to use script parameters. I believe only one script in the entirety of M01 code has script parameters. Its a real pain to decompile something and find out that youre practically reversing the same code.
Edit: Well if he is a designer that could explain a few things.
[Updated on: Fri, 06 October 2017 08:46] Report message to a moderator
|
|
|
|
Re: Singleplayer scripts [message #492596 is a reply to message #492593] |
Fri, 13 October 2017 12:20 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
Gen_Blacky wrote on Fri, 13 October 2017 10:26 | Well I'm impressed on how much you have done in a short amount of time. Good Job.
|
Why thank you, much apreciated. I'm curently working on m03 and I have everything up to and including the big gun.
|
|
|
Re: Singleplayer scripts [message #492611 is a reply to message #492512] |
Tue, 24 October 2017 13:35 |
Neijwiert
Messages: 124 Registered: October 2009
Karma: 0
|
Recruit |
|
|
M03 Has been completely reverse engineered with code flow.
The release contains the following scripts (May contain scripts that were missed in previous releases):
Toggle Spoiler
Uncompleted
No uncompleted scripts
Completed
M03_Cine_Explosion
M03_Damage_Modifier_All
M03_Killed_Sound
RMV_Trigger_Killed
M03_AggAndCover
RMV_Home_Point
M03_Beach_Radio
M10_Pokeable_Item_OnePoke
M03_Past_Pillbox
M03_Reinforcement_Chinook
M03_No_More_Parachute
M03_Beach_Turret
M03_Destroyed_Turret
M03_Wheres_The_Star
RMV_Trigger_Zone
M09_Innate_Activate
M00_Reveal_Enc_Character_DAY
M03_DataDiscMessage
RMV_Trigger_Zone_2
RMV_Hostage_Rescue_Point
M03_Zone_Enabled_Spawner
M03_Killed_Disabled_Spawner
M10_Stationary
M03_Structure_Powerup_Drop
M03_Destroyed_Chinook
M08_Nod_Turret
M03_Engineer_Repair
M03_Tiberium_Cave_Stay_Put
M03_Ambient_Birdcall_Controller_JDG
M03_Radar_UnScramble
M10_Elevator_All_Zone
M03_Power_Plant
M03_Base_Patrol
M03_Protect_The_MCT
RMV_Camera_Behavior
M03_Technician_Work
M03_Mct_Poke
RMV_M03_Comm_Center_Terminal
Sakura_Killed
M03_Sakura_Explosion
M03_Officer_With_Key_Card2
M06_Activate_Secret_Door
M03_Holograph_EntryZone_JDG
M03_KaneHead_JDG
RMV_Volcano_And_Lava_Ball_Creator
RMV_Engine_Sound
M03_Refinery
M03_Officer_With_Key_Card
M03_Key_Card
M00_InnateIsStationary
M09_Attack_Blocked_False
M03_Mission_Complete_Zone
RMV_Trigger_Poked
M00_Trigger_When_Destroyed_RMV
M03_Beach_Scenario_Controller
M00_Object_Create_RMV
M03_Intro_Substitute
M00_Put_Script_On_Commando
M00_Damaged_Warning
M03_Initial_Powerups
M03_Commando_Script
M03_Objective_Controller
M03_Objective_Tracker
M03_Chinook_Reinforcements
M03_Gunboat_Controller_RMV
DLS_Volcano_Stumble
M03_Beach_Reinforce
M03_Chinook_ParaDrop
M03_Paratrooper_Run
M03_Conversation_Zone
M03_Staged_Conversation_1
M09_Innate_Disable
M00_Trigger_When_Killed_RMV
M03_Alternate_Sam_Site
M03_Chinook_Fodder_Creator
M03_Inlet_Nod_Reinforcements
M00_Object_Destroy_Self_RMV
M03_Engineer_Target
RMV_Test_Big_Gun_Turning
M03_Radar_Scramble
M10_Elevator_All_Controller
M03_ConYardSeen
M03_PowerPlant_Warning
M03_Announce_PowerPlant_Controller_JDG
M03_Area_Troop_Counter
M03_Reinforce_Area
M03_CommCenter_Arrow
M03_CommCenter_Warning
M03_Comm_Killed
M03_Announce_CommCenter_Controller_JDG
M03_Flyover_Controller
M03_Base_Harvester
RMV_Engineer_Wander
M03_Announce_Refinery_Controller_JDG
DLS_Volcano_Active
// Below are scripts that are not used, but they are present
M03_Goto_Star
M03_Staged_Conversation_Soldier
M03_Big_Gun_Explosion
M03_Tailgun_Fodder
M03_Tailgun_Fodder_Zone
M03_Tailgun
M03_Chinook_Spawned_Soldier_GDI
M03_Beach_Soldier_GDI
M03_Inlet_Soldier_GDI
M03_Chinook_Drop_Soldiers_GDI
M03_Move_Commando_To_Start
M03_CommCenter_SateliteDish_Controller_JDG
M03_Outro_Cinematic
M03_A05_Evac_Zone
Notes for this release:
The devs used local variable address sharing through Send_Custom_Event. This is very unsafe and should not be used in any new scripts. (See M03_Area_Troop_Counter.cpp and M03_Reinforce_Area.cpp)
See GitHub for the source code.
[Updated on: Tue, 24 October 2017 13:39] Report message to a moderator
|
|
|
|