Espy Command System API for C#
Images
Snippet of code showing the use of threading, cancellation tokens and a custom queue which sorts by priority.
What do you want to know?
- We Started writing ideas down for it early august 2017, with our first commit to our team services repo on August 5th 2017.
- It took us about a week to decide how we wanted the media viewer to run and we decided on a command based event system.
- Over the next month we made many updates, including two complete rewrites. It's not a good idea to go in without any pre-planning.
- The last commit, just before we decided we didn't have time to work on it was September 8th 2017.
Software:
Libraries:
Because of work and school between both me and Joshua however we decided that we did not have the collective time to finish the original project. Instead, we decided to change our Espy command system into a library to be usable in more than just this one application.
RPI Commune
Images
The display that's shown on my Raspberry Pi from the main graphical interface. The display is an 800 x 480 touchscreen.
I wrote most of the drawing mechanics from scratch. This is part of the TabContainer class used to hold the set of tabs in the graphical interface.
What do you want to know?
Over time I let the interface go, but still used the communication aspect to create backups of screenshots and word documents.
Later I picked it back up in 2017 and wrote code to use it as a backup server for my documents.
Hardware:
- Raspberry Pi 3B
- 5" TFT LCD Touchscreen (800 x 480) for Raspberry Pi Model 3B
Software:
Libraries:
After a while I stopped development, but when I started back up I turned it more into a backup server, since my desktop was experiencing common crashes.
Drop Log
Images
This is the main view of the Drop Log Interface. It has the option enabled to only show total drops, however you can see each drop at the time it was logged by clicking a button in the title bar.
This is the minimal version of the program, layered ontop of a black background. This view has partial transparency and can be always-on-top, so you can interact with your game while being able to add drops to the log almost effortlessly.
Another view of the interface, in transparent mode, but full view & has full drop log enabled instead of condensed.
A very small part of the code for the interface. This creates a new tab in the tab pane for each boss, the pane item inherits from a custom DLIButton class, which among other things allows customization of the shape of the component.
What do you want to know?
It has multiple view states:
- always-on-top mode so you can have it on top of your game, to click the item each time
- small-form-factor mode so it takes close to half the size it does. This removes the drop log view and enables you to only have the drop buttons to click when you need them.
- transparent mode to allow you to view the game under the drop log
- condensed drop mode, which instead of listing each drop at the time they occured, shows totals of each drop you've logged
There are two large caveats so far though...
- You can set it up for virtually any game, it reads off xml files for boss logs.. but you have to manually create the log for the boss / game unless you have one already made.
- It cannot automatically log the items, you have to manually click the item button to log it