Commit Graph

71 Commits

Author SHA1 Message Date
mniip
e93db9c06a RasterDrawMethods CRTP, PlaneAdapters in VideoBuffer, Graphics, and Renderer 2023-04-05 02:29:35 +02:00
Tamás Bálint Misius
159d0eb4b7
Group platform files into their own directory 2023-01-27 17:31:40 +01:00
Tamás Bálint Misius
4f0c365e05
Preprocessor purge round 19: Split and minimize usage of Config.h
Also mostly banish it from other headers, and shuffle standard header includes to minimize cross-contamination between headers.
2023-01-27 09:27:32 +01:00
Tamás Bálint Misius
163203b321
Preprocessor purge round 17: easy parts of WIN, LIN, MACOSX, AND 2023-01-27 09:26:41 +01:00
Tamás Bálint Misius
f7478422a4
Preprocessor purge round 16: DEBUG 2023-01-27 09:26:40 +01:00
Tamás Bálint Misius
9542f98b82
Preprocessor purge round 7: Config.template.h 2023-01-27 09:26:38 +01:00
Tamás Bálint Misius
6b133aced6
Fix renderer table gradients
The unsigned type would overflow when it was asked to represent negative values.
2022-12-27 08:49:32 +01:00
Tamás Bálint Misius
3e3ee8a722
Convert hmap data to gradients 2022-12-25 11:09:08 +01:00
Tamás Bálint Misius
bb6c371aa8
Convert images.cpp to actual images
Also remove some dead code.
2022-12-25 11:09:06 +01:00
jacob1
3011e45475
Fix text in some buttons being cut off prematurely 2022-10-31 16:22:34 -04:00
jacob1
8fd6db56d1
Fix string handling in text drawing / width functions
Allows passing in null bytes, which allows 0s to be used with \x0F color codes
Also unrelated, fix two warnings in OptionsView.cpp
2022-10-25 22:35:49 -04:00
Tamás Bálint Misius
59354731df
Remove all PTI code, use libpng to load avatars and thumbnails
Also write PNGs with libpng, and BMPs with SDL, and have the renderer only generate a large PNG thumbnail, and disable HTTP/2 multiplexing for now so we don't get banned when loading avatars.

simon pls reply to the stupid emails already.
2022-10-23 20:21:05 +02:00
Tamás Bálint Misius
ebb87a17c6
Unbundle bzip2 and jsoncpp, update tpt-libs
Also Disallow linking against non-C++ system Lua, unless configuring with -Dworkaround_noncpp_lua=true, add -Dworkaround_elusive_bzip2 and friends, and get rid of the -image_base hack for macos.
2022-10-20 23:15:49 +02:00
Tamás Bálint Misius
715333295b
Add clip rect feature to Graphics and gfx.setClipRect
Also retire the separate VideoBuffer in Panel and hiding ToolButtons in the GameView ToolButton panel in favour of clip rects.
2022-10-11 20:47:39 +02:00
Tamás Bálint Misius
f18bd6553f
Remove long defunct OpenGL code paths 2022-10-11 20:11:14 +02:00
Tamás Bálint Misius
6ba5de6034
Crop stamp thumbnails that don't fit even when resized 2022-08-28 07:12:46 +02:00
Tamás Bálint Misius
4b7e85c2fb
Fix a metric ton of MSVC warnings 2021-02-15 21:24:44 +01:00
Tamás Bálint Misius
0832615599
Use versioned tpt-libs
Also move bzip2 sources out of their own subproject.
2021-01-03 11:00:45 +01:00
Tamás Bálint Misius
a631ef78e9
Fix buggy text width calculation 2020-11-30 15:26:00 +01:00
Tamás Bálint Misius
4bb85578a8
Fix text wrapping (fixes #166)
This breaks the syntax highlighting in ConsoleView.
I haven't yet thought of a way to fix that properly,
ideas anyone?
2019-07-19 02:53:54 +02:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
mniip
12e79ea111 Fix compilation on windows 2018-05-09 19:05:39 +03:00
mniip
a121c62c3b Add some helper methods and rewrite some of the string manipulation code 2018-05-02 01:32:04 +03:00
mniip
833383b121 Move TPT's icons to the (real) Private Use Area of the unicode 2018-05-01 07:03:48 +03:00
mniip
9d927cbd6f Add an auxiliary font reader class to reduce code repetition 2018-05-01 02:21:34 +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
mniip
16acc95621 Enlarge the font by adding 2 pixels above the cap height 2018-04-29 04:08:03 +03:00
jacob1
67bc12de97 Fix issue where TPT was bought by EA 2018-04-01 15:26:13 -04:00
jacob1
40d2850ff7 TPT has now gone free to play! Many elements are unlocked by default, but by using Powdercoins you can unlock new elements and promote your saves to front page! 2018-03-31 22:40:23 -04:00
jacob1
ce054bfc3f fix misc. errors reported by clang static analyzer 2017-05-06 20:02:23 -04: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
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
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
mniip
44405827b0 Make the upvote more fancy and bigger 2014-06-04 00:35:40 +04:00
mniip
fdfaa3a29b add defines for window resolution
--amend
2013-12-29 20:12:50 +04:00
mniip
8d96f3f6b6 fix segfault on wordwrapping a string with a character >=128 2013-09-06 13:09:24 +01:00
mniip
fea920d608 fix fixedRatio when VideoBuffer::Resize'ing, fixes #121 2013-09-02 18:03:43 +04:00
jacob1
19e182ae42 add back rgba images in the local/server save uploads 2013-07-16 14:48:50 -04:00
jacob1
6f29926b96 deco menu button textures (not black) 2013-07-16 13:08:57 -04: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
Simon Robertshaw
e53f2bf0b5 Forward resample argument correctly from VideoBuffer resize method 2013-05-09 23:33:43 +01:00
jacob1
3b7e418628 fix assert error when resampling an image to an invalid size (corrupted stamps) 2013-04-09 23:40:18 -04:00
Simon Robertshaw
0646b7fe41 Nicer resize method for VideoBuffer, fix Local and Server save previews 2013-03-16 11:20:11 +00:00
Simon Robertshaw
73b6ff4efb Use VideoBuffer in place of thumbnail 2013-03-15 12:59:55 +00:00
Simon Robertshaw
e6bca489c9 AvatarButton/holder, rename ThumbnailBroker for more general purposes 2013-03-10 18:08:34 +00:00
jacob1
77d233240f fix mismatched malloc/delete[]'s when not using new image resampler 2013-03-07 22:14:00 -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
c62ef2cb35 fix upvote buttons still having colored background after clearing the save, make them look more like from in tpt 2012-12-15 20:34:00 -05:00
Simon Robertshaw
b4475ae96f Very high quality image resampling code curtesy of imageresampler (http://code.google.com/p/imageresampler/), will replace current shitty linear interpolation for SSE2 and renderer builds. 2012-12-15 01:04:17 +00:00