From 476b79cd8c675d06517c8f52d35453dee9f24a43 Mon Sep 17 00:00:00 2001 From: blackhc Date: Thu, 14 Apr 2005 17:44:12 +0000 Subject: [PATCH] -Added Nex_Action_ResetData to options.qm. -Fixed a bug in Item_DataLink_ClampedValue. -Fixed a bug in _IDNK_Reset. -Added default values to key.menu -Added 'Reset' buttons to all options windows and 'Weapon Settings' and 'Game Settings' in creategame/. git-svn-id: svn://svn.icculus.org/nexuiz/trunk@362 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- scmenu/creategame/game.menu | 8 ++++ scmenu/creategame/weapon.menu | 8 ++++ scmenu/data/key.menu | 61 +++++++++++++++++++---------- scmenu/data/video.menu | 1 + scmenu/options/effects.menu | 8 ++++ scmenu/options/input.menu | 10 ++++- scmenu/options/key.menu | 10 ++++- scmenu/options/player.menu | 6 +++ scmenu/options/sound.menu | 8 ++++ scmenu/options/video.menu | 6 +++ scmenu/source/control/data/value.qc | 4 +- scmenu/source/custom/key.qc | 6 +-- scmenu/source/custom/option.qm | 21 ++++++++++ 13 files changed, 129 insertions(+), 28 deletions(-) diff --git a/scmenu/creategame/game.menu b/scmenu/creategame/game.menu index 6d57080f8..7f6ddc9f4 100644 --- a/scmenu/creategame/game.menu +++ b/scmenu/creategame/game.menu @@ -97,4 +97,12 @@ Item Layout Game text "Player Accelerate" target "Data::Game::Accelerate::Text" } + Derive Nex_Line Seperator + {} + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Game" + } } diff --git a/scmenu/creategame/weapon.menu b/scmenu/creategame/weapon.menu index 95c7ee910..66f907235 100644 --- a/scmenu/creategame/weapon.menu +++ b/scmenu/creategame/weapon.menu @@ -276,5 +276,13 @@ Item ScrollWindow Weapon text "Rocket Launcher Speed" target "Data::Weapon::RocketLauncherSpeed::Text" } + Derive Nex_Line Seperator + {} + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Weapon" + } } } diff --git a/scmenu/data/key.menu b/scmenu/data/key.menu index f6d19a9b5..3e5613121 100644 --- a/scmenu/data/key.menu +++ b/scmenu/data/key.menu @@ -6,85 +6,106 @@ Item DataContainer Key { Item Data_Nex_Key Forward { - target "+forward" + target "+forward" + defValue "'W' 'UpArrow'" } Item Data_Nex_Key Backward { - target "+back" + target "+back" + defValue "'S' 'DownArrow'" } Item Data_Nex_Key StrafeLeft { - target "+moveleft" + target "+moveleft" + defValue "'A'" } Item Data_Nex_Key StrafeRight { - target "+moveright" + target "+moveright" + defValue "'D'" } Item Data_Nex_Key Jump { - target "+jump" + target "+jump" + defValue "'Enter' 'Space'" } Item Data_Nex_Key Crouch { - target "+shift" + target "+shift" + defValue "'Shift'" + } Item Data_Nex_Key FirePrimary { - target "+attack" + target "+attack" + defValue "'Crtl' 'Mouse1'" } Item Data_Nex_Key FireSecondary { - target "+button3" + target "+button3" + defValue "'Mouse2'" } Item Data_Nex_Key PrevWeapon { - target "impulse 12" + target "impulse 12" + defValue "'MWHEELDOWN'" } Item Data_Nex_Key NextWeapon { - target "impulse 10" + target "impulse 10" + defValue "'MWHEELUP'" } Item DataContainer Weapon { Item Data_Nex_Key Laser { - target "impulse 1" + target "impulse 1" + defValue "'1'" } Item Data_Nex_Key Uzi { - target "impulse 2" + target "impulse 2" + defValue "'2'" } Item Data_Nex_Key Shotgun { - target "impulse 3" + target "impulse 3" + defValue "'3'" } Item Data_Nex_Key Grenade { - target "impulse 4" + target "impulse 4" + defValue "'4'" } Item Data_Nex_Key Electro { - target "impulse 5" + target "impulse 5" + defValue "'5'" } Item Data_Nex_Key CryLink { - target "impulse 6" + target "impulse 6" + defValue "'6'" } Item Data_Nex_Key NexGun { - target "impulse 7" + target "impulse 7" + defValue "'7' 'CapsLock'" } Item Data_Nex_Key Hagar { - target "impulse 8" + target "impulse 8" + defValue "'8'" } Item Data_Nex_Key Rocket { - target "impulse 9" + target "impulse 9" + defValue "'9'" } } Item Data_Nex_Key ShowScores { - target "+showscores" + target "+showscores" + defValue "'Tab'" } } diff --git a/scmenu/data/video.menu b/scmenu/data/video.menu index 32bc4e5c1..5b06473f6 100644 --- a/scmenu/data/video.menu +++ b/scmenu/data/video.menu @@ -17,6 +17,7 @@ Item DataContainer Video Item Data_Cvar BPP { cvarName "vid_bitsperpixel" + defValue "32" Item DataLink_TextSwitch Switch { diff --git a/scmenu/options/effects.menu b/scmenu/options/effects.menu index 3ff02feda..8c4c8bdc7 100644 --- a/scmenu/options/effects.menu +++ b/scmenu/options/effects.menu @@ -67,5 +67,13 @@ Item Window Effects text "Gloss" target "::Data::Effects::Gloss::Switch" } + Derive Nex_Line Seperator + {} + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Effects" + } } } diff --git a/scmenu/options/input.menu b/scmenu/options/input.menu index e377c385e..5f17c95ad 100644 --- a/scmenu/options/input.menu +++ b/scmenu/options/input.menu @@ -2,7 +2,7 @@ // options/input.menu Item Window Input { - szie '600 600' + size '600 600' Derive Picture Table1 { @@ -28,5 +28,13 @@ Item Window Input text "Invert Mouse" target "::Data::Input::InvertMouse::Switch" } + Derive Nex_Line Seperator + {} + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Input" + } } } diff --git a/scmenu/options/key.menu b/scmenu/options/key.menu index b3f722c93..1af8155e0 100644 --- a/scmenu/options/key.menu +++ b/scmenu/options/key.menu @@ -69,7 +69,7 @@ Item Window KeyControl } Item ScrollWindow Scroll { - size '700 650' + size '700 500' flag [FlagEmbedded] Item Arrangement Keys { @@ -243,9 +243,15 @@ Item Window KeyControl } } } - Item Layout Buttons + Item Arrangement Buttons { flag [FlagEmbedded] + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Key" + } } } diff --git a/scmenu/options/player.menu b/scmenu/options/player.menu index 45b5943f0..186af8c81 100644 --- a/scmenu/options/player.menu +++ b/scmenu/options/player.menu @@ -106,5 +106,11 @@ Item Window Player action Nex_Action_Player_Apply } + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Player" + } } } diff --git a/scmenu/options/sound.menu b/scmenu/options/sound.menu index f51f2098d..01ed93b6f 100644 --- a/scmenu/options/sound.menu +++ b/scmenu/options/sound.menu @@ -38,5 +38,13 @@ Item Window Sound text "Swap Stereo" target "::Data::Sound::SwapStereo::Switch" } + Derive Nex_Void Seperator1 + {} + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Sound" + } } } diff --git a/scmenu/options/video.menu b/scmenu/options/video.menu index 75229a402..a4643fd11 100644 --- a/scmenu/options/video.menu +++ b/scmenu/options/video.menu @@ -51,5 +51,11 @@ Item Window Video action Nex_Action_Video_Apply } + Derive TextButton Reset + { + normal "Reset to default" + init Nex_Action_ResetData + target "::Data::Video" + } } } diff --git a/scmenu/source/control/data/value.qc b/scmenu/source/control/data/value.qc index d1791e705..ba17c4ade 100644 --- a/scmenu/source/control/data/value.qc +++ b/scmenu/source/control/data/value.qc @@ -28,10 +28,10 @@ string() Item_DataLink_ClampedValue = if( self.stepValue == floor( self.stepValue ) ) return ftos( self._realValue ); // Get the integer length - lLen = strlen( ftos( rint( self._realValue + 0.375 ) ) ); + lLen = strlen( ftos( rint( self._realValue ) ) ); // Now add the step length lClampedStep = rint( 1.0 / (self.stepValue - floor( self.stepValue )) ); - lLen += 1 + strlen( ftos( lClampedStep ) ); + lLen += strlen( ftos( lClampedStep ) ); return substring( ftos( self._realValue ), 0, lLen ); } diff --git a/scmenu/source/custom/key.qc b/scmenu/source/custom/key.qc index 194348d74..646fbdd3a 100644 --- a/scmenu/source/custom/key.qc +++ b/scmenu/source/custom/key.qc @@ -40,10 +40,10 @@ void() _IDNK_Reset = lCount = Util_GetAltStringCount( self.defValue ); Key_LimitBinds( 0, self.target ); - for( lCounter = 0 ; lCounter < lCount ; ++lCounter ) { - lKey = Util_GetAltStringItem( self.value, lCounter ); + for( lCounter = 0 ; lCounter < lCount ; lCounter++ ) { + lKey = Util_GetAltStringItem( self.defValue, lCounter ); Key_Bind( lKey, self.target ); - String_EntitySet( self, value, strcat( self.value, "'", Key_GetNum( lKey ), "'" ) ); + String_EntitySet( self, value, strcat( self.value, " '", Key_GetNum( lKey ), "'" ) ); String_Free( lKey ); } diff --git a/scmenu/source/custom/option.qm b/scmenu/source/custom/option.qm index 7a0def736..a949375b4 100644 --- a/scmenu/source/custom/option.qm +++ b/scmenu/source/custom/option.qm @@ -1,6 +1,27 @@ // Property of Alientrap // custom/option.qm +// uses .target to determine the target data item (or container) + +void() Nex_Action_ResetData_Destroy = +{ + String_EntityFree( self, target ); +}; + +void() Nex_Action_ResetData_Action = +{ + Raise_DataEvent( Menu_GetItem( self.target ), ITEM_DATA_RESET ); +}; + +void() Nex_Action_ResetData = +{ + String_EntityZone( self, target ); + + self.destroy = Nex_Action_ResetData_Destroy; + self.action = Nex_Action_ResetData_Action; +}; + + // link is the name of the datalink .string target; // text is the description text -- 2.39.2