Commit Graph

182 Commits

Author SHA1 Message Date
Tamás Bálint Misius
de1fc0f906
Revise ctype-drawing (fixes #657) 2019-07-27 19:12:05 +02:00
jacob1
9faf95a858 misc whitespace changes 2019-07-23 00:11:48 -04:00
Tamás Bálint Misius
dbd5999d1c
Reinstate inversion of inclusion of pressure when shift is held
This feature was removed temporarily in a407aba.

Whether pressure is included when saving or loading is
determined as follows:

 * load-like operations (which invoke Simulation::Load) always
   include pressure;
 * save-like operations (which invoke Simulation::Save) include
   pressure if the Simulation.IncludePressure preference node
   is true;
 * finally the state of the shift key inverts the decision.
2019-07-16 19:43:52 +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
Tamás Bálint Misius
92a748bf76
Add missing standard include (fixes #644)
... which is apparently needed on some systems. I guess we might
be missing includes all over the place.
2019-06-12 22:52:12 +02:00
Tamás Bálint Misius
8897c6daea
Make elem.free rebuild menus (fixes #649)
Also make sure removed elements don't stay selected.
2019-06-11 21:12:22 +02:00
Tamás Bálint Misius
75e6ece184
Expose transition constants to Lua (fixes #654) 2019-06-11 20:43:34 +02:00
Tamás Bálint Misius
07b0d52f90
Add more transition type checks and fix tpt.eltransition
Though I'm quite sure nobody actually cares about that table. It's been broken for a
very long time.

The PROP tool now properly calls part_change_type when type is being set.
2019-06-03 19:27:06 +02:00
Tamás Bálint Misius
97bde1111d
Fix part_change_type not being called by sim.partProperty 2019-06-03 12:59:39 +02:00
Tamás Bálint Misius
8671332e60
Fix transition properties not being validated
Also clean up some more of the Lua API code, again. Eww.
2019-06-02 17:49:21 +02:00
jacob1
20c98e9b48 Add sim.CELL constant + some other change I made a while ago for some reason 2019-05-15 00:21:17 -04:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +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
59afaec70f
Fix Element::Identifier assignment leak (closes #205)
I didn't use 'fixes' because this doesn't strictly fix that specific
bug (I think?). Anyway, it does remove strdup which is mentioned in the
issue.

Also fix elem.free not allowing DEFAULTFOO_PT_STUFF and similar to
be freed.
2019-04-12 00:27:27 +02:00
Tamás Bálint Misius
06e2836726
Fix Lua reference leaks (fixes #638) 2019-04-09 15:28:40 +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
c7ae820f1c Add MotD when using a broken alternate update server 2019-03-23 11:01:32 -04:00
Tamás Bálint Misius
5bc3c03082 Change scheme to https everywhere 2019-03-18 23:50:38 -04: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
Tamás Bálint Misius
30c7f6ded7 Rename Download* to Request* and move HTTP stuff inside src/client/http 2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
53f2018c7e Turn RequestBroker::RetrieveAvatar into a request derived from Download
Also add http namespace because classes clashed a lot.
2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
8b5cf394e0 Replace http_* calls with Download calls in non-RequestBroker stuff 2019-03-07 22:56:08 -05:00
jacob1
9e110cba73 zoom api changes: throw errors instead of returning bools, zoomEnabled takes book as arg, some small refactoring 2019-03-05 23:43:41 -05:00
ssccsscc
1355a4363e Added Lua function for working with zoom 2019-03-05 23:43:41 -05:00
ssccsscc
a9b862645a Added Lua function for working with zoom 2019-03-05 23:43:41 -05:00
jacob1
1536736b33 allow using element names as argument 2 to tpt.set_property again 2019-02-23 18:05:11 -05:00
jacob1
46cd49ba24 Fix uncaught exception in console when trying to parse invalid numbers 2019-02-16 19:20:55 -05:00
wolfy1339
a2bb531c46 Remove inclusion of deprecated C++ headers 2019-01-31 20:09:15 -05:00
jacob1
2d838087b5 minor fix 2018-12-30 13:49:00 -05:00
jacob1
08c22031e2 Add tpt.unregister_keypress to eventcompat.lua 2018-12-30 13:47:57 -05:00
jacob1
10bee577a2 eventcompat.lua: Add shift mapping for us keyboard layout 2018-12-28 19:16:22 -05:00
jacob1
3b3775addf Add blur lua event, called when opening another interface window 2018-12-27 21:17:24 -05:00
jacob1
d0dd9ec22f fix sim.brush being double size, fix compile warning 2018-11-21 12:38:26 -05:00
jacob1
a3eae58120 fix (msvc) compile error 2018-11-17 19:33:16 -05:00
jacob1
2929264885 embed event api compatibility lua script
probably temporary, can't deprecate and remove an extremely common api in the same version.
lua script embed code mostly copied from my mod
2018-11-17 00:09:48 -05:00
Tamás Bálint Misius
e48bd482f6 Add close event 2018-11-16 23:02:05 -05:00
Tamás Bálint Misius
3de68c4346 Fix event objects not being freed 2018-11-16 23:02:05 -05:00
Tamás Bálint Misius
531229daa9 Move EventTypes inside LuaEvents to prevent global scope pollution 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
48bc6e02ba Fix gcc 8 warnings 2018-11-03 19:36:07 -04:00
jacob1
276098f9db fix crash when using elem.element on windows 2018-09-17 23:03:05 -04:00
jacob1
92244f78bb initialize some variables to fix -Werror=maybe-uninitialized warnings
most aren't actually bugs, but gcc isn't able to determine that the paths it can follow guarantee they are initialized
2018-07-08 00:49:35 -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
mniip
30dd49235d Add ToLower/ToUpper 2018-05-14 05:12:32 +03:00
jacob1
36a545124e fix setting element properties in legacy lua api 2018-05-13 16:16:14 -04:00
mniip
a87acf56b7 Replace strdup with mystrdup 2018-05-10 10:34:45 +03:00
jacob1
8a8cbb81e4 fix getting/setting description in elements api 2018-05-10 00:27:55 -04:00
mniip
f8586ea3a2 Remove ByteString::Stream 2018-05-04 23:10:39 +03:00
mniip
5ff8cefca4 Replace String::Stream parsing with number splitting 2018-05-03 04:11:43 +03:00