| Singleplayer scripts [message #492512] | 
			Thu, 07 September 2017 13:47   | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		TL;DR See bottom of post 
 
EDIT: Using this post as overall progress report. The completed/uncompleted lists now contain all the scripts I have. 
 
Hello, here I am again after some time. I am re-releasing M13 reversed engineered scripts. Why? You may ask.. Well because of the following: 
 
- I was bored and wanted to learn more and improve upon myself 
- The first release was total shit (http://www.renegadeforums.com/index.php?t=msg&goto=470778& and http://www.renegadeforums.com/index.php?t=tree&th=39557&) It was one big file, non-compileable maybe like 60-70% accurate decompilation and no code flow analyzation had been done. 
- Because I can. 
 
This release should be like 99.99% close to what the original scripts were. I have a lot of confidence that you could replace all original scripts with these and make M13 run normal. I pretty much decompiled every. single. script. that is used in some way in M13 (Including, but not limited to some M00 scripts). I even included some scripts that mention M13, but aren't used in any way.  
 
Also note: the release contains 2 txt files: Completed.txt and Uncompleted.txt. What these files mean is that completed has FULL code flow analysis (e.g. proper local/member variable names and comments). The uncompleted file contains some scripts that are still missing some parts. This is because I was unable to find the code flow for those parts. I've marked those parts with TODO labels, in-case I find them later, or somebody else does. So again, the scripts marked uncompleted will function correctly/the same as the original. 
 
Also, Also, I included all cinematic files that are used (that I know of) 
 
Now a list of released scripts: 
 
Completed 
Toggle Spoiler 
Havoc_Script 
MX0_Engineer_Goto 
M00_Soldier_Powerup_Disable 
M00_Send_Object_ID 
MX0_NOD_TroopDrop 
M00_Play_Sound 
MX0_A02_ZONE_STARTUP 
M00_Cinematic_Attack_Command_DLS 
M00_Cinematic_Kill_Object_DAY 
M00_Disable_Loiter_DAY 
M00_Generic_Conv_DME 
MX0_SniperAction 
MX0_KillNotify 
MX0_Engineer_Goto2 
MX0_A02_GDI_APC 
MX0_A02_GDI_VEHICLE 
MX0_A02_HELICOPTER 
MX0_A02_GDI_MEDTANK 
MX0_A03_TANK 
MX0_A03_NOD_PLACED_MINIGUNNER 
M00_Nod_Turret 
MX0_A03_NOD_TURRET 
MX0_GDI_ORCA 
MX0_A03_NOD_HARVESTER 
MX0_A03_NOD_BUGGIE 
MX0_Area4_Zone_DLS 
MX0_Nod_Bunker_DLS 
M01_Destroyed_SAMSITE_JDG 
M03_Destroyed_SAM_Site 
MX0_GDI_Killed_DLS 
MX0_Explosive_Barrels_DLS 
MX0_Plant_Ion_Beacon_DLS 
MX0_A03_FIRST_PLAYER_ZONE 
MX0_A03_GDI_TROOP_DROP_ZONE_DAK 
MX0_A03_GDI_INFANTRY 
MX0_A03_CONTROLLER_DAK 
MX0_MissionStart_DME 
MX0_Engineer1 
MX0_Engineer2 
MX0_GDI_Soldier_DLS 
MX0_A03_END_ZONE 
MX0_Vehicle_DLS 
MX0_SAM_DLS 
MX0_Nod_RocketSoldier_DLS 
MX0_Gun_Emplacement_DLS 
MX0_A03_GDI_TROOPER_ONE 
M00_BuildingStateSoundController 
M00_BuildingStateSoundSpeaker 
M00_Soldier_Powerup_Grant 
M00_Damage_Modifier_DME 
M00_Powerup_Destroy 
M00_Disable_Transition 
M00_Play_Sound_Object_Bone_DAY 
M00_Disable_Physical_Collision_JDG 
M00_Vehicle_Regen_DAK 
M02_Nod_Jet_Waypath 
M02_Mendoza 
M02_Nod_Jet 
M02_Nod_Sakura 
M02_GDI_Helicopter 
M02_Reset_Spawn 
M02_Destroy_Vehicle 
DLS_Where_Am_I 
M02_Helipad 
M01_Barn_Truck_JDG 
M02_Destroy_Objective 
M02_Nod_Convoy_Truck 
M02_Dam_MCT 
M02_Encyclopedia_Reveal 
M02_Commando_Start 
M02_Data_Disk 
M02_Approach_Vehicle 
M02_GDI_Soldier 
M02_Nod_Apache 
M02_Nod_Soldier 
M02_Nod_Vehicle 
M02_Obelisk 
M02_Objective_Controller 
M02_Objective_Zone 
M02_Player_Vehicle 
M02_Power_Plant 
M02_Respawn_Controller 
M02_Stationary_Vehicle 
M03_SAM_Site_Logic 
M07_Disable_Hibernation 
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 
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 
MX0_A02_DEFAULT_OFF 
MX0_A02_ZONE_DEFAULT_ON 
MX0_A03_HAVOC_TANK 
MX0_A03_TROOPER_ONE_TEST 
MX0_A03_GDI_TANK_DROP_ZONE_DAK 
DAK_MX0_Sec_3_Humvee 
MX0_AmbientBattle 
MX0_Kill_Sniper 
MX0_Engineer_Return 
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 
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 
   
 
Uncompleted: 
Toggle Spoiler 
M08_Petra_C_Helo 
MX0_A03_HUMVEE 
MX0_NOD_INFANTRY 
MX0_A03_NOD_TROOPER_TIB_DEATH 
MX0_Area4_Controller_DLS 
MX0_Obelisk_Weapon_DLS 
MX0_A02_ACTOR 
MX0_A02_Controller 
M00_Nod_Obelisk 
   
 
Now this took me some time to do, but don't be a party pooper and steal my shit and claim it as yours. I've put the GPL-3.0 licence on here, which basically means you can do anything you want but you've got to mention my credits. I might plan on continuing, but I might not. Maybe in a day/week/month/year, who knows.  
 
Feel free to contact me for any mistakes/additions/changes that need to be made. 
 
Disclaimer: I have not tested any script whatsoever, but again I'm pretty confident this time around. I've put alot more care in my analyzation this time 
 
Note #2: I compiled this in VS2017 Enterprise with VS2012 XP build tools. However you should be able to open it in express too, just be sure you have VS2012 with at least update 1 to enable the VS2012 XP build tools in later versions. 
 
Note #3: @JonWil or somebody else from TT feel free to add this to the scripts release. If you'd like to change the licence header to that of all the other files that is no problem, but can it atleast have my name in it  ? It would be really cool to see something I've made come in a release of TT scripts. 
 
GitHub link: https://github.com/Neijwiert/C-C-Renegade-Mission-Scripts
		
		
		[Updated on: Tue, 24 October 2017 13:33] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492514 is a reply to message #492512] | 
			Fri, 08 September 2017 15:41    | 
		 
		
			
				
				
				
					
						  
						dblaney1
						 Messages: 358 Registered: March 2014  Location: United States
						
	Karma: 0
 
					 | 
					Commander  | 
					 | 
		 
		 
	 | 
 
	
		Cool stuff. Wonder if you can look into figuring out the crazy scripts like the m02_respawn_controller. It seems to be one giant megascript that controls all of the maps cinematics. It has a bunch of scriptzones all over the map. M02_Objective_Zone is attached on most of the zones but with no parameters. It seems like m02_respawn_controller has a bunch of hardcode zone ids that it uses to trigger things. 
 
I actually have very good versions of m02, m07, and m11 that are tailored for a coop server that I made although I am not running them on an actual server at the moment. I have them installed on my test server. If you have a chance let me know and I'll show them to you.  
 
		
		
		[Updated on: Fri, 08 September 2017 16:24] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492516 is a reply to message #492514] | 
			Sat, 09 September 2017 02:52    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		Ok I'll continue with M02 then instead of M01. Not sure how looking at a modded version of the original level would help me though. I can just open up the original ones. Do you know where this respawn controller is located? or maybe the object id? Mind you, its pretty tough to do an analysis if its situated at the end of the level, altough decomlilation should be no problem 
 
EDIT: lol you're not wrong that it does alot. Member fields alone makes it 276 bytes big. It's probably gonna take some time to do this one.
		
		
		[Updated on: Sat, 09 September 2017 08:08] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	
		
		
			| Re: Singleplayer scripts [message #492518 is a reply to message #492517] | 
			Sat, 09 September 2017 07:33    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		| sla.ro(master) wrote on Sat, 09 September 2017 05:13 |   I would love to see how M03_Goto_Star is done ;p 
 
awesome work    
  |  
  
 
Sure will look at that one too, again the same here. May not be able to do proper analysis of the code flow without all the other scripts. But decompilation should be no problem. 
 
EDIT: Done, see GitHub
		
		
		[Updated on: Sat, 09 September 2017 08:00] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492519 is a reply to message #492517] | 
			Sat, 09 September 2017 12:10    | 
		 
		
			
				
				
				
					
						  
						dblaney1
						 Messages: 358 Registered: March 2014  Location: United States
						
	Karma: 0
 
					 | 
					Commander  | 
					 | 
		 
		 
	 | 
 
	
		| sla.ro(master) wrote on Sat, 09 September 2017 05:13 |   I would love to see how M03_Goto_Star is done ;p 
 
awesome work    
  |  
  
 
Jerad has a clone of that script with a bunch of fixes on it as well. It doesn't break if the closest player is in an area with no pathfinding. It will go to the next closest player in that case. Its probably a better one to use for any coop maps since it was designed with multiple players in mind. 
 
JMG_Utility_AI_Goto_Player
		
		
		[Updated on: Sat, 09 September 2017 12:29] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492520 is a reply to message #492514] | 
			Sat, 09 September 2017 13:33    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		| dblaney1 wrote on Fri, 08 September 2017 15:41 |   Cool stuff. Wonder if you can look into figuring out the crazy scripts like the m02_respawn_controller. It seems to be one giant megascript that controls all of the maps cinematics. It has a bunch of scriptzones all over the map. M02_Objective_Zone is attached on most of the zones but with no parameters. It seems like m02_respawn_controller has a bunch of hardcode zone ids that it uses to trigger things. 
 
I actually have very good versions of m02, m07, and m11 that are tailored for a coop server that I made although I am not running them on an actual server at the moment. I have them installed on my test server. If you have a chance let me know and I'll show them to you.  
 
  |  
  
 
I have decompiled M02_Respawn_Controller, see GitHub. as mentioned before, no code flow analysis has been done (so no proper member field naming yet and comments). I believe this script does not interact that much with the script zones but the other way around. M02_Objective_Zone is pretty big too and I haven't checked out M02_Objective_Controller. I will in the future and when I get to M02 I'll do some proper code flow analysis too. 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492521 is a reply to message #492520] | 
			Sat, 09 September 2017 18:50    | 
		 
		
			
				
				
				
					
						  
						dblaney1
						 Messages: 358 Registered: March 2014  Location: United States
						
	Karma: 0
 
					 | 
					Commander  | 
					 | 
		 
		 
	 | 
 
	
		| Neijwiert wrote on Sat, 09 September 2017 13:33 |  
 | dblaney1 wrote on Fri, 08 September 2017 15:41 |   Cool stuff. Wonder if you can look into figuring out the crazy scripts like the m02_respawn_controller. It seems to be one giant megascript that controls all of the maps cinematics. It has a bunch of scriptzones all over the map. M02_Objective_Zone is attached on most of the zones but with no parameters. It seems like m02_respawn_controller has a bunch of hardcode zone ids that it uses to trigger things. 
 
I actually have very good versions of m02, m07, and m11 that are tailored for a coop server that I made although I am not running them on an actual server at the moment. I have them installed on my test server. If you have a chance let me know and I'll show them to you.  
 
  |  
  
 
I have decompiled M02_Respawn_Controller, see GitHub. as mentioned before, no code flow analysis has been done (so no proper member field naming yet and comments). I believe this script does not interact that much with the script zones but the other way around. M02_Objective_Zone is pretty big too and I haven't checked out M02_Objective_Controller. I will in the future and when I get to M02 I'll do some proper code flow analysis too. 
  |  
  
 
Yeah sorry, I meant m02_objective_controller and M02_Objective_Zone interact with each other a bunch. 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492522 is a reply to message #492512] | 
			Mon, 11 September 2017 04:25    | 
		 
		
			
				
				
				
					
						  
						XD_ERROR_XD
						 Messages: 38 Registered: June 2015  Location: Citadel Station
						
	Karma: 2
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		May I ask, what do you use to decompile scripts? and do you decompile the whole scripts.dll file at once, or is it possible to decompile a single script at a time? 
 
Thanks!
		
		
  Professional moron. Nice to meet ya.
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: Singleplayer scripts [message #492525 is a reply to message #492522] | 
			Mon, 11 September 2017 07:36    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		| XD_ERROR_XD wrote on Mon, 11 September 2017 04:25 |   May I ask, what do you use to decompile scripts? and do you decompile the whole scripts.dll file at once, or is it possible to decompile a single script at a time? 
 
Thanks!
  |  
  
 
| dubstar wrote on Mon, 11 September 2017 05:23 |   I read somewhere that IDA and Hex-Rays Decompiler are the best tools to use. 
 
  |  
  
 
Yeah I use IDA Pro + Hex rays. No I just target the scripts that I need. I use the Linux build of the 'scripts' file to decompile, since that one has debug information. The debug information saved a lot of function names. 
 
Also update: I will use this post to post my progress and stuff. Progress for this comment has been M02_objective_Controller, again see GitHub.
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: Singleplayer scripts [message #492529 is a reply to message #492514] | 
			Tue, 12 September 2017 06:42    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		| dblaney1 wrote on Fri, 08 September 2017 15:41 |   Cool stuff. Wonder if you can look into figuring out the crazy scripts like the m02_respawn_controller. It seems to be one giant megascript that controls all of the maps cinematics. It has a bunch of scriptzones all over the map. M02_Objective_Zone is attached on most of the zones but with no parameters. It seems like m02_respawn_controller has a bunch of hardcode zone ids that it uses to trigger things. 
 
I actually have very good versions of m02, m07, and m11 that are tailored for a coop server that I made although I am not running them on an actual server at the moment. I have them installed on my test server. If you have a chance let me know and I'll show them to you.  
 
  |  
  
 
I have finished M02_Objective_Zone. You can look at the hardcoded customs and ids now if you want. it is still missing full code flow analysis though. 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492530 is a reply to message #492529] | 
			Tue, 12 September 2017 10:26    | 
		 
		
			
				
				
				
					
						  
						dblaney1
						 Messages: 358 Registered: March 2014  Location: United States
						
	Karma: 0
 
					 | 
					Commander  | 
					 | 
		 
		 
	 | 
 
	
		| Neijwiert wrote on Tue, 12 September 2017 06:42 |  
 | dblaney1 wrote on Fri, 08 September 2017 15:41 |   Cool stuff. Wonder if you can look into figuring out the crazy scripts like the m02_respawn_controller. It seems to be one giant megascript that controls all of the maps cinematics. It has a bunch of scriptzones all over the map. M02_Objective_Zone is attached on most of the zones but with no parameters. It seems like m02_respawn_controller has a bunch of hardcode zone ids that it uses to trigger things. 
 
I actually have very good versions of m02, m07, and m11 that are tailored for a coop server that I made although I am not running them on an actual server at the moment. I have them installed on my test server. If you have a chance let me know and I'll show them to you.  
 
  |  
  
 
I have finished M02_Objective_Zone. You can look at the hardcoded customs and ids now if you want. it is still missing full code flow analysis though. 
  |  
  
 
Cool thanks. If you don't mind m02_nod_apache would be cool as well. 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	
		
		
			| Re: Singleplayer scripts [message #492532 is a reply to message #492512] | 
			Thu, 14 September 2017 13:00    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		Completed: 
M02_Nod_Jet_Waypath 
M02_Mendoza 
 
On a side note, I decompiled Set_Camera_Host aswell 
 
void Set_Camera_Host(GameObject *obj)
{
	if (obj)
	{
		PhysicalGameObj *pObj = obj->As_PhysicalGameObj();
		if (pObj)
		{
			CCameraClass::Set_Host_Model(CombatManager::MainCamera, pObj->Peek_Model());
		}
	}
	else
	{
		CCameraClass::Set_Host_Model(CombatManager::MainCamera, NULL);
	}
}
 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	
		
		
			| Re: Singleplayer scripts [message #492535 is a reply to message #492512] | 
			Sat, 16 September 2017 11:10    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		Completed: 
DLS_Where_Am_I 
M02_Helipad 
M01_Barn_Truck_JDG 
M02_Destroy_Objective 
M02_Nod_Convoy_Truck 
M02_Dam_MCT 
 
Uncompleted: 
M02_Nod_Soldier 
M02_GDI_Soldier 
M07_Disable_Hibernation 
M02_Stationary_Vehicle 
M02_Approach_Vehicle
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492536 is a reply to message #492512] | 
			Sun, 17 September 2017 04:09    | 
		 
		
			| 
				
	 | 
 
	
		Good job so far, at this rate you will have a clone of every script in the original scripts.dll by the time its all said and done   
		
		
  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: Sun, 17 September 2017 04:10] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492537 is a reply to message #492512] | 
			Mon, 18 September 2017 13:20    | 
		 
		
			
				
				
				
					
						  
						Neijwiert
						 Messages: 124 Registered: October 2009 
						
	Karma: 0
 
					 | 
					Recruit  | 
					 | 
		 
		 
	 | 
 
	
		I've completed all scripts used/related to M02. I will start code flow analysis now. But can anybody help me with the following: 
 
- How can you play a soldier animation in the W3DViewer that is started in a script with Action_Play_Animation? Since I want to comment what kind of animation it is.  
 
- Is there a way to check in LE if a certain preset, or even better, script is present in a preset? If not, could somebody prepare some mixes for me that are basically clones of the singleplayer maps but can be run on multiplayer so I can check these things out? Since I might have missed some scripts and mistakenly marked them as 'not used'.  
 
- I have submitted an issue on GitHub some time ago about float precision. Sometimes a float is passed to some function but it is very nearly a whole number (i.e. 4.999999 or something like that). Does anybody know if this is a precision error? 
 
- Sometimes the Renegade developers used Get_Random instead of the logical Get_Random_Int to put through a switch to check against, for example, 1/2/3 etc. Obviously it is cast to an integer somewhere. Does anybody know how I can check in IDA where this is being done? (I had exceptional problems in M02_Nod_Soldier::Timer_Expired with this to make sense of the code). 
 
EDIT: Also, to stop spamming I guess, I'll just post updates when a complete map has been done or a request of somebody.
		
		
		[Updated on: Mon, 18 September 2017 13:24] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Singleplayer scripts [message #492538 is a reply to message #492512] | 
			Mon, 18 September 2017 13:42    | 
		 
		
			
				
				
				
					
						  
						dblaney1
						 Messages: 358 Registered: March 2014  Location: United States
						
	Karma: 0
 
					 | 
					Commander  | 
					 | 
		 
		 
	 | 
 
	
		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. 
		
		
		[Updated on: Mon, 18 September 2017 13:52] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |