Skip to content

Implement pmove player physics statuses to be similar to BFP, instant character change, auras, trails, block, melee, short-range teleportation, powerlevels, ultimate tier transformation, camera view, func_breakable, enhanced menus, explosions and particles...#11

Closed
LegendaryGuard wants to merge 374 commits into
mainfrom
pmove_player_status

Conversation

@LegendaryGuard

Copy link
Copy Markdown
Owner

NOT FINISHED

  • Attacksets to load player models and set in the weapon system
  • Skin and Weapon system

Big CHANGELOG

  • Balanced player pmove physics
  • Player pmove anims
  • Hit stun
  • Auras
  • Beam trails
  • Ki trails
  • New missile trails (cg_oldRocket can be enabled to disable these new trails)
  • Particles
  • New particles option (cg_3dparticles)
  • Block
  • Melee
  • Explosions
  • Powerlevels
  • Ultimate tier transformation
  • Short-range teleportation
  • Instant character change
  • Camera view fixes
  • Beam struggle
  • Bots behavior
  • func_breakable map entity
  • No ammo items, health items, flight, haste and regen powerup items from the game (all of them permanently disabled in-game, also disable weapon items from spawnpoints and from dropping after death)
  • Changed networking bits
  • Fly tilt roll correctly implemented (cg_flytilt)
  • Blinding flash: blinds opponents during 6 seconds and they can be attacked from blindness again after 4 seconds
  • GRAPPLINGHOOK weapon is treated as beam to test
  • PLASMA weapon is treated as rdmissile to test
  • BFG weapon is treated as homing and piercing disk to test
  • RAILGUN weapon attack uses old rail effect (from 1st Q3 point release) and it's explosive when collides (impacts like a projectile)
  • g_noFlight, g_meleeOnly, g_chargeDelay, g_flightCost, g_flightCostPct, g_kiRegen, g_kiRegenPct, g_kiCharge, g_kiChargePct, g_boostCost, g_boostCostPct, g_blockCost, g_blockCostPct and g_allowSpectatorChat cvars
  • Dynamic explosion lights are restored (historically, this option was broken/removed unknowingly after RC - beta release)
  • Particle aura is almost implemented, origin position is correctly set to the player
  • Sprite aura (not finished as the original BFP left it unimplemented, but it works identically)
  • Survival gamemode (g_gametype 3)
  • Monster gamemode (g_gametype 4), includes g_monster cvar to enable the old gamemode style from RC versions
  • Team Last Man Standing gamemode (g_gametype 6)
  • Added docs about original BFP networking, bfp_attacksets.cfg and bfp_weapon.cfg
  • Improved documentations
  • Completed cvars task, docs like cmds and cvars have been removed
  • Enhanced BFP_OPTIONS menu (Big explosions and Dynamic explosion lights options are added, particle and sprite aura too)
  • SERVER INFO (info is visible now) and DRIVER INFO menus have pagination
  • CONTROLS menu player animation fixes
  • New journal docs (also dev journal docs are moved into old_dev_journals directory)
  • README badges
  • Updated GitHub workflows, now uses matrix strategy
  • Added MSVC 2005 solution
  • C11 or newer support (added on game/q_shared.h to define ID_INLINE on this case)
  • Most of compiler warnings are fixed/removed
  • Correct GPL version

And more additional changes, you can look the differences here

