McJtyMods / RFToolsControl

RFTools Control is an addon for RFTools adding a programmable logic block
MIT License
35 stars 18 forks source link

Quality of life improvements #28

Open UnlimitedHugs opened 7 years ago

UnlimitedHugs commented 7 years ago

If you are looking to further improve usability, I have compiled a list of issues I ran into while playing with the mod. This is by no means a laundry list, just numbered for convenience :)

Tweaks

  1. Auto-focus input field in opcode parameter edit popup
  2. Auto-focus input field when switching to variable mode in edit popup
  3. Confirm & close parameter edit popup with enter in input field
  4. Shift click player inventory items into "fetch items" item filter
  5. Adjust crafting card item count with scroll wheel
  6. Shift-click item stack in player inventory to add single item to crafting card
  7. Delete focused or selected opcodes with delete key
  8. Delete opcode by dragging it back to the opcode list
  9. Pre-select last_int as the first parameter when creating a test opcode
  10. Parameters could have an input field when in constant mode, bypassing the need to open the edit popup
  11. Loop opcode tooltip could mention that the red arrow is the loop exit- I spent way too much time debugging after assuming the opposite

Features

  1. A cell x,y readout when hovering over cells for easier debugging
  2. Support for front/back/left/right- relocation-proof and conceptually easier to work with than north/south/east/west
  3. Clear button on processor to quickly wipe the console
  4. New opcode to import items from a range of external inventory slots
  5. Support for set/read redstone without a specified side, causing a set/read on every side. (right now an internal error is shown)
  6. Program start event for variable initialization (when program is inserted into the processor)
  7. Tracing a program path is visually challenging when lots of operations are close together- perhaps some sort of outline overlay could remedy this

Thank you for another lovely mod.

McJty commented 7 years ago

Working on this. BTW about 12, that's already there. Just hold shift and you will see the coordinate in the tooltip

McJty commented 7 years ago
  1. Done next version
McJty commented 7 years ago
  1. done
McJty commented 7 years ago
  1. done
McJty commented 7 years ago
  1. done
McJty commented 7 years ago

For 17 you can use a signal event. I have thought about it but it is hard to implement properly. What if the program card is inserted before there are processors?

UnlimitedHugs commented 7 years ago

Yeah, I ended up using a signal in the end. The purpose was to define inventories the program would interact with, but the definition ended up being incomplete, since nodes cannot be assigned or read from variables.