Jump to content

Home Fries

Members
  • Posts

    3514
  • Joined

  • Last visited

  • Days Won

    1

7 Followers

About Home Fries

  • Birthday 03/03/1971

Personal Information

  • Flight Simulators
    DCS World
    IL-2 Great Battles
    Total Air War 2.0
    EF2000
    Falcon BMS
    Jane's F/A-18
    EECH
    X-Plane 11
    MSFS 2020
  • Location
    Greater Washington DC Area
  • Interests
    Programming
  • Occupation
    College Professor (former Naval Flight Officer)

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi Everyone, I apologize for being radio silent for a while. My day job has been crazy, and I've had other things going on as well. Nothing bad, I assure you, but things are certainly keeping me on my toes. I just wanted to drop in and say that I've hit the stack limit in TARGET for DCS, so there won't be any more modules introduced in CTS version 2. I may be able to implement fixes in this version, but unfortunately nothing that will require additional code. I have a proof of concept for version 3 that uses the DX120 framework, which will significantly reduce the number of keystroke substitutions (and by extension the stack size of the script). I've mentioned this before, but implementing this will not just take time, but it will take large chunks of contiguous time because it's a fundamental change in how profiles are approached. I'd also like to implement the F-16 throttle and button suite, and suddenly 120 DX buttons doesn't seem like a whole lot . Anyway, Version 3 will take some time not only for the framework shift, but because I'll need to migrate profiles individually. I can start with betas and rapid prototyping with the more popular modules, but I'll still need to migrate and baseline the shared routines. Bottom line: none of this will happen until at least June, and then I'm hoping that my schedule slows down for the summer. I haven't really had time to evaluate changes to controllers with patches, so if you find that a patch breaks a profile, please post here or PM me. I'd like to find time to at least fix bugs. Best, HF Please send me your DCS_World.tmc file so I may properly evaluate this.
  2. Thank you for such a great write-up. My goal in this is to allow up to two sticks and two throttles to be connected in the profile, with one being primary and the other secondary (user's choice). For example, someone can use the Warthog throttle with the F-18 Stick as a primary config, with something like HCougar as the secondary config for a F-16 throttle and side stick configuration. I'm hoping to keep this generic to add the new F-16 TQS and the AVA and any other peripherals. Then within the same profile, someone flying the F-18 can use the primary configuration, and then loading the F-16 profile can use the secondary configuration and those axes will be selected for the TM virtual controller. Ideally, the alias is what I would like to do, and you're right that I don't want to modify existing TM libraries because that's a can of worms for both myself and the end user. What I'd really like is in the database config the end user selects controllers for the primary (CJy0 and CTh0) and secondary (CJy1 and CTh1) HOTAS, then for each profile can choose to use the secondary stick or throttle instead of the primary. I also want to create consistent button mapping for both primary and secondary buttons, (so all buttons can be used), with the profile mainly changing axis assignments on the fly. With 120 buttons I can make this happen, and this is part of my strategy going forward to keep the script smaller and allow more expandability against the TM stack limit. Putting the alias into the axis mapping function may be exactly what the doctor ordered, and then I'll better figure out a static button mapping scheme. I'll give this a try.
  3. Ok, I shortened the variable names to 4 characters with the last character being the number 0 or 1 as before. I was still getting the index out of bounds using "alias", but converted the variable to char (dimmed at 15) and I was able to compile without the index error. Problem is now that I cant get the commands to carry, even though it looks like it should work. I'm sure I'm missing a subtlety somewhere. I don't have a lot of experience working with alias/register logic. Here's the new code: char CJy0; char CJy1; char CTh0; char CTh1; //alias CJy0="Joystick"; //alias CJy1="HCougar"; //alias CTh0="Throttle"; //alias CTh1="HCougar"; int main() { Dim(&CJy0, 15); Dim(&CJy1, 15); Dim(&CTh0, 15); Dim(&CTh1, 15); sprintf (&CJy0, "Joystick"); sprintf (&CJy1, "HCougar"); sprintf (&CTh0, "Throttle"); sprintf (&CTh1, "HCougar"); if(Init(&EventHandle)) return 1; // declare the event handler, return on error Test_Init(0); } int Test_Init(int secondary = 0) { if (secondary) { MapAxis (&CJy1, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CJy1, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CTh1, THR_LEFT, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CTh1, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); } else { MapAxis (&CJy0, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CJy0, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CTh0, THR_LEFT, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CTh0, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); } } I get a good compile, but no axis response in the Device Analyzer.
  4. Thanks. I'll try it out!
  5. I'm currently working on version 3.0 of my CTS script, and one of the things I want to do to minimize the stack size (for expandability) is to use aliases for each controller set instead of having separate routines for mapping the Warthog, Cougar, F-18 stick, etc. I tried to create the following code as a proof of concept for being able to assign aliases to the already existing aliases of &Joystick, &Throttle, and &HCougar: alias CJoy0="Joystick"; alias CJoy1="HCougar"; alias CThr0="Throttle"; alias CThr1="HCougar"; int Test_Init(int secondary = 0) { if (secondary) { MapAxis (&CJoy1, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CJoy1, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CThr1, THR_LEFT, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CThr1, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); } else { MapAxis (&CJoy0, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CJoy0, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CThr0, THR_LEFT, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); MapAxis (&CThr0, THR_RIGHT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); } } int main() { Test_Init(0); } The error I get is: Runtime Error: Index out of bounds for: devicedata in GetDeviceData ( line 329 in target.tmh ) and the routine in target.tmh is int GetDeviceData(alias dev) // fill global devdata alias based on device name (joy1, joy2,...) { char t; Dim(&t, 16); strname(&dev, &t); Map(&devdata, &&devicedata[t[3]-'0']); } note: Map(&devdata, &&devicedata[t[3]-'0']); is line 329. I've also tried assigning the CJoy/CThr values as chars (dim 15) and I get the same problem. I'm unsure what needs to be done because my aliases don't seem to map properly to an array. I'm open to any suggestions. Being able to crack this would go a long way to modularizing my code for version 3.0.
  6. Yes, though it may be basic to start. I'm very close to stack limits and I need to start building CTS 3.0 to take advantage of the 120 buttons. Adding a full Phantom profile may break the script.
  7. IMO the ideal solution would be to add a combo box in the ME to either allow both variants (e.g. F-86FC and F-86), or make the slot exclusive to one variant or the other (for servers that want to restrict it to high fidelity). This would give mission builders the flexibility without having to create extra slots for each version. Hopefully ED implements something like this, esp. with the high fidelity MiG-29A coming out as well.
  8. Version 1.41 is up. The flightsuits have been updated to 2.9.x and we now have custom helmets.
  9. Version 1.41 is up. The flightsuits have been updated to 2.9.x and we now have custom helmets.
  10. Version 1.41 is up for both skin packs. The flightsuits have been updated to 2.9.x and we now have custom helmets.
  11. Spud, I was away for a while, and just saw this. It's no doubt due to the new version of TARGET that allows up to 120 buttons. This makes the DX+.tmh file redundant and likely incompatible. I'll need to look at this, so please be patient.
  12. No promises. I'm very near the stack limit of what TARGET will allow. I'm hoping I can get one more module in before I put all my effort into CTS 3.0.
  13. You're in! (Time late 1 week or so)
  14. Yes, the TMC file. Sorry. Also, sorry I took so long to get back. I was away all last week.
  15. Once you have downloaded version.txt (and the version in the OP of this thread is correct), be sure to put it in the CTS\DB folder. You should be prompted to overwrite the original. If this doesn't work, you can always reinstall. As long as you install to the same location, it won't affect your custom profile settings. Please upload your dcs_world.cts file so I may analyze it.
×
×
  • Create New...