jacob1
97c4123533
translate wall grids when shifting stamps by more than 4 pixels
2017-10-04 21:07:00 -04:00
jacob1
4ff0a9f52c
only expand stamp in the direction you are moving
2017-10-04 21:07:00 -04:00
krawthekrow
ca542b1ef1
autoexpand save when particles are translated out of boundaries
2017-10-04 21:07:00 -04:00
jacob1
8fe3ca0f5c
don't use std::pow here
2017-07-29 11:26:53 -04:00
jacob1
b02a72a77b
add length limit to authors on saving/loading, fix type issue causing mass duplication
...
When making a local save, then stamping and loading the stamp (without doing anything else in between), issues with the code would cause the unsigned int in the json to turn into a normal int. It would then think the authors data from the stamp was from something else and append it. For users that do an excessive amount of stamping, this causes duplication in the authors links that shouldn't have ever happened.
2017-07-28 20:00:19 -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
ddce20da5b
authors clipboard fix
...
MergeStampAuthorInfo prevents some duplication now, don't need this
2017-07-16 21:33:49 -04:00
jacob1
08ba035a53
fix nesting checks
2017-07-15 16:27:11 -04:00
jacob1
6efedcdd33
undo authors changes on ctrl+z, prevent excessive nesting
2017-07-15 16:21:16 -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
572e432045
update snapshot save restriction code
2017-06-04 18:10:07 -04:00
jacob1
8d492ef549
meant to move those functions into GameSave class
2017-04-25 00:05:15 -04:00
jacob1
5ce60b5f5f
clean up massive repeated code in GameSave.cpp
2017-04-24 23:59:47 -04:00
jacob1
c98f63bd89
save ambient heat in saves, if it is enabled
2017-04-24 22:29:45 -04:00
jacob1
184777ed12
GameSave.cpp 2D array cleanup
2017-04-23 22:44:31 -04:00
jacob1
6d6a615a37
msvc min/max fixes
2017-04-23 12:30:39 -04:00
jacob1
40972f9434
pressure and air velocity are now saved in saves
2017-04-22 17:06:28 -04:00
jacob1
fc451e5385
don't allow publishing E182 saves
2016-09-04 21:49:24 -04:00
jacob1
89e7238f3b
fix invalid read in BSON.cpp when loading some kinds of invalid saves
2016-08-14 18:18:59 -04:00
jacob1
6dc1c222bc
catch potential ParseExceptions when loading saves, use bson error handler to prevent exit(-5)
2016-08-14 18:18:59 -04:00
jacob1
cd41aac1f7
allow snapshots to still publish saves, as long as they don't use new features
2016-08-07 15:31:28 -04:00
jacob1
59ac872d5f
restrict saves using newer features of elements
2016-07-26 19:33:04 -04:00
jacob1
16b93083d4
Changes to support starcatcher build server with updates
...
Cherry-picked from 3ddaec7b2a
3ddaec7b2a
3ddaec7b2a
3ddaec7b2a
3ddaec7b2a
3ddaec7b2a
2016-07-09 19:00:54 -04:00
jacob1
adf0fa72df
Actually use .Properties instead of .Falldown for wall blocking
2015-12-30 23:45:05 -05:00
jacksonmj
bb455ea893
Add more breaks.
...
Fixes tmp values being set to 0 for CRAY.
2015-10-13 10:23:19 +01:00
jacob1
31b1e6aace
only require version 91.0, will add note on snapshot page about possibly breaking
2015-10-12 21:52:26 -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
jacob1
63843c2bd7
add new minimumVersion setting in saves, can restrict the smallest version of TPT that is able to open the save. Uses major/minor version for this
...
Also add RESTRICTVERSION macro to help when adding restrictions later
Also show errors when opening broken stamps now too
2015-10-02 21:25:15 -04:00
jacksonmj
1bd861719f
Turn "save from newer version" back into an error, until an improved method of checking compatibility can be devised
2015-10-02 21:10:06 +01:00
jacob1
b184c78cff
"Save from a newer version" is now just a warning (OPS format never changes)
...
Also, actual save errors now prevent you from clicking "Open" (which allowed you to vote and do other stuff even though the save was never loaded)
2015-10-01 21:35:40 -04:00
jacob1
282d1fbf0c
fix: CRAY from older saves should set .tmp2 to 0
2015-08-30 19:03:01 -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
e990eead10
add CleanText function from my mod, used when copying / pasting / loading signs
2015-07-10 00:05:58 -04:00
jacob1
7b904c6840
fix DLAY delay in older saves
2015-06-27 21:05:28 -04:00
jacksonmj
34567bc496
Merge pull request #247 from ryanmjacobs:fix_pointer_checks
2015-05-16 02:19:08 +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
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
b1a3c404b6
fix platform / sconscript flag specific warnings, --no-warnings no longer defaults to true
2015-01-16 23:39:42 -05:00
jacob1
54d985f975
gcc warning fixes (up to lua files)
2015-01-16 17:26:13 -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
Martin Ettl
34c85c262c
Fix potential memory leaks.
...
(Merging pull request #234 , amended by jacksonmj: some leaks already fixed in develop branch.)
2014-12-29 16:37:04 +00: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
jacksonmj
fb796c873b
PSTN: allow movement amount to be set by temperature. Requires major version increment.
2014-11-04 15:38:41 +00: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
jacob1
c16caed5dd
fix level 1 msvc compiling warnings + initialize debugFlags
2014-10-08 00:15:51 -04:00
jacksonmj
c83945e281
Allow PHOT deco, in old saves only
2014-08-05 22:11:07 +01:00
jacksonmj
aa74deb6d5
Mismatched new[]/delete for serialised GameSave data
2013-12-23 17:17:40 +00:00
Simon Robertshaw
e1616fdd82
Hotfix: Don't open saves larger than 200MB
2013-12-08 16:58:17 +00:00
jacksonmj
75b7b85703
Fix sign duplication when loading a save
2013-11-03 14:26:51 +00:00
jacksonmj
02a4c17d72
Ignore invalid walls in some old saves, so that they load correctly
...
E.g. save 10631 from old server
2013-10-17 16:09:38 +01:00
jacob1
aa2ec3d162
fix SOAP crashes by making sure particle id's are between 0 and NPART. Also cut off .life to between 0 and 65535 when saving
2013-09-12 14:35:10 -04:00
jacob1
332aa25bf6
save pavg[] in saves, for VIRS, PIPE, and STOR
2013-09-11 20:41:43 -04:00
jacksonmj
9eccad80b1
Missing breaks in readOPS
...
Causing some elements to be loaded incorrectly
2013-09-08 18:14:12 +01:00
jacob1
d38af2764c
move QRTZ .tmp into .tmp2 and .ctype into .tmp, fixes bug where sparking QRTZ resets .ctype and stops it from growing
2013-08-29 22:18:35 -04:00
jacksonmj
bebe9bd8fd
Add a way for photons to set the colour of FILT (major version bump required)
...
Also add some new FILT modes, and make FILT modes affect BIZR and
BRAY colour in the same way as they affect photon colour. Photons
passing next to DTEC will set the colour of all FILT in a straight
line starting from any FILT adjacent to the DTEC (a bit like an
ARAY beam), and the exact colour of the photon will be used for
FILT interactions instead of the colour based on temperature.
FILT tmp=4: red shift, tmp=5: blue shift. Size of shift determined
by FILT temperature. tmp=6: FILT has no effect on photon colour
(possible before by using invalid tmp modes, but here's a supported
method of doing it. Invalid tmp modes should be automatically replaced
in existing saves).
Also, FILT mode is now described in the HUD.
2013-08-29 17:19:07 +01:00
jacob1
8d5fe459fe
'n' to toggle Newtonian Gravity, quickoption tooltips show which keys you need to press to toggle them
2013-07-15 13:09:19 -04:00
jacob1
519d220101
save more settings in powder.pref like ngrav_enable, aheat_enable, pretty powders, and debug hud. Also save ambient heat in saves, and add a warning in the intro text in betas that you can't save publically
2013-07-02 15:09:00 -04:00
jacob1
776b2f6607
fix version tagging in saves
2013-06-24 00:02:00 -04:00
jacksonmj
4e4bd9a11b
Signed integers can be negative, so prop>x does not always correctly indicate whether higher bytes are used
2013-06-11 00:26:41 +01:00
jacob1
6f8e2c0345
remove unneeded / duplicate constants, fix SPC_AIR/other tools so it won't conflict with lua elements (the 11th one won't work right now)
2013-05-16 17:01:33 -04:00
jacob1
037618e6f8
remove auto generated comments from all files, fix some missing tabs, remove unused variables from config.h
2013-03-06 12:05:59 -05:00
jacob1
8b83ae9f95
PSTN ctype sets the element that stops it, FRME with a tmp of one is non-sticky (doesn't pull)
2013-03-03 16:36:37 -05:00
jacob1
b92bd245c8
fix 4 MB memory leak on every save
2013-02-24 15:23:34 -05:00
jacob1
0939494747
fix problems found with valgrind with shifting stamps and saving
2013-02-24 14:12:48 -05:00
jacob1
7379a6b5ba
fix crash when hovering the mouse over invalid wall types
2013-02-24 11:50:20 -05:00
Simon Robertshaw
5beb4255c8
Tag origin version info in save files
2013-02-17 11:30:53 +00:00
Simon Robertshaw
e7b174a78d
Revert "move version info to version.h, no longer needs full recompile on version change"
...
This reverts commit b3a2ab735b
.
2013-01-19 22:00:56 +00:00
jacob1
b3a2ab735b
move version info to version.h, no longer needs full recompile on version change
2013-01-15 11:28:28 -05:00
jacob1
41751da619
change some free/malloc's back to delete/new's
2013-01-12 21:06:52 -05:00
jacob1
d1abfc313e
fix mismatched free()/delete's
2013-01-06 18:26:38 -05:00
jacob1
e685e30d58
make sure that simulation variables are initialized, fixes things like water equalization always being on in old saves
2012-12-18 13:33:29 -05:00
jacksonmj
9c6f3c7fbb
Fix crash in GameSave::serialiseOPS
...
Only particlesCount particles have been copied from the Simulation.
All the rest are uninitialised, and may have coordinates outside the
game area. Using those uninitialised coordinates in the index for
partsPosFirstMap may cause a crash.
2012-12-16 23:01:04 +00:00
Simon Robertshaw
00190b4aab
Don't print PSV debug information when compiled for release
2012-12-16 16:38:12 +00:00
jacob1
d57fe7618c
fix walls loading incorrectly in extremely old saves. Fix some invalid save formats being loadable (it was onlychecking the 'O' in OPS)
2012-12-12 17:31:06 -05:00
Simon Robertshaw
05148e8a8d
C++erific text cleaner function, also, it's a good idea to actually clean text coming from signs...
2012-12-09 00:14:48 +00:00
jacob1
e5a284a2ba
fix compiling warnings / error
2012-12-06 12:34:32 -05:00
Simon Robertshaw
51a5af6d5d
Remove some debug printing
2012-11-12 10:48:20 +00:00
Simon Robertshaw
29189693b3
Element palette for automatic element ID/mod mapping
2012-11-12 10:22:16 +00:00
jacob1
fd07d35e34
limit the number of signs that can be placed
2012-10-26 15:13:00 +01:00
Simon Robertshaw
0801497ed2
Fix wall clipping during stamp rotation
2012-10-01 12:02:04 +01:00
Simon Robertshaw
1ac964d9ba
Ensure saves are expanded in memory when performing translate operations. Fixes #174
2012-09-03 12:38:09 +01:00
Simon Robertshaw
082072a05e
OPS: Fix byte order when unpacking 4 byte tmp fields
2012-08-25 16:29:27 +01:00
Simon Robertshaw
ba1ce66968
Correct particlesCount when reading PSv format, particlesCount was being assigned to the last index and thus was one less that desired. fixes #138
2012-08-21 01:09:22 +01:00
Simon Robertshaw
b318c3721a
TPT: Powered pipe, based on jacob1's commits
2012-08-20 16:48:03 +01:00
Simon Robertshaw
9dd9d52564
Herp derp, forgot to call dealloc in GameSave destructor
2012-08-19 20:57:14 +01:00
Simon Robertshaw
c0c30bd305
Looks like calling the destructor manually is not a good idea.
2012-08-19 20:44:50 +01:00
Simon Robertshaw
21f050800b
Load signs from OPS data
2012-08-17 17:08:24 +01:00
Simon Robertshaw
074dcd0b42
Precompile some headers. Fix sconscript to prevent recompiling everything
2012-08-13 15:43:57 +01:00
Simon Robertshaw
8ca27520a4
Use forward declarations more to avoid excessive includes
2012-08-12 22:32:57 +01:00
Simon Robertshaw
cbefea85d7
Local Saving, Server Saving rewrite
2012-08-01 22:29:22 +01:00
Simon Robertshaw
c14a008d46
Corrections to GameSave to prevent conflicts in the Expanded state, improve Save preview comments display
2012-07-28 18:38:34 +01:00
Simon Robertshaw
aa774771a0
Collapse gamesave to save space in memory
2012-07-28 02:23:21 +01:00
Simon Robertshaw
5befe5c25f
Local file browser + some more interesting things like Progress bar UI component
2012-07-27 20:06:17 +01:00
Simon Robertshaw
e36bc8e4ae
TPT: Gravity modes and Newtonian gravity for fireworks 31ce22f122
2012-07-25 17:44:29 +01:00
Simon Robertshaw
5031291bf6
TPT: Save an extra tmp2 byte, for EXOT fed8b7b2cc
2012-07-25 17:16:56 +01:00
Simon Robertshaw
6585a4640b
TPT: Replace all explosion sparks with new element (EMBR) 1d5b081942
2012-07-25 17:12:15 +01:00
Simon Robertshaw
33de0482a2
Use exceptions instead of goto to corrup state. Fix Fan wall loading with PSV and New wall IDs with OPS
2012-07-20 19:39:38 +01:00
Simon Robertshaw
332fbfe590
Ensure GameSave internal pointers are NULL at the start
2012-07-20 17:43:08 +01:00