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
Patchnotes