Log in to reply
 

[WIP] MenuV - An alternative Menu system for GTAV... hopefully.



  • @stillhere Can't believe I didn't think of that. :blush:



  • Okay... so I now have images that maintain the correct proportions and once again, a simple piece of maths causes my brain to switch off. It's almost like something breaks the link between my eyes and brain, because I can see what's on screen but I just can't do any kind of logical processing on what I see... so frustrating. :angry:

    I've also found a bug in my Auto-Snap mod, so that's an additional distraction. :(

    Other than that, today has been an immeasurably slow day, feels like almost nothing has been achieved.

    Oh, I did add a second layer of events that I think might work with those lambda things... No idea on that though because I hate the things and never use them, so I don't even know what I should be doing to test them. I'm sure if this ever gets to the stage where other people are using it, they'll let me know. :/

    Edit: And I now have sounds when you interact with the menu items... :expressionless:

    Double-Edit: It does make me laugh when I look back through my own code and think "How the heck does that do what it does?" and the scary thing is, I can write something and have that problem within 10 minutes sometimes. :D


  • MODERATOR

    @LeeC2202 said in [WIP] MenuV - An alternative Menu system for GTAV... hopefully.:

    <> I can write something and have that problem within 10 minutes sometimes

    It's called 'aging'

    .... or so I think



  • @ReNNie It's weird, it's a problem I have always had writing code. I think it's because of how I remember things... well that and the fact that my brain is probably so shocked that I wrote something that worked, it can't believe it created it. :D

    It didn't seem to be quite as bad when I was writing assembler, which is kind of bizarre when you think assembler looked like this:

    	*=$c000 
    	 sei
    	 lda #<irq
    	 ldx #>irq
    	 sta $0314
    	 stx $0315
    	 cli
    	 lda #$00
    	 tay
    	 tax
    	 jsr $1000
    	 rts
    
    irq  lda $d012
    	 cmp #100
    	 bne irq
    	 jsr $1003
    	 jmp $ea31
    

    It's hardly something that makes sense when you look at it.

    I think because the code was so narrow, It was easier for me to remember. Equally odd I guess that I still remember that $d012 was the IRQ register on the Commodore C64, that kept track of the vertical blanking signal as it moved down the screen... along with the vector addresses of $FFFE & $FFFF. So I can't remember my code from 10 minutes previously but I can remember obscure interrupt vector addresses from 30+ years ago. :confounded:



  • Nothing much to show today, vertigo attack means I can't see the screen that well, so I'm restricted in what I can do today.

    One minor plus is that someone posted a snippet of code in a problem thread that was using an event handler with those lambda things. So I used that to test the events I added yesterday and that seems to work fine.

    I'm not passing as much info through those events as NativeUI does though. If you are adding an event handler directly to a specific item, I can't see the point in passing the base menu and an index back. Those kinds of things are used for multi-item event handlers, where you need to differentiate between what triggered the event.... anyway, it works and as I don't use them, that's all that matters. :slight_smile:



  • Well today has not been a good day. The balance between being productive on my mods and helping people on here has been nothing short of a catastrophic failure. :rage:

    I've found bugs in my mods but have got so wound up by what I have been dealing with, I can't think straight enough to fix them. I can't even ignore questions on the forums either, because now that I've removed my chat restriction, it's like being a personal help service. :(

    To quote the old BBC game... FRAK!



  • Keep up the good work. Native UI does look pretty, but the FPS hit is pretty bad.

    In all honesty, I am hoping that I can get my performance on my SP Mods copy to be on par with my clean copy. If I simply remove all of the ScriptHookDotNet mods, I get the same performance as I do without mods. So there is definitely something funky going on.

    I hope that one day, we will be able to mod the Rockstar scripts. The code for Benny's can be heavily modified to run in SP. Heck, it would be nice to have all of the Online features in SP. It would work something like this.
    -When we go to the character switch menu, rather than taking us to GTA Online, it takes us to a menu where we can load a custom character, or create a new custom character.
    -After loading a character, it is like being in a Freemode by your self. However, you technically are still in SP. So you can use all of your SP mods, you have SP population cycle, animals, etc... But it is still like you are in GTA Online. You can play contact missions, buy properties, yacht, club house, businesses, CEO office, warehouses, vehicle ware house, etc... You can gain RP, buy cloths, tattoo's, haircuts, etc... Just like being in GTA Online. You can also do CEO, Biker, and Import/Export missions.
    -Quite a few GTA Online features carry over to Michael, Trevor, and Franklin. Buying apartments, yachts, CEO offices, Club Houses, and all of the different warehouses/businesses affiliated with them are things that they can do. Benny's carries over as well, along with having Chrome Rims, Crew Colors, and Crew Emblems available in LSC. They can do the CEO, Biker, and Import/Export missions as well.
    -The best part of it all is, a lot of the code for this would be taken from the code written by Rockstar, and modified for SP. No ScriptHookDotNet scripts required, and no Native UI required to draw all of the menus.



  • You have made a lot of progress, man! Congratulations, its looking very promising. I'll watch this thread closely.

    I'm not really concerned about NativeUI's performance hits, but I understand other's concern and I'm happy to see you've taken action by yourself. If, in the future, I'm in need of a menu for my scripts again and your menu suits my needs, I'll make sure to try it out.

    Keep up the good work!



  • @Eddlm Thanks... I'm starting to discover a few problems from what seems to have been a naive design philosophy though. These are the areas where I typically get careless because I don't approach them with enough thought. The end result is that I end up with a rigid system, that can't be flexible enough for practical use.

    I'm hitting that problem right now with control input, so I'm going to have to rewrite that whole section... we live and learn I guess. :\



  • Well it turned out that my fears didn't require as drastic an action as I first thought.

    The actual problem was that I had written the system around the IsControlJustPressed() function, which in hindsight was a stupid thing to do. That meant that you couldn't hold down a control to change values, move up and down through the menus etc.

    As it turned out, a List, int and a Control property along with around 10 lines of code and some checking changes has the problem sorted. I don't like doing anything based on incremental counters though as they are inconsistent on variable frame rates, so I have added some time based code in there to ensure the repeat delay remains consistent across frame rates. It's currently at 125 milliseconds, or 1/8th of a second, which doesn't feel too bad.

    I've also got to add added some additional checking in the menu initialisation to make sure that if you have disabled the first menu item, that the menu doesn't appear with that item selected. Kinda makes me realise why NativeUI uses the method it does, it does make things easier... I just don't think it looks right when you can put the selection on disabled items. I mean, to give an example, if you go into the game settings, select MSAA x8, the Nvidia TXAA gets disabled and you can't put the cursor on it... so it's consistent with what is already there in the game.

    Edit: Just had a LOL moment on one of the mods on the main site, with the pirates complaining that the mod doesn't support cracked versions. I wonder if there's a guaranteed way to tell if a version is legit or not?



  • Hi Lee! I have been following your progress on MenuV (and pretty much everything you post here haha), and it's been interesting and insightful :)

    Anyways, you mentioned that you added NumPad support for MenuV? I have noticed what seems to be a bug when using Game.IsKeyPressed with NumPad keys. Just to make sure it wasn't my own doing, I tested this code in Native Workbench:

    Return Game.IsKeyPressed(Keys.Enter) || Game.IsKeyPressed(Keys.NumPad5) || Game.IsControlPressed(2, GTA.Control.PhoneSelect);

    It seems that if I am pressing NumPad5, then I release it and press or hold Shift immediately after, this code will always return True until I press NumPad5 again. This happens with NumPad 4 and 6 as well, though I haven't tested the others. This does not happen with the Enter key and I assume other non-NumPad keys. Would you be able to confirm if it's the same situation on your end?



  • @stillhere said in [WIP] MenuV - An alternative Menu system for GTAV... hopefully.:

    Hi Lee! I have been following your progress on MenuV (and pretty much everything you post here haha), and it's been interesting and insightful

    You crazy person you. :D

    Anyways, you mentioned that you added NumPad support for MenuV?

    I don't remember mentioning that... saying that, I barely remember what I did yesterday, so no surprises there. :blush:

    It's 4:15am here now, so I'm off to try and get some sleep, I'll check and post back later.

    Just for anyone else that's crazy enough to have been watching my progress on this thread, this system isn't dead (at this point anyway) it's just that it has all been wrapped into my progress in the Pick Your Ride thread in the requests section. Doing that mod has enabled me to test and advance what this menu system does, with a proper real-use scenario.



  • @LeeC2202 Weird, I recall you saying that you've added the NumPad keys as another method of control, but now I can't even find a mention of it in this thread or the older one.. perhaps I too need some sleep :stuck_out_tongue_closed_eyes: Well whenever you get a chance to check, I'd appreciate it!



  • @stillhere Just checked it and got the same problem, I basically just wrapped a UI.ShowSubtitle(); with that code in an if statement and as you said, pressing NumPad 5, then Shift and the code remained active until I pressed NumPad5 again... even after releasing all keys as well.



  • @LeeC2202 ugh, that is problematic :/ thanks for checking it out :)


  • TRANSLATOR

    looking forward into this



  • Any updates? :D



  • @Cloud_Power No, not really... I got wrapped up in a couple of mods so this kinda got left by the wayside. I used it in those mods but any changes were made with those mods in mind.

    I don't actually know whether I am going to write any more script mods, so this is in limbo right now. I am starting to get a bit disillusioned with it, so I need something to pick-me-up so to speak. I want to try Ped conversion and prop building perhaps, just something different.

    I also started to get concerned that it probably didn't offer the amount of functionality that people would need and that was a concern I had right from the start. This was always a "maybe" project, because I wasn't sure if I had the coding skills to pull it off to the level it needed to be at.

    I'm an artist, so this kind of thing is always stretching my boundaries... just not sure where things are right now with it.



  • @LeeC2202 Well, I'm sure you can finish it if you want! I must say that I wished to work with that instead of NativeUI. Anyway thanks for trying at least and good luck for any other project you have in mind! Time to time I'm going to check this post anyway, just to make sure :P



  • I really had my dream to write any menu in the future instead of trying to doing it in C++



  • @MrGTAmodsgerman I really wanted this to go somewhere but I have just got really fed up with scripting. I have a finite amount of time left to do modding and I just needed to get back to what I know and that's being an artist.

    Most of my life has been a case of making promises I couldn't deliver on, especially with coding and this is sadly another one of those cases. It starts to drift off path, ends up becoming less flexible and ultimately, fails to do what it started out trying to do.

    I once got offended by someone calling me a Jack-of-all-trades but in reality, they were right. :(



  • @LeeC2202 Shit happens, everyone knows that.



  • @LeeC2202 I think we all feel that way at one point or another. At least I know it happens to me. Ultimately following what you are truly passionate about is what matters.. I think. That being said, is it at all possible that someone else could pick up where you left off? Clearly there are lots of people that would appreciate having this :P



  • WHAT HAPPENDS TO LeeC2202? :( :(
    @administrators @Global-Moderators @Dark0ne


  • MODERATOR

    @MrGTAmodsgerman He requested the deletion of his account. His mods can be found here (the site is currently offline but will be online in about an hour I think).


Log in to reply
 

Looks like your connection to GTA5-Mods.com Forums was lost, please wait while we try to reconnect.