Commit Graph

184 Commits

Author SHA1 Message Date
mniip
a121c62c3b Add some helper methods and rewrite some of the string manipulation code 2018-05-02 01:32:04 +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
de757bc2c3 made sure the windows version actually compiled 2018-04-23 22:32:03 -04:00
wolfy1339
27f6a6b297 Strip whitespace from files in repo (#553) 2018-04-03 21:46:01 -04:00
jacob1
01741b05ce betas should still look for stable updates 2018-03-12 23:32:37 -04:00
jacob1
3d66b7e263 remove hardcoded op 2018-02-03 17:38:47 -05:00
jacob1
5012c3cfe6 fix build error when UPDATESERVER is defined 2018-01-01 12:12:43 -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
ac24810da5 add some defines to reduce usages of hardcoded r>>8 2017-12-28 12:03:26 -05:00
jacob1
e4089a276a fix illuminati symbols appearing when rescanning stamps 2017-09-04 12:51:28 -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
1cfd9d8fc7 only display updates based on build number, not version number 2017-07-23 16:41:38 -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
057435baa6 Differentiate between created date / updated date in save preview
still only shows most recent date, this just changes the text
2017-06-30 21:21:09 -04:00
jacob1
35ce9570d6 make Mrprocom's name blue 2017-06-04 17:48:31 -04:00
jacob1
2df333c99f TPT is now shown in desktop menus when installing on linux
uses powder-48.png as icon + 3rd .desktop entry
2016-09-04 21:27:55 -04:00
jacob1
b405674d3d minor updates to .desktop files 2016-09-04 20:17:35 -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
wolfy1339
b65e94900e Use C++ includes (#308)
Replaces stdio.h, stdlib.h, string.h, math.h, time.h, limits.h and othters with their C++ equivalents.
2016-07-17 23:37:24 -04:00
jacob1
a3865c8f49 remove debugging stuff 2016-07-09 19:07:03 -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
64f81000cd Fix typo 2016-04-27 00:00:28 -04:00
jacob1
a8427ef33a only use -Wno-unused-result on Linux, also actually fix the unused results that we could possibly care about
Fixes cross compilers, TODO: I don't think scons can check if a flag exists but might support adding a test for that, even if through hacky means, like CheckFramework
2016-04-26 23:55:14 -04:00
jacob1
1171c308e1 Fix warnings, fix crash when ctrl+click opening a save 2016-04-02 20:47:50 -04:00
jacob1
81c68c46b0 Check for beta updates even if not a beta
The site has been updated to not send beta update information unless user is enrolled in beta updates
2016-03-13 23:35:29 -04:00
jacob1
983ed4eb53 use json page when publishing saves from save browser 2016-02-24 22:06:43 -05:00
jacob1
4e484ae2a4 compiler fixes, apparently using [] as intended is ambiguous ... 2016-01-26 00:24:14 -05:00
jacob1
855d735b50 replace the rest of the cajun references with jsoncpp 2016-01-25 23:52:46 -05:00
jacob1
df1a2243fd use jsoncpp for ParseServerReturn and startup check 2016-01-25 22:58:09 -05:00
jacob1
5c1cc0c0fb rewrite powder.pref handling to use jsoncpp instead of cajun
cajun is a hard to use library with many necessary features missing. It also has been causing the windows version, and probably the mac version, to randomly crash.

Other json stuff still uses cajun (TODO: remove)
2016-01-25 22:30:43 -05:00
jacob1
82dc5e1f71 don't save powder.pref in a .plist file on OS X
untested, but it didn't make sense how we were doing it anyway. Also, it was spelled wrong
2016-01-24 15:44:13 -05:00
jacob1
3cf5395697 make jacobot / boxmein have blue nicks in save comments (hack) 2016-01-16 11:39:04 -05:00
jacob1
6930d830bf shouldn't return an error in whatever case this is (reverted from commit ec99fcdf5d) 2015-12-02 11:25:24 -05:00
jacob1
ec99fcdf5d shouldn't return an error in whatever case this is 2015-12-01 01:15:30 -05:00
jacob1
59377e49e5 fix 'Prev' button placement 2015-10-11 02:05:49 -04:00
jacob1
a8c141c144 show more specific error when catching json exceptions 2015-10-10 17:39:47 -04: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
jacob1
93d6816740 Send username with alternate update server request 2015-09-26 16:50:02 -04:00
jacob1
cae8c9e095 fix some compile errors with last commit, remove snapshot version info from HUD and add to intro text instead, add tpt.version.snapshot 2015-09-26 14:56:37 -04:00
jacob1
908f60d47a support alternate update servers, and optional changelogs 2015-09-26 11:47:51 -04:00
jacob1
9b9555226b fix compiling in visual studio, fix maybe bug with updates? 2015-09-20 00:59:37 -04:00
jacob1
9048a3c50e new lua API: platform
you can get current OS / build information, exe name, restart tpt, open a link in the web browser, and use clipboard copy/paste functions

Also remove some older Platform.h file which wasn't really needed or used
2015-08-31 23:33:40 -04:00
jacob1
9f9fef6cad Add new function ParseServerReturn, try to properly display all http errors
Also fix crash with invalid ptsave link, and fix some cases where it wouldn't ever tell you it errored
2015-08-29 13:14:17 -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
906b4a973f profile viewer now shows age, website, and save stats
Also, add Multiline type textboxes (allows pressing enter) and fix some other bugs
2015-07-09 20:17:04 -04:00
jacob1
c786640c74 always use a ScrollPanel in the profile viewer
also fix Textbox autosize. TODO: add a bunch more info to the profile viewer
2015-07-09 14:25:01 -04:00
jacksonmj
34567bc496 Merge pull request #247 from ryanmjacobs:fix_pointer_checks 2015-05-16 02:19:08 +01:00
jacob1
cee08b2024 On first run, set scale to 2 if screen size is large enough 2015-05-14 23:22:20 -04: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
54d985f975 gcc warning fixes (up to lua files) 2015-01-16 17:26:13 -05:00