Commit Graph

805 Commits

Author SHA1 Message Date
jacob1
5be9773eca fix another crash with invalid SOAP (soap was detached before SOAP update function ran) 2015-11-22 17:53:22 -05:00
jacob1
7a78b91f4f reformat ARAY.cpp because coding style was really hard to read 2015-11-22 00:12:10 -05:00
jacksonmj
d0cf82de03 PSTN: compatibility with old saves with non-PSTN particles layered on top of the starting PSTN particle
P.S. don't use layering, this commit is exactly why it's bad. Layering makes adding new functionality without changing existing behaviour much more difficult, and makes the code more complicated than necessary.
2015-10-22 22:39:08 +01:00
jacob1
7fcc056cb6 fix really fast particles moving through EHOLE 2015-10-15 00:26:57 -04: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
jacksonmj
d88c18adaf Fix collision detection for liquids on top of streamlines 2015-10-13 00:49:42 +01:00
jacob1
bc112b54df initialize GoL variables, add sim.gspeed function 2015-10-10 00:03:04 -04:00
cracker64
9a65d60c6e Now with 100% less =( .
Hot FWRK less laggy.
Define more constant floats.
Pump will now work at x=4,y=4.
Revert a DEUT change
2015-10-08 12:48:56 -04:00
cracker64
3263c9437a Jacob's laziness made me do this again.
CELL checks +-1 aren't required.
Moo
2015-10-08 01:48:44 -04:00
jacob1
0a907c5177 fix bug if the first space after the DRAY was empty, fix bug with DRAY's ctype sometimes not working 2015-09-28 11:28:19 -04:00
jacob1
74471dcda4 DRAY only copies enery or non-energy particles, depending on the first one it sees 2015-09-25 13:52:59 -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
4594de57b0 allow DRAY to copy energy particles 2015-09-24 00:14:28 -04:00
jacob1
9b9555226b fix compiling in visual studio, fix maybe bug with updates? 2015-09-20 00:59:37 -04:00
jBot-42
146fc4d5fa Move GBMB to Force Menu 2015-09-18 15:46:53 -04:00
jacob1
5433766311 fix ETRD creating plasma as if it were created by the brush (-2) 2015-09-01 12:26:06 -04:00
jacob1
2e32fba4d9 fix GRAV and EXOT button colors
this also fixes GRAV with pretty powders on. TODO: maybe use old GRAV color cycling
2015-09-01 01:46:33 -04:00
jacob1
48dbc4182d Add CRMC from my mod 3dd3fb2f7801 92f0301295f6 2015-08-30 18:29:21 -04:00
jacob1
68b4f1efd6 MERC -> liquids, FUSE/FSEP -> explosives 2015-08-30 01:54:31 -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
2ebc522c36 add ERASEALL wall from my mod (erases walls, particles, and signs) 2015-08-30 00:18:06 -04:00
jacob1
12ef4ec79d ambient heat sign
maybe something that would replace all instances of {aheat} / {t} / {p} in a sign would be nice, but for now just do this.
2015-08-29 23:47:21 -04:00
jacob1
01afd69c17 STOR now automatically transfers to PRTI 2015-08-29 23:38:46 -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
5caf8bc8e1 allow longer signs, add 'None' justification where the pointer line isn't drawn
signs have a longer width limit and hard 45 character limit from the textbox and when loading saves
2015-08-29 18:56:38 -04:00
jacob1
3d8f871fc7 reset invalid SOAP links even when soap is frozen
fixes tpt save id:1834554
2015-08-11 22:45:29 -04:00
jacob1
e9d6519800 small improvement to 7d7bf5eff6 2015-07-07 20:22:03 -04:00
jacob1
f95db0278e really fix coordinates when placing stamps ... 2015-07-07 00:44:06 -04:00
jacob1
732e5b8730 fix some very minor memory leaks 2015-06-30 19:06:18 -04:00
jacob1
ab1226c58b fix FIRE not burning things inside of walls 2015-06-28 17:33:45 -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
Sourec
4e8335b070 Changed falldown values for FIRE, CO2, and SMKE to zero, reverted changes to collision/placement logic 2015-06-11 16:31:21 -04:00
Sourec
bbe0c34d3e Switched an OR to an AND
That was leftover from when I was rewriting a bit of this. Sorry!
2015-06-11 16:25:39 -04:00
Sourec
1494f8237c Fixed FIRE, SMKE, and CO2 passing through the powder-only wall. 2015-06-11 14:29:59 -04:00
Sourec
7d7bf5eff6 Fixed CLST tmp value carrying over when converted by water 2015-06-05 21:40:28 -04:00
jacob1
c9d5841101 fix DRAY with .tmp = 0 (broken in a115e78952) 2015-05-23 12:47:39 -04:00
Aditya Vaidya
13cc593d13 Fixed most spelling errors in code. 'originaly' is read as 'original Y', so not a typo 2015-05-18 15:16:01 -05:00
jacksonmj
34567bc496 Merge pull request #247 from ryanmjacobs:fix_pointer_checks 2015-05-16 02:19:08 +01:00
jacob1
8e7e8e0670 some changes to LIGH creation (mostly from lua) 2015-05-11 20:50:10 -04:00
jacob1
b1fc134204 fix crash with high speed photons in loop edge mode 2015-05-10 21:48:09 -04:00
jacob1
dd102c1f11 fix possible crash when PROT removes spark on disabled elements 2015-05-10 21:16:53 -04:00
jacob1
aa854557f7 fix WOOD sometimes creating water when burning 2015-05-10 20:55:03 -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
jacksonmj
72329af09d Fix DLAY delay changing during save+load
by rounding temperatures to nearest instead of always flooring.

Effect on DLAY delay:
Room temperature offset - loaded as whole number of degrees C, so rounding to nearest deg C gives the same number as flooring.
Full - loaded as whole number of K = original whole deg C - 0.15. Rounding to nearest deg C means the whole deg C delay from before saving is used as the number of frames to delay, instead of deg C - 1 if flooring was used.
2015-03-27 17:39:05 +00:00
jacob1
fc5f3671f1 new function sim.clearRect, plus fix rounding errors breaking ctrl+x 2015-03-12 00:54:27 -04:00
jacksonmj
84f6ede2b8 Fix for commit d71a0d98: also adjust melting point of BRMT(TUNG) based on TUNG HighTemperature value 2015-03-05 00:14:26 +00:00
jacob1
a422e43beb visual studio error fix + warning fix 2015-02-25 18:56:50 -05:00
jacksonmj
91e871d0ea PSTN: allow zero or negative contributions towards movement amount
Note that final movement amount < 0 means no movement, it will not reverse the movement direction. This is to keep interpretation of inputs simple - PSCN always extends, other conductors always retract.
2015-02-24 22:48:31 +00:00
jacksonmj
cd71a6dff7 Float rounding strikes again - set destination coords using integers when moving particles with PSTN
instead of adding a delta value to the current position, which might not give the correct result. Particles (except solids) were on rare occasions ending up at a point 1 pixel away from where they should be after being pushed by PSTN. This led to stacking, and in the case of save 1732622 after changing BIZS to a liquid, to disintegration of the save.

(TPT++ version of commit 2ad996dfe621887355f8532f1262c306421bc2de in jacksonmj fork)
2015-02-23 13:35:17 +00:00
jacksonmj
d71a0d98eb Allow TUNG melting point to be changed from Lua
Also set lava LowTemperature threshold to MAX_TEMP, to simplify changing melting points from Lua.
2015-02-23 13:24:27 +00: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
03e07945e3 fix lua element update bugs, fixes #244
also add new mode for functions run before the normal update function
2015-02-13 14:18:55 -05:00
jacob1
84f13cfe63 fix compiling error on windows 2015-02-10 23:39:15 -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
94e635b65d fix negative tmp sing possibly generating max particles 2015-01-17 14:45:20 -05:00
jacob1
8c1db513f6 make sure ELEC dies in ELEC+NEUT reaction 2015-01-17 14:06:38 -05:00
jacob1
b1a3c404b6 fix platform / sconscript flag specific warnings, --no-warnings no longer defaults to true 2015-01-16 23:39:42 -05:00
jacob1
ace9e36cc6 fix ALL the warnings
mostly just using more size_t. Also do some formatting around if statements
2015-01-16 22:35:32 -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
54d985f975 gcc warning fixes (up to lua files) 2015-01-16 17:26:13 -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
jacob1
dce874484a fix all the gcc warnings in the element files (except one in PSTN) + all the unused variable warnings 2015-01-10 22:43:33 -05:00
jacob1
0ad225d1fc update VIBR randoms, fix any VINE in old saves also 2015-01-07 19:32:49 -05:00
jacob1
be6551ceea fixes to rndstore in VIBR/VIRS, remove goto in PROT 2015-01-07 19:04:11 -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
0f583f3bd8 fix PLSM spawning in fusion (allow some stacking), GRVT in O2 fusion 2014-12-15 15:52:08 -05:00
cracker64
6410171bd5 Fix IRON rust
Fix some randoms
2014-12-06 16:23:45 -05:00
cracker64
a115e78952 More element optimizations!
ACEL, changed a range check
DRAY, Fixed repetitive checking
GOLD, less rand()
PLNT, removed range checks, less rand()
PROT, used a switch()
VIBR, less rand()
VINE, less rand(), fixed growing along WOOD
VIRS, less rand()
2014-12-06 15:43:11 -05:00
cracker64
783b2c1736 Stop PIPE graphics from creating a particle every frame.
Remove temperature setting, this feature is beyond useless now, PROP+Lua are better ways to manually set pipe.
2014-12-06 01:16:04 -05:00
jacksonmj
e25fac5037 Less layering of particles in fusion
Fixes http://tpt.io/~1683916 - PLSM was created on top of DMND, which other particles then displaced, leading to lots of stacking and particles escaping through the DMND.
2014-11-30 17:22:56 +00:00
jacob1
70a815a8c7 fix crash when PIPE finds PRTI with an invalid channel 2014-11-29 00:30:05 -05:00
jacob1
6da5b08fd2 fix for fast particles moving through VOID 2014-11-22 13:04:04 -05:00
jacob1
aa8fe86735 fix DEUT graphics (accidentally changed something) 2014-11-21 16:40:46 -05:00
jacob1
16ce3a68c0 more jacksonmj suggestions: save edgeMode in saves, BVBR absorption fix, life saving fix, DEUT graphics change, PROT fix, SOAP graphics fix 2014-11-21 15:41:22 -05:00
jacob1
e20f6b101b jacksonmj: "Allow ELEC to pass through GLOW, fixes ELEC->PHOT reaction in GLOW." f162984e22e5 + some parts of "Misc small fixes" 95cf5bd67c2b 2014-11-21 15:41:22 -05:00
jacob1
a182e925fe some elementpallete fixes + fix SPAWN2 ToolButton 2014-11-20 22:44:02 -05:00
jacob1
6ce2d5fe92 #define MAX_FIGHTERS + some fixes 2014-11-20 22:11:20 -05:00
jacob1
c9cc2a1a6b more accurate elementCount (part_change_type, pasting stamps, lua), prevent having multiple STKM / SPWN even more 2014-11-20 21:51:45 -05:00
jacob1
6066ae8341 prevent having multiple stickmen on the screen, also add playerst.spawnID 2014-11-20 18:51:33 -05:00
jacob1
8233b28820 Change GRVT flammability to 0 2014-11-19 22:49:20 -05:00
jacob1
c673f30e14 fixes suggested by jacksonmj in -dev
fixes bugs in DMG, LIGH, PHOT, and QRTZ, also makes deut explosions less laggy when they hit the particle limit
2014-11-14 12:48:06 -05:00
jacksonmj
b3b852249b Deco off (except black deco) for LCRY in save thumbnails 2014-11-09 21:33:08 +00:00
jacob1
a31f4df0a1 fix being unable to draw METL/PSCN/INST ctype on CRAY 2014-11-07 12:28:49 -05:00
jacksonmj
1eeed277a0 Fix initialisation of transitionOccurred 2014-11-06 00:46:15 +00:00
jacksonmj
829e2cca7d Flatter surface when liquids solidify 2014-11-06 00:32:25 +00:00
jacob1
43bab359db fixes to ELEC (missed from 6dc7eaf43e), FUSE (changed in 27e3e12518), and IRON (changed in 0d70547cf0) 2014-11-05 19:15:57 -05:00
jacksonmj
66a530f5a3 FRZZ and FRZW changes/fixes
Fix FRZW low temperature transition (accidentally turned into a high temperature transition in b661418d).
FRZZ now melts into FRZW, so that single pixels "form ice that always cools" as in FRZZ description.
ICE update function: was meant to be checking not setting parts[i].ctype. However, turning FRZZ into self-cooling ice seems a logical thing to do, so set ctype of parts[r>>8].ctype, and make all types of ice cause this reaction (not just ICE(FRZW) as was apparently the original intention of the ctype check).
2014-11-05 23:38:22 +00:00
jacksonmj
9e7ead9bcc Change melting point for snow with wrong ctype back to 273.15 2014-11-05 23:32:49 +00:00
jacksonmj
fb796c873b PSTN: allow movement amount to be set by temperature. Requires major version increment. 2014-11-04 15:38:41 +00:00
jacksonmj
57409b0b41 Change order in which particles are created by the rectangle and brush tools
to make liquid movement look less weird in normal gravity
2014-11-01 15:38:39 +00:00
jacksonmj
02e1969ef2 Fix SNOW(WATR) melting temperature
Broken by fixing SNOW(SLTW) melting temperature in a78bd78bfc
2014-10-31 16:39:30 +00:00
jacksonmj
f7b53d0231 Prevent fast particles from skipping over DESTROYALL wall 2014-10-27 17:50:58 +00:00
jacob1
ca0eecee80 pavg0 / pavg1 properties can be set through the console and prop 2014-10-26 18:11:46 -04:00
jacob1
12f00db240 loop edge mode from my mod (also works with stickmen) 2014-10-24 00:18:51 -04:00
jacob1
6463d04f6c fix a few of the most spammy warnings (there are still hundreds of warnings though)
TODO: actually fix all the warnings
2014-10-23 00:42:13 -04:00
jacksonmj
a78bd78bfc Fix SNOW(SLTW) melting temperature, and change ACID hardness value to make more sense on the wiki 2014-10-06 12:57:32 +01:00
jacksonmj
74dcd4074e Merge branch 'develop' of github.com:simtr/The-Powder-Toy into develop 2014-09-28 14:34:44 +01:00
jacob1
a78129adb9 Fix spelling mistake 2014-09-08 16:06:12 -04:00
jacksonmj
ba31457701 No black BIZR except by deco 2014-09-02 19:20:57 +01:00