![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
|
![]() |
#1 |
Helmsman
![]() Join Date: Jun 2011
Posts: 105
Downloads: 181
Uploads: 0
|
![]()
Okay, for all UI modders who want to utilize the touchpads functionality right now, here's the how-to. Beware it's a bit technical!
Also note, the how-to does not use the sample python script provided in the download, for that wait for a further example.
Now you may ask, then what the hell this AttackDisc.py in sample downloads is for? Well, this how-to I built from scratch. And that script I extracted from my actual testing sandbox. It's basically just a more sophisticated version of code presented in this how-to, and it handles the full attack disc. If you look carefully at that code, you'll find that it's pretty similar to the one presented here, it only differs in function signatures (since AttackDisc is a class there) and in amount of InputCanvas objects. I put in the sample just what I exctracted into one neat class so that I don't clutter my own functions with it. In fact, I already figured out how to actually use it as a separate script file (i.e. scripts/menu/radcapricorn/AttackDisk.py) without creating any dummy pages, but that's another topic. If I get permission from TheDarkWraith to post changes to his scripts, I'll show you how you can use that sample python module to actually control attack disc in TDW's UI. I've actually already tested that code with his UI (since I already have touchpad areas calculated for that attack disc) and I must say it works perfectly. For any other objects (RAOBFs, 3-bearing tools and whatnot) you'll have to wait until I've finished my calculator app: I'm done with manual calculations ![]() As a side note, you don't need to use my InputCanvas if you just want to create shaped buttons. Touchpads are enough for that. See how triangle buttons are done in stock Page Default Hud.py, for example. You can use the same approach to make round buttons, hexagonal ones, you name it. There are limitations, of course, but I'll post them once I've tracked down at least all major ones. Wow, that took a lot more time than I expected. But that's not all. Stay tuned ![]() Have fun! Last edited by radcapricorn; 06-01-12 at 05:58 PM. |
![]() |
![]() |
![]() |
#2 |
sim2reality
![]() Join Date: Jun 2007
Location: AM 82
Posts: 2,280
Downloads: 258
Uploads: 30
|
![]()
This is amazing, well done - this is one thing I solely missed making my UI
![]() Wii add this to my UI Ui-boat V5. Ps The RAOBF are from my Ui-Boat V5 and also HAHD U-Boot_HAHD ![]() Nice to see it working the way I always dreamed it to work ![]() Last edited by reaper7; 06-01-12 at 07:48 AM. |
![]() |
![]() |
![]() |
#3 |
Helmsman
![]() Join Date: Jun 2011
Posts: 105
Downloads: 181
Uploads: 0
|
![]()
Thanks, reaper7! I was beginning to think nobody's interested
![]() I still have to insist that this RAOBF I took from CSP MaGui by dr. Jones ![]() See the outer ring: it has this metallic rod thing at 8 o'clock, and a plastic 'cover' with red mark at 1 o'clock. These actually (I guess) should block the input to the inner ring (they are a part of the outer ring after all), but as of now such fancy stuff is not possible to do without adding (dummy) items, as I encountered some issues with overlapping input areas inside one UI item (I'll investigate a bit more and update the first post accordingly). IIRC, in your mod the plastic markers are in a separate image, so this should not pose any problems at all. PS. I beleive I've also answered your PM, but right now my 'sent items' box is empty. I only guess it's due to ongoing maintenance, so I'll wait and see if it pops up. |
![]() |
![]() |
![]() |
#4 |
Navy Seal
![]() |
![]()
Hi radcapricorn
![]() I have just watched your vid for the mouse control and it looks great ![]() With the download, if I am using TDWs UI and install the .dll in Sh5 main dir and the .py script in the script/menu file - will i be able to control the RAOBF and attack disc as you did in the vid ![]() |
![]() |
![]() |
![]() |
#5 | |
Helmsman
![]() Join Date: Jun 2011
Posts: 105
Downloads: 181
Uploads: 0
|
![]()
Thanks, Trevally!
Quote:
![]() For example, here's how I do it in my test page (simplified code off the top of my head): Code:
# File scripts/menu/pages/Page_Test1.py # The following is the contents of the sample script import clr clr.AddReference("RadCapTools") from RadCapTools import InputCanvas class AttackDisc( object ): # The definition of the attack disc from the sample script follows # ... # The contents of sample script end here # global variable to store the attack disc input handler g_AttackDisc = None def InitializeScript(): compassRose = Page_Test1_AttackDisc_Front_CompassRose bearingLead = Page_Test1_AttackDisc_Front_BearingLeadAngle targetDisc = Page_Test1_AttackDisc_Front_TargetDisc attackCourse = Page_Test1_AttackDisc_Front_AttackCourse # Create the attack disc input handler global g_AttackDisc g_AttackDisc = AttackDisc(compassRose, bearingLead, targetDisc, attackCourse) # Some more code skipped... def UnloadScript(): # Destroy the attack disc input handler global g_AttackDisc if g_AttackDisc: g_AttackDisc.dispose() g_AttackDisc = None Now, those Page_Test1_AttackDisc_Front_* names are for my UI page. For TDW's, you'll have to look at data/menu/pages/Page TDC.ini to figure out proper names. I think I may have to write a more detailed instructions on what to do, but that'll be later once I'm at my SH5 rig and have an actual UI mod files to use for illustration. Oh, yeah, and a follow-up: In the first post, I mentioned the issues with rotation if the textures are not square. Some original attack disc textures from TDW's UI are not square so I had to edit them accordingly (this required resizing them in GIMP and making changes in SH5 Menu Editor). Anyway, excpect an update with proper instructions in an hour or so. Last edited by radcapricorn; 06-01-12 at 01:49 PM. Reason: Follow-up on rotations |
|
![]() |
![]() |
![]() |
#6 |
Navy Seal
![]() |
![]()
Thanks radcapricorn
![]() |
![]() |
![]() |
![]() |
#7 |
Helmsman
![]() Join Date: Jun 2011
Posts: 105
Downloads: 181
Uploads: 0
|
![]()
Post #2 is updated with a small how-to.
|
![]() |
![]() |
![]() |
|
|