OpenQuake3 / defrag

Opensource Defrag | osdf
GNU General Public License v2.0
1 stars 2 forks source link

[milestone: 0.2.0] CPM and Physics selection #4

Closed heysokam closed 7 months ago

heysokam commented 7 months ago

Note: Backport from the original markdown todo list

todo

  • [x] Physics type Selection (phy_movetype NUMBER :: 0=CPM, 3=VQ3, 1:Q1-ag)
  • [x] Full cpm strafing (double jumps, slick and other specific mechanics)
  • [x] Full CPM weapons
  • [x] Instant weapon switch
  • [x] Rocket Launcher speed increased from 900 to 1000
  • [x] Rocket Launcher knockback increased from 1 to 1.2
  • [x] Item pickup size increased (from 36 to 66)
  • [x] CPMA changes: Need side-by-side comparison of csdf-cpm and osdf-cpm
  • [x] (false) Shotgun damage decreased from 10 to 7
  • [x] (false) Shotgun spread increased from 700 to 900
  • [x] (false) Shotgun knockback increased from 1 to 1.35
  • [x] (false) Plasma Gun damage reduced from 20 to 15
  • [x] (false) Plasma Gun knockback reduced from 1 to 0.5
  • [x] (false) Grenade Launcher reload reduced from 800 to 600
  • [x] (false) Gauntlet knockback changed from 1 to 0.5
  • [x] (false) Machine Gun damage changed from 7 to 5
  • [x] (false) Lightning Gun knockback increased from 1 to 1.55
  • [x] (false) Railgun cooldown decreased from 1500 to 1000 for weapon switch
  • [x] no-ob
  • [x] Rough implementation (cvar phy_overbounce_scale = 1.000f) //TODO Code is created. cvar is currently disconnected
  • [x] Robust fix for random overbounces only, while keeping the good ones.

Patchnotes

# v0.2.5b
2022.09.03
fix : Cursor shader for the new ui is no longer broken
chg : Extended the content of `docs/contribute.md`. Including PR, Rebasing, Commit style, Guidelines, etc
new : Added file `docs/bugs.md` to keep a todo list of user bug reports
new : Added function `isEmpty()` to the `build/linux/helper.py` tools script
new : Added function `Pk3CreateAll()` to the `build/linux/helper.py` tools script
new : Initial Main Menu UI layout, background and theme
chg : Added `game/mod-info.h` file. For defining mod info defines (version, license, name, etc)
chg : Removed Quake3 3D banner from the menu. TODO: Cleanup code. Only commented the line where its added to the scene.
# v0.2.5
## 2022.09.02
chg : CPM Item Pickup: Above size increased from 36u (32u doesn't trigger) to 66 (62u doesn't trigger)  
new : Added verbose switch `-v` to the build/linux/build.py file
chg : Renamed `COMPILE_` to `CURRENT_` in the file build/linux/Makefile
fix : Reverted COMPILE_PLATFORM changes to the makefile. Automated buildscript now uses PLATFORM instead (as it was intended. compile_platform actually means current_platform)
fix : .clang-format file no longer breaks the whole project due to include sorting
fix : .clang-format file no longer breaks the formatting of array tables (cvar tables, command lists, etc)
fix : .clang-format file no longer packs single-instruction functions into one line when they fit the line-width
fix : .clang-format file now aligns variable declarations, like id-Tech3 does
chg : cg_drawSpeed now defaults to 1
chg : Bob cvars now default to 0
chg : Updated project's readme, to better represent its goals.  
chg : Moved `win32-qvm` into the deprecated subfolder, and added readme explaining the reasons to move away from qvm.  

## 2022.09.01
new : Added python buildscript helper in `build/linux`. For automatic building/packing of releases. Multiplatform, but currently depends on the Makefile
new : Buildscript creates and zips both platform binaries  
new : Added basic buildsystem instructions (sketch)  
new : (cfg) New osdf-visual.cfg file, with some modern/saner visual config defaults. Loads from autoexec.cfg
new : (cfg) Added the autoexec.cfg file that will be distributed with the mod
... : (cfg) VM configuration disables QVM loading (vm_cgame 0, vm_game 0, vm_ui 0)  
... : (cfg) Server Pure is deactivated, to allow Library Loading (sv_pure 0)  
chg : Changed default pmove_fixed value to 1. It doesn't need to be changed by cfg to work correctly.  
new : (cfg) Added the description.txt file that will be distributed with the mod

