diff --git a/config/menus_settings.cfg b/config/menus_settings.cfg index fc3710eb..5b038604 100644 --- a/config/menus_settings.cfg +++ b/config/menus_settings.cfg @@ -286,6 +286,7 @@ menuitem [] -1 menuitemslider [Crosshair size: ] 0 50 "$crosshairsize" 5 [] [ crosshairsize $arg1 ] menuitem [Change crosshair... ] [ showmenu Crosshairs ] menuitem [Change scope crosshair... ] [ showmenu [Scope crosshairs] ] +menuitem [Change crosshair in edit mode... ] [ showmenu [Edit mode crosshairs] ] newmenu Crosshairs menudirlist "packages/crosshairs" png [ loadcrosshair default (concatword $arg1 .png) ] 1 @@ -293,6 +294,9 @@ menudirlist "packages/crosshairs" png [ loadcrosshair default (concatword $arg1 newmenu [Scope crosshairs] menudirlist "packages/crosshairs" png [ loadcrosshair scope (concatword $arg1 .png) ] 1 +newmenu [Edit mode crosshairs] +menudirlist "packages/crosshairs" png [ loadcrosshair edit (concatword $arg1 .png) ] 1 + newmenu [Alternate edit binds] menuitem [Back] [ closecurmenu ] menuitem [Click to use alternate edit binds] [ exec config/opt/alternateeditbinds.cfg; closecurmenu ] [ echo (red) See config/opt/alternateeditbinds.cfg ] diff --git a/source/src/main.cpp b/source/src/main.cpp index d73a9bad..cc44025a 100644 --- a/source/src/main.cpp +++ b/source/src/main.cpp @@ -1094,6 +1094,7 @@ int main(int argc, char **argv) crosshairnames[CROSSHAIR_DEFAULT] = "default"; crosshairnames[CROSSHAIR_TEAMMATE] = "teammate"; crosshairnames[CROSSHAIR_SCOPE] = "scope"; + crosshairnames[CROSSHAIR_EDIT] = "edit"; crosshairnames[CROSSHAIR_NUM] = gunnames[NUMGUNS] = ""; pushscontext(IEXC_CFG); diff --git a/source/src/protos.h b/source/src/protos.h index 19639512..863f3025 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -320,6 +320,7 @@ enum CROSSHAIR_DEFAULT = NUMGUNS, CROSSHAIR_TEAMMATE, CROSSHAIR_SCOPE, + CROSSHAIR_EDIT, CROSSHAIR_NUM }; diff --git a/source/src/weapon.cpp b/source/src/weapon.cpp index ad46e0f3..c3163858 100644 --- a/source/src/weapon.cpp +++ b/source/src/weapon.cpp @@ -923,7 +923,11 @@ void weapon::onselecting() } void weapon::renderhudmodel() { renderhudmodel(owner->lastaction); } -void weapon::renderaimhelp(bool teamwarning) { drawcrosshair(owner, teamwarning ? CROSSHAIR_TEAMMATE : owner->weaponsel->type); } +void weapon::renderaimhelp(bool teamwarning) +{ + if(!editmode) drawcrosshair(owner, teamwarning ? CROSSHAIR_TEAMMATE : owner->weaponsel->type); + else drawcrosshair(owner, CROSSHAIR_EDIT); +} int weapon::dynspread() { return info.spread; } float weapon::dynrecoil() { return info.recoil; } bool weapon::selectable() { return this != owner->weaponsel && owner->state == CS_ALIVE && !owner->weaponchanging; } @@ -1372,7 +1376,11 @@ void sniperrifle::renderhudmodel() { if(!scoped) weapon::renderhudmodel(); } void sniperrifle::renderaimhelp(bool teamwarning) { if(scoped) drawscope(); - if(scoped || teamwarning) drawcrosshair(owner, teamwarning ? CROSSHAIR_TEAMMATE : CROSSHAIR_SCOPE, NULL, 24.0f); + if(!editmode) + { + if(scoped || teamwarning) drawcrosshair(owner, teamwarning ? CROSSHAIR_TEAMMATE : CROSSHAIR_SCOPE, NULL, 24.0f); + } + else drawcrosshair(owner, CROSSHAIR_EDIT); } void sniperrifle::setscope(bool enable)