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: 37 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
|
|
|