Commit Graph

45 Commits

Author SHA1 Message Date
Ian Bastos
bf0cc9ba5f
Implement keyboard hotkey bindings (heavily squashed)
- add keyboard bindings button to options
 - hooked keyboard binding panel to button
 - WIP bindings drawn in activity
 - keyboard binding keys finally appear
 - keyboard binding input widget
 - reserved keys logic working
 - removed debug logs
 - pref saved on key release
 - more reserved keys
 - fixed memory bad alloc error
 - modifier bindings
 - scroll panel for bindings view
 - added sdl id to bindings
 - cache sdl scan id into prefs
 - function ids are getting picked up
 - more keyboard mappings
 - more key bindings + reserved keys
 - keyboard bindings working
 - write keyboard bindings pref on load
 - sync new functions to prefs
 - final touches
 - Keep those include trees flat (see 0179cefc)
 - Fix tabs
 - WIP - many to one binding
 - WriteDefaultPrefs is now instance method
 - model add, remove and save methods
 - clear prefs before saving
 - added method for checking binding conflict
 - notify view on key combo change
 - route binding notification to gameview
 - view foundations for overhaul
 - fixed memory issue + has conflicting key issue
 - fixed prefs not being cleared before save
 - override text input to do nothing
 - fixed many complications due to duplicated hotkeys
 - missing index on new model caused problems
 - WIP - view adaptation
 - WIP - add and remove button layout
 - more patches
 - fixed empty textboxes problem
 - WIP - frontend overhaul
 - fixed ordering issue
 - binding removal - wip
 - function store to hold no shortcut data
 - reset to defaults button added
 - add from no shortcut works
 - error message on conflict
 - better summary for PopBindingByFunctionId
 - keyboard bindings hooked to gameview keypress
 - do not return correcty function id if no shortcut
 - flatten include trees
 - remove debug comment
 - spaces to tabs
