Allow searching for multiple terms#1853
Open
wormingdead wants to merge 9 commits intoOpenarl:devfrom
wormingdead:multiple-search
Open
Allow searching for multiple terms#1853wormingdead wants to merge 9 commits intoOpenarl:devfrom wormingdead:multiple-search
wormingdead wants to merge 9 commits intoOpenarl:devfrom
wormingdead:multiple-search
Conversation
…al character to class
Split searchStr on searchTermSentinal. Change searchStrResults to a bitmap table. Draw a circle for each successful search term. Color highlight circles with searchResultColormap. Require luabit for access to bitwise functions
Author
|
I managed to get my changes running on a different computer and was able to fix what issues I could find, (as shown in the many force-pushes). It's pretty neat to see frenzy, endurance, or power nodes highlighted.
Responding to my comment about how the search term parsing works, it seems that the Lua |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This series of commits allow the search bar to handle multiple search terms. When the user searches with the string,
bleed|frenzy, nodes that contain text with eitherbleedorfrenzywill be highlighted. In other words, this change allows searching the union of each term. This is a change from the previous functionality of PoB searching only for the entire search string, including any whitespace. For comparison, the game allows whitespace to separate search terms and performs a search of the intersection of each term.There are three big changes that should be considered before accepting this pull request.
1. The search cache has been changed from a table of booleans to a table of bitmaps (integers)
I don't know how this will work with the current serialization method or how the program will handle loading an old table of booleans and treating it like it's a new table of bitmaps.
2. I developed this patch on Linux and could not compile and test these changesI'm mostly worried that the highlight circles are being drawn incorrectly (more on this below) or that I unknowingly clobbered some global variable, but I'm new to Lua, so anything's possible.3. Users can no longer search for
|(the pipe symbol)I don't think this will affect anyone.
Some other comments:
I tried to make the highlight circles be drawn concentrically, but I'm not entirely sure I changed the draw call correctly. Please check to make sure theSetDrawLayer()function and thesizevariable are used correctly.The search terms can also be empty. For example, the stringIf I knew how, I would have instead added an Advanced Search button that opened a dialog window with eight text areas and associated color pickers.bleed||freeze||will have three empty terms in it (bleed|1|freeze|2|3), and the highlight circles will be offset accordingly. This is not the greatest from a useablility perspective, but it's what I could figure out.Thank you for any feedback.