Commit Graph

273 Commits

Author SHA1 Message Date
jacob1
9ac8b00b8d
Fix "B12345678/S012345678/17" appearing in HUD for ctype 78 2021-07-13 20:53:58 -04:00
jacob1
8a788fac78
Misc minor changes to new elements
LITH: show .tmp2 in HUD, remove outdated comment
SLCN: update description
ROCK: form under pressure from both normal LAVA and LAVA(STNE), as these are basically the same thing
2021-07-09 22:09:24 -04:00
jacob1
d1016cf58d
move Platform.cpp to common/, seems to fit in a little better there 2021-06-26 00:58:37 -04:00
jacob1
6e0ace2e4d
Add / move some filesystem methods to Platform.cpp 2021-06-26 00:58:37 -04:00
Cracker1000
7be888ccf1 Make debug mode show .tmp2 for VSNS too. 2021-05-30 19:54:10 -04:00
jacob1
a25fa700e2
Don't show GoL .tmp in HUD, check if create_part was successful while simulating GoL 2021-05-11 23:40:31 -04:00
Tamás Bálint Misius
2e16eecae0
Fix a bunch of LDTC and DTEC issues
Namely: LDTC GoL detection, ctype-drawing and HUD rendering, alongside DTEC HUD rendering.
2021-04-18 20:32:32 +02:00
Tamás Bálint Misius
1681ca77d8
Add Lua support for composition 2021-04-02 10:21:54 +02:00
Tamás Bálint Misius
3dbf6d7810
Use SDL text input correctly, add basic composition support 2021-04-02 10:21:52 +02:00
Doxin
cc2022504a Add ren.showBrush to the LUA api to allow hiding the brush 2021-03-18 16:13:15 -04:00
Doxin
b1506e15d4 Don't draw intro text when hud is disabled 2021-03-18 16:13:15 -04:00
Tamás Bálint Misius
4b7e85c2fb
Fix a metric ton of MSVC warnings 2021-02-15 21:24:44 +01:00
Tamás Bálint Misius
360297c338
Mesonification 2020-12-14 20:16:52 +01:00
Tamás Bálint Misius
2273233b71
Display 'invalid' ctypes as numbers in HUD 2020-11-10 17:54:39 +01:00
Tamás Bálint Misius
ba72dc7a22
Custom GOL (#731)
Co-authored-by: jacob1 <jfu614@gmail.com>
2020-10-08 20:23:59 +02:00
jacob1
688b4bec30 Fix bug with line tool while WIND is selected (id:2554353) 2020-06-14 15:23:27 -04:00
jacob1
899a2a046c Add ctrl+u shortcut to reset ambient heat 2020-04-27 23:20:54 -04:00
Tamás Bálint Misius
fe15566d2c
Only change modes when the lock is being held, see 2333786 (fixes #700) 2020-03-23 23:08:52 +01:00
Tamás Bálint Misius
a2a8c876b3 Finalize latin-1 supplement changes
Swap both versions of O with acute and grave accents
Fix a few ASCII-isms
Fix intro text; the latin-1 changes broke the line under The Powder Toy
2020-03-09 23:44:18 +03:00
Tamás Bálint Misius
4d52531889
Ditch element and tool classes 2020-01-09 19:22:11 +01:00
Tamás Bálint Misius
7629c98f22
Get rid of tiny callback classes, round No.1
I say round No.1 because I'm not sure if there are any left.
Hopefully there aren't.
2019-12-16 21:20:33 +01:00
jacob1
d61db0fd63 Fix frame # not showing properly in HUD when recording 2019-08-10 20:43:00 -04:00
jacob1
c696a11793 Fix 'l' crash 2019-07-24 00:43:48 -04:00
Ian Bastos
4383de7ad5 Implement file drop handler (#666) 2019-07-24 00:04:41 -04:00
Tamás Bálint Misius
23337862a4
Use current rendering modes when placing a save (fixes #446) 2019-07-22 10:38:13 +02:00
Tamás Bálint Misius
a407aba087
Make Simulation.IncludePressure pref node accessible from OptionsView
Also remove ugly and messy behaviour depending on whether
shift is being held while copying or stamping.
2019-07-10 00:35:49 +02:00
yarek
bc5fd4ffc8 Small UI refactor
nFixed category refreshing
2019-07-06 09:03:07 +02:00
yareky
5508f0ccfd Allows to change menu selection from hovering to mouse click
New option in the menu available. This new  menu behaviour is disabled by default.
2019-07-06 09:03:07 +02:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
Tamás Bálint Misius
5810a19dbc
Get GetUserName out of the way on Windows 2019-04-17 01:16:45 +02:00
Tamás Bálint Misius
9d92b77163
Clean up sign-related code a bit
Also draw search signs with purple text and thread signs with red.
2019-04-12 17:09:34 +02:00
Tamás Bálint Misius
c8960d1358
Add more sign macros (fixes #578) 2019-03-31 21:44:54 +02:00
Tamás Bálint Misius
47f898ca5a
Tweak replace mode and specific delete mode (fixes #631) 2019-03-30 23:59:20 +01:00
jacob1
2e17b848b1 Make element names a String (unicode support)
This won't be used by official elements, but mods or lua scripts could and do use unicode
2019-03-12 00:10:43 -04:00
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