Commit Graph

146 Commits

Author SHA1 Message Date
Joel Schumacher efc54d5124 Add PHYSFS_Io StripSuffixIo to skip codesign signatures
When a fused löve executable is signed with codesign on Windows some
data is appended to the executable, preventing physfs from finding the
zip file at the end of the file.
To help physfs out a bit, we try to find the zip ourselves in the case
of regular mount failure by looking for it's characteristic end of
central directory record and, once found, pretend to physfs that the
file is shorter than it actually is and ends at the end of the zip file.
2023-05-18 13:57:07 +02:00
Miku AuahDark 0b0ff5551f Hide symbol visibility in CMake and Android.mk. 2023-01-01 15:16:26 +08:00
Miku AuahDark 3a49dc555a Fix megasource link. 2023-01-01 14:46:25 +08:00
Sasha Szpakowski c823dbca96 Update copyright year for 2023 2022-12-31 22:25:49 -04:00
Alex Szpakowski 5175b0d1b5 Windows: fix some cases of stuttering in windowed mode.
Use DwmFlush instead of OpenGL vsync, when specific conditions are met. Fixes #1628.
2022-04-17 11:26:06 -03:00
Alex Szpakowski 0d74419259 cmake: add warning about use on macOS 2022-02-13 16:11:58 -04:00
Mansour Moufid b822b9cbe7 Prepend LOVE_INCLUDE_DIRS rather than append. 2022-02-06 17:06:37 -05:00
Mansour Moufid 440bbeb9b3 Link to system frameworks. 2022-02-06 16:38:47 -05:00
Mansour Moufid a6b6103b87 Enable LuaJIT on macOS. 2022-02-06 16:38:21 -05:00
Alex Szpakowski 8e7fd10b6f Update copyright year for 2022 2021-12-31 18:33:40 -04:00
Alex Szpakowski f89aabb0bb Update copyright year for 2021 2021-04-04 16:14:45 -03:00
Alex Szpakowski 8c86515d04 Revert "Windows: reduce stuttering in windowed mode via DwmFlush"
This reverts commit 5dd4a463be.
2020-10-01 22:09:47 -03:00
Alex Szpakowski 5dd4a463be Windows: reduce stuttering in windowed mode via DwmFlush
Resolves issue #1628
2020-09-29 20:22:41 -03:00
Antonin Décimo 66e3f29a68 Change file permissions from 755 to 644 2020-01-15 14:59:00 +01:00
Alex Szpakowski fc4847c69d Update copyright for the new year 2020-01-03 22:40:36 -04:00
Alex Szpakowski c4fac73dc4 ImageData and Images now support the rg11b10f format. 2019-09-21 14:46:45 -03:00
Alex Szpakowski 07179f11ea Add dr_flac header file to cmakelists and xcode 2019-06-25 20:13:31 -03:00
Alex Szpakowski 3ad16a70da love.physics: move internal box2d->love object map to World instances, and clean up some physics object code. Resolves issue #1465. 2019-01-04 21:36:05 -04:00
Alex Szpakowski 0752f27bdf Update copyright year for 2019 2019-01-03 21:09:05 -04:00
Alex Szpakowski a91a0a9431 update glslang 2018-12-26 14:47:34 -04:00
Alex Szpakowski 5f9f8c18ba Update CMake script to generate zip/exe filenames which match love's new version naming scheme. 2018-12-13 23:19:48 -04:00
Bart van Strien 04f37bc99f Fix cmake policy warning
Use GLVND where applicable
2018-05-20 12:21:50 +02:00
Bart van Strien 9c9b8a084f Merged in coffeecat/love (pull request #103)
Fix building with non-mega CMake
2018-05-20 10:14:49 +00:00
Alex Szpakowski 7549910e68 Temporarily remove non-ascii characters from the Windows installer name/title until issues with nsis-unicode on appveyor builds can be resolved properly. 2018-04-08 15:59:05 -03:00
Yucheng Zhang 160eba6ba9 Fix building with non-mega CMake 2018-02-09 21:42:04 +08:00
Bart van Strien fd514d8176 Update some more copyright notices
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Alex Szpakowski cdcf052a73 Update LZ4. 2017-12-17 21:52:19 -04:00
Alex Szpakowski 1d8a3326b3 Include the physfs 3.0.1 source in love. 2017-12-15 19:41:17 -04:00
Alex Szpakowski 8672ff2272 Use a more efficient method of streaming automatically batched vertices on AMD Windows and Linux systems.
--HG--
branch : minor
2017-11-11 20:48:02 -04:00
Alex Szpakowski e3fd489373 Abstracted lower level drawing code, moved all type-specific drawing code out of opengl backend, deleted obsolete files
--HG--
branch : minor
2017-10-26 20:58:19 -03:00
Alex Szpakowski 15cc540e4c Make internal vertex attribute code less OpenGL-specific.
--HG--
branch : minor
2017-10-25 23:12:39 -03:00
Alex Szpakowski e5b0d96b27 Restructured some Shader code. Added runtime temporary caching and sharing of shader stages. Resolves issue #1235.
--HG--
branch : minor
2017-10-21 03:08:18 -03:00
Bart van Strien bf1a9344eb Reduce template instantiations of std::vector<std::string>
The new StringMap code for luax_enumerror causes code to be generated for
std::vector. By using an extern template (an old feature standardised in c++11)
we can instantiate it once instead, in StringMap.cpp.

--HG--
branch : minor
2017-10-16 14:40:17 +02:00
Bart van Strien 0e9f71b29a Split theora::VideoStream into OggDemuxer and TheoraVideoStream
This makes the internal API more modular, but the split also forces a cleaner
implementation. It also means the OggDemuxer is now responsible for the
ogg-specific stuff like seeking and (ogg-specific) type detection.

Backported from the love.video-vpx branch of love-experiments

--HG--
branch : minor
2017-10-12 14:23:58 +02:00
Alex Szpakowski 90e86c329d Add love.data module.
- Moved love.math.compress / decompress / decode / encode / hash to love.data.
- Changed love.data.compress/decompress to take the format argument first instead of second.
- Added love.data.newDataView. Returns a read-only subsection of an existing Data object.
- Added love.data.newByteData. Mostly useful in combination with LuaJIT's FFI as it has no extra methods currently.
- Added implementations of Lua 5.3's data packing APIs: love.data.packString / packData / unpack / getPackedSize.

Resolves issue #1336.
Resolves issue #1331.

--HG--
branch : minor
2017-09-24 19:25:27 -03:00
Alex Szpakowski b4f8f08b70 Enable (when available) and improve performance of persistently mapped buffer path for the vertex/index buffers used with automatic batching.
--HG--
branch : minor
2017-09-03 18:23:54 -03:00
Alex Szpakowski a41f78dfe4 Simplified some compressed image parsing code.
--HG--
branch : minor
2017-08-30 22:25:26 -03:00
Alex Szpakowski de28c6e6a8 Add the ability to have formally deprecated functions.
Functions which are deprecated will print out a message and show up in a small dialog on-screen, when they're first called. Deprecation output is disabled in fused mode by default, and can be modified with love.setDeprecationOutput(enable).

--HG--
branch : minor
2017-08-27 13:46:31 -03:00
Alex Szpakowski dcd6365356 Backout changeset 5124a406a38b21a8206c552fb1c03bc8a0d93e25
--HG--
branch : minor
2017-08-06 03:47:54 -03:00
Alex Szpakowski f1cdb9145b Add an option to the Windows installer which puts the love directory in the system path variable (issue #878).
--HG--
branch : minor
2017-08-06 03:23:12 -03:00
Alex Szpakowski b129d49a6c Move Color.h from modules/graphics/ to common/
--HG--
branch : minor
2017-08-01 23:53:44 -03:00
Alex Szpakowski c11a4250e8 Fix CMakeLists.txt
--HG--
branch : minor
2017-08-01 23:24:20 -03:00
Alex Szpakowski 84d5d8b636 Move decoder-agnostic love.image code out of the magpie backend folder.
--HG--
branch : minor
2017-08-01 23:22:24 -03:00
Alex Szpakowski ad399cab39 Update glslang
--HG--
branch : minor
2017-06-11 14:35:51 -03:00
Alex Szpakowski a0ef2ac28b Add Depth compare / shadow sampler support. Officially this is only supported in glsl3 shaders.
- Add Texture:setDepthSampleMode(comparemode). Only works on textures with depth pixel formats. A texture with the depth sample mode set will only work with a depth sampler.
- Add DepthImage, DepthArrayImage, and DepthCubeImage sampler keywords to glsl3.

--HG--
branch : minor
2017-04-12 20:26:06 -03:00
Alex Szpakowski 0001b4695e Add new variants of love.graphics.clear for controlling how the depth and stencil buffers are cleared.
- Add love.graphics.clear(r, g, b, a [, stencilvalue, depthvalue]).
- Add love.graphics.clear(color1, color2, …, [, stencilvalue, depthvalue]).
- Add love.graphics.clear(false, stencilvalue, depthvalue).

stencilvalue and depthvalue are either true, false, or a number. True is the default behaviour and clears that buffer to the default value (0 for stencil, 1 for depth), false prevents clearing.

The third variant listed above only clears the depth and/or stencil buffers and not the color buffer.

--HG--
branch : minor
2017-04-11 22:32:40 -03:00
Alex Szpakowski 73fd45558b Implement Array, Cubemap, and Volume texture types (issue #1111).
- Add love.graphics.newArrayImage, newCubeImage, and newVolumeImage.
- Add love.graphics.newCanvas(w, h, layers) and newCanvas(w, h, layers, settings). Add ‘type’ field to the settings table of newCanvas.

- Add new love.graphics.setCanvas variants: setCanvas(canvas, slice), and setCanvas(canvastable) where canvastable is in the format: {{canvas1, layer=2}, {canvas2, face=5}}

- Add Texture:getTextureType, getDepth, getLayerCount, getMipmapCount, and getFormat.

- Remove Image:getData and Image:refresh.
- Add Image:replacePixels(imagedata [, slice] [, mipmap]).

- Update Canvas:newImageData to accept a slice argument.

- Add love.image.newCubeFaces(imagedata).

--HG--
branch : minor
2017-02-20 14:58:13 -04:00
Bart van Strien cbaf9e047b Merged in rcoaxil/love-patches/minor (pull request #75)
EFX implemented

Approved-by: Bart van Strien
Approved-by: Alex Szpakowski

--HG--
branch : minor
2017-02-11 19:04:53 +00:00
Alex Szpakowski 8558d7894c Move all remaining love.graphics Lua wrapper code out of the opengl implementation folder.
--HG--
branch : minor
2017-01-29 01:19:37 -04:00
Alex Szpakowski c0e66eba83 Move backend-agnostic Mesh and SpriteBatch code out of the opengl implementation folder.
--HG--
branch : minor
2017-01-29 01:05:20 -04:00