…on RC/beta versions), add explosion smoke and ring options and upgrade BFP OPTIONS menu by dividing it into 3 sections to prevent options from going off the screen
…d some tweaks. Prevent player's head from tilting when that happens
- Apply braking when flying to prevent slow friction movement
- Handle flight and ki boost jumping from the ground correctly to avoid jittering
- Increase jump velocity to 600 (from 270, Q3 default) and ki boost jumping speed to 1100 (same as original BFP)
- Apply left and right water jumping movements (still needs tweaking)
- Apply fly tilt on ki boost in viewangles roll and make move a bit down
- Apply ki boost speed on PM_AirMove, PM_WalkMove, and PM_FlyMove instead of pm->ps->speed from g_active.c
- Avoid displaying shooting effects (from lightning weapon)
- Apply near ground tracing value at -95 to match original BFP
- Fix jittering issues when starting to fly from the ground and using ki boost
- Fix ki explosion wave weapon state when it's still on while changing weapon
- Add WP_GAUNTLET in weapon states for testing purposes
- Handle attack preparation when respawning
- Disable trap_SnapVector when timescale is less than 0 to prevent continuous movement without braking
…ring on these statuses or pressing the buttons if these are enabled, apply NO FLIGHT and MELEE ONLY messages on loading map info and add them in the vote commands
…w PMF flag, apply ki boost speed while moving underwater, apply beam firing status avoiding the use of ki boost speed and apply a bit of low descent speed using ki boost on the flight and don't apply when going up. Fix jittering movement on flight with flight key and jumping on the air when the player wasn't on the ground before - new PMF flag, apply fall on ki explosion wave status even when the player is flying. Move g_noFlight cvar handling near to g_meleeOnly cvar handling
…beams reaches their lifetime limit or are stopped by the player actions
… charging status, even while moving. Disable plasma trail and fix small own aura on shader aura feature
…e jumping (removes Q3 defrag), jump from slopes without backoffs, reduce drastically the speed when charging ki, change wished speed rate when using ki boost while running or walking, and remove unnecessary wished speed handling on PM_AirMove
- No water speed slowness, no swim scale is applied
- Add more air and water acceleration to handle user movement intentions
- Don't apply flight underwater
- Add more water jump vertical velocity
- Don't auto-jump into some water spot without pressing directional keys and optimize the checking of a water spot into a function
- Fix underwater animation handling when waterlevel is higher than 2
- Handle user movement intentions when using ki boost underwater
- Add more speed when running on ground with ki boost
- Disable stuck check, it doesn't make sense, originally BFP used jumping animation when the player is stuck or pretty near to something solid, the reason is still unknown though
- Add control to handle user movement intentions when jumping off the ground. This is where strafe or defrag is removed
- Add more ki boost forward/backward and left/right speed when jumping off from a slope
- Fix bad animation when jumping off water
- Add footsplash sound event when the player is jumping off water surface
- Add user movement intentions when jumping off water surface
- Fix flight start with stun status
…r while charging ki. Adjust correctly the sparks particle explosion and add more speed on debris particle explosion. Fix spawned particle positions when stepping a mover/platform that moves
…ntions. Replace macros with static functions to improve optimization and reduce binary size
…movements (this task has been renamed) as done and rename gametype 4 - 'oozaru' to 'monster', it was mean to be renamed in the last version
…e ki trail time and remove ki trail length minimum limit in the conditionals
…ns when using 'give all' cheat command. Set 10000 ki when using 'give all'. Change the order of WP_KI bit and fix stunned status when trying to jump and going up underwater
…issileDuration, missileGravity, missileAcceleration, bounces, bounceFriction, noZBounce, randXOffset, randYOffset, alternatingXOffset, coneOfFireX and coneOfFireY. Remove unnecessary PMF_KI_ATTACK flag, move kiChargePoints to gentity_t struct, restructure blinding properties in gentity_t struct, and refactor dividing ki ball to splitting ki ball words
…age, maxExpRadius, chargeRadiusMult, chargeDamageMult, chargeExpRadiusMult, priority and extraKnockback. Tweak knockback in G_Damage, add a bit of upward velocity while jumping with ki boost and correct the use of WP_GAUNTLET as hitscan weapon. Simplify G_Homing and G_Piercing code. Apply some weapon properties in the weapons to simulate the feel of weapon config. Apply damage calculation in beam struggle, so it doesn't calculate per ki charge points, only the one who has more damage pushes more than the other. Fix ki boost consumption while stunned by using forcefield
…ly when spawning on ground, make spark particles more stretched and sharper, and refactor EV_BEAM_STRUGGLE to EV_SPARK and P_BEAMSTRUGGLE_SPARK to P_SPARK
…bfp_weapon.cfg, correct G_Piercing radius function code, adjust maximum knockback and fix beam weapon state when trying to shot again at the same time
…s, fix weaponTime for splitting ki ball after exploding/splitting and tweak most of weapon features code to avoid entity null references
…ote in the struct and remove machine gun conditional in the blinding feature
…mWeaponTime, kiCostAsPct, kiPct, kiCost, chargeAttack, chargeAutoFire, minCharge, maxCharge, loopingAnim, noAttackAnim, railTrail and movementPenalty. Charging, beam firing, explosive wave and splitting ki ball firing weapon states are reduced into WEAPON_ACTIVE. Apply chargeSound and firingSound to the weapons, add charge shader on WP_PLASMAGUN for testing purposes, and adjust correctly weapon/attacks sounds. In some parts of code, chargeAutoFire is being used as testing variable to handle the attacks, saved for bfp_weapon.cfg implementation. Fix forcefield client->hook out of inuse while being damaged by the beam of the opponent inside forcefield
…other task of weapon properties done, fix mispelling on Hardcore word and add explanation about rdmissile with chargeAutoFire
…pe, it doesn't detonate and fires correctly. Fix when kiCost is 0 or less and when kiPct is more than 1. When using chargeSound, don't use EF_FIRING flag in this conditional. Add explanation about beam with chargeAutoFire and about disabling missile trails by setting cg_oldRocket 1
…place 'modded' cfgs to original ones and tidy up the differences per category
…g_stfu cvar for fire and charge voices. Set chargeAttack in WEAPON_READY weaponTime correctly. Set kiCost for sbeam initially and don't play sound in WEAPON_ACTIVE using beam with chargeAutoFire. Change ki charge points STAT_KI_CHARGE_ATTACK networking to generic1, so that way the other clients can see what's going on with the other user' status. Set G_DetonateMissile for rdmissile attack types. Set integer attack type conditionals for projectiles for better optimization. Fix player not doing a fly-jumping while on ground due to a bad conditional of forcefield. Change notes in bg_public.h. Disable unused functions, variables, weapon and hands model stuff
… tasks and tweak a bit. Remove bindlist, cmdlist, cvarlist and cvar task list docs, that's already done
…ile function, apply rdmissile logical ki charge points splitting, make every missile trail with rainbow different from others, add more vertical jumping for player monster and, tweak its own speed and step slide movement. Make selected ki attack visible for spectators to see what attack are players using. Don't play select weapon sound to other players and spectators who follow others, only the player itself, keep legs visible while being near to the camera, don't play fall pain sounds if dead, don't use ki charge and ki use keys if dead, initialize missile trail shader correctly, use zanzoken when it's 3000 or below, adjust railgun damage, fix bubble particles rotating their angles, fix missile collision on sinking corpses, fix rdmissile still not splitted up while a beam with higher priority break it leaving the rdmissile owner unable to change or shoot with their attacks, now bots should be able to join on team gamemodes, make bots be able to use zanzoken, fix hitstun reducing ki while using BUTTON_KI_USE key, don't play enable flight sound if g_noFlight is enabled and don't use melee on hit stun status
…ds correctly and pick up items with its bounding box. Adjust teleporter use for player monster to avoid being stuck in most maps, note: it doesn't guarantee for all maps
@LegendaryGuard LegendaryGuard added documentation Improvements or additions to documentation enhancement New feature or request implementation Implementation of a feature labels Jul 25, 2026
…est, change 1000 to 1200 for explosion sphere scale lifetime, replace WP_KI to STAT_KI, replace EF_BOUNCE and EF_BOUNCE_HALF eFlags to bounces qboolean variable from gentity_t struct, fix make CD key UI prevalidation accept uppercase, fix deformed flash model, remove PW_BATTLESUIT and PW_INVIS from powerups networking and remove weapon item visuals at loading screen
@LegendaryGuard

Copy link
Copy Markdown
Owner Author

Rebased in another way, GitHub doesn't allow more than 100 commits to rebase a PR like this.

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 implementation Implementation of a feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant