anegostudios / vsmodelcreator

Vintage Story Model Creator
Other
69 stars 15 forks source link

Add arrow key support, refractor keyboard input code & makes hotkeys smoother/ more responsive #81

Closed depeculor closed 2 years ago

tyronx commented 3 years ago

Thats a lot of additions, nice. Do you have a list of keyboard inputs?

tyronx commented 2 years ago

Any updates on this?

depeculor commented 2 years ago

When I made this pull request it worked perfectly. Feel free to test it out.

Did you update the code or does it not work on your end? Just asking for clarification, it's been a bit since I puzzled together this project.

On Mon, 18 Jul 2022, 09:22 Tyron Madlener, @.***> wrote:

Any updates on this?

— Reply to this email directly, view it on GitHub https://github.com/anegostudios/vsmodelcreator/pull/81#issuecomment-1186853104, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGMLGP7354IW4IDY72VM43VUUA4DANCNFSM5CEU7AZA . You are receiving this because you authored the thread.Message ID: @.***>

tyronx commented 2 years ago

I did not test it, which would be a lot easier if there is a list of new keyboard inputs. Also important for documentation. Undocumented features are not very useful.

depeculor commented 2 years ago

You're right, documentation is great. It was more of a proof of concept. Since I did not get get a reply back I thought there was no interest in the project so I left it be and used it as a coding exercise.

It uses the arrow keys or WASD by default. You can click a block/ section and move it with arrow keys/WASD if memory rebels me correctly. I found it pretty usefully that's why I added it in.

The hotkeys refractor was a code cleanup and changed they way in which the hotkeys are processed to make it respond when the keys are pressed down instead of waiting until the keys are released. It also uses a queue I believe to make sure no inputs are eaten. Could be wrong on that.

I did test the features and it seemed stable but of course I can't 100% guarantee there are no production problems.

On Mon, 18 Jul 2022, 09:27 Tyron Madlener, @.***> wrote:

I did not test it, which would be a lot easier if there is a list of new keyboard inputs. Also important for documentation. Undocumented features are not very useful.

— Reply to this email directly, view it on GitHub https://github.com/anegostudios/vsmodelcreator/pull/81#issuecomment-1186856877, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGMLGI7WMC2M6262T5O4KLVUUBOBANCNFSM5CEU7AZA . You are receiving this because you authored the thread.Message ID: @.***>

tyronx commented 2 years ago

Since I did not get get a reply back I thought there was no interest in the project so I left it be and used it as a coding exercise.

Oh? I asked for a list of inputs on Aug 23 2021, see above. I didnt have a reply from you there. Well anyway. Would you be willing to resolve the merge conflict still?

depeculor commented 2 years ago

I see, perhaps GitHub did not send me an email about about your question in the pull request. I'll have a look at the merge conflict and see how to resolve it. Once it's done I'll let you know.

On Mon, 18 Jul 2022, 10:01 Tyron Madlener, @.***> wrote:

Since I did not get get a reply back I thought there was no interest in the project so I left it be and used it as a coding exercise.

Oh? I asked for a list of inputs on Aug 23 2021, see above. I didnt have a reply from you there. Well anyway. Would you be willing to resolve the merge conflict still?

— Reply to this email directly, view it on GitHub https://github.com/anegostudios/vsmodelcreator/pull/81#issuecomment-1186888046, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGMLGKCVCKZ5FIWXT2B5TTVUUFNTANCNFSM5CEU7AZA . You are receiving this because you authored the thread.Message ID: @.***>

depeculor commented 2 years ago

Hello I resolved the merge conflict. I did not test it but it was a simple case of a conflict over an import. I resolved it by keeping your newly added imports and retaining my newly added imports.

To be honest it's over a year ago that I looked at this project and I forgot how everything came together so I kinda forgot how to run it to check if everything works. But I'm fairly sure it won't cause any problems. If you can find some time in your schedule to do a quick test and there's a problem let me know and I'll spend some time fixing it.

depeculor commented 2 years ago

So I have some good and "bad" news. Good news is that my app is up and running. However when I was testing things out I saw that the moving code for the cubes was not working. After some tweaking I managed to solve the problem. It was some obscure bug where it seemed to be possible that the "nanoseconds" value for the keystroke events can be negative. That problem has been resolved now.

I did some more testing and everything went along smoothly. As for the concrete changes:

KEY_UP: move cube backwards on the blue plane (z?) KEY_DOWN: move cube forwards on the blue plane KEY_LEFT: move cube left on the red plane (x?) KEY_RIGHT: move cube right on the red plane KEY_PAGE_UP: move cube upwards on the green plane (y?) KEY_PAGE_DOWN: move cube downwards on the green plane

Note: for the movement code to work you have to first select a cube in upper right pane and then click again on the canvas/ visualisation pane. Another intresting tidbit is that the movement is relative, so if you rotate around around on the x and z plane the movement will adjust itself so that moving "right" still moves the cube "right". I found the absolute way of movement more confusing and less usefull.

The refractoring has moved keyevents into different classes making it easier to add new commands (ex. RandomUV) in the future.

More responsive hotkeys means that there is now an event queue being used and keys now react the moment you press them and not when they are being released.

Apologies for not replying a year ago, Github did not inform me you formulated a reply. If any other issues arises please let me know.

Love your game, looking forward to what the future has to bring.

tyronx commented 2 years ago

thanks a lot!

depeculor commented 2 years ago

You're welcome. Best of luck with the Lore update!

On Fri, 2 Sep 2022, 09:44 Tyron Madlener, @.***> wrote:

thanks a lot!

— Reply to this email directly, view it on GitHub https://github.com/anegostudios/vsmodelcreator/pull/81#issuecomment-1235178854, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGMLGP4MJRVTJA345MWYLTV4GV7JANCNFSM5CEU7AZA . You are receiving this because you authored the thread.Message ID: @.***>