Home » PLAYER'S HQ 1.13 » v1.13 Solutions,Tips & Spoilers » HOT KEYS
Re: HOT KEYS[message #341645 is a reply to message #341643] Thu, 09 July 2015 14:02 Go to previous messageGo to previous message
Flugente

 
Messages:3507
Registered:April 2009
Location: Germany
Not technically difficult. However, we have an obscene amount of hotkeys in use, coded in many, many places. First you have to find all of them, then you have to list and describe all of them (in a proper way so you actually find and understand them), and then you have to always keep that description up-to-date. Tons of work, and has to be done by a coder. angry

The optimal solution would be code change that restructures the entire key handling system. Basically, you'd use (pseudocode)
// enum of all actiosn that can be called via hotkey
enum HOTKEY_INVOKED_FUNCTIONS
{
    CROUCH,
    END_TURN,
    AUTOBANDAGE,
    ...
    // this goes on for a loooong time :-)
   ACTION_MAX,
};

struct HOTKEY_STUFF
{
    UINT16 actionused; // link to action from HOTKEY_INVOKED_FUNCTIONS

    // special keys used
    BOOLEAN fAlt;
    BOOLEAN fCtrl;
    BOOLEAN fShift;

    // keys used (a-z, 0 -9  etc.)
    UINT32 keyused;

    // a flagmask describing where an action is used (tactical/strategic/inventory/laptop...)
};

// for each language:
STR16 actiondescription_short[ACTION_MAX]=
{
    L"Crouch",
    ...
};

STR16 actiondescription_long[ACTION_MAX]=
{
    L"The currently selected merc changes to crouch stance.",
    ...
};

// A giant function that handels hotkey input:
void HandleKeyPress(...)
{
    ...
    evaluate key press, find matching HOTKEY_STUFF
    call function referred to via actionused
    ...
}

The work required is obscene, but a benefit is that all hotkeys are grouped neatly together. All required after that is a neat table that can handle this.
At that point, it would also be trivial to print that table in a .txt file. Provided the coders simply keep the decriptions up-to-date (which is a lot easier now, as it's all in one clear-defined place, and coders love simply adding another entry to clearly-defined places), we have no more need for hotkey pdfs that always outdate fast. Push a button and the game generates it for you.

This could also be used to have those hotkeys be editable (save/load the hotkey list in a .txt file), it's even possible to edit ingame if one codes that. I would, however, advise strongly against this. Our glorious community would simply use this to redefine every keystroke in every mod differently, which is about as useful as a bullet to the head. Don't deny it, that's the kind of nonsense this community does cheeky

[Updated on: Thu, 09 July 2015 14:04]




I know now that it could never work between us, as much as we wanted to, it could never be! Not because you're a rabbit, but because you're black.

If you want, you can donate to me. This will not affect how and what I code, and I will not code specific features in return. I will be thankful though.

Report message to a moderator

Captain

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Bear's Pit New Member Starter Pack for JA2/1.13
Next Topic: New User Guide
Goto Forum:
  


Current Time: Fri Oct 25 10:34:26 GMT+3 2024

Total time taken to generate the page: 0.05959 seconds