Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Titanfall 2 #2

Open
snake-biscuits opened this issue Nov 7, 2022 · 5 comments
Open

Titanfall 2 #2

snake-biscuits opened this issue Nov 7, 2022 · 5 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed Titanfall 2 This issue affects Titanfall 2

Comments

@snake-biscuits
Copy link
Member

snake-biscuits commented Nov 7, 2022

Build an entity zoo with every entity and figure out what they do
Update the .ent files where nessecary
If an entity / family of entities looks like it'll be a lot of work, break it off into a child issue

  • entities.ent for entities which appear in the bsp.ENTITIES lump
    • env_soundscape_triggerable
    • env_wind
    • envmap_volume
    • fog_volume
    • func_wallrun_curve
    • func_window_hint
    • info_intermission
    • info_lightprobe
    • info_spawnpoint_flag
    • info_teleport_destination
    • prop_dynamic (editorclass=prop_dynamic_clientside)
    • prop_exfil_panel
    • trigger_indoor_area
    • trigger_no_grapple
    • trigger_out_of_bounds
    • water_lod_control
    • worldspawn
  • environment_entities.ent for entities which appear in maps/bsp_name_env.ent
    • color_correction
    • env_fog_controller
    • light
    • light_environment
    • light_environment_volume
    • light_probe_volume
    • light_spot
    • sky_camera
    • stream_hint_point
  • effects_entities.ent for entities which appear in maps/bsp_name_fx.ent
    • beam_spotlight
    • info_particle_system
    • info_particle_system (editorclass=info_particle_system_clientside)
    • info_target (editorclass=info_target_fx)
    • info_target_clientside (editorclass=info_target_fx_clientside)
  • script_entities.ent for entities which appear in maps/bsp_name_script.ent
    • assault_assaultpoint
    • func_brush
    • func_brush (editorclass=func_brush_fw_territory_border)
    • func_brush (editorclass=func_brush_navmesh_separator)
    • func_brush_lightweight
    • info_hardpoint
    • info_hint
    • info_node
    • info_node (editorclass=info_node_spectre)
    • info_node_air
    • info_node_cover_crouch
    • info_node_cover_left
    • info_node_cover_right
    • info_node_cover_stand
    • info_node_safe_hint
    • info_player_start
    • info_target
    • info_target (editorclass=info_airdrop_event)
    • info_target (editorclass=info_attrition_bank)
    • info_target (editorclass=info_attrition_camp)
    • info_target (editorclass=info_bomb_mode_base)
    • info_target (editorclass=info_bomb_mode_bomb)
    • info_target (editorclass=info_bomb_mode_pilot_defuse_point)
    • info_target (editorclass=info_dropship_deploy_position)
    • info_target (editorclass=info_fd_ai_position)
    • info_target (editorclass=info_fd_battery_port)
    • info_target (editorclass=info_fd_harvester)
    • info_target (editorclass=info_fd_mode_model)
    • info_target (editorclass=info_fd_route_node)
    • info_target (editorclass=info_fd_smoke_screen)
    • info_target (editorclass=info_fd_turret_site)
    • info_target (editorclass=info_fw_camp)
    • info_target (editorclass=info_fw_team_tower)
    • info_target (editorclass=info_fw_turret_site)
    • info_target (editorclass=info_lts_bomb_site)
    • info_target (editorclass=info_move_animation)
    • info_target (editorclass=info_move_target)
    • info_target (editorclass=info_pet_titan_start)
    • info_target (editorclass=info_potential_threat_target)
    • info_target (editorclass=info_spawnpoint_checkpoint)
    • info_target (editorclass=info_startpoint)
    • info_target (editorclass=mp_titanweapon_leadwall)
    • info_target (editorclass=mp_titanweapon_meteor)
    • info_target (editorclass=mp_titanweapon_particle_accelerator)
    • info_target (editorclass=mp_titanweapon_rocketeer_rocketstream)
    • info_target (editorclass=mp_titanweapon_sniper)
    • info_target (editorclass=mp_titanweapon_sticky_40mm)
    • info_target (editorclass=mp_weapon_alternator_smg)
    • info_target (editorclass=mp_weapon_arc_launcher)
    • info_target (editorclass=mp_weapon_autopistol)
    • info_target (editorclass=mp_weapon_car)
    • info_target (editorclass=mp_weapon_defender)
    • info_target (editorclass=mp_weapon_dmr)
    • info_target (editorclass=mp_weapon_doubletake)
    • info_target (editorclass=mp_weapon_epg)
    • info_target (editorclass=mp_weapon_esaw)
    • info_target (editorclass=mp_weapon_frag_drone)
    • info_target (editorclass=mp_weapon_frag_grenade)
    • info_target (editorclass=mp_weapon_g2)
    • info_target (editorclass=mp_weapon_grenade_electric_smoke)
    • info_target (editorclass=mp_weapon_grenade_emp)
    • info_target (editorclass=mp_weapon_grenade_gravity)
    • info_target (editorclass=mp_weapon_grenade_sonar)
    • info_target (editorclass=mp_weapon_hemlok)
    • info_target (editorclass=mp_weapon_hemlok_smg)
    • info_target (editorclass=mp_weapon_lmg)
    • info_target (editorclass=mp_weapon_lstar)
    • info_target (editorclass=mp_weapon_mastiff)
    • info_target (editorclass=mp_weapon_mgl)
    • info_target (editorclass=mp_weapon_pulse_lmg)
    • info_target (editorclass=mp_weapon_r97)
    • info_target (editorclass=mp_weapon_rocket_launcher)
    • info_target (editorclass=mp_weapon_rspn101)
    • info_target (editorclass=mp_weapon_rspn101_og)
    • info_target (editorclass=mp_weapon_satchel)
    • info_target (editorclass=mp_weapon_semipistol)
    • info_target (editorclass=mp_weapon_shotgun)
    • info_target (editorclass=mp_weapon_shotgun_pistol)
    • info_target (editorclass=mp_weapon_smr)
    • info_target (editorclass=mp_weapon_sniper)
    • info_target (editorclass=mp_weapon_softball)
    • info_target (editorclass=mp_weapon_thermite_grenade)
    • info_target (editorclass=mp_weapon_vinson)
    • info_target (editorclass=mp_weapon_wingman)
    • info_target (editorclass=mp_weapon_wingman_n)
    • info_target (editorclass=script_crane_cargo)
    • info_target (editorclass=script_drone_platform_despawn)
    • info_target (editorclass=script_drone_platform_spawn)
    • info_target (editorclass=script_mover_path)
    • info_target_clientside
    • move_rope
    • npc_bullseye
    • npc_drone
    • npc_drone (editorclass=npc_marvin_drone)
    • npc_dropship
    • npc_dropship (editorclass=npc_dropship_soldiers)
    • npc_frag_drone
    • npc_marvin
    • npc_pilot_elite
    • npc_prowler
    • npc_soldier
    • npc_soldier (editorclass=npc_shield_captain_imc)
    • npc_soldier (editorclass=npc_soldier_hero_sarah)
    • npc_soldier (editorclass=npc_soldier_imc_antititan)
    • npc_soldier (editorclass=npc_soldier_imc_lmg)
    • npc_soldier (editorclass=npc_soldier_imc_rifle)
    • npc_soldier (editorclass=npc_soldier_imc_shotgun)
    • npc_soldier (editorclass=npc_soldier_imc_sidearm)
    • npc_soldier (editorclass=npc_soldier_imc_smg)
    • npc_soldier (editorclass=npc_soldier_imc_sniper)
    • npc_soldier (editorclass=npc_soldier_militia)
    • npc_soldier (editorclass=npc_specialist_imc)
    • npc_spectre
    • npc_spectre (editorclass=npc_spectre_antititan)
    • npc_spectre (editorclass=npc_spectre_lmg)
    • npc_spectre (editorclass=npc_spectre_rifle)
    • npc_spectre (editorclass=npc_spectre_shotgun)
    • npc_spectre (editorclass=npc_spectre_smg)
    • npc_spectre (editorclass=npc_spectre_sniper)
    • npc_stalker
    • npc_stalker (editorclass=npc_stalker_crawling)
    • npc_stalker (editorclass=npc_stalker_crawling_mossy)
    • npc_stalker (editorclass=npc_stalker_zombie)
    • npc_stalker (editorclass=npc_stalker_zombie_mossy)
    • npc_super_spectre
    • npc_titan (editorclass=npc_titan_atlas_stickybomb)
    • npc_titan (editorclass=npc_titan_atlas_tracker)
    • npc_titan (editorclass=npc_titan_hero_sarah)
    • npc_titan (editorclass=npc_titan_ogre_meteor)
    • npc_titan (editorclass=npc_titan_ogre_minigun)
    • npc_titan (editorclass=npc_titan_stryder_leadwall)
    • npc_titan (editorclass=npc_titan_stryder_rocketeer)
    • npc_titan (editorclass=npc_titan_stryder_sniper)
    • npc_titan (editorclass=npc_titan_vanguard)
    • npc_turret_mega
    • npc_turret_sentry
    • npc_turret_sentry (editorclass=npc_turret_sentry_plasma)
    • path_track
    • prop_control_panel
    • prop_dynamic
    • prop_dynamic (editorclass=npc_spectre_rack_wall)
    • prop_dynamic (editorclass=script_crane)
    • prop_dynamic (editorclass=script_door)
    • prop_dynamic (editorclass=script_drone_platform_large)
    • prop_dynamic (editorclass=script_switch)
    • prop_dynamic_lightweight
    • prop_physics
    • prop_script (editorclass=toy_arc_switch)
    • script_marvin_job
    • script_marvin_job (editorclass=script_marvin_drone_job)
    • script_mover
    • script_mover_lightweight
    • script_mover_lightweight (editorclass=script_collectible)
    • script_mover_lightweight (editorclass=script_rotator)
    • script_mover_lightweight (editorclass=script_soundeffect)
    • script_ref
    • script_ref (editorclass=info_atcoop_weapon_chest)
    • script_ref (editorclass=info_don_panel)
    • script_ref (editorclass=info_fw_battery_port)
    • script_ref (editorclass=info_fw_foundation_plate)
    • script_ref (editorclass=info_fw_sonar_site)
    • script_ref (editorclass=info_fw_titan_barricade)
    • script_ref (editorclass=info_pve_guard_spawn)
    • script_ref (editorclass=info_pve_patrol_spawn)
    • script_ref (editorclass=info_speedball_flag)
    • script_ref (editorclass=script_battery_generator)
    • script_ref (editorclass=script_bird_alert)
    • script_ref (editorclass=script_combatpath_enemy_reinforce)
    • script_ref (editorclass=script_combatpath_friendlygoal)
    • script_ref (editorclass=script_combatpath_spawnposition_imc)
    • script_ref (editorclass=script_combatpath_spawnposition_mil)
    • script_ref (editorclass=script_frontier_zone)
    • script_ref (editorclass=script_pickup_ammo)
    • script_ref (editorclass=script_pickup_health)
    • script_ref (editorclass=script_pickup_health_large)
    • script_ref (editorclass=script_pickup_weapon)
    • script_ref (editorclass=script_power_up_other)
    • script_ref (editorclass=script_titan_battery)
    • traverse
    • trigger_capture_point
    • trigger_hurt
    • trigger_multiple
    • trigger_multiple (editorclass=checkpoint_disabled_volume)
    • trigger_multiple (editorclass=trigger_checkpoint)
    • trigger_multiple (editorclass=trigger_checkpoint_forced)
    • trigger_multiple (editorclass=trigger_checkpoint_safe)
    • trigger_multiple (editorclass=trigger_checkpoint_silent)
    • trigger_multiple (editorclass=trigger_checkpoint_to_safe_spots)
    • trigger_multiple (editorclass=trigger_deadly_fog)
    • trigger_multiple (editorclass=trigger_death_fall)
    • trigger_multiple (editorclass=trigger_flag_clear)
    • trigger_multiple (editorclass=trigger_flag_set)
    • trigger_multiple (editorclass=trigger_flag_touching)
    • trigger_multiple (editorclass=trigger_friendly)
    • trigger_multiple (editorclass=trigger_friendly_follow)
    • trigger_multiple (editorclass=trigger_fw_territory)
    • trigger_multiple (editorclass=trigger_level_transition)
    • trigger_multiple (editorclass=trigger_mp_spawn_zone)
    • trigger_multiple (editorclass=trigger_quickdeath)
    • trigger_multiple (editorclass=trigger_quickdeath_checkpoint)
    • trigger_multiple (editorclass=trigger_spawn)
    • trigger_multiple (editorclass=trigger_teleporter)
    • trigger_once
  • sound_entities.ent for entities which appear in maps/bsp_name_snd.ent
    • ambient_generic
    • trigger_soundscape
  • spawn_entities.ent for entities which appear in maps/bsp_name_spawn.ent
    • info_frontline
    • info_spawnpoint_droppod
    • info_spawnpoint_droppod_start
    • info_spawnpoint_dropship
    • info_spawnpoint_dropship_start
    • info_spawnpoint_human
    • info_spawnpoint_human_start
    • info_spawnpoint_marvin
    • info_spawnpoint_marvin (editorclass=info_spawnpoint_megaturret)
    • info_spawnpoint_titan
    • info_spawnpoint_titan_start
