Switched Doom 3 weapons to native.

This commit is contained in:
Justin Marshall
2026-05-19 08:28:43 -07:00
parent b841fcb33b
commit b97127f038
82 changed files with 20023 additions and 1371 deletions
+92
View File
@@ -0,0 +1,92 @@
/***********************************************************************
doom_main.script
This is the main script that is loaded before any level scripts load.
***********************************************************************/
// base defines and util functions
#include "script/doom_defs.script"
#include "script/doom_events.script"
#include "script/doom_util.script"
#include "script/weapon_base.script"
#include "script/ai_base.script"
// ai
#include "script/ai_monster_base.script"
#include "script/ai_monster_zombie_base.script"
#include "script/ai_monster_demon_archvile.script"
#include "script/ai_monster_demon_cherub.script"
#include "script/ai_monster_demon_hellknight.script"
#include "script/ai_monster_demon_imp.script"
#include "script/ai_monster_demon_maggot.script"
#include "script/ai_monster_demon_mancubus.script"
#include "script/ai_monster_demon_pinky.script"
#include "script/ai_monster_demon_revenant.script"
#include "script/ai_monster_demon_trite.script"
#include "script/ai_monster_demon_wraith.script"
#include "script/ai_monster_flying_lostsoul.script"
#include "script/ai_monster_flying_cacodemon.script"
#include "script/ai_monster_zombie.script"
#include "script/ai_monster_zombie_morgue.script"
#include "script/ai_monster_zombie_sawyer.script"
#include "script/ai_monster_zombie_bernie.script"
#include "script/ai_monster_zombie_commando_cgun.script"
#include "script/ai_monster_zombie_commando_tentacle.script"
#include "script/ai_monster_zombie_security_pistol.script"
#include "script/ai_monster_turret.script"
#include "script/ai_monster_boss_vagary.script"
#include "script/ai_monster_boss_cyberdemon.script"
#include "script/ai_monster_boss_guardian.script"
#include "script/ai_monster_boss_guardian_seeker.script"
#include "script/ai_monster_boss_sabaoth.script"
#include "script/ai_character.script"
#include "script/ai_character_prone.script"
#include "script/ai_character_sentry.script"
#include "script/ai_player.script"
// map specific character scripts
#include "script/ai_alphalabs2_scientist1.script"
// map scripts
#include "script/map_admin1.script"
#include "script/map_alphalabs1.script"
#include "script/map_alphalabs2.script"
#include "script/map_alphalabs3.script"
#include "script/map_alphalabs4.script"
#include "script/map_caves.script"
#include "script/map_caves2.script"
#include "script/map_comm1.script"
#include "script/map_commoutside_lift.script"
#include "script/map_commoutside.script"
#include "script/map_cpu.script"
#include "script/map_cpuboss.script"
#include "script/map_delta1.script"
#include "script/map_delta2a.script"
#include "script/map_delta2b.script"
#include "script/map_delta3.script"
#include "script/map_delta5.script"
#include "script/map_enpro.script"
#include "script/map_hell1.script"
#include "script/map_hellhole.script"
#include "script/map_recycling1.script"
#include "script/map_recycling2.script"
#include "script/map_site3.script"
#include "script/map_marscity1.script"
#include "script/map_marscity2.script"
#include "script/map_mc_underground.script"
#include "script/map_monorail.script"
// test scripts
#include "script/ai_follower.script"
void doom_main() {
sys.print( "Entering doom_main()\n");
//
// Do any script setup here
//
sys.print( "Exiting doom_main()\n" );
}
+111
View File
@@ -0,0 +1,111 @@
/***********************************************************************
weapon_base.script
Base object for weapons. Contains variables required by game code.
***********************************************************************/
float global_flashlight_intensity;
object weapon_base {
// required by game
boolean WEAPON_ATTACK;
boolean WEAPON_RELOAD;
boolean WEAPON_NETRELOAD;
boolean WEAPON_NETENDRELOAD;
boolean WEAPON_RAISEWEAPON;
boolean WEAPON_LOWERWEAPON;
boolean WEAPON_NETFIRING;
// required by player script.
boolean WEAPON_START_FIRING;
// called by game
void EnterCinematic();
void ExitCinematic();
void NetCatchup();
void WeaponStolen();
void OwnerDied();
void UpdateSkin();
// called by player script
string GetFireAnim();
};
/*
=====================
weapon_base::EnterCinematic
Required by game code for cinematics. Implemented in subclasses.
=====================
*/
void weapon_base::EnterCinematic() {
}
/*
=====================
weapon_base::ExitCinematic
Required by game code for cinematics. Implemented in subclasses.
=====================
*/
void weapon_base::ExitCinematic() {
}
/*
=====================
weapon_base::NetCatchup
Required by game code for networking. Implemented in subclasses.
=====================
*/
void weapon_base::NetCatchup() {
}
/*
=====================
weapon_base::WeaponStolen
Required by game code for multiplayer when weapon is stolen. Implemented in subclasses.
=====================
*/
void weapon_base::WeaponStolen() {
}
/*
=====================
weapon_base::OwnerDied
Required by game code for when the weapon owner dies. Implemented in subclasses.
Script is destroyed right after this is called, so any code must execute in a single frame.
=====================
*/
void weapon_base::OwnerDied() {
}
/*
=====================
weapon_base::UpdateSkin
Required by game code for when the skin needs to change (for example, when the player has a power up). Implemented in subclasses.
Code is called is only guaranteed to execute for one frame, so any code should either set the weapon state or start a new thread.
=====================
*/
void weapon_base::UpdateSkin() {
}
/*
=====================
weapon_base::GetFireAnim
Used by the player script to get the fire anim. Subclasses can override this in order to sync the
viewmodel with the player model.
=====================
*/
string weapon_base::GetFireAnim() {
return "fire";
}