## 2022.08.31
chg : moved b3a speedmeter closer to the center of the screen
... : changed `cg_drawSpeed 2` to mean `not centered`
... : removed "ups" from the string
chg : Default cg_fov from 90 to 105
chg : com_blood and cg_gibs now default to 0
new : Math function: VectorMAM
new : phy_movetype cvars for cg_ and g_
new : Added surface type SURF_NOOB, to support the OBfix code ported from osdf-gpl
new : Added STAT_TIME_LASTJUMP to the pm_stats enum, to support jump timer control
new : New file bg_pmove.h, contains declarations needed in bg_phy
chg : Changed the codeflow at the end of Pmove() from PmoveSingle to phy_PmoveSingle
new : Added code/game/bg_phy files, for storing custom movement functions outside of bg_pmove.c
new : Added Lumia's LLVM based clang-format file to the project. Changed its linewidth to 160, to not break q3 code standards
new : Added a simple nimscript compiling script, for automated building for both platforms (win/lnx x64)
chg : Added ifndef guard to COMPILE_FLAGS in the linux makefile, to allow cross compiling from cli arguments
fix : `ED_vsprintf()`: Changed all calls to `va_arg` that contained `char` type, into `int` instead, to fix the compiler correcting undefined behavior on native (-Wvarargs)
... : First build of the code didn't launch with native libraries. Had to fix this char promotion bug to make it launch
# v0.2.0-r0
## 2022.06.21
new : OBfix. Applied on SURF_NOOB surfaces (cvar to be done)
chg : bg_pmove restructure. Moved all custom code to phy/ subfolder

## 2022.06.20
new : Initial work on Strafehud porting. Not connected, but doesn't break compiling
chg : (VJK) Changed jumpvel from 225 to default vq3 (270), to allow easier clearing of defrag maps
fix : (Q1) "Stepdown" bug is fixed (wasn't stepdown, it was q1 downramp behavior happening on incorrect dotproduct)
fix : (Q1) W/S movement working properly in q1 physics  
fix : (Q1) Crouch works again in q1 physics  
fix : (Q1) Surf ramps no longer stick you to the ramp on exit
new : (Q1) Variable Jump Heights. Activated with +speed. 
... :      Flatground = x0.5 jumpvel
... :      Downramps behave like q1 (additive, based on your current Zvel)
... : (code) VectorReflectOS. Sets backoff = 0 when facing away from the surface

## 2022.06.18
chg : CPM Item Pickup: Above size increased from 36u (32u doesn't trigger) to 66 (62u doesn't trigger)  
new : VJK physics. VQ3 with 4airaccel, 12groundspeed, 250speed and 225jumpvel. `/exec phy_vjk`  
chg : Moved all custom bg_pmove.c code into subfolder sgame/phy/  (not connected to the buildsystem yet)   
new : Added basic buildsystem instructions (sketch)  
... : Added Native windows build instructions for the `chocolatey/mingw` method  
... : Added disclaimer for WSL cross-compilation  
new : Initial edits to the buildsystem for native windows compilation  
... : Fixed native win32 SCons environment resolution  
... : Changed file path resolution, so that it remains system-agnostic (uses SCons Nodes wherever possible)  

## 2022.06.11
fix : CPM Rocket Launcher: Vertical self knockback scaling reduced to 1  

## 2022.06.10  
new : (cfg) VM configuration disables QVM loading (vm_cgame 0, vm_game 0, vm_ui 0)  
new : (cfg) Server Pure is deactivated, to allow Library Loading (sv_pure 0)  
new : Buildsystem ported to SCons. No longer uses make  
... : Buildsystem handles Cross-Compiling for both win/lnx  
... : Libraries are not packed in a .pk3 (they don't work from inside one)  
... : Buildscript creates and zips both platform binaries  
new : Custom fork of oDFe. Loads osdf mod directly
rmv : Removed bash shell script for launching the mod (was system dependent)  
chg : CPM Rocket Launcher: Self knockback increased to 1.2  
fix : /cpm and /vq3 commands now work with osdf

## 2022.05.10  
rmv : Removed bash shell script used for automating the build process. Temporarily stored in `+` subfolder, but will be deleted.
new : Linux automated build script has been fully rewritten in nimscript (bash becomes {cr}ypt!$C real fast)  
chg : The build system no longer compiles into QVM by default. It creates Dynamic Libraries instead.  
dep : This mod will no longer support the QVM architecture moving forward. Incoming features will make the mod fully incompatible with QVM compilation  
# 0.2.0-r0 (sdk)
## 2022.06.21  
new : OBfix. Applied on SURF_NOOB surfaces (cvar to be done)
chg : bg_pmove restructure. Moved all custom code to bg_phy.* files
new : (code) VectorReflectOS. Sets backoff = 0 when facing away from the surface
heysokam commented 7 months ago

Completed with 7d3e143