Commit Graph

289 Commits

Author SHA1 Message Date
jacob1
55e6074942 use override in all possible places 2019-03-09 21:07:32 -05:00
jacob1
79aef1dab6 prevent weirdness when ctrl/shift/alt key event is canceled 2019-02-24 15:29:02 -05:00
jacob1
3fb134f814 Fix issue on qwertz keyboard layouts where the first key input after opening the console would be ignored
This seems like a hack, but I think it's the intended way to do this?
2019-02-20 22:12:22 -05:00
jacob1
16d686e949 fix replace mode semicolon shortcut 2019-02-19 21:53:44 -05:00
jacob1
08cd32abbe use scancode instead of keycode for most keyboard shortcuts
keys like 0-9, tab, enter, ctrl/shift/alt, ins, and del are still looking for keys instead of scan codes, just in case (but I expect them to be always equivalent anyway)
2019-02-19 21:46:56 -05:00
jacob1
25c1b13bd4 improve find tool handling with GoL, can now find specific life elements
Reverts most of LBPHacker's previous commit, lol
2019-02-16 19:13:05 -05:00
Tamás Bálint Misius
4ff1dc0bc3 Fix a few more random PMAPBITS issues 2019-02-16 18:57:51 -05:00
jacob1
abce030d5d ignore mouse button 4/5 when drawing, fixes #626
perhaps in the future we'll add a use to these
2019-01-31 20:06:09 -05:00
jacob1
3b3775addf Add blur lua event, called when opening another interface window 2018-12-27 21:17:24 -05:00
jacob1
87fb94ce94 Delete unused Thumbnail handling code 2018-11-27 22:13:29 -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
krawthekrow
bdc3f300ba show conv tmp as element name in hud 2018-07-21 22:36:06 -04:00
krawthekrow
d05e4b2d0b show ldtc tmp2 in hud 2018-07-21 22:27:11 -04:00
jacob1
8e09edd188 fix typo in favorites menu 2018-07-07 21:41:36 -04:00
LBPHacker
a3a3b3be1a Make ctrl+shift+click toggle favorite status 2018-07-07 19:10:41 -04:00
jacob1
53f6807ea6 make fps update less often in hud 2018-06-04 23:48:40 -04: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
jacob1
3b428789c7 fix selecting another element turning off find tool 2018-05-17 20:59:37 -04:00
mniip
f8586ea3a2 Remove ByteString::Stream 2018-05-04 23:10:39 +03:00
mniip
6c9cb174fb Change some uses of String::Stream to StringBuilder 2018-05-02 22:11:41 +03:00
mniip
a121c62c3b Add some helper methods and rewrite some of the string manipulation code 2018-05-02 01:32:04 +03:00
mniip
833383b121 Move TPT's icons to the (real) Private Use Area of the unicode 2018-05-01 07:03:48 +03: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
6731fa16b7 fix memory leaks when loading stamps ('l') and viewing saves 2018-04-21 00:15:15 -04: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
b07e8d93d5 When finding particles, show how many were found in HUD 2018-03-07 23:19:55 -05:00
jacob1
c3ff761288 my editor decided to use spaces here for some reason 2018-03-03 22:07:36 -05:00
jacob1
bd7f9fa247 prevent people from stealing the 404 save 2018-03-03 22:05:08 -05:00
jacob1
f9b5c6bb1a use std::string instead of c strings for sign stuff, fixes #545 2018-03-03 20:44:03 -05:00
jacob1
0d1c3f5f49 ctrl+p shortcut to select prop tool 2018-02-03 17:39:23 -05:00
jacob1
3d66b7e263 remove hardcoded op 2018-02-03 17:38:47 -05:00
jacob1
b5159ab74e Changes to save format and PIPE
Update save format to optionally store type as two bits
PIPE now stores element in ctype
Disallow uploading saves using two bytes in type or other fields
update save format to store pmapbits and automatically convert data
2017-12-31 23:55:41 -05:00
jacob1
0c8c4de125 convert all of the rest of the things except GameSave.cpp and pipe/ray elements
also add sim.PMAPBITS and sim.PMAPMASK constants
2017-12-29 21:01:28 -05:00
jacob1
ac24810da5 add some defines to reduce usages of hardcoded r>>8 2017-12-28 12:03:26 -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
jacob1
6931f35520 hold shift when saving or loading stamps to not save / load pressure, closes #491 2017-08-03 00:13:06 -04:00
jacob1
ac489c9295 hide .tmp in HUD for RFRG and RFGL 2017-07-29 22:54:39 -04:00
jacob1
b38b2047e6 some changes to sign handling (attempt to fix crash that I can't reproduce) 2017-07-28 21:19:06 -04:00
jacob1
adb39b91a9 attempt to reduce "script is not responding" when debugging (valgrind / breakpoints) 2017-07-28 20:32:46 -04:00
jacob1
cbad202ac2 fix brush when CELL is changed to 1 2017-07-28 19:40:50 -04:00
jacob1
1cfd9d8fc7 only display updates based on build number, not version number 2017-07-23 16:41:38 -04:00
jacob1
aad8eba5df Version 92.0
also update README, and make ctrl+a moderator only shortcut
2017-07-23 10:58:52 -04:00
jacob1
6efedcdd33 undo authors changes on ctrl+z, prevent excessive nesting 2017-07-15 16:21:16 -04:00
jacob1
5ee10d14e4 reduce unnecessary #include dependency chains
for example, elements no longer include Client.h or Graphics.h, and interface stuff won't include Window.h or Graphics.h unless requested
2017-07-13 23:24:35 -04:00
jacob1
8e5b0c760e Add logging inside saves which remembers which other saves material was taken from
The logging is saved inside the bson data in all online saves, local saves, stamps, and clipboard pieces. It is loaded back when reloading each of those.

See #474 for the format of the data. It is the same format for the bson data. Note that "links" is an array of objects. It can be recursive.

There is some effort to not duplicate information, we don't care if you loaded a stamp 10 times or if you are using the clipboard in your own save. Extra information is mostly not saved for your own stuff, only when you take material from other saves.

Press ctrl+a in debug builds to show what info it is currently saving in Client. Also enabled in snapshots for now.

There is one unrelated change in here, which fixes a crash pointed out by QuanTech. It was also save related and it was too close to the other changes to separate it into another commit. It fixes a crash when saving signs with invalid unicode. the BSON library doesn't like this, it was returning an error but we ignored it, which caused a crash. It now notices those errors. I also had to update several Serialize calls to check if it actually returned save data, or else it then would have started crashing there instead.
Also some debug prints were removed
2017-07-13 00:19:35 -04:00
jacob1
d8edb3c2e0 make sure STKM / other particle graphics aren't drawn over the menus 2017-06-13 10:00:35 -04:00
jacob1
ce054bfc3f fix misc. errors reported by clang static analyzer 2017-05-06 20:02:23 -04:00
jacob1
cdc8f64896 fix clang compile warnings, fixes #406
also, sim.ambientAirTemp takes floats now
2017-04-27 23:08:06 -04:00
jacob1
ddd326eafd fix LSNS 2017-04-23 12:51:40 -04:00
jacob1
0dd1cbf050 Add C5 to phot HUD list, fixes #401 2017-04-21 20:32:12 -04:00
LBPHacker
becd92bfc2 Fix downvote button not being reset when opening a local save 2017-03-19 23:16:39 -04:00
Mark Theng
1c12d1ec16 Take history snapshot before setting save (#358) 2017-03-19 23:15:08 -04:00
jacob1
ca792f12b5 misc compiler warning fixes (multiple compilers) 2017-02-20 19:14:50 -05:00
jacob1
787939db3d add ctrl+shift+z alternate shortcut for redo 2017-02-09 22:57:31 -05:00
krawthekrow
95d2014724 allow redo with Ctrl-Y 2016-11-14 10:03:08 -05:00
krawthekrow
63b2227802 add ctype-based filt shift modes (#351) 2016-11-07 18:06:43 -05:00
krawthekrow
477d2be92c always calculate tool button offsets directly from mouse position 2016-11-07 17:39:13 -05:00
krawthekrow
f5ede49362 combine GameView DoMouseMove into OnMouseMove 2016-11-07 17:39:13 -05:00
jacob1
ae247a2d2b Fix uglyness with how Favorites menu was done 2016-07-24 22:30:56 -04:00
jacob1
8fe78eacd8 add help text to favorite's menu tooltip when the list is empty 2016-07-23 11:58:20 -04:00
jacob1
ecb08952e5 Add SDL_keysym.h, Use official SDL constants 2016-07-19 22:42:10 -04:00
jacob1
88097496af Allow hiding menusections
Cherry-picked from 75437c7d4c
2016-07-08 19:58:21 -04:00
jacob1
111468c672 Fix not being able to turn off FIND tool when a life element is selected 2016-07-08 19:41:55 -04:00
jacob1
4190946de5 fix warning+exit crash, fix menusection offset resetting when menus are rebuilt 2016-06-25 11:56:03 -04:00
Matthew Miller
083d488566 Added a favorites menu. (#298)
Added a favorites menu.
2016-06-25 11:55:18 -04:00
jacob1
5cab8f45f2 Fix 'n' toggle also resetting air 2016-04-23 11:39:06 -04:00
jacob1
10262b87da remove PARTICLEDEBUG define and replace it with tpt.setdebug(0x8) to activate the key shortcuts 2016-02-24 22:06:43 -05:00
jacob1
226a66a860 add ctrl+f shortcut to easily locate elements in red from my mod
doesn't support walls or better life finding because tools are much harder to work with here
2016-01-10 22:23:06 -05:00
jacob1
5afb95dcf1 change shift+wind tool to not always act like alt was pressed 2015-11-30 19:19:50 -05:00
jacksonmj
d1dcae5574 Only show wavelengths in HUD if there is at least one valid wavelength 2015-10-29 07:15:02 +00:00
jacob1
dc679d7eb0 Add more elements to .tmp2 list, use local varibles instead of constantly accessing sample.particle.type 2015-10-22 21:39:12 -04:00
jBot-42
6ee0bc4cda remove stor and pipe 2015-10-18 18:36:22 -07:00
jBot-42
cf615c323f Show Tmp2 in HUD for elements that use it 2015-10-17 18:18:19 -07:00
jacksonmj
d0445258c5 CONV tmp value can now be used to restrict which elements get converted. Requires version bump to 92. 2015-10-13 01:33:19 +01:00
jacob1
3cc27a7c9b Reupload -> Re-upload (cracker64 complaint) 2015-10-10 01:22:39 -04:00
jacob1
66863b7578 update last tool and drawMode when clicking too, fixes some issues 2015-10-10 01:17:19 -04:00
jacob1
d4e3196070 fix wall brush displaying incorrectly when drawing boxes 2015-10-10 00:53:21 -04:00
jacob1
bff6dedd48 show cursor when drawing even when mouse is out of bounds 2015-10-10 00:34:27 -04:00
jacob1
cae8c9e095 fix some compile errors with last commit, remove snapshot version info from HUD and add to intro text instead, add tpt.version.snapshot 2015-09-26 14:56:37 -04: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
b2840de173 mouse drawing triggered on mouse move, flood fill triggered on mouse down/move/up 2015-09-25 13:17:24 -04:00
jacob1
610cd82f0d remove bad wind tool exception, make sure UpdateDrawMode() is called on zoom mouseups
should be pretty easy to remove any remaining tptmp syncing issues now. There are still a few possible bugs in my list but they require a mouse to test ...
2015-09-24 02:14:56 -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
e5ef3cd4a8 More changes to ensure that switching between selectMode stuff works properly (won't get stuck or trigger on mouseup when it shouldn't)
Hopefully no bugs but lots of the previous commits had bugs.
Also, remove wasd shortcuts for shifting stamps because they conflicted with being able to press 's' to switch selectMode at any point.
2015-09-24 01:11:49 -04:00
jacob1
a0c77fe6e8 fix it being impossible to select wall menu, add wall identifiers from my mod 2015-09-24 00:26:37 -04:00
jacob1
dab25160cc last commit was buggy, this tiny rewrite should be perfect 2015-09-22 22:52:25 -04:00
jacob1
a81a41b67f fix being able to change between box/line/flood fill while drawing (by releasing keys), a bunch of other extremely obscure fixes 2015-09-22 21:40:19 -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
f230ac8945 send fake lua key release event when going into another interface 2015-09-21 19:50:03 -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
cd97d6364b add comma before Newtonian Gravity in HUD 2015-09-20 17:29:30 -04:00
jBot-42
78c700a62b Added ambient heat to the HUD 2015-09-20 17:26:38 -04:00
jacob1
722b9d93d6 a few minor improvements so that stamps are more consistent in tpt++ / my mod 2015-09-19 21:19:17 -04:00
jacob1
71d75e37e3 you can now press any key while loading / saving stamps
This means you can do stuff like press 'l' while saving a stamp, pressing 'k' while placing a stamp, press 's' while copying an area, and it will cancel the old action and start a new one
also, 'l' doesn't reset mouse to DrawPoints state
2015-09-19 20:51:54 -04:00
jacob1
8ecb2682aa modifier keys are now checked when doing stamp stuff 2015-09-19 20:20:32 -04:00
jacob1
4af4ae3656 allow an extra tool button to show on the left edge when cut off
electronics, explosives, and solids all have just one extra element, now you can always see it without scrolling. The only other scrolling menu is GoL
2015-08-30 01:55:48 -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
37794c01af .tmp2 for CRAY now sets creation offset (just like DRAY)
LIFE info moved into .ctype, no reason to use a whole extra variable for it
2015-08-29 22:02:05 -04:00
jacob1
6a88e42580 Add tooltip when hovering over any kind of link sign 2015-06-27 20:44:48 -04:00
jacob1
d67cb4b582 add new s: sign which does a save search
also change some searchController stuff to properly queue searches when one is already going on
2015-06-27 19:03:41 -04:00
jacob1
f95186d3b9 fix zoom window staying up if you are holding ctrl while placing it
press z -> ctrl, then release z -> ctrl
2015-06-26 11:48:56 -04:00
jacob1
80bf240ced fix coordinates when placing stamps 2015-06-26 11:48:56 -04:00
jacksonmj
34567bc496 Merge pull request #247 from ryanmjacobs:fix_pointer_checks 2015-05-16 02:19:08 +01:00
jacob1
0a2b60627f change left tooltip when a local save is open 2015-05-14 22:34:28 -04:00
jacob1
fef767335f remove loggedIn variable, small change to tooltips 2015-05-11 10:53:05 -04:00
boxmein
7145cacbb9 implement HDD saving by default in GameView. update tooltips to describe behaviour. 2015-05-01 15:55:22 +03: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
bf001dfd77 enable Ctrl behaviour (eg sae to HDD) without highlighting 2015-05-01 14:44:51 +03:00
Ryan Jacobs
55a30673c4 Remove unnecessary pointer checks.
There are *no* more spacing issues. I used tabs exclusively.
Also, I made changes off of the develop branch.

Here's the Ruby regex that I used:
text.gsub!(/(( |\t)*)if ?\((.*)\) ?{?\n?( |\t)*(free ?\(|delete |delete\[\] )(.*)\)?;/, "\\1\\5\\6;")
2015-02-14 22:13:26 -08:00
jacob1
2c0287b71d PARTICLEDEBUG define which turns on some particle debugging key shortcuts
Also fix particle updating bug
2015-02-06 20:33:10 -05: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
jacob1
35782fdd10 'l' always loads last save from disk (won't load cached deleted save) 2014-12-15 15:13:37 -05:00
jacob1
9fdcc28dac make close icon match the color of the button/text around it 2014-12-04 18:17:44 -05:00
jacob1
efaa32363f page textbox in browser (go to any page)
also fix page count (add one for front page), and make page count invisible until the saves actually load
2014-11-11 17:25:50 -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
377a99294f this should allow you to place the zoom window while selecting an area to stamp 2014-10-31 14:09:02 -04:00
jacob1
5654425637 placing zoom window cancels shift-lines 2014-10-31 12:47:37 -04:00
jacob1
2fc1dcbe29 fix bug with placing zoom window while saving a stamp 2014-10-31 12:17:33 -04:00
jacob1
d29c2cb2a5 fix tags button being too long 2014-08-23 20:05:01 -04:00
jacob1
7e9c507e64 fix memory leak 2014-08-15 12:15:13 -04:00
jacob1
2416a9b454 fix being unable to click link signs unless zoom window is out 2014-08-15 11:53:18 -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
mniip
44405827b0 Make the upvote more fancy and bigger 2014-06-04 00:35:40 +04:00
jacob1
7e1076ee5f use drawtext_outline for element descriptions 2014-05-22 12:39:35 -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
92891f364b fix tooltip commit 2014-03-12 00:03:32 -04:00
jacob1
7dc5139b66 toolTips on search / save simulation buttons change when ctrl is held 2014-03-11 14:04:05 -04:00
jacksonmj
9531de49ec Vertical flip when pasting stamps (Ctrl+shift+r) 2014-03-08 13:41:45 +00:00
jacksonmj
55fbf13157 Display numeric value of ctype instead of element name translation for elements which use it as wavelengths 2014-03-08 13:34:03 +00:00
mniip
fdfaa3a29b add defines for window resolution
--amend
2013-12-29 20:12:50 +04:00
mniip
bc84326ca2 Got rid of debug fps counter, just added deltatime into usual fps counter 2013-12-21 05:26:54 +04:00
mniip
5fc07b4c3c fix PHOT/BIZ* transparency 2013-12-12 19:54:52 -05:00
mniip
12d98dada1 oooo wait, rectangle snap too 2013-12-12 16:23:58 -05:00
mniip
0fb08c5e97 fix snapping
why was trigonometry used in such a simple function
2013-12-13 00:55:20 +04:00
mniip
4b914d12c2 fix tags order (#141) 2013-11-12 09:16:17 +04:00
mniip
bf908bbfbf Fix various warnings, remove silly useless NO_INLINE system, remove the need for -fkeep-inline-functions 2013-10-30 04:47:07 +04:00
Simon Robertshaw
67c82ee283 Quick fix: Fix dummy key defs used by renderer and other non-input builds 2013-10-29 20:51:44 +00:00
jacob1
48ecbce554 f5: reload sim, f2: screenshot f3: toggle extra HUD 2013-10-26 00:17:06 -04:00
jacob1
fd6da26b73 fix not being able to select / see all elements in menus with tons of elements 2013-10-18 16:36:37 -04:00
jacob1
13d89ce9e1 Fix tpt.get_numOfParts, add "C" next to temperature in HUD 2013-09-28 16:58:01 -04:00