iw5: test guns #4
@ -4,6 +4,7 @@ def erase_commented_lines(filename, out):
|
|||||||
with open(filename, 'r') as file:
|
with open(filename, 'r') as file:
|
||||||
lines = file.readlines()
|
lines = file.readlines()
|
||||||
|
|
||||||
|
# gcc leaves these "comments" at the start of the file
|
||||||
lines = [line for line in lines if not line.startswith('#')]
|
lines = [line for line in lines if not line.startswith('#')]
|
||||||
|
|
||||||
with open(out, 'w') as file:
|
with open(out, 'w') as file:
|
||||||
|
@ -15,7 +15,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
run: |
|
run: |
|
||||||
bash -e .gitea/scripts/ci.sh
|
./.gitea/scripts/ci.sh
|
||||||
|
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
setDvar( "bg_bounces", 1 );
|
setDvar( "bg_bounces", 1 );
|
||||||
|
setDvar( "player_sustainAmmo", 1 ); // Requires sv_cheats
|
||||||
|
|
||||||
thread onPlayerConnect();
|
thread onPlayerConnect();
|
||||||
}
|
}
|
||||||
@ -33,7 +34,7 @@ onPlayerSpawned()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
for ( ;; )
|
while ( true )
|
||||||
{
|
{
|
||||||
self waittill( "spawned_player" );
|
self waittill( "spawned_player" );
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ onWeaponFired()
|
|||||||
level endon( "game_ended" );
|
level endon( "game_ended" );
|
||||||
self endon( "disconnected" );
|
self endon( "disconnected" );
|
||||||
|
|
||||||
for ( ;; )
|
while ( true )
|
||||||
{
|
{
|
||||||
self waittill( "weapon_fired", weapon );
|
self waittill( "weapon_fired", weapon );
|
||||||
|
|
||||||
@ -92,7 +93,7 @@ displaySpeed()
|
|||||||
if ( isDefined( self.last_rpg_shot ) && self.last_rpg_shot != 0 )
|
if ( isDefined( self.last_rpg_shot ) && self.last_rpg_shot != 0 )
|
||||||
{
|
{
|
||||||
late = getTime() - self.last_rpg_shot;
|
late = getTime() - self.last_rpg_shot;
|
||||||
if (late < 500)
|
if (late <= 500)
|
||||||
{
|
{
|
||||||
iPrintLn( "Late RPG (+" + (late) + ")" );
|
iPrintLn( "Late RPG (+" + (late) + ")" );
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ _ON_PLAYER_CNCT_BEGIN
|
|||||||
PLAYER_NOTIFY_CMD( player, "save_pos", "+reload" );
|
PLAYER_NOTIFY_CMD( player, "save_pos", "+reload" );
|
||||||
PLAYER_NOTIFY_CMD( player, "load_saved_pos", "+activate" );
|
PLAYER_NOTIFY_CMD( player, "load_saved_pos", "+activate" );
|
||||||
|
|
||||||
|
player thread onWeaponFired();
|
||||||
player thread jumper();
|
player thread jumper();
|
||||||
player thread displaySpeed();
|
player thread displaySpeed();
|
||||||
|
|
||||||
@ -26,6 +27,21 @@ _ON_PLAYER_CNCT_BEGIN
|
|||||||
|
|
||||||
_ON_PLAYER_CNCT_END
|
_ON_PLAYER_CNCT_END
|
||||||
|
|
||||||
|
onWeaponFired()
|
||||||
|
{
|
||||||
|
GENERIC_COROUTINE_END
|
||||||
|
|
||||||
|
while ( true )
|
||||||
|
{
|
||||||
|
self waittill( "weapon_fired", weapon );
|
||||||
|
|
||||||
|
if (weapon == "rpg_mp")
|
||||||
|
{
|
||||||
|
self.last_rpg_shot = getTime();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
displaySpeed()
|
displaySpeed()
|
||||||
{
|
{
|
||||||
GENERIC_COROUTINE_END;
|
GENERIC_COROUTINE_END;
|
||||||
@ -36,12 +52,30 @@ displaySpeed()
|
|||||||
self.speed_text.label = &"";
|
self.speed_text.label = &"";
|
||||||
|
|
||||||
self.last_speed_sample = 0;
|
self.last_speed_sample = 0;
|
||||||
|
self.last_z_coordinate = 0.0;
|
||||||
|
|
||||||
while ( true )
|
while ( true )
|
||||||
{
|
{
|
||||||
player_speed = distance( ZERO_VEC3, self getvelocity() );
|
player_speed = distance( ZERO_VEC3, self getvelocity() );
|
||||||
current_speed = int( player_speed );
|
current_speed = int( player_speed );
|
||||||
|
|
||||||
|
if ( self.origin[2] > self.last_z_coordinate )
|
||||||
|
{
|
||||||
|
// We should be going up
|
||||||
|
if ( isDefined( self.last_rpg_shot ) && self.last_rpg_shot != 0 )
|
||||||
|
{
|
||||||
|
late = getTime() - self.last_rpg_shot;
|
||||||
|
if (late <= 500)
|
||||||
|
{
|
||||||
|
iPrintLn( "Late RPG (+" + (late) + ")" );
|
||||||
|
}
|
||||||
|
|
||||||
|
self.last_rpg_shot = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.last_z_coordinate = self.origin[2];
|
||||||
|
|
||||||
if ( self.last_speed_sample == current_speed )
|
if ( self.last_speed_sample == current_speed )
|
||||||
{
|
{
|
||||||
// White
|
// White
|
||||||
@ -115,4 +149,17 @@ _ON_PLAYER_SPAWNED_BEGIN
|
|||||||
|
|
||||||
self setPerk( "specialty_marathon", true, false );
|
self setPerk( "specialty_marathon", true, false );
|
||||||
|
|
||||||
|
self freezeControls( false );
|
||||||
|
|
||||||
|
self takeAllWeapons();
|
||||||
|
|
||||||
|
self giveWeapon( "iw5_usp45_mp" );
|
||||||
|
self giveMaxAmmo( "iw5_usp45_mp" );
|
||||||
|
|
||||||
|
self giveWeapon( "rpg_mp" );
|
||||||
|
self giveMaxAmmo( "rpg_mp" );
|
||||||
|
|
||||||
|
wait 1;
|
||||||
|
self switchToWeaponImmediate( "iw5_usp45_mp" );
|
||||||
|
|
||||||
_ON_PLAYER_SPAWNED_END
|
_ON_PLAYER_SPAWNED_END
|
||||||
|
@ -12,15 +12,25 @@
|
|||||||
* /Zc:preprocessor is required with the MSVC compiler.
|
* /Zc:preprocessor is required with the MSVC compiler.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef IW4
|
#if defined(IW4)
|
||||||
#ifndef IW4MP
|
#if !defined(IW4MP)
|
||||||
#define IW4MP
|
#define IW4MP
|
||||||
#endif
|
#endif
|
||||||
#ifndef IW4SP
|
#if !defined(IW4SP)
|
||||||
#define IW4SP
|
#define IW4SP
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(IW4MP)
|
||||||
|
#define BOUNCES_DVAR "bg_bounces"
|
||||||
|
#elif defined(IW4SP) || defined(IW5x)
|
||||||
|
#define BOUNCES_DVAR "pm_bounces"
|
||||||
|
#elif defined(IW5)
|
||||||
|
#define BOUNCES_DVAR "sv_enableBounces"
|
||||||
|
#else /* Some people from XLabs decided to be creative with the names */
|
||||||
|
#define BOUNCES_DVAR "pm_bouncing"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TRUE 1
|
#define TRUE 1
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
|
|
||||||
@ -37,6 +47,8 @@
|
|||||||
#define GENERIC_INIT \
|
#define GENERIC_INIT \
|
||||||
init() \
|
init() \
|
||||||
{ \
|
{ \
|
||||||
|
setDvar( BOUNCES_DVAR, 1 ); \
|
||||||
|
setDvar( "player_sustainAmmo", 1 ); \
|
||||||
thread onPlayerConnect(); \
|
thread onPlayerConnect(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +91,7 @@
|
|||||||
#define PRINT_FUNC_NAME print
|
#define PRINT_FUNC_NAME print
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _UTILITY_DEBUG
|
#if defined(_UTILITY_DEBUG)
|
||||||
#define _VERIFY(cond, msg) \
|
#define _VERIFY(cond, msg) \
|
||||||
assertEx( cond, msg )
|
assertEx( cond, msg )
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user