@snake-biscuits snake-biscuits self-assigned this Nov 7, 2022
@snake-biscuits snake-biscuits added the enhancement New feature or request label Nov 7, 2022
@snake-biscuits
Copy link
Member Author

Generated list of classnames with bsp_tool:

>>> import fnmatch
>>> import functools
>>> import os
>>> 
>>> import bsp_tool
>>> 
>>> r2md = "E:/Mod/Titanfall2/maps"
>>> r2m = {m[:-4]: bsp_tool.load_bsp(os.path.join(r2md, m)) for m in fnmatch.filter(os.listdir(r2md), "*.bsp")}
>>> # for each entity lump:
>>> r2_e= functools.reduce(lambda a, b: a.union(b), [{(e["classname"], e.get("editorclass", "")) for e in bsp.ENTITIES} for bsp in r2m.values()])
>>> {print(f"   - [ ] {cn}", f"(editorclass={ec})" if ec != "" else "") for cn, ec in sorted(r2_e)}
>>> # copy & paste results into github issue

@snake-biscuits
Copy link
Member Author

Diffing this list against #1 would be pretty helpful, as we can use Titanfall Online entities as a base

This was referenced Nov 11, 2022
@snake-biscuits snake-biscuits transferred this issue from MRVN-Radiant/MRVN-Radiant Nov 11, 2022
@snake-biscuits snake-biscuits added the Titanfall 2 This issue affects Titanfall 2 label Nov 11, 2022
@snake-biscuits snake-biscuits changed the title Create entity definitions w/ useful docs & notes for each entity used in Titanfall 2 Titanfall 2 Quality Assurance Nov 11, 2022
@snake-biscuits
Copy link
Member Author