2019-09-17 19:44:37 +02:00
jacob1
d61db0fd63 Fix frame # not showing properly in HUD when recording 2019-08-10 20:43:00 -04:00
Ian Bastos
4383de7ad5 Implement file drop handler (#666) 2019-07-24 00:04:41 -04:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
jacob1
55e6074942 use override in all possible places 2019-03-09 21:07:32 -05:00
Tamás Bálint Misius
e48bd482f6 Add close event 2018-11-16 23:02:05 -05:00
jacob1
a8489ba6f5 add new events api, replaces legacy event functions
event.register(event.mousedown, function(...) print(...) end)
event.unregister(event.mousedown, somefunc)

mouseclick event split into mousedown, mouseup, mousemove, mousewheel
keypress event split into keypress, keyrelease, textinput. key* events only contain keycode and scancode, don't attempt to represent a letter (was very broken at this before). Also have helpful shift/ctrl/alt flags passed in. textinput just represents inserted text, can probably even handle foreign characters.
register_step replaced with event.tick event

All legacy register_* and unregister_ functions are removed. There is a compatibility lua script, might embed it later. tpt.set_shortcuts / tpt.test also removed. event.getmodifiers added, just a misc function to get the currently held modifiers

Lots of code duplication to handle each event is removed, it's not handled in a more generic way. Although the Event class / child classes could use some work.
2018-11-16 00:07:26 -05:00
jacob1
e5230b5b9f upgrade to SDL 2
Still currently in process, there are some issues:
Windows version doesn't work, mac version might not work, opengl might not work
Icon doesn't work (on Linux at least)
Lua will need some changes, there are some sdl 1.2 hacks in there
When entering fullscreen, the window loses focus
When holding down mouse out of bounds, mouse move events stop being sent
When letting go of mouse out of bounds, mouseup event doesn't take into account double scale mode
Clicking on startup without moving mouse will draw at 0,0 for a frame
Renderer probably won't compile because USE_SDL doesn't entirely work

... and maybe others

Some nice things were done though:
no more blit2, sdl can do the scaling itself
3d effect removed, no reason to support this joke any longer
No need to support copy/paste ourselves, sdl does it now
text handling done much better now, separate events for key presses and text input
when a new window is shown, all events ignored until next tick (ignore textinput event if window shown from key press event like console)
2018-05-25 21:19:44 -04:00
mniip
ff27d69424 Switch from std::string to String/ByteString in most of the code
Also switch SimulationData from weird arrays to std::vector
2018-04-30 21:13:24 +03:00
jacob1
67bc12de97 Fix issue where TPT was bought by EA 2018-04-01 15:26:13 -04:00
jacob1
40d2850ff7 TPT has now gone free to play! Many elements are unlocked by default, but by using Powdercoins you can unlock new elements and promote your saves to front page! 2018-03-31 22:40:23 -04:00
jacob1
f2ac8a951c add ctrl+q shortcut to exit the game from anywhere 2018-03-10 16:01:14 -05:00
jacob1
bd7f9fa247 prevent people from stealing the 404 save 2018-03-03 22:05:08 -05:00
jacob1
4ff0a9f52c only expand stamp in the direction you are moving 2017-10-04 21:07:00 -04:00
jacob1
6bd068713e recording improvements
remove 'r' record shortcut
add tpt.record function. Still gives the user a confirm prompt
recordings now go into recordings/<timestamp>/, where timestamp is the time the recording was started. <timestamp> is returned by the tpt.record function. Each new recording starts the filenames over at 0 again.

you probably still need a lua script to use the recording feature, this should make it easier for those
2017-09-04 14:06:28 -04:00
krawthekrow
477d2be92c always calculate tool button offsets directly from mouse position 2016-11-07 17:39:13 -05:00
jacob1
cf5ec57ab3 prevent 'z' keypresses while doing stamp stuff, add skipDraw variable to prevent wasted drawing calls 2015-09-25 15:43:13 -04:00
jacob1
5acf366d70 fix terrible mouse bug from last commit, redo tool strengths to be less buggy and only ever have an effect on normal drawing (not lines / boxes) 2015-09-24 01:39:20 -04:00
jacob1
dab25160cc last commit was buggy, this tiny rewrite should be perfect 2015-09-22 22:52:25 -04:00
jacob1
13a71b611a more tptmp mouse fixes, fix buttons and menusection buttons staying highlighted sometimes 2015-09-22 19:59:31 -04:00
jacob1
cacef125c6 tptmp mouse syncing fix
mouse lines now end on the point where the mouse is lifted up as intended, instead of at the point where the mouse is at the end of the frame
also remove unneeded variable
2015-09-21 19:33:27 -04:00
jacob1
6ae3593465 remove pointQueue, replace with something that works properly
No longer draws a single point by itself at the start, and draws a final line to the point where the mouse is released
2015-09-21 02:13:01 -04:00
jacob1
16781bcb8e two new lua mouse up events (4 & 5) for some corner cases
Also fixes mouse held event being stuck in one of those cases
2015-09-20 21:40:00 -04:00
jacob1
ed4678c9a8 add deco flood fill, flood fills based on color being close enough
flood fill brush is hidden when deco tools are selected like this because it gets in the way. Renderer::vid is compared here so there could definitely be issues, but it works fine when used under normal conditions
2015-08-30 01:38:32 -04:00
jacob1
6a88e42580 Add tooltip when hovering over any kind of link sign 2015-06-27 20:44:48 -04:00
jacob1
fef767335f remove loggedIn variable, small change to tooltips 2015-05-11 10:53:05 -04:00
boxmein
424d1d4b47 when you're not logged in, displys a not-highlighted HDD save button 2015-05-01 15:54:41 +03:00
boxmein
56d04fcde8 add new form of enableCtrlBehaviour for un-highlighted HDD saving 2015-05-01 14:44:22 +03:00
jacob1
efd69b208d fix a ton more errors in the interface code, including all the -Wreorder ones 2015-01-16 19:58:39 -05:00
jacob1
1a2e3a11fc cancel drawing when the mouse moves in / out of the zoom window, fixes #228 2015-01-10 13:35:23 -05:00
jacob1
3b09c4bdbc change tooltips for the save upload button to make it more clear 2014-12-18 19:54:48 -05:00
jacksonmj
beff8e73ba Fix renderer compiling 2014-11-09 21:32:06 +00:00
jacob1
46eda12479 lua logs fade out individually 2014-11-06 20:24:42 -05:00
jacob1
a801f0a0b4 allow lua mousepress event to cancel drawing, fixes #229 2014-11-06 20:06:45 -05:00
jacob1
507ba35ce0 new DebugInfo thing: the old debug lines 2014-09-27 21:49:00 -04:00
jacob1
e4b08c88cf fix link signs preventing you from using quickoption buttons, fix being unable to place zoom window on link signs. Fixes #222 2014-08-05 19:26:21 -04:00
jacob1
35d97eb14d fix bug where you couldn't place stamps on top of special signs 2014-04-11 23:17:35 -04:00
jacob1
f56a2f6000 add back replace mode and specific delete. Activated with insert key / delete key, use ctrl+alt click to select what to use for the checks 2013-07-18 15:40:32 -04:00
jacob1
9628a11245 save to server button is disabled when not logged in, but tags are viewable (read only) 2013-07-16 16:55:39 -04:00
jacob1
b594d68258 WIND tool creates WIND just by holding down the line tool again 2013-06-06 11:52:33 -04:00
jacob1
b16524292e fix bug where you had to start using a tool before setting it's strength 2013-05-31 19:53:32 -04:00
jacob1
cbc80de652 some new sim and ren lua api functions 2013-05-29 20:35:46 -04:00
jacob1
94d21a1679 when called with no arguments, some tpt. functions will act as get functions (unfinished)
Also, redo some menu stuff to use int's instead of Menu *s, and fix bug with toggleable buttons being toggled without triggering their actions
2013-05-14 23:50:26 -04:00
jacob1
9d89d4b79b fix tooltips and dt 2013-05-11 21:43:52 -04:00
Simon Robertshaw
9abe51526c Move all GUI source files into gui/ 2013-03-22 14:14:17 +00:00