Want to help out?

Fortress Forever is visible source and developed by volunteers within the community. If you have the skill and desire to help move the project forward, you are more than welcome to contribute. We are always looking for more programmers, modelers/animators, texture artists, level designers, and more

Learn how →

Developer Journals

Developer Journal: squeek.

Posted 1 year ago Team Lead / Project Manager
I wrote a blog post about the technical details of rampsliding:

Rampsliding Is a Quake Engine Quirk in the Same Way That Bunnyhopping Is

Here’s a snippet:
The obvious assumption would be that [rampsliding] is an intentional feature that uses things like the slope of the surface and the player’s velocity to determine when a player is rampsliding, but that is not the case. In fact, in the same way that bunnyhopping was likely an unintentional quirk of the ‘air acceleration’ code, rampsliding was likely an unintentional quirk of the ‘categorize position’ code.

Discuss on the forums → View all developer journals

Activity

  • AdamWillden commented on issue fortressforever#379 ('Remove ternary expressions') 14 hours ago
  • AdamWillden closed without merging pull request fortressforever#379 ('Remove ternary expressions') 14 hours ago
  • squeek502 commented on issue fortressforever#379 ('Remove ternary expressions') 22 hours ago
  • AdamWillden converted_to_draft pull request fortressforever#379 ('Remove ternary expressions') 22 hours ago
  • AdamWillden commented on issue fortressforever#379 ('Remove ternary expressions') 23 hours ago
  • AdamWillden opened pull request fortressforever#379 ('Remove ternary expressions') 23 hours ago
  • AdamWillden created fortressforever:remove-ternary-expressions at ab7a73 (+2 new commits) 23 hours ago
    • c9e976 : 'Remove pointless ternary expressions'
    • ab7a73 : 'Remove inverted ternary expressions'
  • AdamWillden force-pushed fortressforever:elmos_hud_playground_zombie from 0adc91 to 84337c 1 day ago
    • cf91ce : 'FFQuantityItem: Update member accessibility'
    • 1b3a5f : 'FFQuantityItem: Reduce code duplication (clean code)'
    • b00e26 : 'FFQuantityItem: Reduce code complexity (clean code)'
    • a3cb90 : 'FFQuantityItem: Reduce nesting'
    • e5ecfb : 'FFQuantityItem: Remove needless booleans on private methods'
    • 6fd553 : 'FFQuantityItem: Invert default boolean value on public methods'
    • 32dc71 : 'FFQuantityItem: Reduce code duplication (clean code) - DrawText'
    • c4ad1b : 'FFQuantityItem: Swap arguments'
    • 6956a3 : 'FFQuantityItem: Simplify code'
    • 1e4efb : 'FFQuantityItem: Remove unnecessary member variables'
    • e8dc32 : 'FFQuantityItem: Consolidate style change checks'
    • bb827c : 'FFQuantityItem: Reduce and comment code'
    • 86f01f : 'FFQuantityItem: Remove needless calculations on ApplyScheme. I believe the scheme is applied long...'
    • 1a4694 : 'FFQuantityItem: Order switch statement following enum name & value'
    • 4dbc43 : 'FFQuantityItem: Reduce tick signal to once each second'
    • 5fab6a : 'FFQuantityPanel: Remove unused `OrientationMode` enum'
    • 80a43e : 'FFQuantityPanel: Reduce nesting'
    • e2e96b : 'FFQuantityPanel: Fix whitespace'
    • 28cf56 : 'FFQuantityPanel: Do not reserve space for disabled items'
    • 3aecdf : 'FFQuantityPanel: Remove redundant ternary expressions'
    • 0196f2 : 'FFQuantityPanel: Update member accessibility'
    • d77dae : 'FFQuantityPanel: Reduce duplication (clean code)'
    • 8e4fbc : 'temp'
    • 155c52 : 'FFQuantityPanel: Remove needless booleans from XXXXXXXXXXXXXXXXXXXXXXXX'
    • 8edd68 : 'FFQuantityPanel: Invert default boolean value on public methods'
    • 4fa25f : 'CHudBuildStateSentry: Fix hide level not respected when built'
    • e1e0c7 : 'CHudBuildStateSentry: Remove duplicate logic handled OnTick'
    • 5b1d95 : 'CHudBuildStateSentry: Drop unused paint override'
    • 4b8591 : 'CHudBuildStateSentry: Fix incorrect health display'
    • 0dba11 : 'AddQH'
    • 009155 : 'FFQuantityItem: Remove duplication reading style data'
    • 84337c : 'temp'
  • AdamWillden force-pushed fortressforever:elmos_hud_playground_zombie from 606c59 to 0adc91 2 days ago
    • e9a8a8 AdamWillden: 'Reverted the crosshairinfo stuff. Doing it a better way now so will reimplement it when ready.'
    • f6e87f AdamWillden: 'Committing before I fuck up what I want to do next. Paint is now much smaller. Most changes are now...'
    • 11e797 AdamWillden: 'quantity panels now auto-arrange the bars and auto-size them self. Works for all resolutions! :)...'
    • b3884d AdamWillden: 'Added missing hud stuff to 2003. hope it all works!. This is so dexter (& shok?) can help with the...'
    • fc0cd6 AdamWillden: 'missed shit from last commit'
    • eea959 AdamWillden: 'removing some cvars to avoid confusion...'
    • 84daee AdamWillden: 'fixed quite a few errors from copy paste-ing code. fixed screen positioning. Did some other shit -...'
    • 35b256 AdamWillden: 'few missed things'
    • ced737 AdamWillden: 'Added ability to size label,icon and amount text. Bar spacing is now applied before the first...'
    • ade71c AdamWillden: 'variable name change for the bar spacing and a few comments'
    • fefae3 AdamWillden: 'Moved and renamed ff_hud_quantitybar to be ff_quantitybar in the vgui folder like ff_quantitypanel....'
    • 82d3b7 AdamWillden: 'Missed from last commit, I could've sworn I did a global replace... Also for some reason the...'
    • 641384 AdamWillden: 'update to the quantity bar stuff before I finish and commit the new custom HUD options. Fixed a few...'
    • 2e6d3f AdamWillden: 'reverting a small change I made, gonna make it work differently when I've got the rest in.'
    • f127b4 AdamWillden: 'The beast that is Custom HUD Options stuff... updated:. client_scratch-2008.vcproj....'
    • c96b90 squeek502: 'Fixed buildstate dispenser icon showing the SG. Added support for per-level SG icons'
    • fd6798 AdamWillden: '- Changed some old bits of code to use FindKey instead of looping and matching. - Added option to...'
    • 0332e9 AdamWillden: '- Updated sentry and dispenser defaults. - Changed some ranges in options to sensible values (are...'
    • 1e8227 AdamWillden: 'Custom Hud Update. The positioning/alignment values moved out of the Arrangement tab into new tab....'
    • 3751ed AdamWillden: 'Made quantity panel use a dynamic array rather than a forced max of 6. Figured why not....'
    • 883c39 AdamWillden: 'Changed default global preset "Not built" text positioning'
    • a56e83 AdamWillden: 'removed a bug which were adding unnecessary keys to the assignment vdf when loading.'
    • d5f513 AdamWillden: 'Part 2... Revision: 12767. Message: Made quantity panel use a dynamic array.... removed...'
    • b7d26d AdamWillden: 'Fixing something I broke. Wouldn't load preset files properly'
    • 9ff70d AdamWillden: 'make this frame work please?? currently as far as I can tell it should work but it crashes the game...'
    • 86f2cb AdamWillden: 'white space and comments - nothing here'
    • 4b1382 AdamWillden: 'Squeek told me the fix to my frame problem. This is the fix but just wanted to commit it so there...'
    • 688dcd AdamWillden: 'Colour fade value needed clamping else colours go wrong.. this way it clamps to max val using a...'
    • 1fb21d AdamWillden: 'included my new panel in the code.. does nothing yet but wont hurt anything either!. # Conflicts:....'
    • 3d6135 AdamWillden: 'Stuff to make the crosshairs autoload again. tick signal in hud_crosshair runs until the crosshairs...'
    • b049e2 AdamWillden: '- Added "Save Default" buttons so people can edit the defaults without much trouble. - Made it so...'
    • e08163 AdamWillden: 'Missed a commit from the last one. detpack now sends the fuse time in its message...'
    • b9d09e AdamWillden: '- Changed the way panels hide themselves (long term problem fixed). - Previously couldn't hide...'
    • 8722db : 'check that a font has been loaded before trying to use it in CalculateTextAlignmentOffset'
    • d459c1 AdamWillden: 'Removed FF_BETA_TEST_COMPILE. # Conflicts:. # dlls/ff/ff_player.cpp'
    • 3a4221 AdamWillden: 'Changing tick signals. Previously every tick to every 100ms (good news for 33 tick and more so 100...'
    • 6ce6a2 AdamWillden: 'Both:. - Moved column to style preset from arrangement (makes more sense there for now)....'
    • 36c7a1 AdamWillden: 'Removed UseDefault checkboxes and added default to the dropdown box. Stopped users from naming new...'
    • 74a6ee squeek502: 'Reverting revisions 13278,13279; they were meant for a different branch'
    • 043e4a AdamWillden: 'Renamed OnUpdateCheckbox to OnUpdateCheckButton. Just to stop confusing me as to whether the...'
    • bb94a8 AdamWillden: 'Just removed a comment.'
    • b4e817 AdamWillden: 'Added comments to HiddenBits (HIDEHUD_NOTSCOUT etc.). Added HIDEHUD_ALWAYS so that I can use it to...'
    • 98a1ea AdamWillden: 'last bit of misc options localisation (don't know why I never submitted this):. - when option...'
    • 5067fe AdamWillden: 'no big changes... - Corrected wrongly named function. - Corrected an assert which didn't include...'
    • fab1e5 AdamWillden: 'Made getIntensityColor now GetIntensityColor'
    • 7c1b8a AdamWillden: 'Custom hud update. No point putting all changes in as there's so many. Added preview checkbox -...'
    • 1dc19a squeek502: 'Updated 2003/2005 client vcproj files with Elmo's custom hud changes. # Conflicts:....'
    • 98f037 AdamWillden: 'Custom hud stuff. - Added style info into the quantity panel base class rather than having the same...'
    • b92d8b : 'Solution: Fix PostBuild to respect %SteamPath% if already set'
    • f5acf3 : 'CFFCustomHudAssignPresets: Remove code duplication'
    • 277ab4 : 'Buildstates: Fix fallback text crash'
    • 97c055 : 'BuildStates: Fix inconsistent use of whitespace'
    • 71dc66 : 'Quantity: Rename constants to better indicate usage'
    • c07d8c : 'FFQuantityItem: Rename file to match type name `ff_quantitybar -> ff_quantityitem`'
    • b62535 : 'FFQuantityItem: Invert if statement to remove negation'
    • 5101e3 : 'FFQuantityItem: Fix bars not rendering when font is missing'
    • 669645 : 'FFQuantityItem: Fix whitespace'
    • eae756 : 'FFQuantityItem: Remove TODO comments'
    • 71dfc0 : 'FFQuantityItem: Remove unused methods'
    • 2d4b62 : 'FFQuantityItem: Remove redundant ternary expressions'
    • f8e81f : 'FFQuantityItem: Make private methods private'
    • 1c2e84 : 'FFQuantityItem: Reduce code duplication (clean code)'
    • ed85da : 'FFQuantityItem: Reduce code complexity (clean code)'
    • a179f8 : 'FFQuantityItem: Reduce nesting'
    • 4f6ba7 : 'FFQuantityItem: Remove needless booleans on private methods'
    • a8e1c6 : 'FFQuantityItem: Invert default boolean value on public methods'
    • 1dd788 : 'FFQuantityItem: Reduce code duplication (clean code) - DrawText'
    • 1e19b8 : 'FFQuantityItem: Swap arguments'
    • eb7481 : 'FFQuantityItem: Simplify code'
    • 0e7b35 : 'FFQuantityItem: Remove unnecessary member variables'
    • 08dc61 : 'FFQuantityItem: Consolidate style change checks'
    • 97ed95 : 'FFQuantityItem: Reduce and comment code'
    • 5e150c : 'FFQuantityItem: Remove needless calculations on ApplyScheme. I believe the scheme is applied long...'
    • 10d004 : 'FFQuantityItem: Order switch statement following enum name & value'
    • 4f462b : 'FFQuantityItem: Reduce tick signal to once each second'
    • dd1bb5 : 'FFQuantityPanel: Remove unused `OrientationMode` enum'
    • 5b724b : 'FFQuantityPanel: Reduce nesting'
    • 2c1fb6 : 'FFQuantityPanel: Fix whitespace'
    • 36a1cd : 'FFQuantityPanel: Do not reserve space for disabled items'
    • 021753 : 'CHudBuildStateSentry: Fix hide level not respected when built'
    • 006970 : 'CHudBuildStateSentry: Remove duplicate logic handled OnTick'
    • f57802 : 'CHudBuildStateSentry: Drop unused paint override'
    • 4b8deb : 'CHudBuildStateSentry: Fix incorrect health display'
    • 20b27b : 'AddQH'
    • 470ebd : 'FFQuantityItem: Remove duplication reading style data'
    • 0adc91 : 'temp'
  • AdamWillden pushed 1 commit to fortressforever:elmos_hud_playground_zombie 3 days ago
  • AdamWillden force-pushed fortressforever:elmos_hud_playground_zombie from 860aa0 to 9e50f2 4 days ago
    • 392aa4 AdamWillden: 'Committing before I fuck up what I want to do next. Paint is now much smaller. Most changes are now...'
    • a9321c AdamWillden: 'quantity panels now auto-arrange the bars and auto-size them self. Works for all resolutions! :)...'
    • fc90f3 AdamWillden: 'Added missing hud stuff to 2003. hope it all works!. This is so dexter (& shok?) can help with the...'
    • 2262f5 AdamWillden: 'missed shit from last commit'
    • a13f93 AdamWillden: 'removing some cvars to avoid confusion...'
    • 498af5 AdamWillden: 'fixed quite a few errors from copy paste-ing code. fixed screen positioning. Did some other shit -...'
    • 5496d5 AdamWillden: 'few missed things'
    • 45ae94 AdamWillden: 'Added ability to size label,icon and amount text. Bar spacing is now applied before the first...'
    • e69778 AdamWillden: 'variable name change for the bar spacing and a few comments'
    • 487232 AdamWillden: 'Moved and renamed ff_hud_quantitybar to be ff_quantitybar in the vgui folder like ff_quantitypanel....'
    • e39c05 AdamWillden: 'Missed from last commit, I could've sworn I did a global replace... Also for some reason the...'
    • f80649 AdamWillden: 'update to the quantity bar stuff before I finish and commit the new custom HUD options. Fixed a few...'
    • 9161c4 AdamWillden: 'reverting a small change I made, gonna make it work differently when I've got the rest in.'
    • bb1352 AdamWillden: 'The beast that is Custom HUD Options stuff... updated:. client_scratch-2008.vcproj....'
    • fdfacd squeek502: 'Fixed buildstate dispenser icon showing the SG. Added support for per-level SG icons'
    • dc5aa4 AdamWillden: '- Changed some old bits of code to use FindKey instead of looping and matching. - Added option to...'
    • eaa03a AdamWillden: '- Updated sentry and dispenser defaults. - Changed some ranges in options to sensible values (are...'
    • 8e3b01 AdamWillden: 'Custom Hud Update. The positioning/alignment values moved out of the Arrangement tab into new tab....'
    • 1ffdfa AdamWillden: 'Made quantity panel use a dynamic array rather than a forced max of 6. Figured why not....'
    • f7fe6b AdamWillden: 'Changed default global preset "Not built" text positioning'
    • 63162e AdamWillden: 'removed a bug which were adding unnecessary keys to the assignment vdf when loading.'
    • b59b1c AdamWillden: 'Part 2... Revision: 12767. Message: Made quantity panel use a dynamic array.... removed...'
    • 594b5f AdamWillden: 'Fixing something I broke. Wouldn't load preset files properly'
    • 9b02f9 AdamWillden: 'make this frame work please?? currently as far as I can tell it should work but it crashes the game...'
    • 115730 AdamWillden: 'white space and comments - nothing here'
    • ed13ce AdamWillden: 'Squeek told me the fix to my frame problem. This is the fix but just wanted to commit it so there...'
    • 573832 AdamWillden: 'Colour fade value needed clamping else colours go wrong.. this way it clamps to max val using a...'
    • 2786b4 AdamWillden: 'included my new panel in the code.. does nothing yet but wont hurt anything either!. # Conflicts:....'
    • 7501e0 AdamWillden: 'Stuff to make the crosshairs autoload again. tick signal in hud_crosshair runs until the crosshairs...'
    • 309f70 AdamWillden: '- Added "Save Default" buttons so people can edit the defaults without much trouble. - Made it so...'
    • 999d60 AdamWillden: 'Missed a commit from the last one. detpack now sends the fuse time in its message...'
    • feab45 AdamWillden: '- Changed the way panels hide themselves (long term problem fixed). - Previously couldn't hide...'
    • c6eaef : 'check that a font has been loaded before trying to use it in CalculateTextAlignmentOffset'
    • 12a363 AdamWillden: 'Removed FF_BETA_TEST_COMPILE. # Conflicts:. # dlls/ff/ff_player.cpp'
    • e0fffd AdamWillden: 'Changing tick signals. Previously every tick to every 100ms (good news for 33 tick and more so 100...'
    • c01610 AdamWillden: 'Both:. - Moved column to style preset from arrangement (makes more sense there for now)....'
    • bd4c62 AdamWillden: 'Removed UseDefault checkboxes and added default to the dropdown box. Stopped users from naming new...'
    • 5f933a squeek502: 'Reverting revisions 13278,13279; they were meant for a different branch'
    • 6378a0 AdamWillden: 'Renamed OnUpdateCheckbox to OnUpdateCheckButton. Just to stop confusing me as to whether the...'
    • 59f207 AdamWillden: 'Just removed a comment.'
    • 80526c AdamWillden: 'Added comments to HiddenBits (HIDEHUD_NOTSCOUT etc.). Added HIDEHUD_ALWAYS so that I can use it to...'
    • 51d895 AdamWillden: 'last bit of misc options localisation (don't know why I never submitted this):. - when option...'
    • 3f37b3 AdamWillden: 'no big changes... - Corrected wrongly named function. - Corrected an assert which didn't include...'
    • 5ea359 AdamWillden: 'Made getIntensityColor now GetIntensityColor'
    • ebcc04 AdamWillden: 'Custom hud update. No point putting all changes in as there's so many. Added preview checkbox -...'
    • 27e049 squeek502: 'Updated 2003/2005 client vcproj files with Elmo's custom hud changes. # Conflicts:....'
    • a0677d AdamWillden: 'Custom hud stuff. - Added style info into the quantity panel base class rather than having the same...'
    • 908707 : 'Solution: Fix PostBuild to respect %SteamPath% if already set'
    • af83e0 : 'CFFCustomHudAssignPresets: Remove code duplication'
    • dc0335 : 'Buildstates: Fix fallback text crash'
    • f0114f : 'BuildStates: Fix inconsistent use of whitespace'
    • 44027a : 'Quantity: Rename constants to better indicate usage'
    • 4db43a : 'FFQuantityItem: Rename file to match type name `ff_quantitybar -> ff_quantityitem`'
    • 042ddf : 'FFQuantityItem: Invert if statement to remove negation'
    • fef796 : 'FFQuantityItem: Fix bars not rendering when font is missing'
    • ab7a47 : 'FFQuantityItem: Fix whitespace'
    • 91f910 : 'FFQuantityItem: Remove TODO comments'
    • 3fb432 : 'FFQuantityItem: Remove unused methods'
    • a7776c : 'FFQuantityItem: Remove redundant ternary expressions'
    • af9927 : 'FFQuantityItem: Make private methods private'
    • 7f77d5 : 'FFQuantityItem: Reduce code duplication (clean code)'
    • 448b55 : 'FFQuantityItem: Reduce code complexity (clean code)'
    • 19cbab : 'FFQuantityItem: Reduce nesting'
    • 58f175 : 'FFQuantityItem: Remove needless booleans on private methods'
    • 4216bb : 'FFQuantityItem: Invert default boolean value on public methods'
    • 29854f : 'FFQuantityItem: Reduce code duplication (clean code) - DrawText'
    • 3d4832 : 'FFQuantityItem: Swap arguments'
    • 6cdcf5 : 'FFQuantityItem: Simplify code'
    • dcdec3 : 'FFQuantityItem: Remove unnecessary member variables'
    • b8f788 : 'FFQuantityItem: Consolidate style change checks'
    • 0dfd13 : 'FFQuantityItem: Reduce and comment code'
    • e0e639 : 'FFQuantityItem: Remove needless calculations on ApplyScheme. I believe the scheme is applied long...'
    • f1a5d9 : 'FFQuantityItem: Order switch statement following enum name & value'
    • 6d7b86 : 'FFQuantityItem: Reduce tick signal to once each second'
    • bbccab : 'FFQuantityPanel: Remove unused `OrientationMode` enum'
    • 0d2955 : 'FFQuantityPanel: Reduce nesting'
    • 37d9fc : 'FFQuantityPanel: Fix whitespace'
    • 186b1d : 'FFQuantityPanel: Do not reserve space for disabled items'
    • 77c732 : 'CHudBuildStateSentry: Fix hide level not respected when built'
    • c9840e : 'CHudBuildStateSentry: Remove duplicate logic handled OnTick'
    • 9ee234 : 'CHudBuildStateSentry: Drop unused paint override'
    • 9e50f2 : 'CHudBuildStateSentry: Fix incorrect health display'
  • AdamWillden force-pushed fortressforever:elmos_hud_playground_zombie from 35f133 to 860aa0 4 days ago
    • 7056fa : 'Solution: Fix PostBuild to respect %SteamPath% if already set'
    • 2db878 : 'CFFCustomHudAssignPresets: Remove code duplication'
    • 0ecd99 : 'Buildstates: Fix fallback text crash'
    • f702fb : 'BuildStates: Fix inconsistent use of whitespace'
    • 1eecee : 'Quantity: Rename constants to better indicate usage'
    • 3fba1d : 'FFQuantityItem: Rename file to match type name `ff_quantitybar -> ff_quantityitem`'
    • bb17bc : 'FFQuantityItem: Invert if statement to remove negation'
    • c1ec61 : 'FFQuantityItem: Fix bars not rendering when font is missing'
    • bbe5b4 : 'FFQuantityItem: Fix whitespace'
    • c9e870 : 'FFQuantityItem: Remove TODO comments'
    • 374755 : 'FFQuantityItem: Remove unused methods'
    • 5855a5 : 'FFQuantityItem: Remove redundant ternary expressions'
    • d06892 : 'FFQuantityItem: Make private methods private'
    • ac02ae : 'FFQuantityItem: Reduce code duplication (clean code)'
    • 30b896 : 'FFQuantityItem: Reduce code complexity (clean code)'
    • 142600 : 'FFQuantityItem: Reduce nesting'
    • a67c35 : 'FFQuantityItem: Remove needless booleans on private methods'
    • 944b5e : 'FFQuantityItem: Invert default boolean value on public methods'
    • 0a4c2a : 'FFQuantityItem: Reduce code duplication (clean code) - DrawText'
    • 3061bd : 'FFQuantityItem: Swap arguments'
    • 100f45 : 'FFQuantityItem: Simplify code'
    • 428971 : 'FFQuantityItem: Remove unnecessary member variables'
    • 78a362 : 'FFQuantityItem: Consolidate style change checks'
    • 286f76 : 'FFQuantityItem: Reduce and comment code'
    • 7f1162 : 'FFQuantityItem: Remove needless calculations on ApplyScheme. I believe the scheme is applied long...'
    • 2ab335 : 'FFQuantityItem: Order switch statement following enum name & value'
    • e8ae76 : 'FFQuantityItem: Reduce tick signal to once each second'
    • f8f046 : 'FFQuantityPanel: Remove unused `OrientationMode` enum'
    • 70441f : 'FFQuantityPanel: Reduce nesting'
    • ea90dc : 'FFQuantityPanel: Fix whitespace'
    • 7e2297 : 'FFQuantityPanel: Do not reserve space for disabled items'
    • 3c28f2 : 'CHudBuildStateSentry: Fix hide level not respected when built'
    • 3579cf : 'CHudBuildStateSentry: Remove duplicate logic handled OnTick'
    • f4df1c : 'CHudBuildStateSentry: Drop unused paint override'
    • 860aa0 : 'CHudBuildStateSentry: Fix incorrect health display'
  • AdamWillden pushed 1 commit to fortressforever:elmos_hud_playground_zombie 5 days ago
    • 35f133 : 'FFQuantityItem: Order switch following enum name & value'
See more →