Commit Graph

110 Commits

Author SHA1 Message Date
Tamás Bálint Misius
ea07244119
Refresh history code in GameMVC 2021-08-04 17:08:23 +02:00
jacob1
ffb88259d6 Split Simulation::IsValidElement into IsElement and IsElementOrNone
Allows finer control over whether you want none included or not.
Fixes some invalid things being allowed for element 0 in legacy lua api
Fixes {ctype} signs showing 0 instead of NONE
2021-04-11 23:20:33 -04:00
Tamás Bálint Misius
360297c338
Mesonification 2020-12-14 20:16:52 +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
Tamás Bálint Misius
4d52531889
Ditch element and tool classes 2020-01-09 19:22:11 +01:00
jacob1
2576175762 remove unnecessary arguments to FloodINST. Fix random warning. 2019-12-23 00:34:21 -05:00
Secundario
a05e20f1bf Do a single CoordStack allocation per thread 2019-12-21 13:14:40 -05:00
Tamás Bálint Misius
51e5f2bffa
Add option to make deco tools use sRGB colour space
Currently only affects the smudge tool. I'd have to look
into the others to decide if they need chaging. They probably
do though, they're not exactly intuitive.

I also fixed a bug with DropDowns where their popup would
show up in some random place if the parent window was a
ScrollPanel, and changed a few alignments here and there.
Notably, DropDowns now align the popup so that the currently
selected item is vertically centered and doesn't move when
the popup is opened.
2019-09-21 21:37:34 +02:00
jacob1
2e154e5ff9 Rewrite flood_water to use CoordStack and fix stack overflow, fixes #646 2019-08-10 22:38:44 -04: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
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
Tamás Bálint Misius
c8960d1358
Add more sign macros (fixes #578) 2019-03-31 21:44:54 +02: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
601af1feff fix compile warnings, remove ugly PRTI/PRTO hack 2018-04-23 21:57:30 -04:00
Saveliy Skresanov
1c600249dc Remove a useless header. 2018-04-23 22:55:22 +07:00
Saveliy Skresanov
cda029ff42 Use xoroshiro128+ random generator (everywhere besides BSON code). 2018-04-23 22:47:44 +07:00
wolfy1339
27f6a6b297 Strip whitespace from files in repo (#553) 2018-04-03 21:46:01 -04:00
jacob1
1f97199df6 fix solar panels sometimes not working 2018-03-25 18:34:25 -04:00
jacob1
f45d0d1683 save palette now works for elements stored in ctype/tmp/tmp2 2018-03-17 21:46:35 -04:00
jacob1
ad5b12fe6d part_change_type now returns true if it killed the particle 2018-03-10 15:39:39 -05:00
jombo23
0a63e1afb5 Add Cyclone Tool and Brush X/Y Arguments (#542) 2018-02-13 00:08:00 -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
LBPHacker
ce58c4aadf Fix Simulation::Restore decrementing life values
Simulation::Restore used to call Simulation::RecalcFreeParticles. The problem with that was that RecalcFreeParticles does more than just what its name suggests: it also decrements life values. Restore shouldn't do that. The solution is to tie decrementing life values to an argument in RecalcFreeParticles. This is also makes to code more future-proof as it lets everyone know that they have to keep their eyes peeled when invoking RecalcFreeParticles.
2017-08-17 00:23:37 -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
67b87b1dab palette now used for default elements again, with some fixes
palette now used in VIRS, fixes #460
2017-06-18 00:08:41 -04:00
jacob1
8f4e3a56bd reduce ctrl+z snapshot memory usage 2017-02-09 22:55:05 -05:00
jacob1
d63c6012c6 force a stacking check when undoing (id:1997880) 2016-06-11 10:21:25 -04:00
jacob1
d334209027 loop edge mode: allow particles to have velocities greater than the size of the screen
Also, added terminal velocity for stickmen
2016-03-12 13:14:34 -05:00
jacob1
f6d82b6f8a separate t and v argument in create_part, fix LIGH not defaulting to .life of 30 with clones / console 2016-01-11 22:38:42 -05:00
jacob1
5ba34021bc jacksonmj: Reduce ETRD lag e7c4b989654e
Improvement isn't as good as the EMP one in normal cases, but for intentional lag bomb saves it is much better. Tested it and confirmed it worked just like before this commit. etrd_life0_count is hopefully valid, the accuracy may not be as good as in jacksonmj's fork
2015-12-19 01:39:03 -05:00
jacob1
bb9b35f01d jacksonmj: EMP lag is hereby banished. eeef50c0fcba
EMP destruction loop now happens once per frame instead of once per EMP
particle.
2015-12-18 23:10:28 -05:00
jacob1
7fcc056cb6 fix really fast particles moving through EHOLE 2015-10-15 00:26:57 -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
8e7e8e0670 some changes to LIGH creation (mostly from lua) 2015-05-11 20:50:10 -04:00
jacksonmj
38e21c8236 Fix crash when STOR is next to PIPE and has an invalid tmp value (http://tpt.io/~1768004) 2015-04-10 14:23:58 +01:00
jacob1
a422e43beb visual studio error fix + warning fix 2015-02-25 18:56:50 -05: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
3a52453561 move more stuff around, remove loop through particles to decrease life and put it in the pmap one instead (like in my mod) 2015-01-11 14:36:40 -05:00
jacob1
577ae3400f move some stuff around (without changes) in Simulation.cpp, add sim.updateParticles function 2015-01-11 13:17:18 -05:00
jacksonmj
236ff08da9 Fix some problems noted in http://www.viva64.com/en/b/0298/
I've left some of the less important items, like SearchView.cpp "'then' statement is equivalent to the 'else' statement", and RequestBroker::Request::~Request, because I don't feel like spending a few days entirely rewriting those files at the moment (which is what I'd end up doing if I started fixing minor problems and refactoring...)

GameSave::readOPS - not changed. At some point we may have to move to a larger type for element IDs (probably two or four bytes), but PT_NUM isn't likely to be raised to the maximum value of that type immediately, so this check will be needed then. There should be an elements[partsData[i]].Enabled check in there too, but it might be a bit difficult - I'm not sure how to access a Simulation object from GameSave::readOPS...

Notes on changes:

Graphics::textsize, Element_FRZW::Element_FRZW - typos

Button::Draw - the extra case was originally used to invert the icon (draw it in black instead of in white) when the button was clicked. However, the icon colour is now automatically set depending on the background colour. (Note similar conditions "if(Enabled) { if(isButtonDown || (isTogglable && toggle)) " near the start of the function - same logic but in a different place, setting icon colour indirectly).

Simulation::transform_save - unused redundant function, everything uses GameSave::Transform which does much the same thing.

PreviewView::NotifySaveChanged - should be height==YRES/2, it's checking whether the preview image is the correct size, and resizing it if it isn't.

Element_FWRK::update - no idea why that line was there, even though it was my commit that originally added it...
2014-12-25 17:09:35 +00:00
jacob1
6ce2d5fe92 #define MAX_FIGHTERS + some fixes 2014-11-20 22:11:20 -05:00
jacksonmj
5e02073a2f Fix TNT floodfill crash 2014-05-22 15:27:18 +01:00
mniip
69c9be0e99 implement generic property value as a union instead of void* 2014-01-16 11:00:47 -05: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
jacob1
074a2226e1 remove useless and laggy lightning_recreate check 2013-09-11 21:41:54 -04:00
jacob1
f1145f31f5 new element: PROT (protons) TODO: proton colliders to produce heavier elements 2013-09-01 21:52:38 -04:00
jacob1
da7d107f60 remove specific delete for walls, doesn't work very well and it conflicts with specific delete for elements
Also prevent wall replace mode, could never do anything because walls already replace everything
2013-07-18 18:54:09 -04:00
jacob1
e0d982367b fix bug where saving and loading elements in saves relied on the name being consistent between versions. The palette should only be used for lua elements 2013-07-15 17:42:43 -04:00
jacob1
a06202c78f fixes to wall and particle floodfill. Wall fill ignores particles and always goes to the edges, while particle fill will only ignore walls it can't exist in, and flood particle erase won't check for walls / edges at all 2013-07-11 22:43:36 -04:00
jacob1
081c58990e fix floodfill and prop floodfil with photons 2013-07-10 17:59:16 -04:00