Improving Razor - Razor Development

Discussion in 'Renaissance Discussion' started by Quick, Apr 22, 2018.

  1. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    Hey UOR Community, I hope this is the appropriate forum for this, but mods please move it if it should be someplace else.

    The purpose of this thread is to elicit feedback from all of you to hear some of the things you believe could make your UO life easier if "Razor could just do.." -- quality of life improvements if you will.

    Here is a list I compiled based on a few months here and using Razor. Some items have already been completed and are marked green. Items marked in orange are ideas that I'm considering but have no short term plans of implementing since they need more research to figure out the scope of the work. These lists are not in any type of order/priority.

    Razor:
    • UI changes that keep Razor familiar but make it feel not as "smashed together" - WIP DEMO -
    • Remove the auto-update feature check
    • Remove PayPal button on Razor splash
    • Popup windows for input should auto-focus and not require clicking in the text field first
    • Convert much of the old .NET Hashtables and Arraylists to hopefully improve with performance
    • Remove the use the DateTime.Now and use DateTime.UtcNow for the internal mechanism (DateTime.Now is 10 times slower than DateTime.UtcNow) (Read more here)
    • Dark Theme Mode
    • Output stats/skills/counters/etc "real time" to JSON file (needs expanding, base code is there)
    • Add -hue command
    • Removed any requirement on %AppData% and the registry. Razor is now portable.
    • Bring in UO Rudder functionality so you can use Razor to manage your boat?
    • Ability to override default FPS like those FPS patcher utilities.
    • Long term: Review possible reasons for desync with UO and Razor
    • Ability to resize app? Slightly larger, we're all on 1080p now right?
    General:
    • Completely remove the SmartCPU feature
    • Add Clone Profile button to easily create a copy of an existing profile instead of having to use the default
    • Add Checkbox to enable confirmation buttons on buttons that clear lists or delete things - DEMO -
    • Filter out Deer Sounds
    • Delete confirmation when you deleting a profile
    Options:
    • Removed dependency on InstallDir being in HKLM which should result in more people able to use Force Screen size
    More Options:
    • Force Resize should work better for some people
    Macros:
    • Copy macro to clipboard - DEMO -
    • New button to create macro from clipboard - DEMO -
    • Control-UP / Down to move macro line - DEMO -
    • Rename macro from UI - DEMO -
    • Double click macro action opens Edit dialog instead of having to right-click and Edit.. - DEMO -
    • Allow a macro to call another macro via the right-click context menu
    • Adding a macro to a group should not require typing in the group name each time - DEMO -
    • Allow logical OR in "If SysMessage..." conditionals.
      • Example: If SysMessage "success|fail"
    • Copying macro code into a pre-existing macro.
      • That way you can record some actions, stop recording, paste the code in, and then continue recording...
    • Target by type and then target by next type (ie. don't target the same thing by type twice in a row)
    • Ability to disable the auto-save macro feature
    • Ability to open a macro to the OS default external editor from Razor
    • AbsoluteTarget values tried to profile to a particular profile
    • Ability to Play a macro and step through each action by clicking a button to debug a macro
    • Long term: Setup some sort of Razor macro repository and let Razor pull down macros from a source?
    • Ability to copy an individual line in the macro actions
    • Target by Closest Type instead of Target By Type, which appears to cache items after the client loaded it
    Arm/Dress:
    • Add confirmation box on Clear List
    Agents:
    • Define the number of agents you want in the config file
    • Option to copy out and paste in your different agent lists for easy sharing
    • Add confirmation box on all clear buttons (so tired of accidently clicking clear instead of clear hotbag) - DEMO -
    • Ability to set count on Buy/Restock by selecting multiple items
    • Restock agent will not allow you to go overweight
    Hotkeys:
    • Target weapon in hand regardless of weapon type
    • Create a hotkey to pause a macro
    • Update hotkey tied to macro to stop the macro if it's running
    • Filter by name to quickly find a hotkey - DEMO -
    • Ability to set the Heal/Cure threshold
    • Hotkey to enable/disable the scavenger agent
    • Add skill countdown (like criminal or bandaid counters)
    Screenshots:
    • Auto-capture death should also capture your own death.
    • Auto-capture death to capture only human players, not NPCs
    ------------------------------------------------------------------------------------------------------------

    Fixes/features from the closed-source 1.0.14.* versions that I will bring into this version
    • Fixed UOAM display houses compatibility.
    • Added Target Random/Closest Murderer Humanoid/Monster hotkeys.
    • Razor will now ask for administrator privileges when starting. To disable this, use argument "--noadmin".
    • Added -Hue command.
    • Razor will now relocate its main window automatically if it starts up past the screen bounds.
    • Added new targeting hot keys: for every "humanoid" target there is now also a "monster" version.
    • Fixed Heal/Cure Self hot key from casting a Greater Heal with only 2 points of damage.
    • Fixed scavenger overloading the drag drop queue.
    • Fixed -Ping accuracy.
    • Added -Info command.
    • The light levels filter now restores the actual light level when disabled.
    • Auto-stack resources at feet will now drop resources next to the character.
    • Fixed movement in macros.
    • Fixed a drag drop bug that caused items to disappear.
    ------------------------------------------------------------------------------------------------------------

    So, what's missing? Please give me your thoughts and feedback.

    This is where I'm looking for some help, to tap into the experience you all have with Razor and hear your thoughts on what improvements you'd like to see in Razor.

    Before you make a suggestion, please be sure it's in the spirit of the UOR rules. The idea here is to Razor a bit easier to use day-to-day, not to turn it into some UO-AutoBot utility that does everything for you.



    If you run into a bug or have an issue with the new version of Razor, please use this thread instead.

    http://www.uorforum.com/threads/razor-1-5-bug-issue-tracking.33405/

    Notes:
    • Not all suggestions/ideas will be implemented but I do promise to at least read it. Don't take it personally but don't let it deter you from giving more feedback.

    Let me know if you have any issues or questions. You can find me on IRC too.

    Thanks folks!
    Last edited: Jul 14, 2018
    Syntax, Baler, Ouroboros and 7 others like this.
  2. POTHEAD

    POTHEAD Active Member

    Joined:
    Apr 30, 2014
    Messages:
    139
    Likes Received:
    60
    Razor needs multiple macro windows. With this your could play a macro without stopping the macro your running (i.e. vet last macro). Also it would make it easier to write one macro using skill and one using items
  3. James67

    James67 New Member

    Joined:
    Apr 1, 2018
    Messages:
    5
    Likes Received:
    3
    Increase the frame rate of the client. :D

    Aka, just build a razor client. hah
  4. RIN

    RIN Well-Known Member
    UO:R Donor

    Joined:
    Jan 4, 2017
    Messages:
    964
    Likes Received:
    922
    @Quick , don't you dare toy with my emotions! I can't go through the hope and eventual disappointment AGAIN.
    Twister likes this.
  5. Twister

    Twister Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 26, 2017
    Messages:
    528
    Likes Received:
    301
    Are you a Razor developer? Is it open-source btw?

    My biggest "WANT" is a larger game window and framerate, like in Orion client.

    Coming back to more realistic suggestions:
    1) an ability to copy a line of a macro
    1) a way to insert any action available on "Hotkeys" tab via a context menu ("Right click -> Pick category -> Pick action")
  6. RIN

    RIN Well-Known Member
    UO:R Donor

    Joined:
    Jan 4, 2017
    Messages:
    964
    Likes Received:
    922
    Yes, my biggest want with razor is the ability to resize both the main window of razor and the individual mini-windows. Like the ability to increase the width of the macro windows.
  7. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    To clarify, are you saying that you'd want to run multiple macros at once or are you saying you'd like 1 macro to be able to reference another one? If it's the former, my worry there is that it would be too much of a game changer allowing people to have multiple macros going at once.

    If it's the latter, I like that idea. It would allow you to have some core macros that others can reference without having to duplicate macros in other macros.
  8. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    I'm a classic UO guy myself, 10 FPS is fine with me. That said, I'm aware of those FPS Patch utilities. I could explore how those override the default FPS in the client via Razor. I'll add it to the list.
  9. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    Haha oh no, just saw that thread. That would be a big project for sure and I'm in no way looking to or even trying to suggest that I will be creating a new UO client. I'm not even suggesting that this exercise will result in any type of grand Razor rewrite. Trying to keep it simple, I'm hoping to just focus on smaller-ish scale Razor improvements.
  10. RIN

    RIN Well-Known Member
    UO:R Donor

    Joined:
    Jan 4, 2017
    Messages:
    964
    Likes Received:
    922
    I referenced that thread only as an example of the let down. Wasn't trying to imply that you were going to redesign the client too :D

    Just make sure that before you release publicly any updated razor clients, you run it past @Chris to make sure he is ok with it.
  11. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    Nope, I'm a software developer, but I have had no association with RunUO or Razor prior to working on this. And yes, it's open source. Any changes I release will be available on Github. The source to Razor was released a few years ago.

    Larger game window and frame rate are more linked to the client itself, not a hidden feature that Razor could unlock. You'd probably need a client rewrite which is way out of scope for this.

    1) Sounds good, added it to my list.
    2) Yes! I forgot about this. It's annoying having to setup a hotkey and use it during the macro recording. Added to the list as well.
  12. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    Cool, I have this on the list already in orange to see if folks have an interest in this. Let me update to list to expand on this. Razor was developed back when folks didn't all have, at least, a 1080p monitor. I think that contributed to it's small size.
  13. Imbol

    Imbol Active Member
    UO:R Subscriber

    Joined:
    Dec 1, 2017
    Messages:
    262
    Likes Received:
    217
    Let me target whatever weapon I'm holding in my main hand (regardless of type).
  14. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    To clarify, a hotkey to target weapon in hand? If so, added that to the list.
    Imbol likes this.
  15. Imbol

    Imbol Active Member
    UO:R Subscriber

    Joined:
    Dec 1, 2017
    Messages:
    262
    Likes Received:
    217
    Yup. That's it! Thanks.
    Quick likes this.
  16. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,919
    Likes Received:
    3,139
    @Quick
    Let us switch between using the current razor macro tab OR input it into a text field directly.

    Example: I want to send you a macro so I open the file and send you all that Assistant.hotkey|5|3|2 stuff. You paste it into your macro file and then access it from razor. Why can't I simply copy/paste macros from razor itself without text editor.
    Anarchy likes this.
  17. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    I believe what you're asking for was already completed on the list above. Check the three DEMO links under the Macros section. You can now easily copy a macro out of Razor and/or paste a macro into Razor if you have it copied.

    If I'm not understanding your request, please feel free to clarify it for me.
    snap dragon likes this.
  18. snap dragon

    snap dragon Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,919
    Likes Received:
    3,139
    Oh yeah that's basically it. My mistake. Does it copy out standard format for macros as they would exist now in the .macro file?
  19. Quick

    Quick Well-Known Member
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    221
    Likes Received:
    459
    Yep, exactly. When you copy it out, it will be in that "Razor Macro" format.

    If your clipboard contains that Razor Macro format (ie. you copied it from IRC or the forums) and try to create a new macro, it will detect that and ask you if you want your new macro to use what you copied.
  20. Twister

    Twister Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 26, 2017
    Messages:
    528
    Likes Received:
    301
    Allow logical OR in "If SysMessage..." conditionals (I think "|" or "||" symbol would be ideal).
    Example: If SysMessage "success|fail"

Share This Page