snake-biscuits commented Nov 11, 2022

Me last week:

Generated list of classnames with bsp_tool:

Me now:

Builds an entire Repo with STYLE & CONTRIBUTING guides and themes the whole thing around FuseHound fanfiction

@snake-biscuits snake-biscuits added good first issue Good for newcomers help wanted Extra attention is needed Titanfall 2 This issue affects Titanfall 2 and removed Titanfall 2 This issue affects Titanfall 2 labels Nov 11, 2022
@snake-biscuits snake-biscuits changed the title Titanfall 2 Quality Assurance Titanfall 2 Nov 11, 2022
@snake-biscuits snake-biscuits pinned this issue Nov 11, 2022
@snake-biscuits snake-biscuits added this to the Titanfall 2 Zoo milestone Nov 11, 2022
@snake-biscuits snake-biscuits added the documentation Improvements or additions to documentation label Dec 21, 2022
@snake-biscuits
Copy link
Member Author

A handful of entities are exclusively spawned in scripts (e.g. env_shake)
Will have to grep scripts/vscripts to find these extra entities (matching patterns like: CreateEntity("env_shake"))

@snake-biscuits
Copy link
Member Author

snake-biscuits commented Apr 16, 2023

func_breakable "works" (no effects, but you can break stuff)
source: @F1F7Y ported cs1.6 dust2 & it worked

would be cool do document this w/ video, & maybe even dig into restoring the gib models etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed Titanfall 2 This issue affects Titanfall 2
Projects
Status: Todo: Research
Development

No branches or pull requests

1 participant