Compare commits

...

2524 Commits

Author SHA1 Message Date
iMineLink
42066ecaba GS: use xxHash to hash palettes. 2022-01-16 03:28:28 +00:00
Connor McLaughlin
986b5a2afe GS/DX11: Use shader cache 2022-01-16 03:17:04 +00:00
Connor McLaughlin
921689aa04 Common: Add D3D11 shader cache/compiler classes 2022-01-16 03:17:04 +00:00
TellowKrinkle
283dcaffe2 GS: Support wrapping off-the-end offsets in GSOffset 2022-01-16 02:00:53 +00:00
Christian Kenny
074ffacf9d GS: Don't apply offset when using SLBG. Fixes The Suffering video monitors 2022-01-15 23:19:55 +00:00
Silent
f1d3177b69 GUI: Make aspect ratio/frame limiter OSD messages keyed
Keyed messages don't pile up so spamming turbo/frame limiter
keys will not generate multiple messages now.
2022-01-15 13:51:54 +01:00
Mrlinkwii
fa50e9dd20 GameDB: add VUKickstartHack to Ghosthunter 2022-01-15 12:12:14 +00:00
icup321
d4de43a062 GameDB: Add eeRoundMode to Teen Titans & Scaler and fixes to other games (#5338) 2022-01-14 22:13:06 +00:00
TellowKrinkle
af795985fc GS:SW: Allow up to 32 threads without breaking 2022-01-14 19:24:51 +01:00
TellowKrinkle
610b19d646 GS:SW: Fix crash when scanline count wasn't divisible by thread count 2022-01-14 19:24:51 +01:00
arcum42
95c8915d78 Fix several gcc warnings. (#5232) 2022-01-13 12:19:23 -08:00
Mrlinkwii
6bdfec743c GameDB: add EETiming to 'Kya: Dark Lineage' 2022-01-13 11:40:24 +00:00
refractionpcsx2
e270c46703 GIF: Separate GIF Reset and GIF DMA Reset
The two shouldn't be reset together anyway, the GIF has no control over the DMA.
2022-01-13 09:53:11 +00:00
Mrlinkwii
0c0a866481 GameDB: add serials from #4535
Co-Authored-By: icup321 <28464642+icup321@users.noreply.github.com>
2022-01-13 09:52:36 +00:00
Mrlinkwii
28ca0aed48 GameDB: add patch to MX Unleashed Migrated
Co-Authored-By: icup321 <28464642+icup321@users.noreply.github.com>
2022-01-13 09:52:36 +00:00
lightningterror
ca9ab100e5 GS-hw: Add crc ids for Ape Escape 2.
Sp, De, It, Fr versions.
2022-01-13 03:32:33 +01:00
icup321
73732bfb29 GS-hw: Add/remove crc ids.
Add CRCs for (almost) all versions of R&C, WOC, & J&D.
Remove all non-retail crc versions.
Re-add Crash 4 version CRC, it's retail actually.

Original PR #4535

Close #4535
2022-01-13 03:17:24 +01:00
refractionpcsx2
048e7f4c1b GUI: Convert Power plan name to UTF-8 2022-01-12 18:45:47 +00:00
lightningterror
d041df8254 GS-hw: Don't enable blending when only alpha is written.
Optimization.
2022-01-12 18:15:50 +01:00
lightningterror
8e8b9a3cff GS-wx: Add tooltip for Preload Textures. 2022-01-11 15:11:43 +01:00
lightningterror
b7b65d7361 GS: Fix tooltips, d3d11 blend, add vulkan in tooltips. 2022-01-11 15:11:43 +01:00
lightningterror
6263c8a0cd GS-wx: Fix d3d11 blend option, broke during Vulkan merge.
Merge the option with GL/VK.
2022-01-11 15:11:43 +01:00
lightningterror
3c92054a6e GS-hw: Move PABE shader bit to the top of sw blending.
Early return when there is no sw blending, no need to run the blend code.
Optimization.
2022-01-11 13:15:56 +01:00
Connor McLaughlin
cf2b6a895f GS/DX11: Get rid of local context reference in GSTexture11 2022-01-11 12:30:11 +01:00
Connor McLaughlin
5bdb34521d GS/HW: Add a field for LOD clamp to sampler
This way SampleLevel for manual LOD doesn't get clamped.
2022-01-11 12:30:11 +01:00
Connor McLaughlin
e1e83c11cc GS: Compute mipmap levels in base device
Also fixes the incorrect number of levels.
2022-01-11 12:30:11 +01:00
Connor McLaughlin
0f5b17de0f GS/DX11: Implement automatic/manual LOD in pixel shader 2022-01-11 12:30:11 +01:00
Connor McLaughlin
568d9a3e30 GS/HW: Correct min lod/minification filter for mipmaps 2022-01-11 12:30:11 +01:00
Connor McLaughlin
1518b793dc GS/DX11: Fix mipmap textures and support trilinear 2022-01-11 12:30:11 +01:00
Connor McLaughlin
6182b46033 GSState: Minimum texture size is 1x1, not 2x2
Fixes out of bounds uploads when full mipmapping is enabled.
2022-01-11 12:30:11 +01:00
refractionpcsx2
4194553450 CDVD: Centralise cdvd.Ready updates + add MECHA_INIT bit 2022-01-10 22:57:09 +00:00
PCSX2 Bot
5f5a696717 pad-linux: Update to latest controller database. 2022-01-10 20:42:54 +01:00
lightningterror
35d516e140 GS: Fix GetRecommendedCRCHackLevel for Vulkan.
Issue #5312
2022-01-10 20:42:06 +01:00
refractionpcsx2
fb5e5cc13f CDVD: Don't delay abort commands on DVDs, at least for now..
Fixes #5301
2022-01-10 11:28:10 +00:00
lightningterror
aa475a8d2e GS-hw: Rename DATE_GL42 DATE_GL45.
DATE_GL42 -> DATE_PRIMID
DATE_GL45 -> DATE_BARRIER
2022-01-09 17:54:13 +01:00
Mrlinkwii
fa5c023d33 GameDB: add game fix to Cocoto Funfair 2022-01-09 16:08:58 +00:00
Connor McLaughlin
22d8e6f79f GS/SW: Use target instead of texture for upload 2022-01-09 16:35:34 +01:00
Connor McLaughlin
126ae4a0f0 GS/Vulkan: Handle uploads to render targets 2022-01-09 16:35:34 +01:00
Connor McLaughlin
68f18245a7 GS/DX11: Implement merge feedback write 2022-01-09 16:35:34 +01:00
Mrlinkwii
e2e25b7134 GameDB: fix some entries 2022-01-09 15:35:08 +00:00
Mrlinkwii
32088647c3 GameDB: add some missing serials 2022-01-09 13:27:06 +00:00
Mrlinkwii
baf8df9597 GameDB: add patches to Koukaku Kidoutai and fixes for other games 2022-01-09 13:25:16 +00:00
lightningterror
34aa266260 vcxproj: Add vulkan shaders and group shaders in renderer category. 2022-01-08 18:22:40 +01:00
refractionpcsx2
8c887c2eee CDVD: Adjust error timing and modify error used for high sector. 2022-01-08 17:07:43 +00:00
lightningterror
a95250cabb GS-hw: Purge WildArms4 and WildArms5 crc hacks.
Issue got resolved before 1.6 release.
2022-01-08 09:27:27 +01:00
lightningterror
96bc6807ae github: auto labeler: Add GS Vulkan label. 2022-01-08 08:35:02 +01:00
Connor McLaughlin
81a139b875 Vulkan: Force textures to be allocated in device local memory 2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a3c20f0f7 Vulkan: Use memory budget extension where available 2022-01-08 05:19:45 +00:00
Connor McLaughlin
4f735d0201 GS: Prevent out of bounds copy for half_right TC target copies 2022-01-08 05:19:45 +00:00
Connor McLaughlin
ec0543335e GS: Fine gained change detection for mips/trifilter/anisotropy 2022-01-08 05:19:45 +00:00
Connor McLaughlin
0872d024f9 GSDevice: Add ClearSamplerCache() method 2022-01-08 05:19:45 +00:00
Connor McLaughlin
0ce21c91ef GS: Allocate mipmaps for Basic+ and only on non-copy textures 2022-01-08 05:19:45 +00:00
Connor McLaughlin
220c7c271b GS/Vulkan: Use VK_EXT_provoking_vertex where supported 2022-01-08 05:19:45 +00:00
Connor McLaughlin
bf389b94d6 GS: Add texture preloading option 2022-01-08 05:19:45 +00:00
Connor McLaughlin
6187f36c33 Vulkan/StreamBuffer: Use VulkanMemoryAllocator 2022-01-08 05:19:45 +00:00
Connor McLaughlin
73df4e4abf GS: Only swap DATE_GL42 with DATE_GL45 when full barriers are used
Saves the expensive draw splitting/barriers when mixed software blending
is used.
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a8a5a5e8e GS: Add Vulkan renderer 2022-01-08 05:19:45 +00:00
Connor McLaughlin
c4ab6280c6 Frontend: Add VulkanHostDisplay 2022-01-08 05:19:45 +00:00
Connor McLaughlin
a27b6a113a Common: Add Vulkan helper classes 2022-01-08 05:19:45 +00:00
Connor McLaughlin
a60ded5c94 3rdparty: Add Vulkan headers 2022-01-08 05:19:45 +00:00
Connor McLaughlin
5ff67d4b2d 3rdparty: Add glslang 2022-01-08 05:19:45 +00:00
Connor McLaughlin
874e3d976f GSTexture: Implement Save() using common code 2022-01-08 05:19:45 +00:00
Connor McLaughlin
90e1284d83 GS: Move mipmap generation flag to GSTexture 2022-01-08 05:19:45 +00:00
Connor McLaughlin
75518b71ea GS: Fix forced trilinear + full mipmapping
i.e. generate mips when not provided by the game and trilinear filtering
is forced on.
2022-01-08 05:19:45 +00:00
Connor McLaughlin
b355efd73a GS: Separate shader convert for float -> 16/32bit int 2022-01-08 05:19:45 +00:00
Connor McLaughlin
8e920d727f GS: Make GL_NNN macros device independent 2022-01-08 05:19:45 +00:00
Connor McLaughlin
5976be55f4 GS: Use textures instead of render targets for target copies
Saves the clear.
2022-01-08 05:19:45 +00:00
Ty Lamontagne
4c3df1a963 CMake: Pass -fsanitize=address to the linker when USE_ASAN 2022-01-08 00:15:51 +00:00
lightningterror
5b44f495ee GS-hw: Improve DATE selection.
Check for fbmask, accurate path isn't supported so just to DATE.
Check for FBA, all pixels will be 128 or more so use Fast path DATE_one.
2022-01-08 01:15:19 +01:00
refractionpcsx2
3951e15446 VIF: If Force break + Reset requested, Reset gets priority
Fixes #5275
2022-01-07 17:37:10 +00:00
lightningterror
b9da7c6f27 GS-d3d11: Enable amd broken point sampler hack only for amd.
Intel and Nvidia don't need it, get rid of it for them.
2022-01-07 14:06:53 +01:00
refractionpcsx2
c5ae4a6957 CDVD: If you abort, actually abort. 2022-01-06 14:16:31 +00:00
Connor McLaughlin
e40c2f97f0 SysThreadBase: Fix double init of SPU2 etc 2022-01-06 11:46:01 +00:00
Connor McLaughlin
1dbc11bdd5 IPU: Fix software renderer FMV hack without AR change 2022-01-06 09:05:41 +00:00
Connor McLaughlin
299edae7c0 GSDump: Fix renderer override 2022-01-06 07:32:32 +00:00
refractionpcsx2
86309bd837 GS SW: Adjust order SW is destroyed, fixes GS Dump crash 2022-01-06 07:15:01 +00:00
refractionpcsx2
0312e9026d Core: Savestate version bump 2022-01-05 17:13:50 +00:00
refractionpcsx2
a7bafb60e9 CDVD: Improve Break/Abort handling 2022-01-05 17:13:50 +00:00
refractionpcsx2
602769b9d0 CDVD: Add Eject IRQ 2022-01-05 17:13:50 +00:00
refractionpcsx2
e76546f8e4 CDVD: Implement speed register, fix up SpindleCtrl
Also Set the drive as not spinning when ejected
2022-01-05 17:13:50 +00:00
Mrlinkwii
a9ef1680ce GameDB: Removal of some patches and adding some fixes 2022-01-04 14:10:37 +00:00
trostboot
670ddef944 GameDB: Add VU Kickstart Hack to Dark Cloud 2/Dark Chronicle (#5266)
Co-authored-by: trostboot <trostboot@gmx.de>
2022-01-04 13:56:24 +00:00
TellowKrinkle
be6b8dce25 VTLB: Fix ppmap allocation in 64-bit 2022-01-04 13:01:49 +00:00
Connor McLaughlin
75fd20f5df 3rdparty: Add xxhash.h 2022-01-04 13:00:40 +00:00
Connor McLaughlin
f0509a6631 3rdparty: Add Vulkan Memory Allocator 2022-01-04 13:00:33 +00:00
PCSX2 Bot
702319c4ca pad-linux: Update to latest controller database. 2022-01-03 17:14:01 +01:00
iMineLink
d5bd187930 GS: fix loopPagesWithBreak last iteration logic. 2022-01-03 14:21:04 +00:00
RedDevilus
753036f0c8 ProgramLog: Comment out deleted keymapping 2022-01-03 10:18:59 +00:00
iMineLink
cfc763b488 gitignore: update gs debug gl filename. 2022-01-03 09:45:56 +01:00
Connor McLaughlin
7edfeab0b7 3rdparty: Remove freetype 2022-01-03 09:45:31 +01:00
Connor McLaughlin
226b0540c5 GS: Enhance stats 2022-01-02 15:06:39 +00:00
Connor McLaughlin
0c36647506 GS: Rewrite presentation interface and OSD 2022-01-02 15:06:39 +00:00
Connor McLaughlin
1348c8880e Add font resources 2022-01-02 15:06:39 +00:00
Connor McLaughlin
9334285edd 3rdparty: Add imgui 2022-01-02 15:06:39 +00:00
Connor McLaughlin
2330d3a056 GS: Use hardware point/line expansion where supported in GL 2022-01-02 15:06:39 +00:00
Connor McLaughlin
bce54a64ff GS: Use flat/nointerpolation for IIP=0 instead of GS 2022-01-02 15:06:39 +00:00
Connor McLaughlin
bd43400ad8 GS/OpenGL: Set features in Create() instead of constructor 2022-01-02 15:06:39 +00:00
Connor McLaughlin
b16c75324e GSState: Move m_dev to base class 2022-01-02 15:06:39 +00:00
TellowKrinkle
0ddef1169d GS: Fix config default label alignment 2022-01-01 16:58:26 -06:00
TellowKrinkle
4da09bd841 GS: Fix missing space in config dialog 2022-01-01 16:58:26 -06:00
TellowKrinkle
6811cd617b GS: Add system default adapter config option 2022-01-01 16:58:26 -06:00
TellowKrinkle
4e762c75b0 GS: Move adapter list stuff to module in GSUtil
Will be helpful for when renderers other than DX that let you choose adapters are added
2022-01-01 16:58:26 -06:00
TellowKrinkle
f471c30036 GS: Default adapter_index to -1 to indicate default 2022-01-01 16:58:26 -06:00
TellowKrinkle
aaed932a67 PAD:SDL: Remove fallback code for unsupported SDL versions 2022-01-01 16:36:15 -06:00
TellowKrinkle
5f168b1a1e PAD: Store rumble intensity as float
No longer have to worry about what the max value should be
Unlocks > 50% rumble power on new rumble API
2022-01-01 16:36:15 -06:00
TellowKrinkle
5d6f0d7e47 PAD: Call SDL_GameControllerUpdate during pad testing 2022-01-01 16:36:15 -06:00
TellowKrinkle
cf176f1b99 CMake: Remove SDL1.2 option
Not sure if it worked before but it definitely doesn't work now
2022-01-01 16:36:15 -06:00
TellowKrinkle
d97e867c07 GHActions: Cache patchelf 2022-01-01 16:36:15 -06:00
TellowKrinkle
3d0654dd48 PAD:SDL: Let users set their own hints from the config 2022-01-01 16:36:15 -06:00
TellowKrinkle
e688840703 PAD:SDL: Set some hints 2022-01-01 16:36:15 -06:00
TellowKrinkle
8bf272e806 PAD:SDL: Switch to SDL_GameControllerRumble for rumble
Old method was deprecated according to https://github.com/libsdl-org/SDL/issues/4435#issuecomment-896432954
2022-01-01 16:36:15 -06:00
TellowKrinkle
0744bc4004 GHActions: Build latest SDL on linux
Package manager version too old
2022-01-01 16:36:15 -06:00
TellowKrinkle
918f8cbe16 PAD: Format some things 2022-01-01 16:36:15 -06:00
xantares
b6dafff524 Rename ConfigSoundtouch.cpp to ConfigSoundTouch.cpp (#5238)
Fixes build on a case-sensitive filesystem
2021-12-31 16:51:36 -06:00
Mrlinkwii
34686dc167 GameDB: remove patches for 'Neo Contra' and add EE rounding and clamping 2021-12-30 15:15:38 +00:00
Ty Lamontagne
c0c75bf18e Linux: Fix executable case in PCSX2-linux.sh 2021-12-30 14:04:02 +00:00
lightningterror
66cfb403c6 GS-d3d11: MaxAnisotropy value range is 1-16, clamp it. 2021-12-29 15:45:41 +01:00
lightningterror
0375f9c0ae GS-wx: Aniso can run with nearest texture filtering so let's leave it.
Option just disabled the toggle, it would still run on opengl.
2021-12-29 15:45:41 +01:00
lightningterror
11ac758d78 GS-d3d11: Mirror anisotropic filtering behavior on Direct3D11.
Don't run aniso filter on m_convert.pt and m_convert.ln samplers.
Running m_convert.pt broke shadows on color clipping.

Also use the aniso bit from hw renderer.

Aniso will now behave the same as on OpenGL.
2021-12-29 15:45:41 +01:00
Filipe da Silva Santos
9e705b2f53 FileSystem: follow c++17 and unbreak FreeBSD 2021-12-28 19:11:18 -06:00
Filipe da Silva Santos
b475108ff3 ryml: unbreak non-Linux Unices 2021-12-28 19:11:18 -06:00
Florin9doi
ab34dff152 USB: Save Sony prints in BMP format 2021-12-29 00:38:52 +00:00
Florin9doi
6a3f093cfa USB: Sony DPP-MP1 printer emulation 2021-12-29 00:38:52 +00:00
lightningterror
04ef9af703 GS-hw: Optimize PABE.
Add an early condition to check if alpha is lower than 128, if so then no blending so early exit.
2021-12-28 18:39:32 +01:00
TellowKrinkle
b773ab3fb4 GHActions: Fix game controller db updater 2021-12-28 18:04:19 +01:00
refractionpcsx2
32085dc009 CDVD: Add detection for PS2 Linux Disc 2 2021-12-28 12:17:42 +00:00
refractionpcsx2
18fdfc26aa Core: Savestate version bump 2021-12-28 12:17:42 +00:00
refractionpcsx2
f50d2fa48e CDVD: Add more error checking, set seek status 2021-12-28 12:17:42 +00:00
refractionpcsx2
e82859c979 CDVD: Separate SCMD/NCMD Fifo's set to right size 2021-12-28 12:17:42 +00:00
refractionpcsx2
99bb35f109 CDVD: Added missing busy/ready checks 2021-12-28 12:17:42 +00:00
refractionpcsx2
8637f8ee9b CDVD: Extra error handling and fix some flag details 2021-12-28 12:17:42 +00:00
refractionpcsx2
1e11d40828 CDVD: Improve status handling/implement sticky status 2021-12-28 12:17:42 +00:00
refractionpcsx2
5546b102eb CDVD: Replace cdvd.Ready handling 2021-12-28 12:17:42 +00:00
refractionpcsx2
7d9c8c9172 CDVD: Add some error handling, fix up some IRQ stuff 2021-12-28 12:17:42 +00:00
refractionpcsx2
8dd51b7207 CDVD: Zero sector handling and fix CdStop 2021-12-28 12:17:42 +00:00
lightningterror
746c5b603f GS: Try to fix -Wreorder warning. 2021-12-28 10:09:08 +01:00
qurious-pixel
d0de8d22fe MISC: codacy fixes 2021-12-28 08:54:17 +00:00
qurious-pixel
231b8e9481 reference the app-variables.sh apprun-hook file 2021-12-28 08:54:17 +00:00
qurious-pixel
f9f36700bb Update AppRun 2021-12-28 08:54:17 +00:00
qurious-pixel
ba9fced3db Create app-variables.sh 2021-12-28 08:54:17 +00:00
Connor McLaughlin
c192ecf6b7 GSDumpDialog: Cache length instead of querying every packet
Length() internally calls fseek() to end, ftell(), and fseek() back
again (really slow).

Shaves several seconds off loading large gs dumps.
2021-12-28 07:43:28 +00:00
Connor McLaughlin
6ee029e14b PAD: Add platform independent implementation 2021-12-28 05:22:45 +00:00
Connor McLaughlin
935f880fa7 USB: Fix compilation of USBNull on Windows 2021-12-28 05:22:45 +00:00
Connor McLaughlin
47d046c5fe DEV9: Prepare for Qt 2021-12-28 05:22:45 +00:00
Connor McLaughlin
4305e17cbe SPU2: Prepare for Qt (add Host wrapper) 2021-12-28 05:22:45 +00:00
Connor McLaughlin
c5c4cdd0b4 PINE: Disable for Qt (for now) 2021-12-28 05:22:45 +00:00
Connor McLaughlin
252562db90 Misc: #ifdef out last bits of wx-dependent code 2021-12-28 05:22:45 +00:00
Connor McLaughlin
a898682f3e Host: Add layered settings interface for per-game settings 2021-12-28 05:22:45 +00:00
Connor McLaughlin
7829094668 3rdparty: Add simpleini 2021-12-28 05:22:45 +00:00
Connor McLaughlin
042c23a545 Config: Add folder initializers 2021-12-28 05:22:45 +00:00
Connor McLaughlin
af2b9e3a4c Config: Add SPU2 options to global struct 2021-12-28 05:22:45 +00:00
Connor McLaughlin
b3b7c55b9a Host: Add ReportErrorAsync() and formatted variant 2021-12-28 05:22:45 +00:00
Connor McLaughlin
1859ede325 GameDatabase: Use resource abstraction to read yaml 2021-12-28 05:22:45 +00:00
Connor McLaughlin
2c32c374fb GameDatabase: Don't include rapidyaml in header
Name clashes with Qt.
2021-12-28 05:22:45 +00:00
Connor McLaughlin
65d22406a3 SettingsWrapper: Fix enums being stored as ints 2021-12-28 05:22:45 +00:00
Connor McLaughlin
92689a60ae Common/StringUtil: Add whitespace strip methods 2021-12-28 05:22:45 +00:00
Connor McLaughlin
1a598ccf0d Common/StringUtil: Add wide string conversion for non-windows 2021-12-28 05:22:45 +00:00
Italo Di Renzo
e50feb74fd Add "Clear missing files" option to recent ISO list (#4975)
* GUI: Add "Clear missing files" option to Recent ISO list

* GUI: Show list of files to remove in confirmation dialog.
2021-12-27 20:50:04 -08:00
arcum42
af067a8c84 Default to a native build. Remove --clean-plugins. (#5132) 2021-12-27 20:31:27 -08:00
tellowkrinkle
61a196bc3d GS: Move afix check to high blend level 2021-12-27 20:18:47 -06:00
lightningterror
6a431daffc GS-hw: Extend Blend mix to work when alpha is higher than 1.
Clamp the alpha(As/Af) to 1 in the shader, it is already clamped to 1 in hw blend unit.
It should allow to better render the effects, still not fully accurate but it's closer to what we want.
Hopefully it helps D3D11 more.
2021-12-27 20:22:41 +01:00
Mrlinkwii
1aad3e6cc8 GameDB: add VU clamping to "Ultimate Spider-Man" and fixes to other games 2021-12-27 18:02:16 +00:00
refractionpcsx2
c8d42e32ed GameDB: Properly use vuRoundMode child node 2021-12-27 03:47:52 +00:00
refractionpcsx2
514cc6edb8 IPU: Unbreak previous change with IDEC sync
Testing in Production y'all
2021-12-26 23:44:50 +00:00
lightningterror
208d3ffa7b GS-hw: Fix pabe regression from renderers merge.
Only OpenGL should disable accumulation and blend mix to allow reading the framebuffer next.

Also pabe will only be accurate with non recursive blend on d3d11 only so enable it for it only.
2021-12-26 19:12:28 +01:00
refractionpcsx2
25dd92f8c0 IPU: Modify IDEC sync position.
Previously broke the Onimusha patch, sorry
2021-12-26 14:56:52 +00:00
Connor McLaughlin
3f81b7e56d GL/ShaderCache: Time various shader compilation tasks 2021-12-26 13:21:51 +00:00
Connor McLaughlin
99b7333991 GS/OpenGL: Add option to disable shader cache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
a2ae4ba441 GS/OpenGL: Get rid of interface blocks for convert shaders 2021-12-26 13:21:51 +00:00
Connor McLaughlin
4e1b2792c9 GS/OpenGL: Move some uniform buffers to program uniforms 2021-12-26 13:21:51 +00:00
Connor McLaughlin
55695bb5bc GS/OpenGL: Use ShaderCache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
6e064da536 GS/OpenGL: Use programs instead of separate pipelines 2021-12-26 13:21:51 +00:00
Connor McLaughlin
69ff12645c Common: Add GL/ShaderCache 2021-12-26 13:21:51 +00:00
Connor McLaughlin
efb93d22d9 Common: Add GL Program wrapper class 2021-12-26 13:21:51 +00:00
Connor McLaughlin
cdb0068dcc Common: Add MD5Digest 2021-12-26 13:21:51 +00:00
Connor McLaughlin
b0a0d714c4 Common: Add HashCombine.h 2021-12-26 13:21:51 +00:00
refractionpcsx2
7e36ee243c GameDB: Fix Round/Clamp nodes 2021-12-26 11:58:27 +00:00
Sergeanur
21bc56a8ba GS: Simulate scan mask 2021-12-26 11:51:25 +00:00
refractionpcsx2
e920c0fe3e VS: Fix filters 2021-12-26 10:37:43 +00:00
refractionpcsx2
31992fb398 GameDB: Fix loading patches for some games 2021-12-26 08:43:06 +00:00
refractionpcsx2
dc65599fae GameDB: Remove no longer required patches 2021-12-26 04:48:49 +00:00
refractionpcsx2
eb9dc7b70d IPU: BDEC/IDEC wait for IPU0 to drain before proceeding 2021-12-26 04:48:49 +00:00
refractionpcsx2
06bf2502a6 IPU: Tidy up and fix up toIPU DMA, remove some hacks 2021-12-26 04:48:49 +00:00
refractionpcsx2
242655bac9 IPU: Tidy up some DMA and FIFO behaviour 2021-12-26 04:48:49 +00:00
refractionpcsx2
8335b3ee77 IPU: Only fill IPU with required data, no more. 2021-12-26 04:48:49 +00:00
refractionpcsx2
a0c8ad9511 Savestate: Bump version 2021-12-26 04:48:49 +00:00
refractionpcsx2
d775a9364b IPU: Set DMA to only transfer on request (or reset) 2021-12-26 04:48:49 +00:00
Ty Lamontagne
1695124472 Linux / Windows CMake Builds: Change output executable to lowercase
No reason to be uppercase.
2021-12-25 15:11:17 +00:00
Tyler Wilding
70145eb150 macos: add undef to fix macOS builds 2021-12-25 15:11:01 +00:00
Tyler Wilding
dacd7d94d9 memcard: fix saving and loading handling on new yaml lib 2021-12-25 15:11:01 +00:00
Tyler Wilding
85bd8555c0 common: add some file-path helpers to Path ns 2021-12-25 15:11:01 +00:00
Tyler Wilding
6920b4e366 gamedb: handle yaml parsing errors properly 2021-12-25 15:11:01 +00:00
Tyler Wilding
bda3835cb1 memcard: migrate folder memory cards to rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
83e5aa6137 gamedb: migrate GameDB implementation to rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
4719e52c6e fs-api: extend host API to allow retrieval of a resource file path 2021-12-25 15:11:01 +00:00
Tyler Wilding
e313eadcd2 common: pull our string functions into common 2021-12-25 15:11:01 +00:00
Tyler Wilding
be952e40ba vs: update project configuration to include rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
4d4b24f8b0 cmake: support rapidyaml 2021-12-25 15:11:01 +00:00
Tyler Wilding
9533fa25c3 deps: remove yaml-cpp and add rapidyaml 2021-12-25 15:11:01 +00:00
lightningterror
013c9072b9 GS-hw: Move the blend mix alpha check after sw blending selection.
Optimization.
2021-12-25 14:52:07 +01:00
lightningterror
bf8dc05fac GS: Redo GetAlphaMinMax.
Cleaner this way, also fix recent regression on Full Blend with alpha max.
2021-12-25 14:52:07 +01:00
Connor McLaughlin
f4b38662fa GS/Null: Move methods to cpp file 2021-12-24 11:01:00 +00:00
Connor McLaughlin
ea41cce5ef GS: Add missing override specifier to a few files 2021-12-24 11:01:00 +00:00
TellowKrinkle
013c292ffb GS: Fix looping over pages of textures with massive strides 2021-12-23 19:10:19 -06:00
refractionpcsx2
cb18f11133 GS: Added auto Mipmap support in hardware for Jurassic Park 2021-12-23 08:25:52 +00:00
TellowKrinkle
ea25f49c65 Common: Fix GetWorkingDirectory on unix 2021-12-23 07:49:14 +00:00
Connor McLaughlin
5d15d5958e GS: Only copy draw area for colclip/DATE 2021-12-22 11:41:57 +01:00
Connor McLaughlin
efed92b15c GS/OpenGL: Move scaling factor to shader constant 2021-12-22 11:41:57 +01:00
Connor McLaughlin
7d39d02e98 GSDeviceOGL: Don't set scissor unconditionally 2021-12-22 11:41:57 +01:00
Connor McLaughlin
e006442e4f GSRendererNew: Remove another constant buffer copy 2021-12-22 11:41:57 +01:00
Connor McLaughlin
212848e931 GSDevice: Force inline accessor methods
Don't want to make debug builds slower.
2021-12-22 11:41:57 +01:00
Connor McLaughlin
732de53d1b GS: Get rid of second constant buffer for alpha pass 2021-12-22 11:41:57 +01:00
Connor McLaughlin
08c00eed1e GS: Unify constant buffers between renderers 2021-12-22 11:41:57 +01:00
refractionpcsx2
2a1c3d1f33 GS: Fix texture offset Y vector 2021-12-20 16:30:26 +00:00
lightningterror
5f57084ed9 GS-hw: Run GetAlphaMinMax only when required for Blend Mix.
Optimization.
2021-12-20 16:23:43 +01:00
lightningterror
9368e29d62 GS-d3d11:fx: Flip x and y dithering positions. 2021-12-19 22:24:30 +01:00
TellowKrinkle
ae8751e9ca GS:DX11: Use GSHWDrawConfig selector structs 2021-12-19 22:21:10 +01:00
TellowKrinkle
a11b8c4750 GS:OGL: Use GSHWDrawConfig selector structs 2021-12-19 22:21:10 +01:00
TellowKrinkle
1e7e23df96 GS: Less memcmp
It has a lot of work to do for its fancier return value
2021-12-19 22:21:10 +01:00
TellowKrinkle
8395e00835 GS: Remove now-unused renderers 2021-12-19 22:21:10 +01:00
TellowKrinkle
66bc1bdc77 GS: Add new shared hw renderer 2021-12-19 22:21:10 +01:00
TellowKrinkle
b8984661d9 GS: Use shared enum for blend level
Even if DX11 doesn't support all modes we can just use the ones it does support from the enum
2021-12-19 22:21:10 +01:00
Mrlinkwii
ea98a1c9f9 GameDB: change VUclamping on "Sled Storm" 2021-12-19 16:45:31 +00:00
Connor McLaughlin
9173b40e2e SPU2: Add function to pause output stream 2021-12-19 15:14:04 +00:00
Connor McLaughlin
59e5b1918f SPU2/XAudio: Get rid of exceptions 2021-12-19 15:14:04 +00:00
Connor McLaughlin
ab4b7b8ee6 SPU2: Remove unused methods from output modules 2021-12-19 15:14:04 +00:00
Connor McLaughlin
7f0f153ebd 3rdparty: Remove Portaudio 2021-12-19 15:14:04 +00:00
Connor McLaughlin
f3d51a242d SPU2: Remove Portaudio and SDL2 output modules 2021-12-19 15:14:04 +00:00
Connor McLaughlin
88ce192610 SPU2: Add Cubeb SndOut driver 2021-12-19 15:14:04 +00:00
Connor McLaughlin
bd489647e9 3rdparty: Add cubeb 2021-12-19 15:14:04 +00:00
Florin9doi
c36666b4d4 USB: Gametrak/RealPlay 2021-12-19 13:33:04 +00:00
Connor McLaughlin
97727cae2c GS/OpenGL: Don't delete null objects for PBO 2021-12-18 14:12:37 +00:00
Connor McLaughlin
f412b6818e GS/OpenGL: Fix incorrect VAO cleanup
This wasn't an issue in wx, since the whole context/device gets torn
down and recreated when you pause/unpause, or change settings.

But on Qt it is, since the context/device is preserved for a
faster/lighter settings apply.
2021-12-18 14:12:37 +00:00
Mrlinkwii
e8aea86e75 GameDB: Add EE Clamping to 'Digimon Battle Chronicle' and fixes to other games (#5178) 2021-12-18 14:04:18 +00:00
Connor McLaughlin
fac171fa95 CDVD: Check file actually opened before proceeding
If you loaded an invalid file, particularly with compression, the file
open may fail, leading to a division by zero (on block size), or trying
to read from nothing.
2021-12-18 13:41:56 +00:00
refractionpcsx2
fa1b6493da CDVD GZip: Correct type causing index creation to fail 2021-12-17 11:46:31 +00:00
refractionpcsx2
e58766745c Log: Restore BIOS Found message 2021-12-16 11:45:12 +00:00
Mrlinkwii
d8a9c5b479 Gamedb add gamefixes to 'Titeuf Mega-compet' and patch 'Yamiyo ni Sasayaku - Tantei Sagara Kyouichirou' series 2021-12-15 17:17:18 +00:00
Mrlinkwii
9a4d8ba934 Gamedb: add more 2k games patches 2021-12-15 10:52:22 +00:00
refractionpcsx2
ab816543c8 CDVD: Fixed typo opening gzip files
Fixes #5162
2021-12-15 09:38:04 +00:00
refractionpcsx2
37ccd81985 GS: Avoid some unnecessary flushes
CLUT only updates if valid index type used in PSM
2021-12-14 18:28:21 +00:00
refractionpcsx2
42dad4ade8 GS: Check CLUT dirty write on vertex kick 2021-12-14 18:28:21 +00:00
refractionpcsx2
b2ac035862 VS: Fix location of shaders in project 2021-12-14 17:47:53 +00:00
refractionpcsx2
f42d7eec74 CDVD: Don't set as Reading when buffering. 2021-12-14 10:35:12 +00:00
refractionpcsx2
e4ef41f86a CDVD: Fix some read timing logic 2021-12-14 10:35:12 +00:00
Mrlinkwii
103dd3954a missing UI and game elements. 2021-12-14 09:22:31 +00:00
Tokman5
2f9577a28e Add "Jikkyou Powerful Pro Yakyuu 2009" to GameIndex.yaml 2021-12-14 08:06:34 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
33ec4d9430 msvc: fix issues with size() not being correctly evaluated as const 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
209f09ca7a pine: send serial without gui beautification 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e6af75f1d pine: add vle replies 2021-12-13 09:34:24 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f68122a380 ipc: rename to pine 2021-12-13 09:34:24 +00:00
TellowKrinkle
d51bdccf7f CMake: Remove gio dependency on macOS 2021-12-13 03:29:16 -06:00
iMineLink
7d8377b133 GS-hw: define some consts only in debug mode. 2021-12-13 08:06:52 +01:00
iMineLink
80d3a8a757 GS-hw, TC: don't linearly interpolate downloads.
Greatly improves Burnout games clouds rendering
with even (x2, x4, ...) upscaling factors.
2021-12-13 08:06:52 +01:00
iMineLink
2e6c5cde29 GS-hw: rework surface fetching.
Factorized code.
Always clear render targets and depth stencils
when being fetched.
"force_texture_clear" OGL only config removed.
2021-12-13 08:06:52 +01:00
iMineLink
0f2768dca4 GS-hw, TC: improve LookupTarget.
allow propagation of increased target size and
correct the rescaling.
2021-12-13 08:06:52 +01:00
iMineLink
d5be095482 GS-hw: fix burnout black sky and no clouds.
Achieved with a combination of OI+OO hacks that operate
during level loading to consolidate the rendering results
in the GS local memory.

* OI_BurnoutGames to perform small draws directly in local memory:
** improved OI_PointListPalette to draw clouds CLUT,
** improved SwSpriteRender to draw sky texture;
* OO_BurnoutGames used to download clouds texture from GPU.
2021-12-13 08:06:52 +01:00
iMineLink
b315625a94 GS-hw: resize rt and ds before draw if necessary. 2021-12-13 08:06:52 +01:00
iMineLink
6b51462fa0 GS-hw: use CanUpscale to check for upscaling. 2021-12-13 08:06:52 +01:00
iMineLink
373e698545 GS-hw, TC: fix tex scaling for native res draws.
The GSTextureCache::ScaleTexture method did not work
correctly when an old texture with a scale factor
different from 1 was recycled for a draw which was forced at
native resolution (the old scale factor was kept).
2021-12-13 08:06:52 +01:00
iMineLink
3b309c6d4e GS: dump alpha channel too. 2021-12-13 08:06:52 +01:00
kenshen112
8e93e9f516 CMake: Switch Wayland find script and usage to use imported targets
Also clears warning about mismatched names getting sent to FIND_PACKAGE_HANDLE_STANDARD_ARGS
2021-12-13 00:23:52 -06:00
kenshen112
ac8582eca7 CMake: Set minimum version first
Makes policy enabling based on minimum version work properly
Also increases minimum version to 3.11 because we actually do use 3.11 features
2021-12-13 00:23:52 -06:00
kenshen112
e6f72fdde7 GHActions: Enable Wayland in CI builds 2021-12-13 00:23:52 -06:00
Connor McLaughlin
9166218d07 EERec: Remove zero-distance jmp in full fpu mode 2021-12-13 00:56:50 +00:00
Mrlinkwii
c0b1bde94b Gamedb: add EEclamping to 'Dark cloud 2' 2021-12-12 22:31:30 +00:00
Mrlinkwii
756a679262 Gamdb:add EE clamping to 'Chou Saisoku! Zokusha King B.U.' 2021-12-12 21:35:54 +00:00
Mrlinkwii
13b19b35c0 GameDB: add patches to the 'Netsu Chu!' series and 'Samurai 7' series 2021-12-12 18:16:46 +00:00
Mrlinkwii
cadb70d1e4 Gamedb: add EEtiminghack to 'MGS2' and change VU and EE rounding for 'Primal' and add missing entries 2021-12-12 12:30:47 +00:00
TellowKrinkle
4cb4844e8d AppImage: Fix resource location 2021-12-12 06:10:47 -06:00
TellowKrinkle
556c7ca080 CMake: Don't include non-windows files on non-windows 2021-12-12 06:10:47 -06:00
TellowKrinkle
962db4bfc4 Resources: Move fxaa.fx to out of dx11 directory
It was used by both DX and OGL
2021-12-12 06:10:47 -06:00
TellowKrinkle
da651cabe4 Resources: Move shaders to shared shader/ directory 2021-12-12 06:10:47 -06:00
TellowKrinkle
e03076c6ff CMake: Fix macOS resource packaging
Previously was just putting in empty folders
2021-12-12 06:10:47 -06:00
refractionpcsx2
122968e63a CDVD: No rotational delay for seeks less than buffered sectors
Fixes Shadow Hearts Covenant hangs
2021-12-12 06:33:01 +00:00
Connor McLaughlin
6beac26727 GS/OpenGL: Fix an unused variable warning 2021-12-12 03:27:43 +00:00
Connor McLaughlin
3073281d13 CMake: Fix package mode 2021-12-12 03:27:43 +00:00
TellowKrinkle
0e0e23eefb PAD: Use files on disk instead of embedded resources 2021-12-12 03:27:43 +00:00
Connor McLaughlin
bcec38bd97 Patch: Make variables static 2021-12-12 03:27:43 +00:00
Connor McLaughlin
bd706f99b2 GlobalCommands: Remove FreezeGS
This was ifdefed out anyway...
2021-12-12 03:27:43 +00:00
Connor McLaughlin
501af632f7 IopBios: Use FileSystem for host access 2021-12-12 03:27:43 +00:00
Connor McLaughlin
a143122804 CI: Copy resources into AppImage 2021-12-12 03:27:43 +00:00
Connor McLaughlin
92aa426bba Move cheats_ws.zip to resources directory 2021-12-12 03:27:43 +00:00
Connor McLaughlin
96a1ce2fb2 CI: Fix path to GameIndex.yaml 2021-12-12 03:27:43 +00:00
Connor McLaughlin
c203a09435 Wx: Add check for resources directory before starting 2021-12-12 03:27:43 +00:00
Connor McLaughlin
c4084b4162 Add PerformanceMetrics to replace multiple sources of truth 2021-12-12 03:27:43 +00:00
Connor McLaughlin
2a7c948a57 GameDatabase: Store enums instead of strings 2021-12-12 03:27:43 +00:00
Connor McLaughlin
46912595ea GameDatabase: Move out of gui 2021-12-12 03:27:43 +00:00
Connor McLaughlin
120ee6c673 Get rid of wxChar in EnumToString 2021-12-12 03:27:43 +00:00
Connor McLaughlin
112238fbd7 Config: Add cache folder 2021-12-12 03:27:43 +00:00
Connor McLaughlin
38e288ef6a Common: Add utility classes 2021-12-12 03:27:43 +00:00
Connor McLaughlin
35322cf49b BiosTools: Add autoloader 2021-12-12 03:27:43 +00:00
Connor McLaughlin
8d44e1af0e CDVD: Remove wx from file access 2021-12-12 03:27:43 +00:00
Connor McLaughlin
16af078b3b BiosTools: Remove wx 2021-12-12 03:27:43 +00:00
Connor McLaughlin
3e968b4390 GS: Use files on disk instead of embedded resources 2021-12-12 03:27:43 +00:00
Connor McLaughlin
0029dac32d Host: Add the ability to read files from the resources directory 2021-12-12 03:27:43 +00:00
Connor McLaughlin
a083343c6e Common: Add FileSystem 2021-12-12 03:27:43 +00:00
refractionpcsx2
c277ee1d34 GS: D3D11 Download texture use rect 2021-12-10 11:06:36 +00:00
refractionpcsx2
ebe8592a8d GS: Fix typo on GS download
Fixes #5131
2021-12-10 09:49:50 +00:00
lightningterror
6c3e357d9e GS-ogl: Optimize fragment shader uniform buffer.
Couple MaxDepthPS with TA and Af vector.

Vectors are free so let's use them.

Optimization.
2021-12-10 03:44:47 +01:00
TellowKrinkle
64455620e8 GS: Use actual names for GL convert shaders 2021-12-09 05:26:26 -06:00
TellowKrinkle
fc799778de GS: Use actual names for DX11 convert shaders 2021-12-09 05:26:26 -06:00
TellowKrinkle
e04e0e38d1 GS:GL: Move TextureOffset to vs cb
It's used by the vs, why would you put it in the ps cb?
2021-12-09 05:26:26 -06:00
TellowKrinkle
8d6569be95 GS: Remove separate GSTextureCaches 2021-12-09 05:26:26 -06:00
TellowKrinkle
8b086a3898 Common: Clean up ScopedAlloc 2021-12-09 05:26:26 -06:00
TellowKrinkle
a4b8c33cf3 GS: Convert texture format to enum 2021-12-09 05:26:26 -06:00
TellowKrinkle
1d37ba47f4 GS: Make GSTexture::Type an enum class 2021-12-09 05:26:26 -06:00
TellowKrinkle
8d480c28ce GS: Remove unused virtuals from GSDevice 2021-12-09 05:26:26 -06:00
TellowKrinkle
6e38f40f96 GS: Convert ShaderConvert to enum class 2021-12-09 05:26:26 -06:00
arcum42
017c37f212 Only pass C++ flags to C++ files. (#5115) 2021-12-08 21:10:21 -08:00
TellowKrinkle
6eee4cb38a Core: Remove empty file
Had everything commented out and there's already a file with the same name and things not commented out in CDVD
2021-12-08 11:18:42 +00:00
TellowKrinkle
1f6a14261c VS: Add missing filters 2021-12-08 11:18:42 +00:00
refractionpcsx2
14e8d840ff GS SW: Handle flat prims without float conversion 2021-12-08 10:57:00 +00:00
lightningterror
125b9ea1e1 GS-hw: Purge SoTC crc hack.
No longer needed, fixed by #5110
2021-12-08 11:48:29 +01:00
lightningterror
e6b1e1948e GS-d3d11: Add a condition to not enable blend_mix if sw blending is already enabled.
Not yet needed but will be useful for sw blending when prims don't overlap.
2021-12-08 11:36:22 +01:00
lightningterror
ba1072f470 GS-ogl: Don't enable blend_mix if sw blend is already enabled.
Less accurate.
2021-12-08 11:36:22 +01:00
lightningterror
1fb29de082 GS-ogl: Try to use a mix of hw/sw blending in more situations.
When alpha is less than 128:
Do Cs*F or Cs*As in shader.
Do Cs*(As + 1) or Cs*(F + 1) in shader.
Do Cs*(1 - As) or Cs*(1 - F) in shader.

Optimization, might be faster as we will require less barriers.
2021-12-08 11:36:22 +01:00
lightningterror
f79e5ab559 GS-d3d11: Try to use a mix of hw/sw blending in more situations.
When alpha is less than 128:
Do Cs*F or Cs*As in shader.
Do Cs*(As + 1) or Cs*(F + 1) in shader.
Do Cs*(1 - As) or Cs*(1 - F) in shader.
2021-12-08 11:36:22 +01:00
Mrlinkwii
c3a9fd469e GameDB: add VU clamping to 'MVP Baseball 2003' 2021-12-08 10:29:05 +00:00
Mrlinkwii
c8abc909fa GameDB:add EEclamping full to 'Shinobido Takumi' 2021-12-07 20:00:15 +00:00
Mrlinkwii
401a9f4c62 GameDB: add patches to the 'K-1 World' series games and EE clamping full to 'D1 Professional Drift Grand Prix Series' 2021-12-07 15:51:13 +00:00
lightningterror
f1edb0c960 GS-ogl: Disable accumulation blend on PABE.
Requires accurate sw blending.
2021-12-07 10:12:58 +01:00
lightningterror
d73335e4d3 GS-d3d11: Don't enable PABE on accumulation blend.
Requires full sw blending.
2021-12-07 10:11:02 +01:00
TellowKrinkle
7a554be7a7 GS: Fix compiler warning and possible memory leak on exception 2021-12-06 05:44:16 +01:00
TellowKrinkle
31b6ff6046 GS: Use static_assert over assert where possible 2021-12-06 05:44:16 +01:00
lightningterror
38ab0630e6 GS-ogl: Update SetupCBMisc buffer only when GXBY channel is used, and cleanup some variables.
Optimization.
2021-12-06 03:15:48 +01:00
lightningterror
b5fa9deb30 GS-d3d11: Update ChannelShuffle buffer only when GXBY channel is used, and cleanup some variables.
Optimization.
2021-12-06 03:15:48 +01:00
lightningterror
4e8bae1703 GS-ogl: Sample depth on green channel. 2021-12-06 03:15:48 +01:00
lightningterror
464ce1c3cd GS-d3d11: Sample depth on green channel. 2021-12-06 03:15:48 +01:00
lightningterror
bb55c320c1 GS Debugger: Fix Length of dump. 2021-12-05 10:57:24 +01:00
TheLastRar
af585bffa9 DEV9: Add DEV9: prefix to "Can't open Device" log message 2021-12-05 03:53:33 +01:00
TheLastRar
bde4868b67 DEV9: Enable pcap non-blocking 2021-12-05 03:53:33 +01:00
TheLastRar
3835fc5ad1 DEV9: Don't shadow return value of GetAdaptersAddresses 2021-12-04 06:09:01 +01:00
Tyler Wilding
7b815b5f07 actions: increase linux build times as well until cache is reliable
We can rely on the cache more once the following issue is resolved - https://github.com/actions/cache/issues/342#issuecomment-673371329

Once we can, we should be able to dynamically set the timeout according to the cache-hit/miss
2021-12-04 06:05:38 +01:00
Tyler Wilding
754c6126b1 actions: Only announce pre-release releases in the discord 2021-12-04 05:57:05 +01:00
Mrlinkwii
2dc2a32e45 GameDB: add 'VUKickstartHack' to 'Crash Twinsanity' 2021-12-04 02:56:22 +00:00
lightningterror
7a579303b9 GS-d3d11:fx: Split color clamp/wrap in it's own function.
Use the function for both sw blending and dithering, less code duplication.
2021-12-03 19:59:29 +01:00
lightningterror
03401e377b GS-ogl:glsl: Split color clamp/wrap in it's own function.
Use the function for both sw blending and dithering, less code duplication.
2021-12-03 19:59:29 +01:00
Ziemas
ff4ec6d843 SPU: Change dummy SP check for consistency 2021-12-03 19:37:19 +01:00
Ziemas
0dc3dcd9ed SPU: Start the sample pointer at -1
This makes videos in Stolen work again.
2021-12-03 19:37:19 +01:00
Ziemas
ed3237f808 SPU: Use hex values for sample pointer 2021-12-03 19:37:19 +01:00
Tyler Wilding
9321c3c334 gh: remove 32-bit Windows 11, it doesn't exist 2021-12-03 19:24:05 +01:00
Tyler Wilding
adc7d41183 gh: add minimal issue template for issues that don't pertain to games
A lot of the required information we enforce is not applicable to application level bugs
2021-12-03 19:24:05 +01:00
Tyler Wilding
4ca69d8818 gh: Update issue-templates to include Win11 2021-12-03 19:24:05 +01:00
Mrlinkwii
cca52e271b Gamedb: add 'VIFFIFOHack' to 'Men in Black II: Alien Escape' 2021-12-02 19:29:28 +00:00
TellowKrinkle
a2e15bbc87 GHActions:macos: Install glib
Looks like GHActions changed what things they preinstall
2021-12-02 15:08:18 +01:00
Mrlinkwii
9d6ad0303c GameDB: Add fixes for 'Shadow Man - 2econd Coming' and 'Ghosthunter' games. 2021-12-02 14:01:47 +00:00
Mrlinkwii
bbaa23c22d Readme : update links 2021-12-01 22:43:36 +00:00
Ziemas
bacb860cc1 GUI: Allow relative elf file paths on command line. (#4451) 2021-11-30 10:06:17 +01:00
Ziemas
7a4191e16d Fix compilation with LTO on GCC 2021-11-30 02:25:06 +00:00
PCSX2 Bot
0fa620e3ba pad-linux: Update to latest controller database. 2021-11-29 17:17:26 +01:00
dependabot[bot]
96642d8bc3 Bump mathieudutour/github-tag-action from 5.6 to 6.0
Bumps [mathieudutour/github-tag-action](https://github.com/mathieudutour/github-tag-action) from 5.6 to 6.0.
- [Release notes](https://github.com/mathieudutour/github-tag-action/releases)
- [Commits](https://github.com/mathieudutour/github-tag-action/compare/v5.6...v6.0)

---
updated-dependencies:
- dependency-name: mathieudutour/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 16:01:55 +01:00
dependabot[bot]
8a26c3783a Bump actions/cache from 2.1.6 to 2.1.7
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 13:21:27 +00:00
lightningterror
d2742a177c GS-d3d11: Properly set afix in EmulateBlending.
Accumulation blend -> afix is already handled in shader, no need to set it for hw blending too.
SW blending -> done in shader.
HW blending - > set only when it is actually used, Alpha C.

GS-d3d11: Properly set afix in EmulateBlending.

Accumulation blend -> afix is already handled in shader, no need to set it for hw blending too.
SW blending -> done in shader.
HW blending - > set only when it is actually used, Alpha C.
2021-11-26 21:25:16 +01:00
TellowKrinkle
6d4713e069 GS: Alloc sw renderer things on custom heap 2021-11-26 13:44:07 -06:00
TellowKrinkle
342170b077 GS: Add new heap for SW renderer allocations 2021-11-26 13:44:07 -06:00
TellowKrinkle
df02d784d6 GS: Throw from vmalloc on failure 2021-11-26 13:44:07 -06:00
tellowkrinkle
340874996e CMake: Always default CMAKE_BUILD_PO off
Git files getting modified by build is just as much of a pain in release builds as it is in devel builds
2021-11-26 13:02:25 -06:00
lightningterror
3bd89154d3 GS-wx: Fix some gui interaction.
Fix interaction of Anisotropic filtering with Nearest Texture Filtering and GPU Palette Conversion.
Fix interaction of Trilinear Filtering with selected renderer.

Options should gray out properly now.
2021-11-26 18:32:58 +00:00
Connor McLaughlin
1e198fbb83 GS/OpenGL: Use CreateRenderTarget() for temp HDR target
Probably won't change much, except maybe with sparse textures,
where it'll use less video memory.
2021-11-25 23:26:31 +01:00
TellowKrinkle
01855fc66a GHActions: Don't shallow clone submodules
Shallow clones tend to be 5-10s slower
2021-11-24 15:43:56 -06:00
refractionpcsx2
7ac045b5e2 GS: Partial revert of #5061 2021-11-24 01:01:55 +00:00
lightningterror
03f1617ff5 GS-GSState: Mask out AA1 on triangles.
AA1 is not supported on hw renderers so ignore flushing the prims on triangles.

Should provide a nice speed boost on games that use AA1 on triangle prims.
2021-11-24 00:14:03 +01:00
lightningterror
c75b20e37d GS-hw: Also disable Blending when AA1 and ABE or PABE are both set on lines.
There's no need to blend them since there is no implementation.
2021-11-24 00:14:03 +01:00
lightningterror
08f72596d4 GS-hw: EmulateBlending move early return to the top.
Optimization.
2021-11-24 00:14:03 +01:00
lightningterror
dcd1f90ae7 GS-hw: Disable Z writes on AA1 flag when prim are lines.
When AA1 flag is enabled Z is not written on lines since coverage is always less than 0x80.
2021-11-24 00:14:03 +01:00
lightningterror
c10603d161 GS-hw: Disable alpha blending when only AA1 flag is enabled.
There is no hw implementation of AA1.

Alpha blending shouldn't be enabled by AA1 flag, only ABE and PABE flags.
2021-11-24 00:14:03 +01:00
Mrlinkwii
7ea335e59b GameDB : fix Fuuraiki 2 patch 2021-11-23 11:55:23 +00:00
lightningterror
d20cb91d90 Gs-d3d11:fx: Adjust sw blend shader a bit.
Use As and Cs in pabe code, makes more sense.

Get rid of Cv vector, use Color parameter for operations instead like on gl.
2021-11-23 09:02:54 +01:00
lightningterror
e38d754e86 Gs-ogl:glsl: Adjust sw blend shader a bit.
Get rid of Color_pabe vector, makes more sense to use As and Cs in pabe code.
2021-11-23 09:02:54 +01:00
refractionpcsx2
afacc47f33 CDVD: Adjust DMA timing based on PS1 timings.
Bus width is 16bit on the PS2 and 8bit on PS1, so serves to reason the DMA would be twice the speed. (PS1 is 24 cycle per word)
2021-11-22 22:18:32 +00:00
refractionpcsx2
5803cc441e GS: Improve FixedTEX0 accuracy 2021-11-22 22:17:59 +00:00
Mrlinkwii
d60c66deee GameDB: purge patches for 'Knockout Kings 2002' 2021-11-22 21:42:26 +00:00
PCSX2 Bot
d7797a50f5 pad-linux: Update to latest controller database. 2021-11-22 20:55:52 +01:00
Mrlinkwii
87bbebed36 Gamedb: remove the patch for Virtua Fighter 4 2021-11-22 17:51:51 +00:00
Mrlinkwii
3aa33bf0b1 Gamedb :add 'GIFFIFOHack' to 'FIFA 2005'and EE clamping for 'D1 Professional Drift Grand Prix Series 2005' 2021-11-22 15:41:25 +00:00
Christian Kenny
e37afd6976 3rdparty: Upgrade soundtouch lib to 2.3.1 2021-11-22 15:38:03 +00:00
Christian Kenny
791f2a63ac 3rdparty: Upgrade xbyak to 6.00 2021-11-22 15:37:44 +00:00
refractionpcsx2
1917f2b98a GS: Re-remove part of Clamp Repeat opt.
This is kind of not needed, it's handled above really.
2021-11-22 10:35:19 +00:00
Connor McLaughlin
78b74f1115 GLLoader: Remove glCopyTextureSubImage2D() wrapper
Not needed anymore.
2021-11-22 05:53:44 +01:00
Connor McLaughlin
8ea24d9ff9 GS/OpenGL: Use shader+draw for CopyRectConv 2021-11-22 05:53:44 +01:00
Ty Lamontagne
f36d5fdbdf Debugger: Format search hits with proper specifier 2021-11-21 22:00:49 +01:00
RedDevilus
d421fc6e6f GUI: Bring back F6 string (Aspect Ratio)
Fixes regression from https://github.com/PCSX2/pcsx2/pull/4140
2021-11-21 20:28:23 +00:00
refractionpcsx2
90c4c9e96b Build: Fix clang
Stupid thing, the actions builds were fine!
2021-11-21 18:43:37 +00:00
refractionpcsx2
0a79892923 microVU: Preserve XGKIck cycles in delay slot
Also added handling for xgkick sync on single instructions
2021-11-21 17:18:34 +00:00
refractionpcsx2
d88f638fbc GS: Redo the Texture min/max opt 2021-11-21 17:18:11 +00:00
Christian Kenny
d29121a871 Core: Reset game loaded/started variables on recompiler shutdown. 2021-11-21 03:25:37 +00:00
Christian Kenny
5b8e983478 ELFHeader: Detect CRC properly for PSX games, improve formatting of game serial output. 2021-11-21 03:25:37 +00:00
Christian Kenny
24d47cb10b Don't update saveslot info if VM isn't running yet 2021-11-21 03:25:37 +00:00
Christian Kenny
ae7b84a85f Savestates: Use folders for organizing savestates per game. 2021-11-21 03:25:37 +00:00
Mrlinkwii
161240045f Gamedb: add various fixes for various games and removal of patches 2021-11-21 03:03:21 +00:00
refractionpcsx2
fe85fc9d25 GIF: Modify fifo read behaviour
Fixes some glitching in Need for Speed Underground 2
2021-11-21 03:01:03 +00:00
arcum42
b8a2cd1b06 PAD: Call one joint pad header in most of pcsx2, not two. (#4985)
Add Gamepad.h

Cleanup.

Remove the Windows version of PAD.h as well.

Update CMakeLists.txt

Revert language changes.
2021-11-20 18:57:58 -08:00
refractionpcsx2
eee51828cb Build: Remove old unused cheatscpp.h file 2021-11-21 00:22:34 +00:00
refractionpcsx2
1eddd9017b 3rd Party: Update rogue file to correct license.
Got missed in an update as they switched to auto generation, but the license was switched prior to us last updating the library. See this commit: 819c6a8d68 (diff-dcf9d0451a6397210424fc9699e209255660a4d3b3072c2f1b35048df8df4092)
2021-11-20 23:33:48 +00:00
tellowkrinkle
9c0582a103 wx: Fix pxExplore on macOS (#4989)
* wx: Fix `pxExplore` on macOS

Trying to open file urls in a browser does not actually launch a file explorer in macOS

* wx: Remove pxExplore/pxLaunch

Was barely used
2021-11-19 18:35:50 -08:00
arcum42
6cd8b34abb Update the FAQ, as well as some general cleanup. (#5033)
* Update the FAQ, as well as some general cleanup.

* A few more adjustments.

* Change indentation.

* Minor changes.

* Remove the information about the time, which was incorrect.

* Life is like a hurricane...

* Modify Windows controller information.

* Add more ways to contribute.
2021-11-19 16:22:44 -08:00
Ty Lamontagne
47075bec49 Debugger: Make memory dialog transparent
Was supposed to do this in my initial memory search pr but ended up removing while fighting with git accidentally.
2021-11-19 00:53:05 +00:00
lightningterror
8eb6cbd400 GS-gui: Change blending option from None to Minimum.
None doesn't actually fully disable sw blending, so the option is a bit inaccurate, rename it to Minimum instead.

Also slightly update tooltip.
2021-11-17 22:44:51 +01:00
TellowKrinkle
8f394b5c3f GHActions:macos: Remove gtk3 dependency 2021-11-17 14:23:15 -06:00
TellowKrinkle
2245315b60 CMake: Remove gtk dep on macOS
We only need gio now
2021-11-17 14:23:15 -06:00
Connor McLaughlin
0d40661b33 VSProps: Set MultiProcessorCompilation in CodeGen props 2021-11-16 10:08:20 +00:00
refractionpcsx2
e015b91ed1 CDVD: Don't allow DMA read if DMA isn't running 2021-11-16 09:31:34 +00:00
PCSX2 Bot
de577709d9 pad-linux: Update to latest controller database. 2021-11-15 17:19:19 +01:00
refractionpcsx2
52c6d79975 VS: Organise filter confusion between GS and GIF files 2021-11-14 21:57:33 +00:00
refractionpcsx2
512064f1b5 GS: Only reload Auto MIPs on TEX base change 2021-11-14 21:57:33 +00:00
Ty Lamontagne
a396b50610 Debugger: Allow access to all of 0xBXXXXXXX 2021-11-14 20:19:33 +00:00
TellowKrinkle
67299fcd9f Core: Remove __packed macro 2021-11-14 13:52:20 -06:00
TellowKrinkle
f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
TellowKrinkle
87f7672dbf GS: Remove windows includes from GS.h 2021-11-14 13:52:20 -06:00
TellowKrinkle
648a958290 GS: Split GS.h into multiple smaller headers 2021-11-14 13:52:20 -06:00
TellowKrinkle
ed90e2fcf9 GS: Header cleanup 2021-11-14 13:52:20 -06:00
TellowKrinkle
b74be70ffc GS: Switch integer typedefs to match rest of pcsx2
Had to capitalize the names of some struct params that had the same names
2021-11-14 13:52:20 -06:00
TellowKrinkle
2351431d71 Misc: Remove custom countof macros in favor of std::size 2021-11-14 13:52:20 -06:00
TellowKrinkle
7435f76609 Misc: Move GS preprocessor defs to main PCSX2 file 2021-11-14 13:52:20 -06:00
TellowKrinkle
d2c1a4a7fb Core: Add header for PCSX2-specific preprocessor definitions 2021-11-14 13:52:20 -06:00
TellowKrinkle
e37fbfddc3 Misc: Better GCC defs
Less warnings about fastcall being unsupported, proper __assume implementation
2021-11-14 13:52:20 -06:00
TellowKrinkle
8ab884a89e Misc: Format Pcsx2Defs.h 2021-11-14 13:52:20 -06:00
Mrlinkwii
42f438146c GameDB: add ee-rounding and vu-rounding to various entries 2021-11-14 16:31:25 +00:00
TellowKrinkle
08b1b350db wx: Remove wxString implicit conversion to std::string on windows
Can be lossy, and no one likes a lossy implicit conversion
2021-11-13 18:44:26 -06:00
TellowKrinkle
cbcd9b5004 wx: Remove wxString implicit constructor from std::string
On windows, it uses the current system's character encoding instead of utf-8, which breaks a lot of things.  We should avoid it.
2021-11-13 18:44:26 -06:00
TellowKrinkle
162a0bbe46 CMake: Fix duplicate definition of WavFile on Windows 2021-11-13 18:44:26 -06:00
refractionpcsx2
69d50e583e GameDB: Patches for MX Vs ATV Unleashed SPS 2021-11-13 18:51:11 +00:00
orbea
40a8384087 Update libchdr
Fixes https://github.com/PCSX2/pcsx2/issues/5009
2021-11-13 01:11:37 +00:00
lightningterror
6053b2b5c9 GS-wx: Adjust some checkboxes to be in alphabetical order. 2021-11-12 20:32:18 +01:00
TellowKrinkle
7e17497c1e GS: Require hardware renderer for hacks in wx config 2021-11-12 20:15:07 +01:00
TellowKrinkle
b573be918e wx:GS: Grow notebook with GS settings pane 2021-11-12 20:15:07 +01:00
TellowKrinkle
2fada14a65 GS: Fix Half Pixel Offset and Half Screen Fix config swap 2021-11-12 20:15:07 +01:00
TellowKrinkle
cf64a2bc8e GS: Rename accurate date config option 2021-11-11 18:18:28 -06:00
TellowKrinkle
39fd3479b7 Core: Add dev mode config 2021-11-11 18:18:28 -06:00
TellowKrinkle
536133289f wx:GS: Pad all the things 2021-11-11 18:18:28 -06:00
TellowKrinkle
3f280649a9 GS: Make spinners full width in wx config
Lines up nicer with other elements
2021-11-11 18:18:28 -06:00
TellowKrinkle
6c80aa8c98 GS: Add D3D11 blend mode selector to wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
65c39f600f GS: Renderer and upscale prerequisites for wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
3b5a9f6c6a GS: More generic prerequisite checking for wx config 2021-11-11 18:18:28 -06:00
TellowKrinkle
665db4bdad wx: Stop tripping wx3.1+ asserts in gs config 2021-11-11 18:18:28 -06:00
TellowKrinkle
b34e7fa303 GS: Add X and Y labels to wx settings texture offset 2021-11-11 18:18:28 -06:00
kojin
abc0458d4f GS: remove image header from wx settings dialog 2021-11-11 18:18:28 -06:00
kojin
1e35398a84 GS: new wx config dialog working on windows 2021-11-11 18:18:28 -06:00
kojin
be3253bf87 d3d: abstract some dxgi functionality
- adapters are now referenced by index instead of string matching, hopefully this will make a few things easier
- add a setting to enable dxgi/device debugging (instead of hiding it behind a compiler macro)
- improve logging
- remove some d3d cruft from gsutils
2021-11-11 18:18:28 -06:00
arcum42
241a762d04 GS: Switch to wx config dialog 2021-11-11 18:18:28 -06:00
TellowKrinkle
b944687191 GS: Clean up wx config code 2021-11-11 18:18:28 -06:00
arcum42
736c66ee31 GS: Add tooltips to the wx settings dialog 2021-11-11 18:18:28 -06:00
arcum42
d96f31d01b GS: Add new wx version of GS settings dialog 2021-11-11 18:18:28 -06:00
Mrlinkwii
e30c096d87 GameDB:add 'GIFFIFOHack' to 'Gunfighter 2 - Legend of Jesse James' 2021-11-11 09:15:35 +00:00
Ty Lamontagne
be71b98c55 Debugger: Update enums and fix 32 bit support
Also move bitcast to a proper location
2021-11-11 00:41:40 +00:00
Ty Lamontagne
6bec3162f6 Debugger: Use bit_cast where needed, cleanup some stuff 2021-11-11 00:41:40 +00:00
Ty Lamontagne
c863876dee Debugger: Implement CtrlMemorySearch 2021-11-11 00:41:40 +00:00
TellowKrinkle
f5d0542f06 DEV9-GUI: Rearrange config interface
Fixes HDD Size ticks from 1 to 10 (40,50,60,...) and less squished together.
2021-11-11 00:40:23 +00:00
RedDevilus
b1650eb503 PCSX2-GUI: Fix Groupboxes to align correctly
Make things look more symmetrical and structured.
Affects Audio Settings (SPU2) , Gamepad Settings (PAD) + Network and HDD Settings (DEV9).
For audio settings the slider will no longer do 0.5 steps when you change from TimeStretch. Reduce max audio latency from 750 to 200 (less is better if your PC can handle it).
Windows SPU2 codebase is in dire need of a rehaul on how it handles this behaviour (not convert it multiple times).
2021-11-11 00:40:23 +00:00
Mrlinkwii
82b090e234 GameDB: add nearest rounding to 'Hitman - Contracts' and various fixes 2021-11-10 14:14:52 +00:00
lightningterror
7f1e416d31 GS-ogl: Remove device, driver checks in GLLoader.
Duplicate, it is already handled elsewhere.

Also cleanup some stuff.
2021-11-10 02:27:18 +01:00
Ty Lamontagne
4312bf711c Debugger: Fix breakpoint window on linux 2021-11-09 18:07:46 +01:00
Ty Lamontagne
f8061448d1 Debugger: Reset breakpoint skip on savestate load 2021-11-09 18:06:54 +01:00
PCSX2 Bot
e934bec4b7 pad-linux: Update to latest controller database. 2021-11-08 17:27:08 +01:00
TellowKrinkle
4e5d7ba8ef GS:SW: Fix fog on x64 avx2 2021-11-08 09:19:05 +00:00
TellowKrinkle
59fd815c3d GS: Faster GSOffset::PAHelper 2021-11-07 03:44:31 +00:00
TellowKrinkle
b901c6af71 GS: Switch back to row+column for pixel lookups
Code for the full calculation was way too complicated to run for every pixel in a loop
2021-11-07 03:44:31 +00:00
TellowKrinkle
b2fb6c7804 GS: Don't calculate a pageOffset per bp 2021-11-07 03:44:31 +00:00
TellowKrinkle
84c5f8f738 GS: Remove rowOffset 2021-11-07 03:44:31 +00:00
TellowKrinkle
39c7f11b98 GS: Pixel loop optimizations 2021-11-07 03:44:31 +00:00
TellowKrinkle
86a2d73931 GS: Clean up old GSOffset remnants 2021-11-07 03:44:31 +00:00
TellowKrinkle
8eb50c3517 GS: Switch to new non-cached GSOffset 2021-11-07 03:44:31 +00:00
TellowKrinkle
d9defb19f9 GS: Add new GSOffset class 2021-11-07 03:44:31 +00:00
TellowKrinkle
874804bcfd GS: Add block/page loop functions to GSSwizzleInfo 2021-11-07 03:44:31 +00:00
TellowKrinkle
b0f9662811 GS: Add srav and blend backwards compat to GSVector4i 2021-11-07 03:44:31 +00:00
TellowKrinkle
24850823a2 GS: Use new swizzle calculation class 2021-11-07 03:44:31 +00:00
TellowKrinkle
951604475b GS: Add class for swizzle calculations 2021-11-07 03:44:31 +00:00
Ty Lamontagne
74f3bb2aa9 Debugger: Make the register list DPI aware 2021-11-07 03:43:55 +00:00
Tyler Wilding
4442b798c9 CDVD: set the correct RTC year when input recording 2021-11-07 02:21:01 +00:00
Tyler Wilding
f10a8de2c1 input-rec: Use a constant RTC for power-on recordings 2021-11-06 16:24:53 +00:00
Tokman5
329b29269b GameDB: Add and fix Power Pros series 2021-11-06 16:23:02 +00:00
Mrlinkwii
5b3ffe6bab GameDB: add EE clamping to 'Shadow of Zorro' and 'Evil Twin - Cyprien's Chronicles'
GameDB: add EE clamping to 'Shadow of Zorro' and 'Evil Twin - Cyprien's Chronicles'
2021-11-06 16:20:04 +00:00
Joey
fb14500b41 pad-linux: Abort 'set all btns' on escape key + gui fixes (#4809) 2021-11-06 00:44:08 -07:00
TellowKrinkle
ad29594d08 Use correct clock for GS fps calculations on unix 2021-11-05 23:11:53 -05:00
tellowkrinkle
37e2142cca Common: Fix Darwin thread times
Percentages will now actually be percentages instead of permille (units of 1/1000)
Was caused by trying to match Windows's returns of 100ns units, but then reporting 1µs units from `GetThreadTicksPerSecond()`
2021-11-05 23:11:53 -05:00
tellowkrinkle
1e5f1de12c CMake: Increase deployment target to 10.13
Allows use of throwing `optional` and `variant` methods
2021-11-05 23:11:53 -05:00
tellowkrinkle
0f93dbcd5e USB: Make save state non-required
Fixes save state loading for systems using a null USB plugin (macOS, BSD)
2021-11-05 23:11:53 -05:00
RedDevilus
e415d85dbe GameDB: Add and fix SingStar Entries
I noticed we had a ton of missing SingStar serial + minor other fixes.
2021-11-05 15:59:29 +00:00
Mrlinkwii
4c8bf53e69 CI:Add build date to program log of nightly builds 2021-11-05 01:16:08 +00:00
refractionpcsx2
83fcd4bd1f SPU: Kind of revert last ADMA change. Clear as reading.
This is a temporary measure while we run some hardware tests, the previous change broke Burnout 3's engine sounds.
2021-11-04 20:13:18 +00:00
TellowKrinkle
bfd960ad1b GHActions:Linux: Upgrade to Clang 9 2021-11-04 20:11:15 +00:00
qurious-pixel
6b81808ecc gcc compatibility for older distros
Add compatibility layer for using newer gcc on older distros.
- use AppImageKit-checkrt
- copy build system stdc++ and gcc_s
2021-11-04 20:11:15 +00:00
TellowKrinkle
c615a6f6e2 GHActions:Linux: Upgrade to GCC 10 2021-11-04 20:11:15 +00:00
TellowKrinkle
40b522b42f GHActions:Linux: Remove unneccessary packages 2021-11-04 20:11:15 +00:00
TellowKrinkle
f2655b763f GHActions:Linux: Clean up setup scripts 2021-11-04 20:11:15 +00:00
TellowKrinkle
fd145e65aa GS: Remove virtual destructor from GSAlignedClass
No point, and made it not a standard layout type
2021-11-04 19:32:27 +00:00
TellowKrinkle
6596b7f27e GS: Enable AVX2 on x64 2021-11-04 19:32:27 +00:00
TellowKrinkle
9d767838d6 GS: Remove old DrawScanline code generators 2021-11-04 19:32:27 +00:00
TellowKrinkle
f55219bb1b GS: Replace 6 DrawScanline code generators with one merged one 2021-11-04 19:32:27 +00:00
TellowKrinkle
805b647c73 GS: Remove old SetupPrim code generators 2021-11-04 19:32:27 +00:00
TellowKrinkle
fd0351ca8f GS: Replace 6 SetupPrim code generators with one merged one 2021-11-04 19:32:27 +00:00
TellowKrinkle
ed5a7802f3 Common: Add non-constant offsetof macro 2021-11-04 19:32:27 +00:00
TellowKrinkle
44f8317b7e GS: Add new code generator for easy native-isa codegen 2021-11-04 19:32:27 +00:00
TellowKrinkle
0200933ddd GS: Don't catch code generation exceptions
If codegen throws an exception, it ends up just crashing when you jump to the incompletely-generated code which is kind of useless
2021-11-04 19:32:27 +00:00
lightningterror
f712b2b63a GSDeviceOGL: Fix Wunused-private-field warnings. 2021-11-04 11:18:26 +01:00
Tyler Wilding
71923e7cba actions: cleanup discord embed links and add release body 2021-11-03 23:46:45 +00:00
refractionpcsx2
532d14611c GS: Properly loop when reading 32bit CLUT from offset 2021-11-03 18:24:57 +00:00
refractionpcsx2
3a91a07d51 GS: Fix up CLUT offset handling in 32bit I8 mode 2021-11-03 18:24:57 +00:00
refractionpcsx2
6a8287ea9f EE JIT: Backup shift on LDR/L if rs==rt 2021-11-03 18:03:09 +00:00
Tyler Wilding
dc051541bd actions: create automatic controller db updating workflow 2021-11-03 16:40:36 +01:00
lightningterror
3265c2a614 GS-ogl: Put GL_ARB_get_texture_sub_image code under a define.
Code is currently disabled, no need to check for the extension.
2021-11-03 16:37:55 +01:00
lightningterror
f798401e93 GS-ogl: Remove checks for extensions we don't yet use.
They serve no purpose, no need to check unless we actually use them

GL_ARB_compute_shader,
GL_ARB_shader_storage_buffer_object,
GL_ARB_texture_view,
GL_ARB_vertex_attrib_binding,
GL_ARB_multi_bind
2021-11-03 16:37:55 +01:00
tellowkrinkle
60791e4c2b GS-OGL: Add comment on m_accurate_stq usage 2021-11-03 01:21:11 +00:00
TellowKrinkle
bd8fcc8f81 GS: Remove inaccurate stq calculations from GSVertexTrace
They were the same speed or slower than full div on IvyBridge+ and Bulldozer+
2021-11-03 01:21:11 +00:00
TellowKrinkle
5d33165fa5 GS: Reduce repeated code in GSVertexTrace::FindMinMax
Why repeat things when you can make the compiler repeat them for you
2021-11-03 01:21:11 +00:00
TellowKrinkle
2e1d147135 GS: Faster accurate_stq calculations 2021-11-03 01:21:11 +00:00
refractionpcsx2
ee8d24a260 GS: Don't propagate 24bit textures on download 2021-11-03 00:54:29 +00:00
RedDevilus
81ac26c33c GameDB: Clean-up V2
Some minor typo clean-up and fix japanese serials.
2021-11-03 00:54:06 +00:00
Tyler Wilding
0a9cc924a4 actions: only run these new workflows and new steps on PCSX2/pcsx2 2021-11-01 20:07:31 -05:00
Tyler Wilding
86e12c9603 cmake: properly set the new tag variable 2021-11-01 20:07:31 -05:00
Tyler Wilding
79e56f21d1 actions: lint yaml replace semver with just version 2021-11-01 20:07:31 -05:00
Tyler Wilding
f9e4bb5288 actions-win: Remove remaining retention override 2021-11-01 20:07:31 -05:00
Tyler Wilding
d1085a40ba actions-docs: Add documentation for how this works 2021-11-01 20:07:31 -05:00
Tyler Wilding
c0f83524a9 actions-linux: Update linux workflow to upload artifacts to release 2021-11-01 20:07:31 -05:00
Tyler Wilding
9d2976cef6 actions-win: Update windows workflow to upload to release, also include symbols as an artifact 2021-11-01 20:07:31 -05:00
Tyler Wilding
b20dd73b30 actions: Add brand new workflows - creating and announcing the releases 2021-11-01 20:07:31 -05:00
Tyler Wilding
c32d5f1672 actions: Create script to announce a new release via a Discord WebHooks 2021-11-01 20:07:31 -05:00
Tyler Wilding
6eacade082 actions: Move the temporary location of the AppImages to align with the rest 2021-11-01 20:07:31 -05:00
Tyler Wilding
8baecb9c9c actions: Create script to upload artifacts from workflow and publish release if all are accounted for 2021-11-01 20:07:31 -05:00
Tyler Wilding
b7bdbffad4 actions: Create script for generating release notes 2021-11-01 20:07:31 -05:00
Tyler Wilding
c4e5a21c86 build: If available - use the current git tag for the build metadata 2021-11-01 20:07:31 -05:00
refractionpcsx2
a494e05fd9 CDVD: Left a debug message enabled. 2021-11-01 12:23:31 +00:00
refractionpcsx2
b5eed53db0 CDVD: Fix rotational delay, don't apply to seek commands.
Fixes #4955
2021-11-01 12:07:42 +00:00
refractionpcsx2
78881113b9 GS: Further state cleanup + fixes for older dump compatibility 2021-10-31 23:49:39 +00:00
refractionpcsx2
0d946d8083 GS: Let draw happen even if invalid, log invalid draws 2021-10-31 23:48:48 +00:00
lightningterror
2a20119fbb GSRenderer: Fix Wunused-variable warning. 2021-10-31 21:12:14 +01:00
refractionpcsx2
c84e56329f SPU2: Don't read sound input area if ADMA disabled 2021-10-31 02:24:35 +00:00
refractionpcsx2
6348fe7362 CDVD: Fix handling of Dual Layer disc latencies
Fixes #4962
2021-10-30 20:49:03 +01:00
Connor McLaughlin
20ab4dbf20 GL/StreamBuffer: Use partial instead of exact match for NVIDIA
It's "NVIDIA Corporation" on Macs, and on Windows we don't support any
GL3 GPUs anyway.
2021-10-30 16:01:55 +01:00
Connor McLaughlin
c09240de3b GS: Use stream buffer for VS/GS/FS uniforms 2021-10-30 16:01:55 +01:00
Connor McLaughlin
62b40b516c GS: Use stream buffer for vertices/indices 2021-10-30 16:01:55 +01:00
TellowKrinkle
9d2bdd5681 ContextAGL main thread & wx compatibility fixes 2021-10-30 02:00:21 +01:00
Connor McLaughlin
46283cd513 GS: Make Config.h include explicit 2021-10-30 02:00:21 +01:00
Connor McLaughlin
5ba70c8c20 GS: Remove GSWnd and use GL::Context 2021-10-30 02:00:21 +01:00
Connor McLaughlin
198fc2629e Common: Add GL context wrappers 2021-10-30 02:00:21 +01:00
Connor McLaughlin
5848efe03b GS: Migrate to glad 2021-10-30 02:00:21 +01:00
Connor McLaughlin
ca2a75db9c 3rdparty: Add glad 2021-10-30 02:00:21 +01:00
Connor McLaughlin
97474488d8 wx: Call XInitThreads on startup 2021-10-30 02:00:21 +01:00
Connor McLaughlin
0f5ed59e50 Replace pDsp with WindowInfo 2021-10-30 02:00:21 +01:00
Connor McLaughlin
114d78d378 CMake: Add options for building with X11/Wayland 2021-10-30 02:00:21 +01:00
Connor McLaughlin
fadd97c021 Common: Add WindowInfo 2021-10-30 02:00:21 +01:00
Connor McLaughlin
09764393e0 Common: Add align helpers 2021-10-30 02:00:21 +01:00
Connor McLaughlin
de8b4f17a1 Common: Add ScopedGuard 2021-10-30 02:00:21 +01:00
refractionpcsx2
52eab49359 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2021-10-28 20:03:03 +01:00
refractionpcsx2
3ac86a19ff GIF: Time transfers from FIFO correctly.
Will break FIFA Street 2 / FIFA 2005 but they can be fixed with GIF FIFO Gamefix + Cycle Rate + 3
2021-10-28 20:02:35 +01:00
TheLastRar
0dea6dbc9d DEV9: DNS logger crash fix 2021-10-28 19:48:20 +02:00
lightningterror
23283b7f0a pad-linux: Update to latest controller database. 2021-10-27 01:50:27 +02:00
lightningterror
7ac56a0d11 emitter: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
lightningterror
667f98334a iR5900: Fix Wodr warnings. 2021-10-27 01:00:38 +02:00
lightningterror
6825b5d79a SaveSlots/UpdateUI: Fix Wsign-compare warning. 2021-10-27 01:00:38 +02:00
lightningterror
ac91a48182 PGIF: Fix Wunused-variable warnings. 2021-10-27 01:00:38 +02:00
refractionpcsx2
855b46edee VU: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
lightningterror
8a531ad2cb VU: Fix Wsequence-point warnings. 2021-10-27 01:00:38 +02:00
lightningterror
5a1dabc293 GS: Fix Wunused-variable warnings. 2021-10-27 01:00:38 +02:00
Ty Lamontagne
3705054095 Debugger: Support multi-line assembling 2021-10-26 15:24:52 +01:00
Ty Lamontagne
0fed1cbedd clang-format: pcsx2/CDVD/CDVD.cpp 2021-10-26 09:56:41 +01:00
Ty Lamontagne
f5a9b98578 CDVD: Reset VM on sceCdPowerOff writes 2021-10-26 09:56:41 +01:00
refractionpcsx2
bfbe86a3d5 COP2: Tighten LQC2/SQC2 sync
Fixes some small glitches with the R&C games
2021-10-26 00:05:46 +01:00
kojin
d70631477d gs: remove unused path3 hack 2021-10-25 20:35:37 +02:00
kojin
936cf5b60d gs: remove unused tex flush param
keep the logging for now
2021-10-25 20:35:37 +02:00
kojin
8095490d23 gs: remove old pre-mtgs cruft 2021-10-25 20:35:37 +02:00
kojin
740b421ce8 gs: gsstate (the old gsdx one) misc cleanup
just some spring cleaning since I'm here anyway.
mostly getting rid of dead code and comments
adding some comments and logging
remove some asserts
making the code a little easier to read

stuff like that
2021-10-25 20:35:37 +02:00
TheLastRar
4273b6ce37 DEV9: Fix Windows config saving/loading 2021-10-25 20:31:39 +02:00
lightningterror
0717353069 Core: Few more warnings fixup. 2021-10-25 20:23:55 +02:00
refractionpcsx2
bb494af6b0 CDVD: Buffer up to 16 sectors 2021-10-25 09:42:00 +01:00
Mrlinkwii
05dfe0b0ac GameDB:add 'VUKickstart' to 'Maken Shao' games (#4935) 2021-10-24 23:40:09 +01:00
TellowKrinkle
b63f6e807c DEV9: Prevent saving invalid configurations 2021-10-22 20:39:44 -05:00
TellowKrinkle
18b982dc6a DEV9: Clean up config code 2021-10-22 20:39:44 -05:00
TellowKrinkle
f5cfd7e6bf DEV9: Split ethernet adapter api config selection into separate dropdown 2021-10-22 20:39:44 -05:00
TellowKrinkle
b16b759adf DEV9: Inline hdd size in config 2021-10-22 20:39:44 -05:00
TellowKrinkle
687e5d41e1 DEV9: Don't use collapsible panes for config 2021-10-22 20:39:44 -05:00
TellowKrinkle
3ba3ac5813 DEV9: Add tap adapters to new config on Windows 2021-10-22 20:39:44 -05:00
TellowKrinkle
b48ae6d519 DEV9: Translatable strings for HddCreate 2021-10-22 20:39:44 -05:00
TellowKrinkle
e068d24920 DEV9: Switch Windows config dialog to wx 2021-10-22 20:39:44 -05:00
TellowKrinkle
85bc4f1027 DEV9: Switch Linux config dialog to wx 2021-10-22 20:39:44 -05:00
Connor McLaughlin
005f8c7d1d Config: Fix zoom/stretch options not updating on Apply 2021-10-21 13:22:31 +02:00
refractionpcsx2
0a72e7474e GameDB: Add gamefixes for Ruff Trigger 2021-10-20 20:18:22 +01:00
refractionpcsx2
7a330340ac GameDB: Port Iridium Runners patch, update fixes 2021-10-20 20:15:46 +01:00
refractionpcsx2
24e73b3134 Savestates: Add missing things from Savestates (#4917)
Savestates: Add missing variables from Savestates
2021-10-20 10:41:50 +01:00
TellowKrinkle
c3e5b4225b GSdx:SW: Prevent thread ping-pong in software renderer sync 2021-10-19 16:04:15 -04:00
TellowKrinkle
85f1acb7b7 MTGS: Don't unlock mutex if you're just going to lock it again
Poor MTVU thread getting trolled by the GS thread.  By the time it wakes up its lock is taken again.  When under contention (GS thread behind the VU thread), this caused the GS thread to waste an additional 8% of its time pointlessly waking the VU thread
2021-10-19 16:04:15 -04:00
TellowKrinkle
881b017606 Utilities: Add TryWait and spin waits to semaphore and mutex 2021-10-19 16:04:15 -04:00
TellowKrinkle
5ff89dd695 Utilities: Add functions for spin waiting 2021-10-19 16:04:15 -04:00
TellowKrinkle
cf02893d22 macOS: faster semaphores
mach semaphore is kernel-only, and doesn't have a userspace fast path
2021-10-19 16:04:15 -04:00
refractionpcsx2
5011b9ead5 EE: Cyclerate > 1 caused some cycles to be lost 2021-10-19 20:09:07 +01:00
refractionpcsx2
6746578120 VU JIT: Include ADDi in flag calculations
Fixes #4916
2021-10-18 12:32:44 +01:00
refractionpcsx2
a85247ff9f GIF: re-re-fix FIFO behaviour
Fixes #4915
2021-10-18 12:14:21 +01:00
refractionpcsx2
c363241fad GS: Partial revert of #4891
Fixes performance problems with Baldur's Gate 2
2021-10-17 16:45:04 +01:00
lightningterror
d875bff471 pad-linux: Update to latest controller database. 2021-10-17 17:15:38 +02:00
Connor McLaughlin
44bc273590 microVU: Use uncached reg when clamping for FMAC instructions 2021-10-17 15:54:58 +01:00
arcum42
9044531a80 Add the current profile to the status bar. (#4888) 2021-10-17 01:19:18 -07:00
TellowKrinkle
f22ba886d9 Fix unparenthesized macro input 2021-10-17 04:17:58 +01:00
Ziemas
3f6ac2fa68 Debugger: Separate EE and IOP symbol maps
Previously they shared a single map which dosen't make sense.
2021-10-17 04:08:35 +01:00
Ziemas
7fd40f094a Debugger: more clang-tidy 2021-10-17 04:08:35 +01:00
Ziemas
f873e3b630 Debugger: Prefer override over virtual 2021-10-17 04:08:35 +01:00
Connor McLaughlin
6da938a714 GS: Get rid of a bunch of warnings in GSDeviceOGL 2021-10-17 03:34:44 +01:00
tellowkrinkle
934a7f70b2 Remove 30-day artifact retention on windows builds
Should revert to default of 90 days
2021-10-16 23:55:24 +01:00
refractionpcsx2
9109751ff0 CDVD: Insert step on swap for Generic Detect before type detect 2021-10-14 23:16:48 +01:00
refractionpcsx2
880107e72b BIOS/FastBoot: If OSDConfig is written, turn off HLE
Fixes #4902
Savestate bump, sorry.
2021-10-14 22:27:02 +01:00
refractionpcsx2
f14c9e7ddd CDVD: Fix tray closure on No Disc 2021-10-14 22:22:37 +01:00
refractionpcsx2
d736c8b281 CDVD: Use CD or DVD detecting types 2021-10-14 21:51:48 +01:00
refractionpcsx2
a96f900760 COP2: Simplify reg allocation 2021-10-14 10:06:13 +01:00
Ziemas
45bb57a38c IOP Recompiler: Fix BIOS trace logging on 64bit 2021-10-13 22:42:51 +02:00
refractionpcsx2
1b31eb9e4a Common: Fix AT&T mixup in FastJmp code 2021-10-12 23:08:13 +01:00
lightningterror
d36043c678 GS Debugger: Show "D3D11 HW" only on windows. 2021-10-12 03:54:35 +02:00
refractionpcsx2
54d10d21ec CDVD: Simulate 1 sector read ahead 2021-10-11 00:16:00 +01:00
Mrlinkwii
4c7a251f6d GUI : remove EE Cycle Skipping 3 2021-10-10 16:52:28 +01:00
lightningterror
e597f68620 pad-linux: Update to latest controller database. 2021-10-10 15:07:26 +02:00
lightningterror
6ed00107cf GS: Revert be7e1163b4
Completely remove the code instead of commenting it out, seems to cause
issues with several games.
2021-10-08 21:56:25 -04:00
kojin
ef2c7ac480 gs-tc: propagate texture shuffle format on readback 2021-10-08 21:43:54 -04:00
lightningterror
575b88ac04 gs: Fix recent clamp range changes.
Arguments were in wrong order by mistake.
Let's pretend that didn't happen.
2021-10-09 02:40:30 +02:00
lightningterror
2e0b8302dd GS-hw: Add Slam Tennis to automatic mipmapping.
Close #4866
2021-10-08 20:57:39 +02:00
lightningterror
a2ba0ae818 gs-d3d11: Fix Shade Boost Contrast and Saturation swapped values. 2021-10-08 13:31:17 +02:00
refractionpcsx2
ae1f1599f6 COP2: Fix reg allocation issue
Really fixes Devil May Cry which was a bug hidden by clamping hidden by a bug, yeah i think that covers it all...
2021-10-07 23:29:04 +01:00
Mrlinkwii
296911bef9 GUI: remove preset 4,5,6 2021-10-07 22:15:00 +01:00
refractionpcsx2
05dc48df07 GameDBL Add VU clamping for Devil May Cry
Also fix a COP2 arrangement issue, not sure what it fixes.

Clamping previously wasn't needed as it was masked by a bug.

Fixes #4884
2021-10-07 20:45:24 +01:00
lightningterror
660c623dd0 pad-linux: Update to latest controller database. 2021-10-05 16:29:14 +02:00
refractionpcsx2
b8f4a8ffb3 CDVD: Added simple rotational latency
Also removed DMA delay
2021-10-05 13:25:12 +01:00
refractionpcsx2
6bed14cb26 CDVD: Time reads by sectors per second instead of bytes 2021-10-05 13:25:12 +01:00
Mrlinkwii
8cad96499d GameDB :add PS2Linux Release 1.0 Runtime Environment [Disc 1] 2021-10-05 13:24:57 +01:00
Connor McLaughlin
0ccad56ee6 Wx: Reinitialize folders after running first time wizard 2021-10-05 11:54:44 +01:00
Connor McLaughlin
d440360906 clang-format Config.h and Pcsx2Config.cpp 2021-10-05 11:54:44 +01:00
Connor McLaughlin
3c522a0e60 Config: Add missing equality comparisons for a few fields
Fixes memory card changes not getting applied.
2021-10-05 11:54:44 +01:00
Connor McLaughlin
00fbc8289d Wx: Fix trace log settings getting very confused 2021-10-05 11:54:44 +01:00
kojin
1f386cf8bd recording: don't use NULL in wxChoice 2021-10-04 03:17:30 -04:00
kojin
86278b75e4 core: fix header includes for bsd 2021-10-04 03:17:30 -04:00
kojin
a94a324423 common: Don't use linux-specific OS description
wxGetLinuxDistributionInfo is linux only
2021-10-04 03:17:30 -04:00
kojin
4df3bee178 common: don't use NULL in SafeSysMunmap
BSD maps NULL to nullptr_t which is a problem because it's not a ptr type
2021-10-04 03:17:30 -04:00
kojin
e04c890018 cmake: freebsd fixup 2021-10-04 03:17:30 -04:00
kojin
e096814697 cmake: fix a bunch of override warnings 2021-10-03 18:27:19 -04:00
refractionpcsx2
a6e188692e Savestate version bump due to CDVD changes 2021-10-03 20:14:55 +01:00
refractionpcsx2
8d92c0668c CDVD: Implement Disc Swapping (#4860)
Inspired by the work by fldef, fixes up swapping support for ISO's and physical discs

CDVD: Set the disk type to none/detecting when seeking.
Also disable the skip BIOS flag if we're not skipping the BIOS
CDVD: Fix up swapping behaviour, Singstar etc
2021-10-03 17:27:15 +01:00
Mrlinkwii
759b869c1c GameDB :add VU clamping to Monster Rancher 3 2021-10-03 17:00:02 +01:00
lightningterror
c59db35ce2 GS: Fix OSD, Shade Boost slider values not showing. 2021-10-03 14:25:44 +02:00
refractionpcsx2
d0d58ded29 CDVD: Redesign and fix the Fast CDVD speedhack
Rather than setting it to a constant cycle count, it just halves all cycle counts being passed to it which aren't full seeks.
2021-10-03 10:49:51 +01:00
Mrlinkwii
65ce152e2c Gamedb :add 'SingStar ABBA' entry 2021-10-03 10:16:21 +01:00
Connor McLaughlin
4fc8a588ed Wx: clang-format AppConfig.cpp 2021-10-03 06:04:00 +01:00
Connor McLaughlin
a585a27d1e Wx: Fix regressions from settings decouple
Wx: Fix GS hotkeys losing values after reboot

Wx: Fix trace log hotkey losing value after reboot

WxSettingsInterface: Fix uint value loads

Wx: Fix presets resetting GS window settings

Common/SettingsWrapper: Fix SettingsWrapBitfield
2021-10-03 06:04:00 +01:00
Connor McLaughlin
1e703286f0 Config: Convert MemoryCardType to an enum class 2021-10-03 04:44:16 +01:00
Connor McLaughlin
d72c476483 Config: Fix folder memory cards initial load 2021-10-03 04:44:16 +01:00
Ty Lamontagne
3fdc32d9d7 Debugger: fix Goto in Disasm option for memory view
Was I drunk?
2021-10-02 22:04:11 +01:00
lightningterror
5e481951ea GS: Cleanup ini ranges for some values.
Use clamp instead of min max for OSD and Shade Boost.
Don't allow negative value for upscale multiplier.
2021-10-02 17:59:39 +02:00
TellowKrinkle
603537719e GS: Switch SW renderer statistics back to rdtsc
GetCPUTicks can be pretty low resolution on some systems
2021-10-02 00:01:19 -04:00
TellowKrinkle
c4e3bd148f GS: SW renderer statistics printout improvements 2021-10-02 00:01:19 -04:00
TellowKrinkle
91f1eca95e GS: Fix prim count in SW renderer debug stats
Previously was actually draw count, not prim count
2021-10-02 00:01:19 -04:00
TellowKrinkle
8123cc27db GS: Improved SW renderer debug stats 2021-10-02 00:01:19 -04:00
TellowKrinkle
e68fa34372 core: Force-include pch on vs
CMake does this by default.  This way we can make non-pch builds not take forever by only including what's required instead of the entire pch
2021-10-01 23:58:27 -04:00
refractionpcsx2
8476fc3b5a CDVD: Implement correct SpindleCtrl handling
Semi decouple end of CDVD DMA's
Fix alternative reading method for reading not picking the correct speeds for DVD's
2021-10-02 04:47:11 +01:00
Connor McLaughlin
a41ec422d2 Config: Move some Current fields to wx and fix UTF8 handling 2021-10-01 23:46:52 -04:00
Connor McLaughlin
ca523edf0e Config: Move folders to their own namespace
Don't duplicate in EmuOptions.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
43dfbe3f29 Move more classes from common to gui 2021-10-01 23:46:52 -04:00
Connor McLaughlin
c1fc018449 Config: Use SettingsInterface for base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
6fa82da1f1 Common: Add SettingsInterface and SettingsWrapper 2021-10-01 23:46:52 -04:00
Connor McLaughlin
817524bd1c Config: Use std::string instead of wxFileName 2021-10-01 23:46:52 -04:00
Connor McLaughlin
171a395369 Common: Add StringUtil 2021-10-01 23:46:52 -04:00
Connor McLaughlin
4d8905abd6 Config: Swap out wxString for std::string
Also in CDVD.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
d13982ea0e IniInterface: Support std::string entries 2021-10-01 23:46:52 -04:00
Connor McLaughlin
f79f85480b CDVD: Use ANSI variants on Windows for disc access
The drive path is not going to contain unicode characters.
2021-10-01 23:46:52 -04:00
Connor McLaughlin
17c049d7e3 SaveState: Simplify and convert to std::thread 2021-10-01 23:46:52 -04:00
Connor McLaughlin
3fdab1222b Rename keyEvent to HostKeyEvent 2021-10-01 23:46:52 -04:00
Connor McLaughlin
c234f83ca6 SaveState: Move file generation logic out of GUI 2021-10-01 23:46:52 -04:00
Connor McLaughlin
640e955c38 Move MemoryCard{File,Folder} out of GUI 2021-10-01 23:46:52 -04:00
Connor McLaughlin
307feefa87 Config: Move gzip index template to base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
15365c8702 Config: Remove unused FullBootConfig 2021-10-01 23:46:52 -04:00
Connor McLaughlin
bd9b43b482 Config: Move more GS settings to base class 2021-10-01 23:46:52 -04:00
Connor McLaughlin
77a890ff4a Config: Move Folders/BaseFilenames to base config 2021-10-01 23:46:52 -04:00
Connor McLaughlin
3f265b3f1c Config: Get rid of subset mutators and const global 2021-10-01 23:46:52 -04:00
Connor McLaughlin
4b2a81e7ff Move GetCoreThread()/GetMTGS() to AppCoreThread.cpp 2021-10-01 23:46:52 -04:00
Connor McLaughlin
6b2a865e57 Remove references to global CoreThread (use accessor) 2021-10-01 23:46:52 -04:00
Connor McLaughlin
324a3d09e6 PathUtils: Make wxDirName::{Rmdir,Mkdir} const 2021-10-01 23:46:52 -04:00
Connor McLaughlin
8b44e3d6f6 Config: Move some enums from AppConfig->Config 2021-10-01 23:46:52 -04:00
TellowKrinkle
0cc8d402d6 GHActions: Enable partial LTO 2021-10-01 23:04:42 -04:00
TellowKrinkle
83e9513623 CMake: Add option for partial LTO 2021-10-01 23:04:42 -04:00
TellowKrinkle
7ede817241 CMake: Move PCSX2 compile flags to separate target
Makes it easier to split compilation across multiple targets
2021-10-01 23:04:42 -04:00
kozarovv
a09a6db24d PGIF: Remove force fifo clear on GP1 (00-01)
Clearing GP0 fifo is handled internally in PS1DRV.

This commit additionally remove annoying log from devbuilds.
2021-10-01 22:47:17 -04:00
Connor McLaughlin
2241e635c6 gui: Use uintptr_t for storing numbers in pointers 2021-10-01 22:45:12 -04:00
Connor McLaughlin
dd3db3fc54 GS: Fix a couple of 64 bit warnings 2021-10-01 22:45:12 -04:00
Connor McLaughlin
928bf71d2a tools/bin2cpp: Fix 64-bit warnings 2021-10-01 22:45:12 -04:00
Connor McLaughlin
8e1470f637 iR5900: Use fastjmp instead of longjmp 2021-10-01 23:30:39 +01:00
Connor McLaughlin
91627b28b4 R5900: Get rid of ScopedBools 2021-10-01 23:30:39 +01:00
Connor McLaughlin
4594e02812 Common: Add Fastjmp 2021-10-01 23:30:39 +01:00
refractionpcsx2
2af8cde40d GIF: Correct GIF FIFO timing logic 2021-10-01 22:25:09 +01:00
Connor McLaughlin
97b94acd86 CDVD: Fix possible uncaught exception in CheckDiskTypeFS 2021-10-01 13:26:08 +01:00
lightningterror
e0caacfa6f GS-hw: Don't write clamped depth test value to depth buffer when ZMSK is enabled.
Fixes missing shadows in Kingdom Hearts: Chain of Memories.
2021-10-01 13:25:49 +02:00
Connor McLaughlin
6ff46a795f Common/StringHelpers: Fix printing of 64-bit pointers 2021-10-01 12:10:19 +01:00
Connor McLaughlin
9abaa1adf6 Common/Mutex: Fix compiling without wxUSE_GUI 2021-10-01 10:06:09 +01:00
jackun
42d730c80f USB: dshow: Initialize multi-threaded COM libs 2021-09-30 21:49:56 +02:00
Tokman5
c3c15a95c4 Use GetCheatsFolder() to check the path correctly when non-default folder is set. 2021-09-30 10:00:56 +01:00
lightningterror
384f87b89c locales: Fix '\v' escape sequence warnings. 2021-09-30 02:15:43 +02:00
lightningterror
a25dc9c38c ICore: Cleanup Wsign-compare warnings. 2021-09-30 01:07:59 +02:00
lightningterror
1497e894cf Debugged: Fix Wimplicit-fallthrough warning. 2021-09-30 01:07:59 +02:00
Mrlinkwii
e6728d9d55 Docs : add 'VUOverflowHack' to GameIndex documentation and corrections 2021-09-29 17:41:08 +01:00
refractionpcsx2
c0443e25f9 UI: Reorder the gamefixes panel 2021-09-29 17:33:13 +01:00
refractionpcsx2
7faa5db9e5 VU/GameDB: Move Mac/Status overflow flag checks to a gamefix
We can't really do this reliably on x86 without soft floats, but superman still needs it, but it breaks other games.
2021-09-29 17:33:13 +01:00
lightningterror
d53171e20f ci-mac: Bump macos version to 11. 2021-09-28 20:14:29 -05:00
Mrlinkwii
48eee328b9 UI: Hide Synchronous GS in release builds (#4838)
UI: make ' Synchronized MTGS'  UI settings exclusive to debug/devel
2021-09-28 12:11:12 +01:00
lightningterror
21c6bb6b59 SourceLog: Try to fix Wreorder warnings. 2021-09-26 20:42:12 +02:00
lightningterror
b0932825a9 Debugger: Try to fix Wreorder warnings. 2021-09-26 20:42:12 +02:00
TheLastRar
be9587d520 DEV9: Reuse variable in internal server 2021-09-26 17:56:42 +01:00
TheLastRar
635f411880 DEV9: Add DNS Logging 2021-09-26 17:56:42 +01:00
TheLastRar
24f97fd221 DEV9: Add internal DNS server 2021-09-26 17:56:42 +01:00
TheLastRar
ca3b857f22 DEV9: Rename config struct to avoid conflicting with USB Config struct 2021-09-26 17:56:42 +01:00
TheLastRar
bac0930591 DEV9: Correct namespace for DNS Enums 2021-09-26 17:56:42 +01:00
Ty Lamontagne
1f31edf65c Perf: Fix missing include 2021-09-26 17:26:57 +01:00
TheLastRar
39328c5c66 DEV9: Clang format tap-win32 2021-09-26 17:14:40 +01:00
TheLastRar
26ea5bcfed DEV9: Log when we fail to get adapter information for internal servers 2021-09-26 17:14:40 +01:00
TheLastRar
2d0ad7fb72 DEV9: Add missing flag to GetAdaptersAddresses call in pcap 2021-09-26 17:14:40 +01:00
Ty Lamontagne
cd22a1d00d GS-ogl: Fix regression that broke linux HW mode 2021-09-26 17:05:04 +01:00
Mrlinkwii
485e514409 SPU2:fix Wsign-compare warning
SPU2:fix Wsign-compare warning
2021-09-26 16:47:18 +01:00
Silent
71b2c17e2c SPU2: Refactor SndOut_XAudio2.cpp 2021-09-26 16:06:40 +01:00
Mrlinkwii
954688a38d Docs: improve documentation for Gameindex.md
Docs: improve  documentation  for Gameindex.md
2021-09-26 16:01:12 +01:00
lightningterror
def04c2524 pad-linux: Update to latest controller database. 2021-09-26 14:16:04 +02:00
lightningterror
963f071a70 GS-d3d11: Cleanup GSDevice11 a bit.
Use const if possible, declare and initialize HRESULT at the same time
when possible.
2021-09-26 14:09:43 +02:00
lightningterror
e45aa63a8b GS-ogl: Cleanup GSDeviceOGL a bit.
Use const, constexpr if possible,
Isolate m_debug_gl_file code in debug level only,
shorten some functions and properly initialize variables.
2021-09-26 14:09:43 +02:00
lightningterror
5627d91c17 GS: Cleanup GSDevice a bit, use const when possible. 2021-09-26 14:09:43 +02:00
Ty Lamontagne
aef731fdbe MicroVU: Fix branch type detection
amendment of 589aba
2021-09-26 05:13:28 +01:00
Mrlinkwii
5a9aeb165f GameDB:add 'VUKickstartHack' to SOCOM II entries 2021-09-26 03:20:43 +01:00
Silent
c1fea5bc16 GSTexture11::Save: Preserve the original pointers for a RAII Unmap
Fixes a regression from WIL migration, Unmap was called on
mutated pointers.
2021-09-25 14:32:10 -04:00
Silent
b5f9e14cd3 PortAudio: Uncomment Pa_Terminate
Thanks to the threading changes, proper teardown can now be allowed.
2021-09-25 14:32:10 -04:00
Silent
0ab31a2e9f GSCapture: Fix a premature GSSource release
CUnknown starts with a refcount of 0, so a "nonstandard"
assignment needs to be performed, even though it looks like
a COM reference leak at the first glance.
2021-09-25 14:32:10 -04:00
Silent
4c941f81ec Delegate systems teardown to EE Core when pausing
Fixes issues caused by Cleanup/Init on the Main Thread
instead of the EE Core thread. Now systems are only set up
and torn down on one thread.
2021-09-25 14:32:10 -04:00
Silent
e6e7a55d7e AppCoreThread: Clean up BaseSysExecEvent_ScopedCore usage
Seems like the ScopedCoreThreadPause parameter is legacy
and was only getting in the way of an upcoming change to that event.
2021-09-25 14:32:10 -04:00
refractionpcsx2
f7bcb92d9a VU: Only wait for VU sync after wait macro if VU0 still running
Makes Tekken Tag a good 2-4 FPS faster.
2021-09-25 01:51:19 +01:00
Mrlinkwii
2406ae6e07 GameDB: add EEclamping to the 'Virtual On' series
GameDB: add EEclamping to the 'Virtual On' series
2021-09-24 15:59:21 +01:00
TellowKrinkle
74b08589c4 CMake: Fix up some defines 2021-09-24 00:31:16 -05:00
TellowKrinkle
5435718167 Common: Clean up DarwinMisc 2021-09-23 22:45:37 -05:00
TellowKrinkle
87c56ccfc4 macOS: Fix async file reader error handling
Should fall back to blocking io if aio fails
2021-09-23 22:42:11 -05:00
kojin
1a29a6da1d gs: test for th for tex0 flush
previous code didn't test TH which was a problem for vampire nights because they upload a c16 texture to the same address but with a different height
2021-09-23 16:48:39 -04:00
refractionpcsx2
d73bf834b3 SIF: Kind of revert a SIF timing change made a while back to fix Parappa the Rapper 2 2021-09-23 04:44:34 +01:00
TellowKrinkle
ffbfd2c844 GUI: Check console color support before using it 2021-09-22 15:16:02 -05:00
TellowKrinkle
0f4f09c597 GUI: Enable console to stdio on macOS 2021-09-22 15:16:02 -05:00
refractionpcsx2
f5f44286bf EE: 64bit compare for 64bit mode, not 32bit 2021-09-22 19:57:40 +01:00
TellowKrinkle
65e57a8230 iR5900: Use 64-bit math on x86-64 2021-09-22 12:47:49 +01:00
TellowKrinkle
e74ba82093 iR5900: Move repeated code into functions 2021-09-22 12:47:49 +01:00
TellowKrinkle
b8eb18836f GUI: Remove ineffective alignment specifiers
WX 3.1.5 asserts on these, not fun
2021-09-21 22:04:56 -05:00
TellowKrinkle
66a1c26b77 GUI: Fix crash on asserts from outside of PCSX2 2021-09-21 22:04:56 -05:00
TellowKrinkle
f4010029f1 core: Fix up issues introduced in vtlb xmm change 2021-09-21 21:47:40 -05:00
Silent
cff9f83a45 PortAudio: Remove DirectSound backend 2021-09-21 23:14:39 +01:00
TellowKrinkle
0d7f141279 EERec: Don't load in skip case of SW[LR] 2021-09-21 22:57:41 +01:00
TellowKrinkle
23578e963f EERec: Don't load in skip case of SD[LR] 2021-09-21 22:57:41 +01:00
TellowKrinkle
e9518f78c7 vtlb: Switch read64 and read128 handlers to return in sse regs 2021-09-21 22:57:41 +01:00
TellowKrinkle
7563f54e83 EERec: Clean up [LS]D[LR] a bit 2021-09-21 22:57:41 +01:00
RedDevilus
b7f1c65f7e GameDB: Add missing chinese entries v2
Seems there were still some missing serials, it's pretty hard to track if there are dozen more but it did had a console ban there after short-lived debut.
2021-09-21 22:50:00 +01:00
refractionpcsx2
e127ca0cd1 COP2: Set correct number of XMM's per COP2 OP + Fix some hidden bugs
Corrects XMM count for COP2 ops (some might be wrong, keep an eye out in the logs)
Fixes a hidden microVU bug with a SUB shortcut + some reg allocation bugs in QMFC/QMTC hidden by flushes.
2021-09-21 22:46:33 +01:00
refractionpcsx2
752957604e COP2: Flush only needed register slots 2021-09-21 22:46:33 +01:00
refractionpcsx2
fba9c6c04d COP2: never flush EE regs but back them up conditionally 2021-09-21 22:46:33 +01:00
Mrlinkwii
05b8e80ac8 GameDB: add VU clamping to 'Battle Engine Aquila'
GameDB: add VU clamping to 'Battle Engine Aquila'
2021-09-21 18:32:21 +01:00
Mrlinkwii
5f9653d9ef Gamedb: add EE clamping to 'Max Payne 2 - The Fall of Max Payne'
Gamedb: add EE clamping to 'Max Payne 2 - The Fall of Max Payne'
2021-09-21 18:31:20 +01:00
Joey
d67caab621 Docs: correct CONTRIBUTING.md
fix spelling mistake in CONTRIBUTING.md
2021-09-21 17:59:54 +01:00
Mrlinkwii
5e9fe31f4e GameDB:fix serial for 'Panzer Elite Action - Fields of Glory'
GameDB:fix serial for 'Panzer Elite Action - Fields of Glory'
2021-09-20 21:28:10 +01:00
RedDevilus
55173bf27a GS-GUI: Add tooltip for Dithering
The PS2 and PS1 supported dithering where-as PCSX2 didn't support hardware dithering till 1.7 dev builds. Some games have no dithering, others have dithering in the shadows or others like baroque just smear it full with this affect so it's an extreme example: https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=ab92a0e0-f91e-11ea-bf88-a15b6c7adf9a
2021-09-19 21:04:53 +01:00
Ty Lamontagne
252eaa2d62 UI: Select a bios by default 2021-09-19 20:47:28 +01:00
Mrlinkwii
cfdacb900e GameDB: add VU clamping to 'Enthusia Professional Racing'
GameDB: add VU clamping to 'Enthusia Professional Racing'
2021-09-19 18:53:13 +01:00
refractionpcsx2
8fe0061751 VU: Sync tighter when VU Kickstart is disabled + Improved M-Bit Sync 2021-09-19 18:49:24 +01:00
refractionpcsx2
ee9672858c VU Int: Remove rogue value from debug logging 2021-09-19 16:30:08 +01:00
Connor McLaughlin
1ee0e23617 GS: Downgrade include AppCoreThread.h -> AppConfig.h 2021-09-17 22:03:00 -04:00
Connor McLaughlin
1dfd2e2ec1 AppCoreThread: Remove unused DisassemblyDialog.h include 2021-09-17 22:03:00 -04:00
Connor McLaughlin
65aa811344 DebugTools: Add missing Config.h include 2021-09-17 22:03:00 -04:00
Connor McLaughlin
e2992cbc02 Remove gui/ directory from target-wide includes 2021-09-17 22:03:00 -04:00
refractionpcsx2
a546cb8f7f microVU: Use 16 xmm's in x64 2021-09-17 14:37:11 +01:00
Mrlinkwii
9c24e48e68 Docs: update GameIndex .md and .pdf
Docs: update  GameIndex .md and .pdf
2021-09-17 14:29:49 +01:00
refractionpcsx2
862d606514 EE Rec: Added LDR/LDL
Also fixed slight optimisation bug in SDL
2021-09-17 13:06:47 +01:00
refractionpcsx2
5f58c325ca EE JIT: Implement SDR/SDL instructions 2021-09-17 13:06:47 +01:00
refractionpcsx2
c1d21c5513 GameDB: Added some required XGKick gamefixes 2021-09-17 13:04:26 +01:00
refractionpcsx2
d9c4ace613 VU: Put XGKick 1 cycle behind to fix sync issues with Jaws Unleashed
Also added Jaws unleashed xgkick gamefixes to the DB
2021-09-17 13:04:26 +01:00
refractionpcsx2
59dfe52b52 microVU: Replace XGKick hack with synced XGKick option
Fixes Tennis Court Smash and Love Smash games which previously couldn't be fixed.
WRC no longer requires a patch, just the xgkickhack option.

Note: it's not a hack anymore, it just has to be called that :P
2021-09-17 13:04:26 +01:00
refractionpcsx2
d3f0718001 SPU2: Disallow KeyOn within 2T of last KeyOn
Fixes Legend of Spyro New Beginning hang
2021-09-17 13:04:15 +01:00
RedDevilus
f460cac3ba GameDB: Sports (RTL)
Mostly missing RTL sports clamp modes. People knew the fixes on the forum but don't make PR or didn't tell anyone. Testers hoarding bugs :P
2021-09-17 10:24:13 +01:00
RedDevilus
4586a645fc GameDB: Katamari Games
The automatic gamefixes were incorrect as it would SPS. Fix the SPS with nearest VuRound and then Extra + Preserve sign for VuClamp. God will be pleased.
2021-09-17 10:20:15 +01:00
Mrlinkwii
beb8ec2668 GameDB :add 'VUKickstartHack' to the Full Spectrum games
GameDB :add 'VUKickstartHack' to the Full Spectrum games
2021-09-17 10:19:57 +01:00
Mrlinkwii
e68c977ecf GameDB: add 'VUKickstartHack; to path of neo
GameDB: add 'VUKickstartHack' of path of neo
2021-09-17 01:08:43 +01:00
Silent
45de8f77cd Make CheckIsUserOnHighPerfPowerPlan use WIL 2021-09-16 17:31:45 -04:00
Silent
ec9c6521fd Migrated tap-win32 2021-09-16 17:31:45 -04:00
Silent
bdb4ff0d83 Migrated SndOut_XAudio2 2021-09-16 17:31:45 -04:00
Silent
f343614640 Target Windows 8 via project settings
It's needed for the next commit, as thanks to wxWidgets
anything using the precompiled header would default to 0x0600 (Vista)
instead of 0x0602 (Win8).

Now-redundant WINNT definitions resulting in macro redefinition
warnings have been removed.
2021-09-16 17:31:45 -04:00
Silent
8841df96c0 Migrated GSDevice11, GSTexture11, GSSettingsDlg, GSUtil 2021-09-16 17:31:45 -04:00
Silent
8c6cad559e Migrated GSCapture and GSCaptureDlg 2021-09-16 17:31:45 -04:00
Silent
ed62ae124b Add Windows Implementation Libraries 2021-09-16 17:31:45 -04:00
kojin
0a7b725340 don't track local vs cmake settings 2021-09-16 14:56:10 -04:00
refractionpcsx2
ac87484acc GameDB: Patch rounding problem in Playmobil Hype The Time Quest 2021-09-14 17:45:29 +01:00
RedDevilus
8235d6cb72 GameDB: Punisher
Changes to recent VU timings have upset the punisher, this will quench his issues with VUKickstart.
2021-09-14 09:23:59 +01:00
kojin
77c961ba40 vs: fix an oversight
when I merged the utils and emitter project in #4707 I neglected to update the SVNRootDir macro so it was causing common libraries to not be written to the correct directory.

don't use this macro anymore so just remove it make output relative to solution dir instead
2021-09-13 20:51:58 -04:00
refractionpcsx2
154ed57633 VU Int: Remove need to pass VU struct to XGKick function.
It's always VU1, so we don't need to tell it.
2021-09-13 20:55:53 +01:00
refractionpcsx2
b0d1d4ff44 VU Int: Clang formatting 2021-09-12 16:12:31 +01:00
refractionpcsx2
52943d8399 VU Int: Link in clamping settings from UI
The only settings are either None or every other option is On (basically Extra + Preserve Sign)
2021-09-12 16:12:31 +01:00
refractionpcsx2
980c954bf4 GIF: Fix GIF FIFO behaviour when the FIFO drains 2021-09-12 16:12:31 +01:00
refractionpcsx2
73bb8e4fdf VU Int: Make XGKick flush on VU program end
Some games like to write directly to VU memory once the program has finished and I have no easy way to update the kick without being super slow. so for now, we'll just flush it.
2021-09-12 16:12:31 +01:00
refractionpcsx2
3f56414824 VIF/VU: Cleaned up VIF Stall behaviour, sync XGKick with Unpacks.
Also cleaned up a bunch of bad/old code
Fixed branches on E-Bit and M-Bit (VU0)
Fixed up VU Int behaviour with VU Instant on/off

Savestate bump
2021-09-12 16:12:31 +01:00
refractionpcsx2
7e29a7e5a4 VU Int: Put XGKicks through the Gif Unit directly, don't buffer
Solves problems with PATH3 masking games
2021-09-12 16:12:31 +01:00
refractionpcsx2
7966c27246 GIF: Handle PATH2 ending when VIF not running 2021-09-12 16:12:31 +01:00
refractionpcsx2
c2af477758 VU Int: Combine XGKick handling in to one function
Also fixed a situation where PATH3 could transfer a packet to the GIF and finish its DMA while PATH1 was busy, so PATH3 never finished transferring properly as it relies on the DMA to handle the pretend timing of PATH3.
2021-09-12 16:12:31 +01:00
refractionpcsx2
b4eaf3722f VU: Adjust timings of VU calls 2021-09-12 16:12:31 +01:00
refractionpcsx2
ddf305fce5 VU Int: Correct EFU stalls + explanation 2021-09-12 16:12:31 +01:00
refractionpcsx2
857ab07f1c VUInt: Fix macro flags and implement EFU ops correctly.
Also now using the microVU style Tri-Ace hack as the interpreters seem to now need it
2021-09-12 16:12:31 +01:00
refractionpcsx2
1f50dd7496 VU Int: Some formatting/logging cleanup, optimise some variable placement 2021-09-12 16:12:31 +01:00
refractionpcsx2
83143bd42e VU Int: Rewrote most of the FMAC/IALU handling, now with 2x performance 2021-09-12 16:12:31 +01:00
refractionpcsx2
e19b0bce57 VU: Improve VU0/Mbit sync with VU Interpreter. Improve Kickstart. 2021-09-12 16:12:31 +01:00
refractionpcsx2
2e2d6ba35d VU Int: IALU stalls, improve VI backup emulation 2021-09-12 16:12:31 +01:00
refractionpcsx2
aad4f3e753 VU: Tag which VU is being logged 2021-09-12 16:12:31 +01:00
refractionpcsx2
d7e6ef4ce6 VU Int: Properly limit ints when converting from float 2021-09-12 16:12:31 +01:00
refractionpcsx2
77eb380305 VU Int: Stop old versions of flags being written 2021-09-12 16:12:31 +01:00
refractionpcsx2
0326659b14 VU Int: Write back all pending pipes (will likely be ripped out later) 2021-09-12 16:12:31 +01:00
refractionpcsx2
3bad60ce84 VU Int: Fix XGKick wrapping 2021-09-12 16:12:31 +01:00
refractionpcsx2
067faccdd2 VU: Initial work to overhaul VU interpreter
Still a bit janky in some games and subject to changes
2021-09-12 16:12:31 +01:00
Ziemas
253571fd35 Delete unused vol_t type 2021-09-12 00:17:37 -04:00
Ziemas
a58fde68e6 C++-ify freezeData definition 2021-09-12 00:17:37 -04:00
Ziemas
8fe7a173cd C++-ify Pcsx2Types 2021-09-12 00:17:37 -04:00
Ziemas
fc9beafc32 Change s8 typedef to int8_t 2021-09-12 00:17:37 -04:00
Ty Lamontagne
2175814acf Debugger: CtrlRegisterList: Fix warning and screw up 2021-09-12 00:17:08 -04:00
Kojin
19072b6595 common: move some gui stuff into the main project (#4751)
* common: move ThreadingDialogs and wxAppWithHelpers to main project
* common: move CheckedStaticBox to the main project
* common: move pxCheckBox to the main project
* common: move pxRadioPanel to the main project
* common: move pxEvents.h to main project
2021-09-11 10:59:14 -04:00
kojin
43e3055d11 config: normalize limiter values before saving 2021-09-11 10:48:24 -04:00
Ty Lamontagne
ab64023e56 MicroVU: Cleanup stale comments and code 2021-09-11 01:33:02 +01:00
Connor McLaughlin
a8a50641f6 R5900: Fix LWL not sign extending in interpreter
This was zero extending because of the implicit promotion from
signed->unsigned, causing incorrect high bits in the GPR.

Funnily enough, this was noted in the source, but implemented
incorrectly.
2021-09-09 09:28:03 +01:00
refractionpcsx2
9722bcd3c3 CDVD: Revert seek status.
WRC didn't like "Seek" being on the seek... We're going to need to run tests for this.
2021-09-09 02:55:16 +01:00
Ziemas
9832a935d7 Common: Fix IniInterface warnings 2021-09-07 09:33:09 -04:00
Ty Lamontagne
b12f0d865f Debugger: Remove 64/32 bit views. Revamped VU0F titles 2021-09-06 22:24:46 +01:00
Ty Lamontagne
77e630b78a Debugger: Don't resize register view anymore
Possible workaround for broken wx or gtk or wm implementations where setting an initial size of the current size breaks the register view.
2021-09-06 22:24:46 +01:00
kojin
30e5731f14 common: fix locale oversight in IniInterface 2021-09-06 16:53:32 -04:00
Ty Lamontagne
18311d6a4c MicroVU: Purge Min/Max speedhack 2021-09-06 21:36:10 +01:00
Mrlinkwii
17fdc6a0f3 GameDB: Dropship disable InstantVU
GameDB: Dropship  disable InstantVU
2021-09-06 20:55:39 +01:00
refractionpcsx2
33ac2e7d15 CDVD: Fix up Pause and some Status behaviour 2021-09-06 20:54:16 +01:00
Ty Lamontagne
589aba3713 [MicroVU] Revert "bla"
This reverts commit 6800753f09.
2021-09-06 19:53:08 +01:00
HazNut
2e6174bd2c readme: Replace dead BIOS extraction link 2021-09-06 19:43:14 +01:00
Kojin
13dfceff48 Common: reformat (#4720)
* common: format AlignedMalloc.cpp

* common: format AppTrait.h

* common: format Assertions.h

* common: format CheckedStaticBox

* common: format Console

* common: format Dependencies.h

* common: format EmbeddedImage

* common: format EventSource

* common: format Exceptions

* common: format FastFormatString.cpp

* common: format General.h

* common: format InitInterface

* common: format MathUtils.h

* common: format MemsetFast/MemcpyFast

* common: format Mutex.cpp

* common: format PageFaultSource.h

* common: format Path.h

* common: format PathUtils.cpp

* common: format Pcsx2Types.h

* common: format Perf

* common: format PersistentThread.h

* common: format RwMutex

* common: format SafeArray

* common: format ScopedAlloc.h

* common: format ScopedPtrMT.h

* common: format Semaphore.cpp

* common: format StringHelpers

* common: format ThreadTools.cpp

* common: format Threading.h

* common: format ThreadingDialogs

* common: format ThreadingInternal.h

* common: format TraceLog.h

* common: format VirtualMemory.cpp

* common: format pxCheckBox

* common: format pxEvents.h

* common: format pxForwardDefs.h

* common: format pxRadioPanel

* common: format pxStaticText

* common: format pxStreams

* common: format pxTranslate.cpp

* common: format pxWindowTextWriter.cpp

* common: format wxAppWithHelpers

* common: format wxBaseTools.h

* common: format wxGuiTools

* common: format wxHelpers.cpp

* common: format Darwin directory

* common: format Linux directory

* common: format Windows directory

* common: format LnxCpuDetect.cpp

* common: format WinCpuDetect.cpp

* common: format bmi.cpp

* common: format cpudetect.cpp

* common: format cpu_detect_internal.h

* common: format fpu.cpp

* common: format groups.cpp

* common: format instructions.h

* common: format internal.h

* common: format jmp.cpp

* common: format legacy.cpp

* common: format legacy_instructions.h

* common: format legacy_internal.h

* common: format movs.cpp

* common: format simd.cpp

* common: format tools.h

* common: format x86emitter.cpp

* common: format x86types.h

* common: format bmi.h

* common: format dwshift.h

* common: format group1.h group2.h group3.h

* common: format incdec.h

* common: format jmpcall.h

* common: format movs.h

* common: format simd_arithmetic.h

* common: format simd_comparisons.h

* common: format simd_helpers.h

* common: format simd_moremovs.h

* common: format simd_shufflepack.h

* common: format simd_templated_helpers.h

* common: format test.h
2021-09-06 14:28:26 -04:00
Mrlinkwii
f9bf87f50d GameDB: add positive EE&VU rounding to Simple 2000 Series Vol.48
GameDB: add positive EE&VU rounding to Simple 2000 Series Vol.48
2021-09-06 17:56:09 +01:00
refractionpcsx2
0226c443e7 GameDB: Update patches for Musashi Samurai Legend/Musashiden II
These don't cause TLB misses
2021-09-05 21:18:29 +01:00
Ty Lamontagne
f91286dbf3 MicroVU: Skip VU1 instructions on VU0 2021-09-05 21:18:19 +01:00
lightningterror
aec1249481 pad-linux: Update to latest controller database. 2021-09-05 21:48:56 +02:00
refractionpcsx2
b919de9dd1 VU: Adjust sync timing for VU Kickstart
Fixes Crash Twinsanity
2021-09-05 18:14:53 +01:00
lightningterror
c2dad218e5 microVU: Combine mVU0cacheReserve and mVU1cacheReserve. 2021-09-05 18:06:46 +02:00
refractionpcsx2
ddb300027c VU: Improve sync during interlock and Scratchpad VU mem writes
Also added some setting of next block cycles to 0 in cases where we don't know ahead of compile time or the VU is ending.
2021-09-05 16:37:43 +01:00
refractionpcsx2
420b675746 GameDB: Revert Musashi - Samurai Legend (PAL-M4) patch until it's improved
Patch causes TLB misses and can make the game non-functional.  Will replace it again once the TLB misses have been corrected.
2021-09-05 06:28:17 +01:00
TellowKrinkle
1fe352d8a6 CMake: Add proper dependencies for bin2cpp invocations 2021-09-04 21:06:20 -05:00
RedDevilus
de7a92944f Add 7xMultiplier
7x was bullied for far too long (2520P / 4.5K resolution).
2021-09-04 18:31:28 -04:00
TellowKrinkle
dae8e0d233 Core: Remove unused mmx stuff 2021-09-04 18:28:24 -04:00
TellowKrinkle
5260d63565 Core: Format recompilers 2021-09-04 18:28:24 -04:00
kojin
7aa85960ba common: add vs filters 2021-09-04 18:28:07 -04:00
kojin
dcbf62a294 common: add some stuff to the pch 2021-09-04 18:28:07 -04:00
kojin
42f2210f7f common: remove unused pch 2021-09-04 18:28:07 -04:00
kojin
0717bf788a common: fix cmake on linux/macos 2021-09-04 18:28:07 -04:00
kojin
831c8b9189 common: fix cmake on win32 2021-09-04 18:28:07 -04:00
kojin
8fdaaa2eab common: reorganize 2021-09-04 18:28:07 -04:00
RedDevilus
ce8a30bf8f Gamedb:Kuon
Fixes game pieces in the mini-game
2021-09-04 23:27:33 +01:00
Mrlinkwii
0a0430051c GS : update OGL advanced settings tool tip
GS : update OGL advanced settings tool tip
2021-09-04 03:31:26 +02:00
dependabot[bot]
8ba9cc102a build(deps): bump mikehardy/buildcache-action from 1.2.1 to 1.2.2
Bumps [mikehardy/buildcache-action](https://github.com/mikehardy/buildcache-action) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/mikehardy/buildcache-action/releases)
- [Changelog](https://github.com/mikehardy/buildcache-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mikehardy/buildcache-action/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: mikehardy/buildcache-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-03 16:48:16 -05:00
refractionpcsx2
bb5bfda5c6 App: Link in version number information to exe version information 2021-09-02 10:00:59 +01:00
refractionpcsx2
b61f6d517b App: Add Windows exe version information 2021-09-02 10:00:59 +01:00
kojin
38f1a9a762 util: purge fixed-point library 2021-09-01 08:32:14 -04:00
refractionpcsx2
bda80fc748 Clang Format VU files 2021-08-31 21:29:31 +01:00
refractionpcsx2
553d8ccbb4 Savestate version bump 2021-08-31 21:29:31 +01:00
refractionpcsx2
d8dfe0a1e9 VU: optimise entering VU JITs
Keeps note on how many cycles it needs for the next block to save exiting the EE JIT and entering the microVU JIT for no reason
2021-08-31 21:29:31 +01:00
refractionpcsx2
ef9c8ce877 SPU2: Don't initialise sound buffer if it's not open 2021-08-31 20:03:40 +01:00
refractionpcsx2
4dc0db6ee6 SPU2: Adjust DMA timings for IRQ's and small packets
This also gets rid of a little kinda hack thing that was in there.
2021-08-31 20:03:25 +01:00
TellowKrinkle
c93692a779 GHActions:Linux: Make ccache config global
New testing step was missing the config
2021-08-30 13:42:28 +02:00
lightningterror
756e3b4a12 pad-linux: Update to latest controller database. 2021-08-30 12:45:49 +02:00
kojin
681531d128 vs: enable mp on debug/devel builds 2021-08-29 19:51:24 -04:00
kojin
6bff64f834 vs: fix some project config associations 2021-08-29 19:51:24 -04:00
kojin
4dc26ab234 vs: remove optimizations for debug config of a few projects 2021-08-29 19:51:24 -04:00
kojin
c6fc357c43 vs: fix a few compiler warnings 2021-08-29 19:51:24 -04:00
kojin
64cc1b106c linux: remove gl optimizations from wrapper script 2021-08-29 01:17:41 -04:00
tellowkrinkle
b61619cf40 CMake: Fix builds outside of CI 2021-08-27 23:27:59 -05:00
kenshen112
14cfdafd05 Disable gl threaded optimization 2021-08-28 00:14:23 -04:00
TellowKrinkle
010893092e CMake: Match recently removed files from vcxproj 2021-08-28 04:27:16 +01:00
Christian Kenny
b5fd684160 PAD: Clean up includes, remove old code 2021-08-28 03:27:29 +01:00
Christian Kenny
a9c2409e0f PAD: Remove Force Hide (for mouse). Remove DirectInput options for mouse and keyboard 2021-08-28 03:27:29 +01:00
TellowKrinkle
6d5fedcf97 tmp: Add manifest to CMakeLists on Windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
2881149f0b CMake: Add CI flag for CI builds 2021-08-28 03:25:33 +01:00
TellowKrinkle
142d91dfb5 GHActions: Run tests on Windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
4d8b9aee2a CMake: Support windows for tests 2021-08-28 03:25:33 +01:00
TellowKrinkle
04df2824cf GHActions: Clean up old unused code 2021-08-28 03:25:33 +01:00
TellowKrinkle
059d856f45 CMake: Match git info to vs project 2021-08-28 03:25:33 +01:00
TellowKrinkle
2ce3a004ba GHActions: Add buildcache on windows 2021-08-28 03:25:33 +01:00
TellowKrinkle
e9e58fd791 GHActions: Use ninja for windows cmake builds 2021-08-28 03:25:33 +01:00
TellowKrinkle
4f22bc8162 GHActions: Add windows cmake build 2021-08-28 03:25:33 +01:00
TellowKrinkle
1159f6d4f8 Remove unused file 2021-08-28 03:25:33 +01:00
TellowKrinkle
315c87bd4f cmake: Windows build 2021-08-28 03:25:33 +01:00
TellowKrinkle
e1bb96cc94 cmake: Windows dependency builds 2021-08-28 03:25:33 +01:00
kojin
205c8a05c3 gs: purge clut reload before draw hack 2021-08-27 22:01:36 -04:00
refractionpcsx2
c288be3d4c COP0 PCCR: Don't update counters if counting is disabled
Gets rid of the spooky apparition in Grand Theft Auto 3 if you watch the intro.

This is kind of just enabling the old code which was kind of correct, but the old code didn't ignore the time passed, so this also updates the last cycles.
2021-08-27 19:42:28 +01:00
TheLastRar
feaf5ba5f2 DEV9: Reduce the amount of log spam from HDD access 2021-08-26 00:21:38 +01:00
TheLastRar
f7838750c9 DEV9: Reduce the amount of log spam form network traffic in Debug mode 2021-08-26 00:21:38 +01:00
TheLastRar
6051312dfb DEV9: Dev logging fixes 2021-08-26 00:21:38 +01:00
Mrlinkwii
bafb0db6d1 GameDB: Add various fixes
GameDB:  Add various fixes
2021-08-25 18:29:54 +01:00
refractionpcsx2
31dcacb941 GameDB: Added VU Kickstart for remaining Dororo (Blood Will Tell) entries 2021-08-24 23:38:10 +01:00
Ty Lamontagne
74105d6983 AppMain: Fix no$ symbol loading for elfs
Previously, we would look for (isoname.sym) even if we were loading an ELF. Just another part of the mess that CDVD is.
2021-08-24 23:15:34 +02:00
Mrlinkwii
e4e306baca SPU2: remove waveout windows
SPU2: remove waveout windows
2021-08-24 23:13:26 +02:00
Ziemas
5f3c1816f9 Cmake: Link vtune in utilities 2021-08-24 23:10:06 +02:00
Ziemas
90a198e3f1 Cmake: Update vtune paths 2021-08-24 23:10:06 +02:00
lightningterror
2dbfe9f743 gs: Cleanup remaining stuff from sse2/3 purge. 2021-08-24 12:58:18 +02:00
kojin
a68d834f8f gs: remove a bunch of unofficial crcs
stop encouraging people
2021-08-24 05:39:14 -04:00
arcum42@gmail.com
c3b45f3237 Remove MakeUnique.h, which is unused. 2021-08-24 04:33:46 -04:00
refractionpcsx2
61dca40679 GameDB: Added VU Kickstart for Dororo (Blood Will Tell) 2021-08-22 08:20:29 +01:00
Mrlinkwii
94c6814be8 GameDB: add'EE timing hack' to Spartan: Total Warrior
GameDB: add'EE timing hack' to Spartan: Total Warrior
2021-08-21 21:44:53 +01:00
RedDevilus
436e252d0e GameDB: Ratchet and Clank
Add EETiming to Ratchet and clank to avoid TLB misses.
2021-08-21 20:18:30 +01:00
RedDevilus
4032b91e72 GameDB:Powerpuff Girls
Fixes hangs in certain locations like building under construction.
2021-08-21 20:15:08 +01:00
Ty Lamontagne
509e24f966 IOPBios: Fix OOB read when IRQ line is invalid.
Fixes a PS2AutoTest where RegisterIntrHandler(-1,... ) crashes PCSX2.
2021-08-21 20:08:36 +01:00
lightningterror
d0f3c620d2 GSBlock: Cleanup warnings. 2021-08-20 13:35:01 +02:00
lightningterror
86263d05bc pgif: Cleanup warnings. 2021-08-20 13:35:01 +02:00
TellowKrinkle
cee077d1d3 cmake: Fix missing librt include 2021-08-19 20:46:37 -05:00
RedDevilus
ee0b2b1249 GS-GUI: Enable Software Edge-Aliasing by default
This will enable the checkbox for the software renderer, it has far more pros than cons (negligble performance hit)
2021-08-19 19:22:30 -04:00
refractionpcsx2
b167bd6807 GameDB: Added other versions of midnight club.
Improved the patches also as apparently was causing issues with the net config
2021-08-19 14:29:08 +01:00
refractionpcsx2
90e8923c31 GameDB: Add patch for MTVU performance in Midnight Club 3 Dub Remix 2021-08-19 11:31:19 +01:00
TellowKrinkle
7af74deaac Pad: Fix crash on shutdown in macOS 2021-08-18 17:25:37 -05:00
TellowKrinkle
d96b1ef525 Pad: Formatting 2021-08-18 17:25:37 -05:00
kojin
0bd65614d0 wx: make position validation multi-monitor aware 2021-08-18 13:40:45 -04:00
Mrlinkwii
0e3401da2c Clang: LnxMisc.cpp
Clang: LnxMisc.cpp
2021-08-18 18:24:47 +02:00
Mrlinkwii
692adbd04a Utilities : Return distro info instead of kernel version
Utilities: Return  distro info instead of kernel version
Co-Authored-By: Ty <29295048+F0bes@users.noreply.github.com>
2021-08-18 18:24:47 +02:00
lightningterror
7b587dcc9c pad-linux: Update to latest controller database. 2021-08-18 15:20:53 +02:00
Ty Lamontagne
17c66cc2d3 Misc: Fix lastpath updating when using --elf cmdline 2021-08-18 14:26:17 +02:00
Connor McLaughlin
d7de81aaaa iR5900: Make const register write clearer
This was apparently sign extending anyway, but using SD makes it clear
that the 32-bit assignment will sign extend to 64-bit.
2021-08-17 14:43:24 -04:00
Connor McLaughlin
a216f28c9d iR5900: Use a signed multiply for MULT1 const prop 2021-08-17 14:43:24 -04:00
refractionpcsx2
1180de51fd GameDB: Add clamping to True Crime: New York, fixing SPS 2021-08-16 22:32:36 +01:00
Connor McLaughlin
6844849305 microVU: Don't emit add reg, 0 in a few instructions 2021-08-15 08:02:34 +01:00
TellowKrinkle
af07d803fd cmake: Enable features by checking targets
Helpful for if targets are added as submodules in the future (hint: Windows builds)
2021-08-15 02:13:36 -04:00
TellowKrinkle
284ca6ae68 cmake: Add support for using c++ bin2cpp instead of perl 2021-08-15 02:13:36 -04:00
TellowKrinkle
122de7a7d7 cmake: Remove old add_pcsx2_* macros
No longer used
2021-08-15 02:13:36 -04:00
TellowKrinkle
e17f83c2cf bin2cpp: Remove fcloseall usage
fcloseall isn't available on macOS, and everything gets closed when the program exits anyways
2021-08-15 02:13:36 -04:00
TellowKrinkle
7ed0f38623 CMake: Define targets early instead of gathering variables 2021-08-15 02:13:36 -04:00
Tyler Wilding
ae2ae8b982 github: Switch to new issue forms (#4657)
* github: New issue forms

* remove default numbered list
2021-08-14 01:08:18 -04:00
RedDevilus
02a60acbcc 3rdparty: Update GHC 1.5.4 to 1.5.8
Make ghc act more like std::fs + consistency with C++17 and other fixes.
2021-08-13 18:53:11 -04:00
RedDevilus
69ba5b447f Update SysConfigDialog.cpp 2021-08-13 23:10:24 +02:00
RedDevilus
11c346ab02 PCSX2-GUI: Undo formatting 2021-08-13 23:10:24 +02:00
RedDevilus
88c2e9ea48 PCSX2-GUI: Remove hackfix
Future change to be made to fix the height of General Settings.
2021-08-13 23:10:24 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
52cefc5543 ftw: remove inheritance, make sure warning popup shows
Turns out we had an unneeded layer of inheritance in the name of
BasePathsPanel, whose only job was to, wait for it, be inherited.
It is an empty class inheriting wxPanel instead of the needed
BaseApplicationConfigPanel, making it all the more unecessary.

Someone _really_ loved their OOP.

Also added back the OnShown trigger for the BIOS page to ensure BIOS
confirmity.
2021-08-13 23:10:24 +02:00
RedDevilus
3e1b76c0a9 PCSX2-GUI: Rehaul BIOS / Folder Selector (#4620)
Since emulation settings has been renamed general settings, we can put BIOS and Folder in the same location where people have an overview and can just use tab key on icons or mouse. Less confusion and also fixes the speedhacks section *for the zillionth time*.
2021-08-13 23:10:24 +02:00
Silent
f45c618fc2 KeyboardQueue: Remove a Windows-specific critsec 2021-08-13 17:00:56 -04:00
refractionpcsx2
9892624242 Counters: Fix scanline count for double strike modes. 2021-08-13 16:21:13 +01:00
GiantEnemyCrab
4dee68faaf Add StartupWMClass to desktop file 2021-08-12 12:43:40 +02:00
Mrlinkwii
04aa251dee Docs: correct GameIndex.md
Update GameDB docs
2021-08-12 11:40:32 +01:00
Mrlinkwii
be6db93698 GameDB: add 'EETimingHack' for Marvel Super Hero Squad and positive EE and VU rounding forPac-Man Fever
GameDB: add 'EETimingHack' for Marvel Super Hero Squad and positive EE and VU rounding  forPac-Man Fever
2021-08-10 23:21:43 +01:00
refractionpcsx2
c61473d060 SPU2: Re-enable log file writing in dev builds 2021-08-10 18:08:13 +01:00
kozarovv
47bdc58c1a PGIF: Code refactoring/cleanup.
Improve few games like RE2, THPS2, Castlevania SOTN, FF8.
2021-08-08 19:01:35 +01:00
lightningterror
70a862fced pad-linux: Update to latest controller database. 2021-08-08 19:09:32 +02:00
RedDevilus
c6a39006d5 3rdparty: update GL headers
Update the headers to a more recent version while it brings no improvements at this moment, it can in the future.

Update glcorearb.h from 7 February 2019
Update wglext.h from 33248 (10-24-2016) to 20200813 (13 August 2020)
Update glext.h from 33248 (10-24-2016) to 20210420 ( 20 April 2021)
Creation of khrplatform.h
2021-08-07 20:58:19 -04:00
refractionpcsx2
0c5df806bf Counters: Correct H-Blank for 1080i mode 2021-08-07 14:02:12 +01:00
kozarovv
94910216f7 CDVD: Implement SCMD 0x27
Fix PS1 mode for SCPH-50009, and DTL-H50009.
2021-08-07 13:11:04 +01:00
Ty Lamontagne
f1b4bee88f X86Emitter: Use __rdtsc define on non-msvc compilers 2021-08-07 00:57:22 -04:00
Ty Lamontagne
87ee413141 Debugger: codacy warnings 2021-08-07 05:54:13 +01:00
Ty Lamontagne
823618aea8 Debugger: Properly implement VU0F titles 2021-08-07 05:54:13 +01:00
Ty Lamontagne
bb3fb35c7e clang-format: DebugInterface.cpp CtrlRegisterList.cpp CtrlRegisterList.h 2021-08-07 05:54:13 +01:00
Ty Lamontagne
8f171c70f5 Debugger: Add option to display VU0F registers as floats 2021-08-07 05:54:13 +01:00
Christian Kenny
f11334cb3b SPU2: Missed Linux WX files 2021-08-07 05:51:58 +01:00
Christian Kenny
df1461bba6 SPU2: Final GUI adjustments. It's not pretty but it'll do until the dialog gets rewritten. 2021-08-07 05:51:58 +01:00
Christian Kenny
97749e6005 SPU2: Remove awful dealias filter that made games sound like crap. 2021-08-07 05:51:58 +01:00
Christian Kenny
11ed747741 SPU2: Remove user option to disable reverb. 2021-08-07 05:51:58 +01:00
lightningterror
a982852e30 pad-linux: Update to latest controller database. 2021-08-06 07:07:31 +02:00
jackun
a811e653a7 USB: Fix HID mouse packet size and tablet poll interval 2021-08-06 03:33:34 +03:00
TellowKrinkle
0d4549a66e cmake: Mark .inl files with the right type in Xcode 2021-08-05 18:20:58 -05:00
TellowKrinkle
f3dbf24864 vcxproj: Add filters for some missing files 2021-08-05 18:20:58 -05:00
TellowKrinkle
525027f993 vcxproj: Fix filters for case sensitive matching 2021-08-05 18:20:58 -05:00
TellowKrinkle
e34116e340 cmake: Parse vcxproj filters for cmake generators 2021-08-05 18:20:58 -05:00
Christian Kenny
55d0d40697 SPU2: Restore functionality to switch modules on the fly without being tied to GS window status. 2021-08-05 23:51:11 +01:00
Christian Kenny
9d9e8a9217 SPU2: Simplify reset mode function for sample rate. 2021-08-05 23:51:11 +01:00
kozarovv
167a4b4d12 CDVD: Fix CdlReadS for PS1 games with CDDA.
Fix Legend of Dragoon, maybe more.
2021-08-05 23:04:01 +01:00
TellowKrinkle
c1e6773818 cmake: fix missing .h on header reference
Prevents cmake from bugging us about it
2021-08-05 03:00:43 -05:00
TellowKrinkle
e1a223c7c3 deps: Update gtest to 1.11.0
Prevents newer cmake from screaming at us about its ancient CMakeLists
2021-08-05 03:00:43 -05:00
Jannik Vogel
21c13a850c Misc:Debugger: Fix vmulai and vmaddai disassembly 2021-08-04 00:49:14 +01:00
Mrlinkwii
64d8b7fbe7 GameDB: add 'EEtiming hack' to Way of the Samurai Sega Soccer Slam (#4643)
GameDB: add 'EEtiming hack' to Way of the Samurai & Sega Soccer Slam
2021-08-03 22:55:26 +01:00
refractionpcsx2
8f82cd11b9 microVU: avoid half completed program loading null block 2021-08-03 11:52:15 +01:00
TellowKrinkle
958e27c782 GHActions: Run tests 2021-08-02 00:24:59 -05:00
TellowKrinkle
f032e663cd testing: Fix x86emitter includes on x86emitter tests 2021-08-02 00:24:59 -05:00
TellowKrinkle
70a1b31f5d testing: Add block swizzle tests 2021-08-02 00:24:59 -05:00
lightningterror
dc4b382b20 gs-d3d11: Move BlendEnable toggle. 2021-08-01 10:03:44 +02:00
lightningterror
4308aa29dd gs-d3d11: Set blend index to 0 when hw blending is disabled. 2021-08-01 10:03:44 +02:00
lightningterror
043b5d351f gs-d3d11: Cleanup fxaa and external shader.
Instead of relying on bools for checks rely on the pixel shader
pointer, also merge the functions.
2021-08-01 10:02:59 +02:00
refractionpcsx2
97bfe08c04 VIF: Only enable reverse FIFO hack if VIF1 is still active 2021-08-01 01:54:32 +01:00
Francisco Javier Trujillo Mata
407a64c118 HostFS: make const several no mutable variables 2021-07-31 23:23:40 +01:00
Francisco Javier Trujillo Mata
e7513c8c58 HostFS: Add remove file functionality 2021-07-31 23:23:40 +01:00
refractionpcsx2
3eda42075a Clang: Format FiFo.cpp 2021-07-29 20:33:52 +01:00
Timothy O'Barr
85d35311d0 UI: Added PGIF log source (#4564) 2021-07-29 17:56:17 +01:00
refractionpcsx2
88a53f013e Clang: Format Gif.cpp, Vif_Codes.cpp, Vif.cpp 2021-07-29 14:58:36 +01:00
refractionpcsx2
88edd1acd6 GIF: Adjusted intermittent mode split of large packets
Should be a bit more performant now in games like Tekken Tag
Adjusted for The Suffering
2021-07-29 14:58:36 +01:00
refractionpcsx2
fd1305e4da GIF: Reimplement GIF FIFO to kick in only when it is needed.
Need to adjust GameDB entries for to remove ones no longer required, added EE Timing fix for SOCOM as that seems to fix it up like its sequel.

Some misc changes too which are inconsequential (mostly formatting)
2021-07-29 14:58:36 +01:00
lightningterror
35c50e01e1 gs-hw: Sync external shader logs between gl and d3d11. 2021-07-29 12:32:39 +02:00
RedDevilus
2a409af54e GameDB: Patches for 18 games (or 15 individual games)
- Arctic Thunder
- Evolution Snowboarding
- From Software First Previews
- Growlanser Generations
- ICO
- Major League Baseball 2K5
- Major League Baseball 2K10
- Musashiden II - Blademaster
- Musashi Samurai Legend
- NHL 2K5
- NHL 2K6
- NHL 2K7
- NHL 2K8
- NHL 2K9
- Virtua Fighter 4
-- Removed patches and other miscellaneous changes
2021-07-29 10:36:02 +01:00
Christian Kenny
cf3d5bc040 SPU2: Remove unused Lowpass files 2021-07-29 10:33:53 +01:00
Christian Kenny
40da5697c5 SPU2: Remove unused includes, defs, ect. 2021-07-29 10:33:53 +01:00
lightningterror
ea759d7b68 microVU: Clean up a few warnings. 2021-07-28 22:10:47 +02:00
Connor McLaughlin
34e779a654 GS: Manage draw rectangle in GS instead of wx 2021-07-27 12:38:52 -04:00
Ty Lamontagne
8bc01eb375 IOPBios: Workaround for '\' for HLE path functions
Fixes some ulaunchelf's on *NIX platforms
2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
b373763924 Fix warning and disable dummy static analysis warnings 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
b2618ba148 HostFS: Add is_host check in the dopen_HLE method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
6902ce007a HostFS: Improve Hle_SetElfPath method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
e9b3b89620 HostFS: Use filesystem to make it compile in windows 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
1606a50bb4 HostFS: Improving buffers allocation 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
4402bbda55 clang-format: pcsx2/IopBios.h and pcsx2/IopBios.cpp 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
4bf3819778 HostFS: Clean functions to save host path and elf path 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
9ecda0489b HostFS: Add native mode to the open file 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
0dadda66cf HostFS: Implement getstat and dread 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
aa20220627 HostFS: Implement opendir and closedir 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata
45103ec496 HostFS: Add mkdir and rmdir support 2021-07-27 15:37:41 +01:00
lightningterror
397f257b39 vcxproj: Cleanup file includes, makes the solution a bit more tidy.
Mostly mirrors how source files are oranized.
2021-07-26 14:19:51 +02:00
Ty Lamontagne
0f20a22e10 Counters: Reset Timer Count Regardless of Interrupt Enable 2021-07-25 22:56:55 +01:00
Mrlinkwii
e64567e119 GameDB: add 'XGKickHack' to Super Monkey Ball Adventure
GameDB: add 'XGKickHack' to Super Monkey Ball Adventure
2021-07-25 20:25:22 +01:00
TellowKrinkle
73116752b9 GHActions: Remove dashes from build names
If you're going to switch dashes to spaces, swich all the dashes to spaces
2021-07-23 21:02:15 -05:00
kozarovv
cd33a17584 IPU: Store thresholds for color conversions in u16, bump savestate version. 2021-07-23 18:10:56 +01:00
Mrlinkwii
1a327a73a0 SPU2: remove unused variable
SPU2: remove unused variable
2021-07-22 14:19:04 +02:00
Ziemas
c1232136c2 SPU: Remove NEVER_SKIP_VOICES
This optimization is disabled and not really safe. Lets just remove it
and clean up the function that uses it.
2021-07-22 10:17:31 +01:00
refractionpcsx2
06d6001b0c SPU2: Add rogue BIOS loop point which Megaman X7 relies on.
Thanks to Ziemas for debugging this!
2021-07-22 09:38:17 +01:00
Ziemas
080ba94ed2 CHD: Fix parent search on windows
Apparently you can't use the constructor to concat a literal and a
wxString like that.
2021-07-21 08:51:57 +01:00
TellowKrinkle
a13222f926 CMake: Fix cmake reconfigure breaking dependencies
pkg_search_module was looking at our lib_FOUND and thinking it was its own
Fixed by tracking who found the library and only invoking pkg_search_module if pkg_search_module also found the library the previous time
2021-07-20 01:14:54 -05:00
Ty Lamontagne
146f9a766e System: Check active power profile on application launch 2021-07-20 07:31:56 +02:00
lightningterror
7b495437ae GSDebugger: Rename dump load error window title. 2021-07-20 06:45:17 +02:00
lightningterror
2b95e3b48b vcxproj: Include shaders in vs project. 2021-07-20 02:45:50 +02:00
RedDevilus
22fb1e2df4 GUI: Re-order config settings
This will re-organise the config window to be more visually distinct.
Also fixes the issue where GamePad and Graphics if used with Alt, though it would still work technically if you press G again.
2021-07-20 00:39:30 +02:00
kojin
52b6ae0bc2 vs update project files with new build props 2021-07-19 17:05:52 -04:00
kojin
e293e96f00 vs: add base and avx2 build config props 2021-07-19 17:05:52 -04:00
TellowKrinkle
d4f87112ec CDVD: Add minimum buffer size to ThreadedFileReader
If buffers are smaller than the threshold PCSX2 uses to decide whether to time a read as a seek, ThreadedFileReader fails to provide data in time for the very small linear read time cutoff
2021-07-19 22:01:41 +02:00
TellowKrinkle
f3ac8ee464 CDVD: Clean up CHD initialization
Now with 100% less `delete`s
2021-07-19 22:01:41 +02:00
TellowKrinkle
286e32c012 GUI: Add CHD to macOS Info.plist 2021-07-19 22:01:41 +02:00
TellowKrinkle
c39598b98d CDVD: Make CHD file reader threaded 2021-07-19 22:01:41 +02:00
TellowKrinkle
ae945f49e3 CDVD: Make CSO file reader threaded 2021-07-19 22:01:41 +02:00
TellowKrinkle
bdcfcc65ea CDVD: Add ThreadedFileReader 2021-07-19 22:01:41 +02:00
TellowKrinkle
d8d69f2aa8 Misc: Move thread name setting to global function
Useful for things that don't want an entire pxthread
2021-07-19 22:01:41 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70f29072bf debian: Remove debian specific packaging hooks.
We switched to appimage in an earlier commit. It makes more sense for us
to maintain a distribution agnostic packaging method than something
which is already forked by upstream anyways.
2021-07-19 20:04:12 +02:00
Ziemas
9bdf6675fc USB: Freeze mode enum for keyboardmania 2021-07-19 19:37:30 +02:00
Ziemas
3ba2ae0275 SaveState: Use enum for freeze mode
Instead of preprocessor defines.
2021-07-19 18:39:41 +02:00
TellowKrinkle
4f50e7e478 GHActions: Don't update homebrew when not necessary
It's pretty slow and if GH hasn't been updating their image, could cause huge numbers of extra dependants and dependencies to have to be installed
2021-07-18 22:49:31 -05:00
kojin
2e411a6019 vs: drop asio build configuration for portaudio 2021-07-18 12:03:21 -04:00
arcum42
6d9d39d4c8 Completely remove __rdtsc define. (#4510) 2021-07-17 19:34:33 -07:00
TellowKrinkle
dba223eb18 cmake: override yaml-cpp settings to clear warning 2021-07-17 21:08:30 -05:00
TellowKrinkle
c072c0e82b cmake: Don't overwrite cmake default flags
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle
7bb3f41fdc cmake: Drop X11 requirement on macOS
We don't actually benefit from it
2021-07-17 21:08:30 -05:00
TellowKrinkle
248c8b9da4 GS: Remove circular header include 2021-07-17 21:08:30 -05:00
TellowKrinkle
4213b4a409 cmake: Use imported targets 2021-07-17 21:08:30 -05:00
TellowKrinkle
e788dd352c cmake: Fix FindGTK3 not creating targets properly 2021-07-17 21:08:30 -05:00
TellowKrinkle
2c869afbc6 Upgrade libchdr
Fixes cmake includes
2021-07-17 21:08:30 -05:00
TellowKrinkle
108e8bdf0a cmake: Remove unused options 2021-07-17 21:08:30 -05:00
refractionpcsx2
7584571fbc GameDB: Removed Ratchet Dynamic patch. 2021-07-18 01:24:29 +01:00
tellowkrinkle
e92d15e459 CI: Fix avx2-pch build
Was broken when `ADDITIONAL_CMAKE_ARGS` got quoted
2021-07-17 17:39:29 -05:00
refractionpcsx2
03b0d2eb00 RatchetDynaHack: Actually enable it when enabling the gamefix 2021-07-17 16:54:59 +01:00
Florin9doi
0fcabe2b8e Change Graphical to Graphics 2021-07-17 08:57:49 -04:00
Florin9doi
2925f3635f Set missing icons and update titles 2021-07-17 08:57:49 -04:00
Margen67
8628993fb0 Build improvements
Remove unneeded quotation marks.

linux-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j, use $(getconf _NPROCESSORS_ONLN).
 Make restore-keys into one line.
 Remove unneeded ./.

macos-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j.
 Use $(getconf _NPROCESSORS_ONLN) instead of 2.
 Move HOMEBREW_NO_INSTALL_CLEANUP to env: and add HOMEBREW_NO_ANALYTICS.
 Remove unneeded ./.

pr-triage.yml:
 Make on: pull_request_target into one line.
 Properly capitalize GitHub.

compile.sh:
 Add warning when running outside of GitHub Actions CI.
 Use $(getconf _NPROCESSORS_ONLN).

validate-vs-filters.ps1:
 End of file newline.

windows-workflow.yml:
 Rename config to configuration.
 Opt out of PowerShell telemetry.
 Checkout Submodules:
  Shorten --jobs to -j, use $env:NUMBER_OF_PROCESSORS.
 Remove unneeded shell from Verify VS Project Files.
 setup-msbuild:
  Use v1. (always the latest version)
  Remove useless vs-version parameter.
 Remove unneeded ./ and .\.
 Add -p to mkdir.

.gitmodules:
 Make submodules shallow.

build.sh:
 Move parameters from shebang to set.
 Consistent formatting for ifs.
 Use $(getconf _NPROCESSORS_ONLN).
2021-07-17 08:07:53 -04:00
qurious-pixel
4995b13994 Build: Add Nix dependencies
Add libthai.so.0
2021-07-17 07:38:31 -04:00
qurious-pixel
f430bca472 Build: Bundle GDK/GTK modules
Fixes Manjaro and Fedora crashes
2021-07-17 07:38:31 -04:00
qurious-pixel
c3403de216 Build: Bundle GDK/GTK modules
Add pkg-config and librsvg2-dev for i386.
Fixes Manjaro and Fedora crashes
2021-07-17 07:38:31 -04:00
lubuntu
dcfe9f7aff Build: Remove plugin references 2021-07-17 07:38:31 -04:00
qurios-pixel
bac66e1e5e CI: generate appimage with linux workflow 2021-07-17 07:38:31 -04:00
kojin
4eb5d2c5ed vs: properly disable gm and warnings 2021-07-17 00:31:33 -04:00
TellowKrinkle
5bfd48c65c cmake: Convert indentation to tabs
Previously was a random mix of tabs and spaces
2021-07-16 22:05:48 -05:00
lightningterror
d1344fdd91 pad-linux: Update to latest controller database. 2021-07-17 01:31:16 +02:00
kojin
a8b392e662 vs: clean up libsamplerate project 2021-07-16 19:17:02 -04:00
kojin
9768cfb4ba 3rdparty: convert jpgd to external library 2021-07-16 06:26:32 -04:00
Ziemas
975f33df52 SPU: Delete broken/unused alsa backend (#4530) 2021-07-15 22:41:44 -07:00
Ty Lamontagne
49986bab5e IOP: Warn on branches to zero 2021-07-15 18:34:53 +01:00
RedDevilus
a949b24434 GameDB: Official Playstation Demo serials
Adds a bunch of missing magazine demos.
2021-07-15 18:17:45 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6523b0e9c2 cmake: remove leftover calls to plugin cmakefiles 2021-07-15 14:01:45 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
29f83b4364 AppCoreThread: remove unneeded includes & unneeded double init call 2021-07-15 14:01:45 +01:00
Ty Lamontagne
efd2df8a33 clang-format: Debugger files (check commit message)
gui/Debugger/CtrlDisassemblyView.cpp
gui/Debugger/CtrlMemView.cpp
gui/DebugerLists.cpp

Had to manually format wx event tables
2021-07-15 14:01:09 +01:00
Ty Lamontagne
58a9460f7c Debugger: Modify hotkeys, add delete breakpoint context menu button
Add assemble opcode hotkey as well


Update debugger docs
2021-07-15 14:01:09 +01:00
IlDucci
f9909f4226 GameDB: Adding a couple of demo discs.
Adding Forbidden Siren (PAL demo disc) as well as the Bonus Demo 8 (old) demo disc, which was included with an updated Network Disc.

NOTE: The "(old)" part is written verbatim on the disc.
2021-07-15 14:00:26 +01:00
refractionpcsx2
56372cc46d GameDB: Rename VU0Kickstart -> VUKickstart
Clean up a couple of bits in microVU
2021-07-15 13:58:34 +01:00
refractionpcsx2
c31d6b9ca3 GameDB: Add dynamic patching for Ratchet & Clank games
Removed IPUWait hack as it is no longer required
2021-07-15 13:43:16 +01:00
refractionpcsx2
6d9ace148e VU: Improve sync with VU Kickstart, loosen without kickstart 2021-07-15 13:42:52 +01:00
Víctor "IlDucci
8d167158ae GameDB: Changing some Spanish-exclusive disc content. (#4551)
- Adding the hack fix for Oni (Spanish).
- Adding the proper name for GoldenEye Rogue Agent on the Spanish disc.
2021-07-15 12:45:32 +01:00
Mrlinkwii
71a04aae23 GameDB:add missing serials
GameDB: add serials that where missing
2021-07-14 17:16:58 +01:00
lightningterror
21908bdaad libchdr: Undo recent libchdr change. 2021-07-13 17:22:39 -05:00
sonicfind
1e056ca3fa Capture: Stop a capture at the end of an input recording 2021-07-13 23:03:03 +02:00
refractionpcsx2
45c1579a15 Debug: ignore perfectly timed DIV's, cycle count is off by one 2021-07-13 10:26:42 +01:00
Florin9doi
b85ebbbc2d USB: Move jpgd files to 3rdparty 2021-07-12 23:20:01 +03:00
Florin9doi
060ca1915f USB: Add experimental support for JPEG and multiple resolutions 2021-07-12 23:20:01 +03:00
Florin9doi
de728dbefc USB: Add jpge from https://github.com/richgel999/jpeg-compressor 2021-07-12 23:20:01 +03:00
Florin9doi
bba37b1ff7 USB: EyeToy's default registers 2021-07-12 23:20:01 +03:00
Florin9doi
e5f19a4312 USB: EyeToy LED status 2021-07-12 23:20:01 +03:00
refractionpcsx2
14be2649cf Debug: Detect bad COP2 DIV Unit Timing in Devel Builds 2021-07-12 20:45:50 +01:00
jackun
1f0f584397 USB: Simplify evdev controller mapping
Remove "clever autoconfig" that possibly mapped wrong control to wrong player.
Breaks mapping analog stick's single axis to two axes, for now.
2021-07-12 18:09:39 +03:00
jackun
2925077169 USB: Remove joydev support 2021-07-12 18:09:39 +03:00
jackun
d0ada6b40a USB: Add evdev support for keyboardmania 2021-07-12 18:09:39 +03:00
Aleksander Rem
238da17196 USB: Add keyboardmania
Signed-off-by: jackun <jack.un@gmail.com>
2021-07-12 18:09:39 +03:00
refractionpcsx2
9b8239bafa gameDB: Added required gamefix for Fighting Fury 2021-07-11 18:45:13 +01:00
Mrlinkwii
6d21761a4e Gamedb: add missing serial
Gamedb: add missing serial
2021-07-11 18:43:21 +01:00
Mrlinkwii
16fcd1d1ad GameDB: add missing serials
GameDB: add serials that were missing
2021-07-11 18:43:21 +01:00
kojin
d9bd63fcb7 gs: add jakx greatest hits crc 2021-07-10 05:13:33 -04:00
refractionpcsx2
98b19656c9 VU: Fix address masking in MTVU 2021-07-10 03:31:04 +01:00
refractionpcsx2
93e5f86e24 VUs: Mask start addresses
Fixes the crash in Red Faction 2 when using the VU0 JIT
2021-07-09 23:14:26 +01:00
RedDevilus
2195ac9051 SPU2: Clean up + add Gaussian value in comment 2021-07-09 19:00:42 +02:00
RedDevilus
be2bf9faca clang-format: -pcsx2\gui\Debugger\DisassemblyDialog.cpp 2021-07-09 18:59:35 +02:00
RedDevilus
b0edc68c3d Debugger-GUI: Resize help + add 2 hotkeys
A bit easier and nicer to look at but still needs some work.
2021-07-09 18:59:35 +02:00
Silent
a4057d569f GSFrame: Pass focus to GSPanel once Frame receives focus
Passing focus on the focus message instead of the activate message
resolves an issue where external processes (e.g. NVIDIA overlay)
forced a focus change to the GS Frame, requiring the window to be
refocused in order for keyboard inputs to work again.

Currently, GSFrame rejects focus messages and instead passes it to
the child GSPanel.
2021-07-09 18:45:31 +02:00
lightningterror
f7966bd213 misc: Change gsdx to gs comments. 2021-07-09 18:03:44 +02:00
lightningterror
e8cc2df46c cmake: SearchForStuff update to match gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
7283b1a177 linux various: Update/tweak stuff to match recent gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
26fdc3ea4b github: Update contributing template to match gs merge. 2021-07-09 18:03:44 +02:00
lightningterror
b52a2f4962 pad-linux: Update to latest controller database. 2021-07-08 20:03:31 +02:00
lightningterror
3376722a43 gs: Add crc id for GetaWay JP. 2021-07-08 18:58:31 +02:00
kozarovv
7dd4fd16fd IPU: Fix SETTH threshold masks
Bits 8:0 for transparency, and 24:16 for translucency.
2021-07-08 09:20:59 +01:00
Ty Lamontagne
178354099d clang-format: WinMisc.cpp 2021-07-07 18:30:38 -04:00
Ty Lamontagne
d9cee7467f Utilities: remove getversionex dependency 2021-07-07 18:30:38 -04:00
Tyler Wilding
811f9c52c6 ci: Split avx2 and non-avx2 windows builds (#4522)
* ci: Split avx2 and non-avx2 windows builds

* ci: Improve workflow naming

* ci: Avoid bleeding-edge emojis 🪟

* ci: Don't include debug symbol artifacts by default
2021-07-06 21:23:04 -04:00
ty
6dd90aeaef clang-format: -BiosSelectorPanel.cpp -ConfigurationPanels.h
If you need the full paths:
-pcsx2/gui/Panels/BiosSelectorPanel.cpp
-pcsx2/gui/Panels/ConfigurationPanels.h
2021-07-05 22:14:03 +02:00
ty
24e5d909d0 UI: Async bios enumeration
Update pcsx2/gui/Panels/BiosSelectorPanel.cpp

gonna squash this 1sec

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2021-07-05 22:14:03 +02:00
Ty Lamontagne
2101e17004 Misc: Suppress a warning regarding GetVersionEx 2021-07-05 22:08:48 +02:00
refractionpcsx2
627f216bf7 Core: Reset game CRC when rebooting. Avoids previous games patches being loaded. 2021-07-05 15:43:57 +01:00
lightningterror
1630805fd8 GS-hw: Enable pabe bit only when sw blending is enabled.
Minor optimization.
2021-07-05 13:14:06 +02:00
refractionpcsx2
c77e0a3a56 microVU: Enable T-Bit to work with MTVU 2021-07-05 10:26:50 +01:00
refractionpcsx2
f925c88753 Update gamedb test workflow 2021-07-05 10:26:09 +01:00
refractionpcsx2
973ebd153d microVU: Consolidate I-bit hacks in to one generic one 2021-07-05 10:26:09 +01:00
TellowKrinkle
4116aed738 MTGS: Only pause when the queue is empty
Prevents other threads from freezing waiting for the queue to empty when it never will
2021-07-05 10:25:28 +01:00
arcum42
0f917c24a5 General cleanup of various linux pad code. (#4281)
* Headers cleanup.

* Remove stray Windows code.

* Rename Gamepad.* to Device.*.

* Rename ini.cpp to Config.cpp. Get rid of controller.cpp, moving code to controller.h.

* Change controller.h to Config.h. More cleanup.

* More header cleanup.

* Switch things over to the InputManager. Didn't move the update code there for now.

* Move to pragma once. Move update code to InputManager.

* Reformatted files. Rearranged some includes and defines.

* Not sure how I missed this...

* It's 2021.

* clang-format: make sure the formatting changes are correct

Co-authored-by: Gauvain 'GovanifY' Roussel-Tarbouriech <gauvain@govanify.com>
2021-07-04 19:39:52 -07:00
arcum42@gmail.com
2feaa8adf7 Don't include GS.h twice in a row. 2021-07-04 19:11:59 -07:00
ty
54590a843a Misc: Pattern match to find the bios thread address 2021-07-05 03:17:10 +02:00
lightningterror
91acaa2555 ci: Update pr labelers to match gs merge. 2021-07-05 02:56:37 +02:00
lightningterror
a0dc71378e nsis: Update external shader file names. 2021-07-04 03:09:48 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c19f8f8997 mcd: correctly display osd message 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bd3918bd64 settings: make emulation settings modal as it changes core state 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d85d02ac02 shaders: rename to fit new defaults 2021-07-03 18:16:11 -04:00
kojin
32c30ad9e4 vs: split target names for avx and avx2 builds 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8dd9af23d4 gs: make sure gspanel close doesn't starve corethread events 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2384a3d172 mcd: make sure to allow two resume in a row
the cleaner solution would be to make our cdvd implementation using
scopecorepausedthread cleaner but I'm probably going to hold off on
doing that until I do some major refactoring because the GS merge is
alreadying getting out of hand
2021-07-03 18:16:11 -04:00
kojin
9814d442cd vs: move the pcsx2 project
Move the pcsx2 project from pcsx2/windows/VCprojects/ to pcsx2/

This is to fix an issue that was causing the intermediate files to go to the wrong directory.
pcsx2/windows/VCprojects/Win32/Devel/../../GS/GS.o -> pcsx2/Win32/Devel/GS/GS.o
2021-07-03 18:16:11 -04:00
kojin
601241b2c7 vs: move the common props 2021-07-03 18:16:11 -04:00
TellowKrinkle
63645de85b GS: Don't include xbyak into everything
Xbyak header is massive
2021-07-03 18:16:11 -04:00
TellowKrinkle
2849f0bc81 GS: Fix some defines 2021-07-03 18:16:11 -04:00
TellowKrinkle
d2d5fcf07a gs: formatting 2021-07-03 18:16:11 -04:00
lightningterror
8281eec60e gs: change screenshot prefix from gsdx to gs. 2021-07-03 18:16:11 -04:00
lightningterror
146b33f120 misc-linux: Cleanup leftover stuff from gs merge for linux build. 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
483f28044b gs: fix freeze on close all windows 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7597ac12b6 gs: ensure the panel doesn't open at all when unneeded 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b06468e268 gs: ensure gspanel is correctly defined as in use when paused 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a3a700eeaf gs: ensure the frame is hidden if not in use 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8d56332993 misc: fix codacy warnings 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
23c0b0f7b1 settings: ensure gs settings are applied on close/make gs sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ca8ada424 gs: fix avx2 64bit compile 2021-07-03 18:16:11 -04:00
kojin
7040ad9990 gs: workaround failing avx2 compile 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a9d8a7d70f renderswitch: remove delay, fix long standing race condition 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4237ab9925 buildbot: default to non avx2 release 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
db80ff5477 mtgs: fix threading woes 2021-07-03 18:16:11 -04:00
kojin
c73769607e vs: fix some SSE/AVX stuff 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
841d0cfe0e linux_various: remove plugin ldd finder on runner 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d6e39b7ab0 gs: ensure gs has a first try at input handling before pad 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
31c70a7c38 gs: ensure the config file is set correctly 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
edaa8f7817 gs-debugger: fix gsfreeze wrong retval 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8e52dc1e22 gs: ensure closegspanel is closed after suspend, in sysexecutor 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1e84b00126 mtgs: comment the waitforopen reasoning + add closepanel 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab02bfa7c0 buildbot: compile without plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b70b3382c7 cmake: remove infinite warning spam on clang 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5a4c05607d sstate: make use of mtgs to ensure thread safety when saving 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa4f4bca73 mtgs: make renderswitch save current state 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab65f2ab5e gs: port renderswitch to mtgs 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
527e5a8610 gs: gui-windows: fix alignment of swthreads 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e65019a6fc sstate: use structs instead of parallel arrays + enum 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0009ff8853 gs: ensure gsclose is sent from the main mtgs thread and not sysexecutor 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70a6c59126 gs: update windows ui to fit with pluginless system 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
90a9708619 gs: use sstate freezedata includes 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b5f50f283c gs: make sure the gs panel handler is opened when needed 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
44026aa899 sstate: major redesign, remove split freeze{out,in}, remove gsfreezedata 2021-07-03 18:16:11 -04:00
Kojin
e90fbfe138 vs: explicitly add floating point model back with note 2021-07-03 18:16:11 -04:00
Kojin
848a930e1a vs: cleanup deps 2021-07-03 18:16:11 -04:00
Kojin
2669a31171 vs: clcompile cleanup 2021-07-03 18:16:11 -04:00
Kojin
59e06c8bbd gs: silence a couple warnings 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ed58ffde0 sstate: bump version 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0542fa527c mtgs: ensure gs is closing when necessary 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d48e4cd138 mtgs: use SysExecutor to route events back to itself for suspend operations 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f020ffabeb bin: remove spu2 replay cmd 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1317f19de2 gs: initial windows port compiles! 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
614ef4a35b gs: continuing on linker errors on windows 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c8524022b7 gs: initial windows port done up to linking issues 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c77896f2d baseclasses: prevent collision with wxwidgets
surprisingly, GSdx never ran into this issue prior as linux didn't use
baseclasses but used wxwidgets, while windows did but used the winAPI
GUI system. Software is cursed
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5abf459bb windows: continue the merge, handle some subprojects linking 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
763533060a gitignore: update to ignore obj files 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8cd2da61c5 windows: remove project references to plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8a7f6c8c01 windows: update the resource pre-build step to remove plugins assets 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
290ca11fc7 gs: update gui to remove logo/references to gsdx 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8281b57c56 windows: make object files relative to their directory so vs isn't drunk with 2 files sharing the same filename 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4803ed0a4e windows: add xbyak as a windows dependency 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3313acac84 windows: add gs filters 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b52063e4e0 gs: remove unneeded windows project files 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e9349328a gs: begin preliminary windows support 2021-07-03 18:16:11 -04:00
lightningterror
94901f8be3 nsis: Remove remaining plugins (gsdx) and references. 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
06da3a1359 mtgs: fix pesky assert on gs init 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
25af4de320 cmake: remove infinite warning spam 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80c67e2d48 pad: separate full and per-pad sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9cb0093a1a docs: update them to remove mention of plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
136c326059 pcsx2: clean up references to plugins 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3b56b0340d ftw: remove the plugin panel 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a7ff19ac98 gs: reimplement renderer switch sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
18bc19a09c savestate: remove a bunch of dead code 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a781b4529b gs: ensure coherent use of gsfreeze 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fbf10dcdf5 gs: implement sstate handler functions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
83a28ddab1 savestate: add back gs sstate 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
70dde551e3 gs: introspect gs state directly 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa9b30fa9e pcsx2: remove relative imports
gosh that was a pain, please don't make me do that again
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4f33bfb9f3 gsdump: fix reorder warning 2021-07-03 18:16:11 -04:00
TellowKrinkle
b2da348834 GS: Fix GSVector.h not seeing SSE defines 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e0499b587e gs: remove old logo 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9d4c41e051 gs: pause configuration screen when opened 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
707d2dae71 gs: add back configuration menu 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9422e32f23 gs: ensure avx2 has access to gsvector8 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d2a5e3b675 gs: fix redefinition hell on _d token concatenation 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
727693248d utilities: fix a few omissions when building on nopch 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c1e625cc4b cmake: require XCB libs and not just X11-XCB 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
77b6ce1c27 gitignore: update gs templates 2021-07-03 18:16:11 -04:00
TellowKrinkle
a207abcfc1 ghactions: Add avx2 CI
Needed until we get multi-isa working again
2021-07-03 18:16:11 -04:00
TellowKrinkle
7177bd3597 GS: Disable clang-format to keep alignment 2021-07-03 18:16:11 -04:00
TellowKrinkle
67a5c8e314 cmake: Enable sse4.1 by default 2021-07-03 18:16:11 -04:00
TellowKrinkle
fec12819fa GS: Fix warning spam in macOS 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
08419440f1 license: clarify we are licensing under LGPLv3+ 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
18e892f473 gs: update license headers 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
48aef61027 gui: fix assert with default case unreachable by removing plugin remnant 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b7c0c9589a gs: initial merge complete 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
24b9c5698e gs: initial merge complete up to linking errors 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3a5d1ace91 gs-merge: gui fixups, getting rid of the plugin selector 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4e96ed3e74 gs-merge: initial merge of the gs codebase finished 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
00ed02f831 gs-merge: fix codegen scoping/xbyak misc things for our jit 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3851014634 gs-merge: make sure x11 defines are scoped 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fef8dfd05b gs-merge: make xbyak intrinsics includes scoped, avoid cross project linking with x86_intrin 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bbcfc0ff1d gs-merge: include hell, scoping, redefinitions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5f0699d382 gs: xbyak and gs type incompat workarounds for the merge 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fc1e00b7ef gs: trying to sort out this include hell 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b284ab7566 gs: core code and components merged up to gs 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ada56a1c03 mtgs: ensure thread safety, reimplement coreplugins intermediate layer 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
160117ffbb mtgs: switching to a plugin-less architecture 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f04f941dbb gs: continue merge, modify plugin boundaries and expose signature 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e68a3606a9 mcd: finish to remove the remnants of the plugin interface 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
27cb700259 mcd: begin to remove the plugin interface 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f75ae3e046 gs: continue merge, remove plugin selector references 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d272334c71 plugins: cleaning up more plugin cruft, adding a note on freezeData 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9587afc5ed cmake: port glib resources for gs into core 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fd39f14b4e cmake: initial cleanup of the dep lookup 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1893bfe93d gs: initial build system additions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c87a054b4c 3rdparty: initial addition of xbyak 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
587a893a0e gs-merge: remove initial plugin subsystem 2021-07-03 18:16:11 -04:00
Ty Lamontagne
fbffa1c7bc Translations: Remove unnecessary warning regarding string length 2021-07-03 20:48:46 +02:00
lightningterror
e3d6e50ba0 pad-linux: Update to latest controller database. 2021-06-29 16:32:51 +02:00
Ziemas
b7dfb2c294 vsprops: Explicitly link setupapi. (#4495)
Currenty it only works because of portaudio linking it with a pragma.
2021-06-27 13:13:05 +02:00
Ilya Trukhanov
3c59221dd1 pad: Fix gamepad choice not affecting rumble test on Linux
The rumble test using either the checkbox or the slider in the gamepad
configuration GUI always causes the first gamepad to rumble, even if
other gamepads are selected in the drop-down menu.
2021-06-26 22:09:38 +01:00
Ziemas
d310ae948d SPU2: Remove SPU2setClockPtr 2021-06-23 14:30:54 +02:00
Ziemas
67cd7713b8 SPU2: Remove cycleptr and read the cycle directly
Seemed like any chance of working without grabbing this straight out of
the iop was given up on anyway.
2021-06-23 14:30:54 +02:00
TheLastRar
f5346129ae DEV9: Clang format pcap_io.cpp 2021-06-22 04:34:50 +02:00
TheLastRar
a333a65419 DEV9: Discard Jumbo Frames from pcap 2021-06-22 04:34:50 +02:00
Jonathan Li
982ef41814 cdvd: Simplify and fix disc variable handling
This fixes an issue on Windows where the previously selected disc drive
choice is cleared if there is no disc in the drive when PCSX2 is opened.
2021-06-20 10:00:31 +01:00
Jonathan Li
7f8ca17752 cdvd:windows: Fix disc path
The disc path was not always in the correct format.

Fixes a regression from the CDVD merge.
2021-06-20 10:00:31 +01:00
lightningterror
33d8290fd4 pad-linux: Update to latest controller database. 2021-06-18 04:40:34 +02:00
TellowKrinkle
f3b17cf021 iR5900: Move recConstBuf memory near recompiler memory 2021-06-18 00:44:02 +01:00
Mrlinkwii
b5a917fb08 GameDB: remove 'OPHFLagHack' for ""Naruto - Uzumaki Chronicles 2" (#4488)
No longer needed.
2021-06-09 18:47:47 +02:00
refractionpcsx2
739787e8c4 Add new hack 2021-06-08 19:07:19 +01:00
Tyler Wilding
d988e8d764 input-rec: Add warning when creating a save-state recording 2021-06-06 17:51:28 +02:00
refractionpcsx2
a6193b0a51 Core: Make DMA's instant during the BIOS 2021-06-05 02:01:10 +01:00
Mrlinkwii
8552090f50 GameDB: Adds VU clamping mode extra to 'Enthusia Professional Racing' (#4478) 2021-06-04 18:03:55 +02:00
TheLastRar
286b6448be DEV9: Always open HDD image as binary
Previously the file was only opened in binary mode if it existed before starting emulation
2021-06-02 20:28:19 +02:00
lightningterror
48961ed3df usb: Fix a few more warnings. 2021-06-02 20:27:50 +02:00
dependabot[bot]
1b4c8991c8 build(deps): bump actions/cache from 2.1.5 to 2.1.6
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 21:15:59 +02:00
TheLastRar
a35edc95cf DEV9: Clang format DHCP_Server.cpp 2021-05-27 16:07:18 +02:00
TheLastRar
91c2f62c9e DEV9: Fix off by one error with manual DNS1, auto DNS2 2021-05-27 16:07:18 +02:00
Tyler Wilding
7a7f98955b input-rec: Allow configuring the frame advance amount 2021-05-27 16:02:06 +02:00
TheLastRar
3a877a51b5 DEV9: Sleep instead of yield in RxThread 2021-05-27 16:00:07 +02:00
refractionpcsx2
17519c21b4 SPU2: Fix hi def audio streaming 2021-05-27 00:10:33 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ead1243c61 DEV9: ensure DEV9 use wchar ghc 2021-05-26 15:52:21 +02:00
TheLastRar
fad389faab DEV9: Clang Format 2021-05-26 15:52:21 +02:00
TheLastRar
af63023d92 DEV9: GHC related changes 2021-05-26 15:52:21 +02:00
Florin9doi
0b51f09a38 Remove PSX references to distinguish between PS1 and DVR 2021-05-26 15:24:41 +02:00
Tyler Wilding
18abe94e7f ci: Make acceptable values obvious 2021-05-26 15:07:26 +02:00
Tyler Wilding
128eaf5790 ci: Add workflow_dispatch support for Windows debugging builds 2021-05-26 15:07:26 +02:00
Tyler Wilding
bfe0ba7e99 ci: Add an explicit flag to retain Windows debugging artifacts 2021-05-26 15:07:26 +02:00
Mrlinkwii
1bbc51c947 GameDB: Add missing db entries. (#4456)
Official Playstation Magazine - Demo Disc 40'entries, Official Playstation Magazine - Demo Disc 85, Singstar Boy Bands vs Girl Bands, Singstar Take That.
2021-05-26 14:52:39 +02:00
Ty Lamontagne
1097e246a4 Differentiate Impossible block clearing message from IOP & EE 2021-05-26 10:14:20 +01:00
icup321
f90a4871b4 GameDB: Add Kickstart for Rayman Raving Rabbids (#4462) 2021-05-26 10:13:52 +01:00
Nobbs66
e0111195a5 Fix Emulated PSX GPU Version
The PS2 emulates a version 0 PSX GPU rather than a version 2 GPU.  This removes the extra v2 commands
2021-05-21 00:06:16 +02:00
Ziemas
bb09d3fe74 SPU: Make SPU use the MADR from iopHw 2021-05-20 23:50:49 +02:00
Ty Lamontagne
e88f29d3ac Misc: Save ELF last path when auto-running an elf 2021-05-20 23:48:54 +02:00
TheLastRar
084c7db9ac DEV9: Increase min HDD size to 40gb 2021-05-17 14:29:03 +02:00
Mrlinkwii
1af6979e88 GUI: change 'Console to Stdio' to 'Program Log to Stdio'
GUI: change  'Console to Stdio' to 'Program Log to Stdio'
2021-05-17 14:25:59 +02:00
TheLastRar
f28bfa4ad1 DEV9: Correctly populate DNS2 field with DNS2 IP 2021-05-17 14:25:21 +02:00
lightningterror
7efa96c732 pad: Update log that mentioned plugin settings. 2021-05-12 18:20:54 +02:00
Florin9doi
2eb6d9a0fb Eyetoy: Don't send duplicate frames 2021-05-10 17:02:59 +02:00
Florin9doi
02546459ea Eyetoy: Improve logging 2021-05-10 17:02:59 +02:00
Mrlinkwii
b6ac5e3be0 GUI: Updates the 2 smaller icons to the same icon as the main icon used for the program. (#4431) 2021-05-10 16:53:29 +02:00
TheLastRar
bc25ffb52c DEV9: Better align IP fields 2021-05-10 16:24:43 +02:00
TheLastRar
3d1b79464c DEV9: Add internal DHCP Server 2021-05-10 16:24:43 +02:00
TheLastRar
221a8dc530 DEV9: Move reconfiguration code into net.cpp
Also make the internal server aware of the reconfiguration
2021-05-10 16:24:43 +02:00
TheLastRar
36406e2fd9 DEV9: Have each backend use the internal server 2021-05-10 16:24:43 +02:00
TheLastRar
7e35c7750e DEV9: Add shared internal server code 2021-05-10 16:24:43 +02:00
TheLastRar
c1ab094938 DEV9: Add internal server mac and IP 2021-05-10 16:24:43 +02:00
TheLastRar
26b954fdc6 DEV9: Add code for reading packets 2021-05-10 16:24:43 +02:00
TheLastRar
1221b5c271 DEV9: Add message in pcap GetMACAddress() for unsupported OS 2021-05-10 16:24:43 +02:00
TheLastRar
f1f888bd11 DEV9: Report blocks as true for pcap 2021-05-10 16:24:43 +02:00
TheLastRar
869bdb727a DEV9: Move ATA write queue logic into its own class 2021-05-10 16:24:43 +02:00
Tyler Wilding
076d13a7c2 lint: Address Codacy linter findings 2021-05-10 16:23:42 +02:00
Tyler Wilding
109ca396b9 ci: Create GitHub action to validate GameDB when it's modified 2021-05-10 16:23:42 +02:00
Tyler Wilding
ce0395947f ci: Create script to validate GameDB at build-time 2021-05-10 16:23:42 +02:00
Tyler Wilding
551b52922a input-rec: Remove unnecessary externs and resolve linter errors 2021-05-10 16:19:27 +02:00
Tyler Wilding
90938b100c input-rec: Cleanup inputRec namespace 2021-05-10 16:19:27 +02:00
RedDevilus
ee0ebe1c04 PCSX2-GUI: Console log rename and newline 2021-05-10 16:17:23 +02:00
ty
23f727351c Core / VU: Disable MTVU when VU1 Interpreter is selected
Also clean up Config.h a little
2021-05-10 16:15:16 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
133af79c45 CONTRIBUTING.md: removed reference to forums for development(????) 2021-05-10 16:14:25 +02:00
Margen67
704d998c7f CONTRIBUTING.md: Typo fixes, https 2021-05-10 16:14:25 +02:00
lightningterror
e50a4463a5 recording-gui: Add close box to New Input Recording. 2021-05-09 22:59:12 +02:00
macmenot
6a2ed3d078 DEV9: consistently prefix all console output with DEV9:
Around half of the debug and console output from the DEV9 tree already
had this prefix. Adding it everywhere for consistency. Also fixed
misspelling of "Unknown" whilst there.
2021-05-08 17:05:23 +02:00
kozarovv
0ad5680597 FPU: Remove FPU Compare Hack
FULL clamping mode fix games where hack was used, so is no longer required.
This commit remove hack, adjust GameDB according to that change, and rename fpuFloat4 function to fpuFloat3.
Last change is because fpuFloat3 was just wrapper for fpuFloat4 with added check for compare hack.
Additionally fpuFloat2 was only function that called fpuFloat4 directly, so that one call was changed to fpuFloat3 to respect previous changes.
2021-05-08 17:04:09 +02:00
TellowKrinkle
2e0baa7162 Update ghc::filesystem to 1.5.4
Switches to wchar on windows, which allows construction of a path from wchar*
2021-05-07 02:23:04 -05:00
lightningterror
11e08642f3 pad-linux: Update to latest controller database. 2021-05-06 01:19:38 +02:00
RedDevilus
8760214817 clang-format: -pcsx2\gui\AppRes.cpp 2021-05-05 18:10:15 +02:00
RedDevilus
d760ad7293 CDVD-GUI: Swap Browse and Ask before booting + Ask before booting is off by default 2021-05-05 18:10:15 +02:00
Mrlinkwii
0a247868df GameDB: Fix typo causing gamedb not to load (#4417) 2021-05-04 20:13:18 +01:00
Mrlinkwii
15b9e775a1 GameDB: add Nearest EErounding to SSX and SSX tricky. (#4405) 2021-05-04 17:37:26 +02:00
Tyler Wilding
82ce20210f input-rec: Resolve crash when closing emulator involving GUI elements
Gist is we paused the CoreThread without resuming it (input recording would wait until the next VSync), the shutdown routine triggers it when all required window elements are already cleaned up, hence the crash.

Reproduction Steps:
- boot game so gs window is open
- open the dialog for a new input recording, then close it
- close the GS window
- re-open the dialog for a new input recording, then close it
- close pcsx2, should error.
2021-05-04 17:35:41 +02:00
refractionpcsx2
467659200d GameDB: Add patches for Elemental Gerad and K-1 Grand Prix 2006 (SLPS) 2021-05-03 16:13:58 +01:00
RedDevilus
5639273cec readme: Add discord shield
- Discord is more obvious to endusers now with logo and corresponding blue color.

readme: Remove coverity

- Sets discord to white icon and remove coverity because it hasn't been used since 2019 and replaced by codacy.

readme: SSE4 to SSE4.1

- Make it more obvious to have atleast SSE 4.1
2021-05-01 00:34:55 +02:00
Tyler Wilding
07f2459178 github: Remove now redundant comment in PR template 2021-04-29 18:41:34 +02:00
Tyler Wilding
be6b46b793 github: Add first-time contributor message 2021-04-29 18:41:34 +02:00
Silent
bd4d04f914 clang-format: -pcsx2/gui/MemoryCardFolder.cpp -pcsx2/gui/MemoryCardFolder.h 2021-04-28 01:10:24 +02:00
Silent
c27ae16b42 Folder memcards: Suppress "file does not exist" errors for memcard index 2021-04-28 01:10:24 +02:00
Silent
affa24e596 Folder memcards: Remove an unused variable 2021-04-28 01:10:24 +02:00
Silent
52408145c1 Folder memcards: Properly handle zero sized files when writing the memcard index
fileRef is nullptr for zero sized files
2021-04-28 01:10:24 +02:00
Silent
19af887257 Folder memcards: Improve handling of legacy folder memcards (without the index file) 2021-04-28 01:10:24 +02:00
Silent
607b56be97 Folder memcards: Ensure YAML nodes are always referenced by UTF-8 2021-04-28 01:10:24 +02:00
Silent
c7ad748e98 Folder memcards: Write the file index from FlushFileEntries
Resolves issues with flushes being performed out of order,
breaking the intended order of files in the file dictionary
2021-04-28 01:10:24 +02:00
Silent
f8f783737d Folder memcards: Write metadata for directories 2021-04-28 01:10:24 +02:00
Silent
a6cec6a04e Folder memcards: Add an index file to track timestamps and file order
This resolves folder memory card incompatibilities with games assuming
the order of files in the filesystem - e.g. Grand Theft Auto games.
A newly added index file tracks the order in which files would have
landed in the FAT partition and attempts to preserve this order
upon loading.
2021-04-28 01:10:24 +02:00
Silent
8dee1a3e9f Folder memcards: Clean up FolderMemoryCard code a bit 2021-04-28 01:10:24 +02:00
ty
eef643cf63 Core: Purge OS specific CPU usage providers 2021-04-28 01:03:14 +02:00
lightningterror
290183040f gsdx-vsprops: Fix build configuration.
Fixes AVX2 build configuration on VS.
Issue was gsdx would still build as SSE4 instead of AVX2 on AVX2 configuration.

Also remove sse2.props.
2021-04-24 20:07:46 +02:00
lightningterror
ee2890517c gsdx-hw: Cleanup renderer code a bit.
Mark variables as const if applicable, initialize some as well.
2021-04-24 20:05:43 +02:00
lightningterror
46cd43ab9e gsdx-ogl: Cleanup renderer code a bit.
Mark variables as const if applicable.
2021-04-24 20:05:43 +02:00
lightningterror
4ca84e8049 gsdx-d3d11: Cleanup renderer code a bit.
Mark variables as cost if applicable.
Initialize D3D11_PRIMITIVE_TOPOLOGY.
2021-04-24 20:05:43 +02:00
tellowkrinkle
a4bb6234ac Rename main menu back to System (#4362)
There's already a `PCSX2` menu on macOS, adding a second one is incredibly confusing
2021-04-24 08:46:34 -07:00
macmenot
dac2a302ec DEV9: add ATA Idle Immediate (E1) stub
Fixes https://github.com/PCSX2/pcsx2/issues/4358
2021-04-24 14:12:16 +02:00
TheLastRar
72eddb7286 DEV9: Do not apply byteswapping to TX/RX FIFO writes/reads 2021-04-24 14:08:22 +02:00
RedDevilus
f0cdf398a6 pad-linux: Update to latest controller database. 2021-04-24 13:59:20 +02:00
Mrlinkwii
ffb1a3d11e GameDB: Fix errors in GameDB. (#4389) 2021-04-24 13:58:54 +02:00
Mrlinkwii
721253bf49 GameDB: Adds gamefixes for various games. (#4388)
Adds fixes for Energy Airforce - Aim Strike , K-1 World Grand Prix 2006.
2021-04-24 00:45:08 +02:00
Mrlinkwii
526c143eb5 GUI: rename 'show debug' to 'show debugger' and move the create blockdump' option above it above
GUI: rename 'show debug' to  'show debugger' and move the  create blockdump' option  above it  above
2021-04-23 00:17:07 +02:00
Mrlinkwii
4d2f7ae9e2 clang-format : pcsx2/gui/MainFrame.cpp
clang-format : pcsx2/gui/MainFrame.cpp
2021-04-23 00:17:07 +02:00
Mrlinkwii
d7851132c4 GUI: change window to debug and move blockdump to to debug
GUI: change window to debug and  move blockdump to  to debug
2021-04-23 00:17:07 +02:00
refractionpcsx2
6f7890b709 microVU: Fix mistake when setting Status Flag bits for Signed/Zero 2021-04-19 10:55:33 +01:00
dependabot[bot]
d3be481327 build(deps): bump actions/cache from v2.1.4 to v2.1.5
Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...1a9e2138d905efd099035b49d8b7a3888c653ca8)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 08:34:26 +02:00
tellowkrinkle
256afa8b9d clang-format: change alignment settings 2021-04-18 17:39:09 -05:00
Tyler Wilding
770eb0bdaf github: Beef up the CONTRIBUTING file and point people there for best-practices 2021-04-19 00:37:46 +02:00
Tyler Wilding
6e8578ff6c github: Add PULL_REQUEST template 2021-04-19 00:37:46 +02:00
Tyler Wilding
5e585c69ff github: Move CONTRIBUTING file into .github folder 2021-04-19 00:37:46 +02:00
TellowKrinkle
3db5e42b96 GSdx: Add clang-format off/on to parts clang-format breaks really badly on 2021-04-17 05:11:33 -05:00
TellowKrinkle
ae1bc651d6 GSdx: Format 2021-04-17 05:11:33 -05:00
lightningterror
fafbb3cc63 gsdx: Clean up a few warnings. 2021-04-13 02:05:18 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6251c3f8ab gsvector: fix forgotten elif during purge 2021-04-13 02:04:16 +02:00
tellowkrinkle
1e60161932 ghactions: brew update before installing in macOS
Should fix issues with homebrew's old package provider shutting down
2021-04-12 15:04:05 -05:00
Tyler Wilding
6cc969a89c ci: Automatically label pull requests 2021-04-10 20:41:01 +02:00
KrossX
0235bec410 PAD: Just enable pressure on CMD 0x4F 2021-04-10 19:46:30 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
12e9ddfa2b core: change sse4 fatal error to sse4.1 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8a9ec4c706 core: purge sse2 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5509bfc003 spu2: purge sse2 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
48f51b3ce3 gs: purge sse2/sse3 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6bc31a0023 cmake: make sse4 default 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fb1f73fbd4 sln: remove SSE4 from build options, make SSE4 default 2021-04-10 19:16:42 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
970dfb9cfd buildbot: change default target because of sse2 purge 2021-04-10 19:16:42 +02:00
pgert
87daea8a06 GUI > SpeedhacksPanel: textstringcorrections 2021-04-10 13:31:58 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
edeb0d7bd7 ipc: keep previous file socket formatting 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1d93cd25e5 ipc: switch to std::string, more readable code + fixes memleak 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80cd65d347 ipc: remove possible memory corruption due to strcat on provided pointer 2021-04-09 11:30:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4a2482e950 ipc: implement MsgStatus 2021-04-09 11:29:58 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
bc6e5213a0 ipc: implement MsgGameVersion 2021-04-09 11:29:58 +01:00
lightningterror
434a06cb72 gsdx-gui: Remove partial and full crc hack levels on release builds.
Normal users shouldn't really need to choose partial or full since
automatic already does that.
Keep the options on debug for testing only.
2021-04-08 21:17:07 +02:00
lightningterror
05a31bd656 pad-linux: Update to latest controller database. 2021-04-07 13:32:23 +02:00
refractionpcsx2
b60765e976 Gif: Remove MTVU spam that isn't required
Solves stuttering in MTVU mode in some games, and gets rid of some annoying asserts which mean nothing.
2021-04-05 04:45:04 +01:00
lightningterror
c61566dec0 misc: Enable GS debugger on CI artifacts. 2021-04-05 00:23:31 +02:00
RedDevilus
0fe9a9535e SPU2: Change default of latency slider
Linux: 300 to 100 (which should be fine for everyone.
Windows: Change the steps to start from 3 and increment on higher numbers instead of 0.5 steps which is just stupid to be that granular.
2021-04-04 23:18:07 +01:00
lightningterror
048356a393 pad-linux: Update to latest controller database. 2021-04-02 05:57:15 +02:00
RedDevilus
7704960e1d GUI-Speedhacks: Grayout Instant VU1 when MTVU is enabled
MTVU checked + Instant VU1 checked = MTVU is on
MTVU checked + Instant VU1 off = MTVU is on
Essentially it doesn’t matter for Instant VU1 be checked or unchecked if MTVU is checked.
MTVU off + Instant VU1 checked = Instant VU1 is on
MTVU off + Instant VU1 off = both are off

Instant VU1 enabled is the old behaviour (so think of it always being enabled in the past). Some games however don’t like this and for those few games they should be off, those kind of games should’ve normally been added as an automatic gamefix or will be in the future.
2021-04-02 00:36:51 +01:00
ty
e36199c499 Misc:Debugger: Support write-only GS priv reads 2021-04-01 16:32:47 +02:00
ty
9ea1610d37 Misc:Debugger: Bios thread view support 2021-04-01 16:30:55 +02:00
Jonathan Li
a6fac1e009 gsdx:windows: Fix incorrect printf specifier 2021-03-27 18:51:17 +00:00
Jonathan Li
157add3eea gsdx:windows: Handle capture dialog filenames properly
The capture dialog filename handling code did not handle non-English
filenames properly.

Fix the filename handling by working in Unicode only and avoiding
unnecessary and incorrect string conversions.
2021-03-27 18:51:17 +00:00
Jonathan Li
d81f236910 gsdx:windows: Handle shader dialog filenames properly
The shader dialog filename handling code had several buffer overflows
and also did not handle non-English filenames well.

Fix the filename handling by storing them as UTF-8 in the ini and
converting them to/from UTF-16 as necessary, and also fix the buffer
overflows.
2021-03-27 18:51:17 +00:00
Jonathan Li
dedd860d40 windows: Add utf-16 to utf-8 conversion function 2021-03-27 18:51:17 +00:00
KrossX
294e54c42b PAD: Add one more byte to umask. (#4305)
Seems to be enough to fix Warriors of Might and Magic.

Increased savestate version since it changes the size of the PadFreezeData struct.
2021-03-26 23:23:03 +01:00
ty
690dae5c17 Misc: Support another bios for the debugger threadlist 2021-03-26 14:26:31 +01:00
Tyler Wilding
72eafeaf40 docs: Hide PDF metadata from rendered markdown in github 2021-03-26 14:24:02 +01:00
Kojin
51253193e0 msbuild: fix libchdr include directory
I don't know what PublicIncludeDirectories is, it's not documented anywhere by MS.
Even if it doesn't fix the bot, it's at least consistent now.
2021-03-25 19:28:56 -04:00
TellowKrinkle
4a55f7b845 Upgrade libchdr
Fixes things getting built as dylibs
2021-03-25 17:12:55 -04:00
lightningterror
bc477e1ce1 pad-linux: Update to latest controller database. 2021-03-23 17:56:18 +01:00
Romain TISSERAND
b436898d2a Formatting: clang-format + copyright headers 2021-03-23 11:06:48 +00:00
Romain TISSERAND
742b829c82 MSVC: fix libchdr integration 2021-03-23 11:06:48 +00:00
Romain TISSERAND
c5196b4ebf cmake: Fix libchdr clang CI faliure 2021-03-23 11:06:48 +00:00
SleepyMan
0599e675a0 CDVD: Add support for CHD format 2021-03-23 11:06:48 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3dc5162079 gsdump: change the location of the settings button 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6c73256196 gsdump: add a settings button; add safety checks for user missing braincells 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5b312866d gsdump: disable renderer switch keybind on debug 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cf46e52035 gsdump: simplify a switch case and do-while 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
475e5865d7 gsdump: move all gui porcelains to main thread and code reorg 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1248aa95cb gsdump: make wxwidgets highlight selected packet on debug mode 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ce24c87a3f gsdump: implem debug button functions & disable in release & minimize 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2076b90d92 gsdump: filter fswatcher events & rename the app 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
06fa29678b gsdump: ensure q is printed as float 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
00d680f4bd gsdump: reset state when dump is invalid & ensure you can't run it if started 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d6a671d4ae gsdump: add enter+dclick selection on lv + fix rd crash lifetime switch 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
501225c630 gsdump: force close-shutdown when gsdump is the callee 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f407c5aabd gsdump: switch to Add instead of += overloading, unlink about and gsdump 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8b52111cf gsdump: remove the list refresh when stopping the dump 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1851595aff gsdump: disable run button when already running 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6249831bb9 gsdump: implement renderer overrides, fix linux GSRT, remove GS assert 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0020568823 gsdump: make our own window, handle close event, make our own vsync timers 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a4e01d4593 gsdump: fix parsing of last packet in non debug mode and code simplification 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3cfc00b355 gsdump: move to unique_ptr & references and fix GS hanging bug 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
49f566dc9f gsdump: add automatic fs watcher for dumps list & remove todo 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4280ee1f0a gsdump: add message when failing to load dump, fix dumps without preview image 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3bb8fcf655 gsdump: various logic and code formatting improvements 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
65291ace12 gsdump: fix crash on shutdown & ui refinement work 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7674545814 gsdump: use automatically initialized vectors 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d86d9f66a9 gsdump: add missing gifreg naming, fix vsync type casting & formatting 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
db2b487247 gsdump: fix casting on vsync type field 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
29356ef465 gsdump: fix windows filters & clear up warnings & unix builds 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dae36f59d2 gsdump: new freeze definition, the dump now gets correctly loaded in memory 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6840041ee6 gsdump: use correct plugin lifetime callbacks 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9bfc82cfc7 gsdump: switch processing into a thread 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c9201111ab gsdump; packet reg parser finalized and confirmed complete 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3ef92baa74 gsdump: wxwidgets ux improvements 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
423f677264 gsdump: finalize reg parsing, we are theoretically at feature parity 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7412d1ac43 gsdump: finish implement reg tree subparsing 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2068f3fc60 gsdump: implementing some reg packet parsers 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
82c99695d7 gsdump: enum to string mapping thanks to preprocessor magic 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9ee7e01bf gsdump: vastly simplify string exports & beginning to work on reg browser 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8817e71c99 gsdump: packet browser fields implemented up to prim 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3beb47f8d9 gsdump: implement basics of the packet browser 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
de38219927 gsdump: parse gsdump packets into treeview 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e208c0f8cf gsdump: wiring up buttons 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ca33ccc60e gsdump: debug mode messages implemented 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7c0fc3b777 gsdump: initial implem of standard replay mode done 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
20d825b054 gsdump: initial implementation of gssdump event processing 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d579dc16f1 gsdump: dump fully parsed 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ba7b18032 gsdump: initial parsing of the dump file 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fa0deffc5d GSDump: implement layout of dump replay 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e94b5f9e54 GSDump: initial implementation of the run feature 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1df1de64f GSDump: implement dump preview 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1f5c0639b9 GSDump: initial windows port 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dedd82747a GSDump: add some basic event handling 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d5e8fc6fea GSDump: further painful work on the UI, preview icon added 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
794ef66392 GSDump: very early draft of the UI 2021-03-22 23:37:24 -04:00
Tyler Wilding
0dffc13e49 gui: Visually indicate the current savestate slot in the load/save menu 2021-03-22 08:40:53 +01:00
TellowKrinkle
9a435c1a7e GSdx: Re-add __forceinline to GSVector functions
Looks like MSVC isn't smart enough to inline things properly
2021-03-22 02:09:31 -04:00
TellowKrinkle
fcee1e5496 GSdx: Don't use constexpr vector constructors at runtime
The MSVC implementation is slow
2021-03-22 02:09:31 -04:00
TellowKrinkle
f8b8b5db13 GSdx: Compiler check for const initialization of vectors
Make sure we don't accidentally end up with a vector-based non-const initialization
2021-03-22 02:09:31 -04:00
Kojin
5ac4b41281 gs: remove some pesky asserts 2021-03-22 02:07:54 -04:00
Silent
68d8840075 USB: Improve Force Feedback test so it doesn't block UI 2021-03-20 23:01:11 +02:00
RedPanda4552
0af847bd29 Change visibility of end of file error
We want this to be visible at all times so ISO damage issues are more visible without enabling advanced logs. Conversely, we don't want this to show up as a big red error, since it is not necessarily a critical error as mentioned in li's comment.
2021-03-20 04:54:38 +00:00
Tyler Wilding
af98432881 ci: Stop caching submodules, no consistent way to detect changes
There doesn't seem to be an obvious way to detect a submodule change.  If the TAG was put inside the `gitmodules` file that would be another thing, but it isn't.  So after a new submodule is added, the cache is never evicted (for instance in this PR's case, where an existing submodule is bumped to a new commit)
2021-03-20 04:20:43 +01:00
Tyler Wilding
b819cfcbe8 cmake: Update minimum {fmt} version 2021-03-20 04:20:43 +01:00
Tyler Wilding
501a714b98 deps: Update {fmt} to 7.1.3 2021-03-20 04:20:43 +01:00
refractionpcsx2
d55ddd4795 GameDB: Elvandia Story, favour full clamping instead 2021-03-19 11:41:16 +00:00
refractionpcsx2
37221a5fe5 GameDB: Add clamp mode setting for Elvandia Story 2021-03-19 09:54:17 +00:00
lightningterror
5e27e6dd78 pad-windows: Fix a couple of warnings, make codacy happy. 2021-03-18 19:28:34 +01:00
ty
0a3f380718 Misc: Support 21 more BIOSes for the Debugger Thread View 2021-03-17 18:32:19 +00:00
ty
794e2e47d0 Debugger: Require emulator start before enabling Break/Run button 2021-03-17 15:39:11 +00:00
ty
e18ee42afc Misc: Fix various DebugTools Codacy complaints 2021-03-16 17:38:54 +00:00
Mrlinkwii
789c619169 Misc: cleanup more MD codacy issues 2021-03-15 15:48:27 +00:00
RedDevilus
ad4a5f9ef4 Misc: Fix regression in templates (#4299) 2021-03-15 13:57:46 +00:00
Florin9doi
b2b8bfc433 Change wheel type to device subtype 2021-03-14 23:29:43 +02:00
lightningterror
f6e12f82de gsdx-hw: Remove Bully crc hack.
Hack breaks a bunch of effects, upscaling issues can be fixed with
texture offset hw hack.
2021-03-14 21:19:02 +01:00
lightningterror
b68e8f059b gsdx-d3d11: Cleanup some gsdevice11.cpp warnings reported on codacy. 2021-03-14 21:08:17 +01:00
lightningterror
8d977d43bb pad-linux: Update to latest controller database. 2021-03-14 20:58:51 +01:00
Pierre GRASSER
be89e23030 GameDB: renamed Rogue Galaxy Director's Cut and added kozarovv's patch 2021-03-13 02:03:06 +00:00
RedDevilus
4840d1db93 Misc: cleanup MD codacy issues
Not the worst issues, we could still block or revise the styling rules where it's complaining.
2021-03-13 02:00:18 +00:00
sonicfind
bb39276ccc Input-recording: Prompt a file dialog when the base savestate can't be located
The chosen file (if one is made in the dialog window) will be saved and used as the base from then on (until the recording is stopped).
2021-03-12 15:58:43 +00:00
sonicfind
a74609d321 GUI: Additonal text and prompts with an active savestate recording 2021-03-12 15:58:43 +00:00
sonicfind
ceb7eaaf47 GUI: Visually alter status bar and Boot menu option while an input recording is active
+ Defines GSPanel method for generating the string keycode for a command
2021-03-12 15:58:43 +00:00
sonicfind
c664a48f26 Input-recording: Add new FirstFrame function
Jumps emulation to the initial state of an active input recording file whether boost or savestate. Makes it easier to reset savestate-based recordings.
* Overrides the Boot ISO/CDVD/Bios menu option.
2021-03-12 15:58:43 +00:00
sonicfind
7b9c8634f4 Capture: Swap int return types with bool
Additionally fix SPU2 error message
2021-03-12 13:22:40 +00:00
sonicfind
df446510da Capture: Introduce audio toggle setting
Allows a user to toggle recording an audio .wav file alongside the video .avi file before capturing.
2021-03-12 13:22:40 +00:00
sonicfind
c60cdbba07 Capture: Optimizations with filenames, audio, and capture mainFrame gui
*Resulting .wavs should get saved in the same location as the video file on linux
*Keep gui capture state consistent regardless of the method used to start recording
*Reworked mainFrame capture menu video options to route to a single toggleCapture_click function
*Split GS & SPU2 recording into start & end functions
2021-03-12 13:22:40 +00:00
sonicfind
1e5e742601 recording: Fix issue with drawing VPads 2021-03-12 13:22:29 +00:00
sonicfind
0a88fe1f3b recording: Remove frameLock check at the end of a frame 2021-03-12 13:22:29 +00:00
sonicfind
d49acfc087 recording: Complete separation of pasuing execution
Unhooks the execution of emulation pausing from pre-set static frame counts
2021-03-12 13:22:29 +00:00
sonicfind
b5b74388f4 recording: Reposition inputRecordingControl function execution in vsync
* No longer calls HandleFrameAdvanceAndPausing() more than once per frame. No need to increment frameCountTracker.
* Splits framelocking into its own function (which could harmlessly get called more than once per frame).
2021-03-12 13:22:29 +00:00
Tyler Wilding
b7d01b4889 gui: Don't check if the backup menu option should be enabled every UI event 2021-03-12 13:22:17 +00:00
Tyler Wilding
717677402c gui: Simplify function and solve unlikely edge-case
If backups are enabled, the .backup file will have already been created via renaming the original save-state. The asynchronous process is dumping the current emulation state, but by the time we've hit this function the rename has already taken place so we have a guarantee.

    This solves a potential bug in the existing code (which probably would have never been hit):
        Save to slot that has no current backup
        Rename fails
        Update method looks for the file without .backup, which is still there.
        Load backup option is enabled despite there not actually being a backup to load.
2021-03-12 13:22:17 +00:00
Tyler Wilding
288c8fedce gui: Enable backup saveslot when game is first loaded, if available 2021-03-12 13:22:17 +00:00
refractionpcsx2
f2525acedf LibSampleRate: Fix configs so Singstar mic works 2021-03-11 10:14:49 +00:00
refractionpcsx2
ec09699fb0 3rd Party: Update Libsamplerate to 0.2.1 2021-03-11 10:14:49 +00:00
Christian Kenny
693de2a9dd IPU: Remove useless define/includes 2021-03-11 10:13:44 +00:00
lightningterror
7d875076e2 cmake: Remove unused dependency logs. 2021-03-09 16:15:58 +01:00
lightningterror
880b93246c pad-linux: Update to latest controller database. 2021-03-09 16:00:46 +01:00
refractionpcsx2
b33321d6c6 GameDB: Added VU0 Kickstart for Ghosthunter 2021-03-07 19:51:47 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d24450f4a9 IPC: Fix type polymorphism & checkbox 2021-03-06 11:13:21 -05:00
TellowKrinkle
862518e7da gsdx: Use constexpr to initialize avx vectors without avx instructions 2021-03-05 17:33:26 -06:00
Tyler Wilding
8117df5644 CI: Add Codacy config file and README badge 2021-03-05 18:57:09 +01:00
ty
cb56b3f76b Debugger: Add "Go to address" for both disasm and memory view 2021-03-05 15:53:33 +00:00
Immersion95
1bb398c6c2 GameDB: Add kozarovv's KOF '94 Rebout - NTSC-J patch 2021-03-05 15:17:29 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1949c586f3 IPC: formatting & typo 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
23897eca23 IPC: windows port 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
df7ee3b166 IPC: add safety warranty on slot numbers 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0142d33d5c IPC: make dialog close when pressing enter 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
52c1d027ee IPC: add the settings dialog 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0be35a3799 IPC: make per emulator configuration a bit easier 2021-03-05 15:15:28 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
119942b7a4 IPC: add slot init 2021-03-05 15:15:28 +00:00
Ignaz Forster
b6246a7ba4 Fix compilation in path with spaces
Compilation with the default settings failed when downloading PCSX2 into
a directory with spaces somewhere in its path:
* In CompileGResources.cmake the paths had been escaped already, resulting
  in double escaping the strings (i.e. embedding them in quotes _and_
  escaping spaces with a backslash. cmake wasn't able to parse the line
  any more.
* In pcsx2/CMakeLists.txt the paths were not escaped, but also not
  embedded in quotes, resulting in an invalid Bash command.
This commit fixes these cases (but is neither a review to find all cases
or making sure other characters such as a newline character would work).
2021-03-02 22:39:26 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a40e6ba693 IPC: avoid deadlocks 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
49dc994351 IPC: specify UTF-8 to avoid variadic traps on wxwidgets 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5ea864f09d IPC: add GetGameUUID 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
30024767ea IPC: add GetGameID 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
593e44ca54 clang-format: AppCoreThread.h 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0dee88e805 IPC: add GetTitle 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5153d9a198 IPC: add LoadState 2021-03-02 11:05:18 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e651147c53 IPC: add SaveState 2021-03-02 11:05:18 +01:00
ty
047e63ee5f GSdx: Switch tooltips to unicode 2021-03-02 00:35:25 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b7bb3daa9d IPC: keep reusing the same socket to avoid windows overfill & better perf 2021-03-01 10:24:42 +00:00
jackun
3f9ea1d01b USB: remove lingering if and lock pulseaudio's recording ringbuffer earlier just in case 2021-03-01 10:07:06 +02:00
RedPanda4552
9cfe1b88fc GameDB: Add improved Xenosaga save crash prevention patch (#4259) 2021-02-28 21:30:57 +00:00
refractionpcsx2
951cce7543 microVU: move the overflow flags to the correct position... 2021-02-28 05:21:18 +00:00
refractionpcsx2
f9d96f55a5 microVU: Remove SSE4 op from Overflow flag checks + clean up the code 2021-02-28 01:20:38 +00:00
refractionpcsx2
cc9c3a2a28 GameDB: Add VU0 Kickstart for Simpsons Road Rage 2021-02-28 00:35:29 +00:00
Mrlinkwii
db4d4ed278 GameDB: Remove patches from lam manger 2003 and flipnic
GameDB: Remove patches from lam manger 2003 and flipnic
2021-02-27 21:38:59 +00:00
lightningterror
dbddc3dd75 readme: Update cpu requierements to minimum sse4. 2021-02-27 21:51:28 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8f65dc427 GS: switch debug output to the ASCII variant by default 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f3d31a1946 GS: fix LPARAM casted wchar transformation 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1cbd959ae8 GS: fix unix compatibility 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8bfe851446 GS: finish unicode conversion, fix signature inheritance and non wchar external import 2021-02-27 20:43:40 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5917029788 GS: initial switch to unicode 2021-02-27 20:43:40 +00:00
refractionpcsx2
7512c01ca6 GameDB: Removed no longer required FMV skip patches
Games are:
BDFL Manager 2005 (EU)
F1 Racing Championship (Japan and EU regions)
Paris-Dakar Rally (EU)
2021-02-27 06:11:23 +00:00
refractionpcsx2
f42befadf1 SPU: Try to recover DMA pointer after savestate load 2021-02-27 04:10:32 +00:00
Tupelov
e42d506a64 Patch System: Support Little Endian values for non-extended (#4255)
Allows users to use the leshort, leword, and ledouble datatypes inside their patches. Using these datatypes ensures that values in the memory view appear the same as the values in the patch.
This was made with easing patch development in mind as now developers can make patches without having to reverse endianness. This is especially useful when using programs like ghidra who display an instructions bytes in little endian.
2021-02-27 03:38:12 +00:00
kozarovv
9e3fb9f3ce GameDB: Fix KOF98 patches 2021-02-25 20:38:21 +00:00
TheLastRar
3806c93867 DEV9: Don't import pcap_bufsize
This got accidentally re-added in 4b722cc253
2021-02-25 19:40:15 +00:00
refractionpcsx2
4b71dd3c08 GameDB: Remove patches for Quake 3 videos, no longer required 2021-02-25 18:06:15 +00:00
ty
10e995aa06 IOP: Implement memchecks for the interpreter 2021-02-24 18:31:17 +00:00
ty
e1df43703c IOP: Execute breakpoints for the interpreter 2021-02-24 18:31:17 +00:00
ty
b088ee69cd COP0: Preserve read only fields IC and DC in the config register 2021-02-24 17:44:14 +00:00
Mrlinkwii
0a8ac3ba04 GameDB: Add entries for Tourist Trophy demo and GT3 trial (#4246) 2021-02-23 21:25:31 +00:00
lightningterror
2243b56115 spu2: Rename spu2x to SPU2 in some logs. 2021-02-23 18:18:07 +01:00
lightningterror
87eb7f1e1f build-linux: Remove EXTRA_PLUGINS flag.
There are no extra plugins.
2021-02-23 16:45:47 +01:00
KrossX
9db778a1ed Avoid presets from resetting VsyncQueueSize 2021-02-23 15:34:41 +00:00
Romain TISSERAND
7295837135 Build: Drop GSnull plugim
Fixes #4242
2021-02-23 09:19:06 +00:00
lightningterror
513f377a8f pad-linux: Update to latest controller database.
Close #4237
2021-02-23 08:34:11 +01:00
kozarovv
25628d09e6 GameDB: Add patches for KOF series
Fix for Depth precision.
Game fills upper 16bits of depth with 0xFFFF.
This results in a really high 32 bit value which is then converted to float because both hw and sw renderers lack double precision the lower 16 bits of the initial 32 bit value lose precision.
2021-02-23 00:30:29 +00:00
Oschowa
f62636e893 SPU2/SDL: Remove intermediate buffer and write samples directly to the
buffer provided by the SDL callback.
2021-02-23 00:29:58 +00:00
RedPanda4552
c5a243ba43 Prevent Vsync setting from being wiped on preset changes 2021-02-23 00:29:18 +00:00
Christian Kenny
e9e7974b15 Common: Remove obsolete/unused code 2021-02-23 00:28:53 +00:00
refractionpcsx2
e703a7b5b7 IPU: Flush DMA if BCLR called without stopping DMA
* Set VDEC Picture type to I-Picture if none selected in IPU_CTRL
2021-02-23 00:27:47 +00:00
refractionpcsx2
40d9e13334 IPU: Fill Input FIFO on command end ready for next command 2021-02-23 00:27:47 +00:00
Ziemas
32eac3ff13 SPU2: Fix windows 2021-02-23 00:27:33 +00:00
Ziemas
64c526ede2 SPU2: Optimize reverb upsampling
Skip the 0 coefs here as well.
2021-02-23 00:27:33 +00:00
Ziemas
458f22d214 SPU2: Optimize reverb downsampling.
Skip multiplying the 0's
2021-02-23 00:27:33 +00:00
Ziemas
599d25c59b SPU2: Reverb resampling, now upwards as well
Using the same filter as the downsampling
2021-02-23 00:27:33 +00:00
Ziemas
390391e119 SPU2: Downsample reverb input
These filter coefficients come from mednafen, I think they were
originally found by Neill Corlett.

I have not personally verified their accuracy.
2021-02-23 00:27:33 +00:00
ty
bbf248fc46 CDVD: Implement mechacon command 0xEF 2021-02-23 00:22:16 +00:00
Mrlinkwii
d4b1a0daa5 GameDB:corrects various singstar enteries (#4238)
GameDB: Correct and modify SingStar entries
2021-02-23 00:21:49 +00:00
jackun
edf3b43e2f USB: Don't remap R1/L1 to R2/L2 for Driving Force wheel 2021-02-22 14:18:00 +02:00
lightningterror
14edc2246e usb-gui-windows: Better align/position text and buttons.
Could be better.
2021-02-22 13:18:20 +01:00
RedDevilus
398a2dfd30 GameDB: Cleanup names + add new serials
I was expecting to add some more serials to SLUS (NTSC) but it seems to be more well maintained than the SLES (PAL). Most additions are demos but there are some normal full entries . Minor fixups on SLUS and other regions for names.
2021-02-21 21:46:49 +00:00
Romain TISSERAND
7acc51ef67 Fix Linux build not compiling afer commit a37e62337d
Missing include leads to wxTheApp macro not being defined and throw errors (GCC 10, Linux x86_64)
2021-02-21 21:04:46 +00:00
Florin9doi
7e10e4d6eb USB: eyetoy mirroring 2021-02-21 18:38:32 +00:00
lightningterror
7801682377 pad-linux: Update to latest controller database. 2021-02-21 05:46:29 +01:00
jackun
c695a7eabb USB: usb-mic: send 1ms worth of samples for 48kHz and 8kHz sample rates 2021-02-21 04:42:12 +02:00
ty
aa338d234d GSDX: Update OOM message 2021-02-20 18:42:26 +00:00
Nobbs66
1b931172fb PGIF- Fix Castlevania SoTN
PS1DRV handles bit 28 of GPU Status register, not PGIF. This fixes several games.
2021-02-20 17:53:50 +00:00
refractionpcsx2
84913da5b9 GameDB: Added Myst III - Exile patch for EU version 2021-02-20 16:15:33 +00:00
Christian Kenny
c59f1bfea6 SPU2: Add interpolate_table.h to VC project filter 2021-02-20 06:00:15 +00:00
Christian Kenny
993af8c19e SPU2: Purge SPU2Replay 2021-02-20 06:00:15 +00:00
refractionpcsx2
20e2a4055c GameDB: Remove patch for SX Superstar. No longer required 2021-02-20 01:55:19 +00:00
refractionpcsx2
8dcaa48651 GameDB: Patch for Myst 3: Exile IPU timing problems.
P.S. Game totally sucks
2021-02-20 00:31:38 +00:00
refractionpcsx2
ce8047bd8c SPU2: Reset IRQ Status when swapping game in case it got set previously 2021-02-19 10:02:45 +00:00
TheLastRar
4b722cc253 DEV9: Move Windows pcap function list to it's own file 2021-02-17 20:06:54 +00:00
TheLastRar
c121b180be DEV9: Use unique_ptr to manage buffer lifetime 2021-02-17 20:06:54 +00:00
TheLastRar
a8d1a7cba1 DEV9: Inline if in dialog code 2021-02-17 20:06:54 +00:00
TheLastRar
5d111636b4 DEV9: Clang format 2021-02-17 20:06:54 +00:00
TheLastRar
c634f2e6e3 DEV9: Retry if GetAdaptersAddresses() returns ERROR_BUFFER_OVERFLOW 2021-02-17 20:06:54 +00:00
TheLastRar
2473d626d8 DEV9: Don't import Npcap only functions
Comment out functions not present in winPcap
2021-02-17 20:06:54 +00:00
TheLastRar
4507712a72 DEV9: Re-add winpcap bridged 2021-02-17 20:06:54 +00:00
TheLastRar
2e8ca89f3d DEV9: Move Tap's packet verification into NetAdapter
Make pcap use it for addition of bridge mode
2021-02-17 20:06:54 +00:00
TheLastRar
82493343fa DEV9: Only log packets in debug mode 2021-02-17 20:06:54 +00:00
TheLastRar
33b6cbc2a9 DEV9: Use FriendlyName for Pcap adapters on windows 2021-02-17 20:06:54 +00:00
TheLastRar
802c18cb68 DEV9: Remove unneeded functions 2021-02-17 20:06:54 +00:00
TheLastRar
31606db6fe DEV9: Match Win32 adapter with Pcap adapter using GUID
When getting the source mac to generate the PS2 mac
2021-02-17 20:06:54 +00:00
TheLastRar
1144cc9ad9 DEV9: Re-enable windows support 2021-02-17 20:06:54 +00:00
TheLastRar
df6c0b610b DEV9: Add dynamic loader for pcap on windows 2021-02-17 20:06:54 +00:00
TheLastRar
e01bba4525 Deps: Add pcap includes
From Npcap SDK 1.06
2021-02-17 20:06:54 +00:00
TheLastRar
4c287191cd DEV9: Save selected api along with selected ethernet device
Also unified GetNetAdapter()
2021-02-17 20:06:54 +00:00
TheLastRar
e883e93f52 Common: Clang format PS2Ext.h 2021-02-17 15:07:10 +00:00
TheLastRar
a37e62337d Common: Allow calling SysMessage off the main thread on linux
DEV9 uses this when it can't open the selected adapter, and calls it from the EE thread
2021-02-17 15:07:10 +00:00
TheLastRar
6177f89c3f DEV9: Use PS2Ext.h SysMessage() on Linux
We still need to use the narrow char SysMessage() on windows
2021-02-17 15:07:10 +00:00
TheLastRar
81fd8e011f DEV9: Apply settings if configuration was performed during emulation 2021-02-17 14:36:21 +00:00
TheLastRar
0800cdbbc2 DEV9: Merge _DEV9open into InitNet, and check ethEnable before calling 2021-02-17 14:36:21 +00:00
lightningterror
7187b883b0 recording: Fix compilation when DISABLE_RECORDING is defined. 2021-02-12 08:10:46 +01:00
Ziemas
ef6b65afb4 SPU2: Add SPU interpolation option on windows 2021-02-11 21:49:10 +00:00
Ziemas
7f362de7db SPU2: Default to gaussian interpolation 2021-02-11 21:49:10 +00:00
Ziemas
d72a49ad5c SPU2: Add header to build files 2021-02-11 21:49:10 +00:00
Ziemas
4c166eb3e3 SPU2: SPU-style gaussian interpolation 2021-02-11 21:49:10 +00:00
Ziemas
66b2659a47 SPU2: Correct sample index advancement 2021-02-11 21:49:10 +00:00
refractionpcsx2
efe0ceb588 Counters: Add Vsync information to savestates + bump savestate version.
I honestly don't know *why* this wasn't in there already....
2021-02-11 21:34:51 +00:00
lightningterror
02bf212789 pad-linux: Update to latest controller database.
Close #4218
2021-02-09 15:50:44 +01:00
dependabot[bot]
5804af6b6c Bump actions/cache from v2 to v2.1.4
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-08 17:35:23 +01:00
lightningterror
7c072094ae gsdx-hw: Always enable blending if env pabe is 1. 2021-02-06 15:41:10 +01:00
lightningterror
37089065ba gsdx-hw: Implement per pixel alpha blending (PABE).
Fixes Strawberry Shortcake character lighting/face shadow.
Fixes Cartoon Network Racing shadows.

Credits to Kojin.
2021-02-06 15:41:10 +01:00
lightningterror
d993e4ebc8 misc: Update feature request template.
Exclude libretro feature requests.
2021-02-06 15:36:44 +01:00
RedDevilus
0ec98e32d4 GameDB: Add missing Speed Kings patches (#4211)
GameDB: Added Speed Kings patches for ingame hang
2021-02-04 19:45:13 +00:00
Ziemas
d55c611947 SPU2: Adjust interpolation implementations.
These seems to be have been adjusted to match the output of catmull-rom
which is really the one in the wrong by being twice as loud.

As a result of the the interpolated output being at a reasonable level
we can use ApplyVolume to apply the ADSR volume.
2021-02-04 13:02:20 +00:00
kozarovv
f3b6868e51 GameDB: Add missing GoemonTLB Hack 2021-02-04 10:19:34 +00:00
TellowKrinkle
4105fe41fb Pad: formatting
Clang format why
2021-02-04 01:26:37 -06:00
TellowKrinkle
84e0f315ad Pad: fix crash on touching disabled slider in macOS 2021-02-04 01:26:37 -06:00
TellowKrinkle
4890a26ae0 Pad: Don't Destroy() modals
On macOS it prevents the parent window from regaining focus
Also remove OK/Cancel buttons JoystickConfiguration, they already obey the Cancel/Apply/OK of the parent
2021-02-04 01:26:37 -06:00
tellowkrinkle
1470315356 Fix compile of eeProfiler 2021-02-03 20:44:03 -06:00
lightningterror
456ea95794 pad-linux: Update to latest controller database. 2021-02-04 03:34:28 +01:00
refractionpcsx2
de6c1f88dc GameDB: Patch for Dragon Quest & Final Fantasy in Itadaki Street
Fixes missing board items
2021-02-04 01:18:21 +00:00
refractionpcsx2
712a922cc5 SPU2: Make sure cache hits match previous block decoded samples
Caching blocks of ADPCM is a bit sketchy because the previous samples (which it uses to generate the new ones) can change, so you can end up with blips and glitches in the sample stream, this should avoid that problem whilst not making the cache completely unusable.
2021-02-03 16:23:42 +00:00
refractionpcsx2
97ed78109c SPU: Wait 2T when keying on a voice
Just like Delay cycles used to do, but done better and tested on a PS2 to get the correct timings
2021-02-03 16:23:26 +00:00
refractionpcsx2
2415fd3415 SPU2: Ignore LSAL/H Writes after key on if voice sets loop point
Savestate bump again
2021-02-03 16:23:26 +00:00
t o
6a6fd48af9 CDVD.cpp: Cleared old reset from write14. Cleaned up logging and added comment. cdrom.cpp: fixed bad logging statements 2021-01-31 22:14:06 +00:00
kozarovv
983f6e28f5 microVU: Fix Esin opcode
Fix X2 - Wolverine's Revenge
2021-01-31 18:33:01 +00:00
lightningterror
6445af6eb2 dev9: Fix warning, add [[maybe_unused]] attribute. 2021-01-30 19:40:46 +01:00
lightningterror
376e699515 spu2: Fix a few warnings.
Cast DMAICounter to u32, hopefully it isn't negative.
2021-01-30 19:40:46 +01:00
refractionpcsx2
e0394921e9 SPU2: Tighten AutoDMA IRQ timing.
Fixes games which monitor the MADR while transferring.
Tom & Jerry War of the Whiskers was one game that suffered (Jumpy music)
2021-01-30 04:55:28 +00:00
Mrlinkwii
4624d2d175 Update GameIndex.yaml 2021-01-29 19:22:48 +00:00
RedDevilus
541dfdfc7f GSdx-GUI: Fix alignment of font
Should fix invisible characters and move hardware renderer settings 2px down.
Also make the full window and software renderer settings consistent at 2px towards the bottom.
2021-01-27 16:50:10 +01:00
refractionpcsx2
5b5b9cc6c9 SPU2: Fix up ReadInput_HiFi to proceed correctly
Make sure CDDA mode is handled separately
2021-01-27 00:03:09 +00:00
refractionpcsx2
9efcd9a096 SPU2: Improve SPDIF Bitstream Bypass on Core 0, track MADR
Required for GTA Vice City to work
2021-01-27 00:03:09 +00:00
refractionpcsx2
e15807eff8 SPU2: Minor improvements to ADMA Timing 2021-01-27 00:03:09 +00:00
refractionpcsx2
c7267d3665 SPU2: Handle partial ADMA Transfers 2021-01-27 00:03:09 +00:00
refractionpcsx2
7c37e86283 SPU2: Change input area updates for Hifi reads
Remove the no longer required InputPosRead
Bump Savestates
2021-01-27 00:03:09 +00:00
refractionpcsx2
4497532edb SPU2: Improve ADMA behaviour/timing 2021-01-27 00:03:09 +00:00
TellowKrinkle
b9a6dca4b4 i18n: Add window menu to WX string override list
WX's translation has mnemonics on macOS
2021-01-25 18:33:47 -06:00
TellowKrinkle
803bac5da0 macOS: Properly include GameIndex in app bundle 2021-01-25 18:33:47 -06:00
TellowKrinkle
91e8e0d33c macOS:i18n: Include translations in app bundle 2021-01-25 18:33:47 -06:00
TellowKrinkle
5470f7ff5e macOS: Use standard paths
Most macOS users expect applications to store their stuff in ~/Library/Application Support
Documents is protected on newer macOSes and requires users' explicit permission (and also may be cloud synced), and use of ~/ is fairly uncommon
2021-01-25 18:33:47 -06:00
lightningterror
dabfff8b35 gsdx-hw: Get rid of some extra branches/conditions in DATE selection. 2021-01-25 23:17:42 +01:00
lightningterror
e96d316d41 pad-linux: Update to latest controller database. 2021-01-25 09:31:10 +01:00
Ziemas
ff0c9334e6 SPU2: Fix pitch modulation 2021-01-24 03:47:43 +00:00
arcum42
34f665dc7e Deleted assorted unused headers and functions. (#4138) 2021-01-23 08:14:59 -08:00
lightningterror
18da716016 pad-linux: Update logs, db should be updated via upstream only. 2021-01-23 10:01:02 +01:00
jeltaqq
e3c40359d4 Repairing dead links 2021-01-23 06:55:41 +00:00
Mrlinkwii
0689f4bb36 GUI: Fix bios label capitalization. (#4165) 2021-01-21 19:57:25 +01:00
refractionpcsx2
2ffc6b3acd SPR: Wrap transfers which would have read outside of SPR memory 2021-01-20 18:41:04 +00:00
Tyler Wilding
99f8d2fa84 input-rec: Update the GS Frame's freq. properly on enabling/disabling 2021-01-19 04:37:08 +01:00
RedDevilus
cf33fb3ca1 GUI: Address review changes + Fix formatting + Misc fixes
- Change the wxitems to reflect a more appropiate name + change comment to explain the process of Custom hotkeys.
- Cycling savestates are now in the GUI but they are grayed out because it's only used like labels for now.
- The most essential custom hotkeys are now included.
- F8 Snapshot needs some future tinkering but atleast shows up correctly now
2021-01-18 16:40:38 +00:00
RedDevilus
028f468d26 pcsx2-gui: Clang format - pcsx2\gui\AppAccelerators.h - pcsx2\gui\GlobalCommands.cpp - pcsx2\gui\MainFrame.cpp - pcsx2\gui\MainFrame.h - pcsx2\gui\Panels\GSWindowPanel.cpp - pcsx2\gui\Panels\VideoPanel.cpp 2021-01-18 16:40:38 +00:00
RedDevilus
ee54396670 GUI: Implement custom hotkeys
- This will show `default hotkeys` from `PCSX2_keys.ini.default` or based on the `copy of PCSX2_keys.ini` that the user itself added to `inis folder` for changing it `for custom hotkeys`.
2021-01-18 16:40:38 +00:00
RedDevilus
5583a75eac GUI: Keyboard Shortcuts Strings
- This will add extra hotkeys to the GUI. You can look up https://wiki.pcsx2.net/Hotkeys for all of them (not everything is added from there)
2021-01-18 16:40:38 +00:00
RedDevilus
d841f27b25 GameDB: VU0Kickstart for Spartan Total Warrior
Fixes character SPS
2021-01-18 16:33:12 +00:00
ty
cebc531c13 Core: Implement proper %s handling for syscall 117 2021-01-17 18:06:18 +00:00
TheLastRar
b8858663f4 DEV9: Use DevCon/Console log functions & silence some logs 2021-01-17 14:04:45 +00:00
TheLastRar
53dfb8efb9 DEV9: Add missing pch include to linux specific files 2021-01-17 14:04:45 +00:00
TheLastRar
b501a1deae DEV9: Run clang format on ATA code 2021-01-17 14:04:45 +00:00
TheLastRar
dc3bd53f7b DEV9: Allow configuring HDD in UI & add progress UI for HDD creation 2021-01-17 14:04:45 +00:00
TheLastRar
31a3ee3cbc DEV9: Improved SPEED emulation, also hookup ATA emulation 2021-01-17 14:04:45 +00:00
TheLastRar
afc9412191 DEV9: move DMA size correction into DEV9read/writeDMA8Mem
ATA also needs the size correction, so do it in one place
2021-01-17 14:04:45 +00:00
TheLastRar
64bc5409d1 DEV9: support old config files that specify a file name, but no path 2021-01-17 14:04:45 +00:00
TheLastRar
b76abc3550 DEV9: Unicode support 2021-01-17 14:04:45 +00:00
TheLastRar
5640ee8a23 DEV9: Add ATA emulation & Hdd Creator code 2021-01-17 14:04:45 +00:00
TheLastRar
d32b583b3e DEV9: Tweak logging to ease debugging 2021-01-17 14:04:45 +00:00
TheLastRar
e0da758d1b DEV9: Add extra defines 2021-01-17 14:04:45 +00:00
TheLastRar
6c5b63707d DEV9: Fix wrong filter for net.cpp 2021-01-17 14:04:45 +00:00
refractionpcsx2
4f9ec8caa0 CDVD: Increase buffer for DVD_LAYER_DESCRIPTOR
Also added some extra messages if that fails (and not because it's a CD)
2021-01-17 13:45:39 +00:00
TheLastRar
e649ad8241 CORE: Allow ApplySettings to be called on the core thread during emulation
Needed for CDVD to apply gamefixes after a disc swap
2021-01-17 13:45:25 +00:00
TheLastRar
5826be9a74 Core: Attempt to fix CDVD regression 2021-01-17 13:45:25 +00:00
Tyler Wilding
406403cd8e docs: Automatically update links to use the latest tagged release 2021-01-16 21:56:23 +01:00
Tyler Wilding
3f8510eaae docs: Generate PDFs 2021-01-16 21:56:23 +01:00
Tyler Wilding
11eba8738c docs: Minor edits to existing markdown documentation 2021-01-16 21:56:23 +01:00
Tyler Wilding
cd0bda3ab4 docs: Add latex template for generating PDFs
From here https://github.com/Wandmalfarbe/pandoc-latex-template
Licensed under BSD-3-Clause
2021-01-16 21:56:23 +01:00
Tyler Wilding
464031e8d3 docs: Add script for generating PDFs from markdown, add usage info 2021-01-16 21:56:23 +01:00
Ziemas
6c81bb54f7 SPU2: Switch to a more accurate noise algorithm
This algorithm comes from pcsxr and is an implementation of Dr. Hell's
research. It's supposed to be very accurate.

Bumps savestate because of new SPU core struct members.
2021-01-15 21:16:06 +00:00
refractionpcsx2
f5d89062e0 SPU2: Update voices before DMA reads, reset OutPos on reset.
Improves the booting reliability of GTA VC, especially on consecutive boots without closing the emulator.
2021-01-15 20:53:04 +00:00
tellowkrinkle
0f685fbb49 ghactions:macos: Disable homebrew cleanup
Homebrew periodic cleanup and containers don't mix well, as the "every 30 days" turns into "every time", ends up wasting 1-2m of build time
2021-01-15 04:42:01 -06:00
tellowkrinkle
de3bb1b39d Fix usage of brew --cask
I guess it didn't like that
2021-01-14 23:23:56 -06:00
lightningterror
ade09b0630 pad-linux: Update to latest controller database.
Close #4137
2021-01-14 16:30:43 +01:00
refractionpcsx2
1e7b6d6dbe GameDB: Patch for Hot Wheels - Velocity X SPS issues. Fixes #4139 2021-01-14 10:10:38 +00:00
tellowkrinkle
23d436237c ghactions:macOS: Use brew --cask
brew cask was deprecated and later disabled, breaking our builds
2021-01-14 03:59:27 -06:00
refractionpcsx2
9f12d3a380 Counters: Remove additional Pad update for now, seems to break USB somewhat. 2021-01-14 08:11:43 +00:00
jackun
618940d78c USB: skip extra audio endpoint descriptor data so it doesn't get parsed twice 2021-01-14 09:04:31 +02:00
refractionpcsx2
538e5691f0 PAD/Counters: Make VSync Queue adjustable in the UI. Extra Pad update.
New UI option (ini option has been there a while) so users can choose between a little bit extra performance or better input lag. Also added the PAD Update to the VSync call in Counters as it seemed to improve Input lag marginally.
2021-01-13 23:50:38 +00:00
refractionpcsx2
9e23d15d51 GUI: Adjust description of DMA Busy hack 2021-01-13 14:22:07 +00:00
refractionpcsx2
f21fbc24cf GameFix: Modify how DMA Busy hack works
In IPU cases, it allows writes depending on what it's doing, in the case of other channels it waits until the transfer has finished.
2021-01-13 14:22:07 +00:00
jackun
efed4a07ef USB: safe_release dshow filters
Pausing/resuming could cause double-release.
2021-01-12 00:07:16 +02:00
ManDude
0d02d1e41b GameDB: Add korean Crash Bandicoot The Wrath of Cortex 2021-01-11 20:54:15 +00:00
TheLastRar
d6575ed267 GameDB: 'Network Access Disc & Hardware - Online Arena' needs InstantVU1 2021-01-11 20:32:19 +00:00
Tyler Wilding
9031c24fc7 ci: Improve windows artifact name
Add PR title if applicable, limit the length of the file to avoid file-name length issues.
Also put all contents of the artifact into a folder with the same name to simplify extraction.
2021-01-11 03:51:09 +01:00
refractionpcsx2
89991594de Vif: Clean up some old (incorrect) code. 2021-01-10 11:02:19 +00:00
refractionpcsx2
8ec4e40ae1 GameDB: Add missing rounding for Guitar Hero Metallica (US) 2021-01-10 11:00:46 +00:00
refractionpcsx2
262d36f49a GameDB: Added WRC patch by kozarovv to fix SPS 2021-01-10 10:33:44 +00:00
Pierre GRASSER
ec7116f2ed rawinput_usb.cpp: removed unused WM_ACTIVATE/SETFOCUS/KILLFOCUS logging (#4121)
* rawinput_usb.cpp: removed unneeded WM logging
2021-01-09 17:01:12 +00:00
TheLastRar
9468b04713 DEV9: adjusted logic for loading default MAC
Now a little less confusing
2021-01-09 00:06:29 +00:00
TheLastRar
5cdb6dcb12 DEV9: Replace pcap not supported messagebox with console log 2021-01-09 00:06:29 +00:00
TheLastRar
bae445d9d2 DEV9: Generate unique MAC for TAP, much like pcap backend does 2021-01-09 00:06:29 +00:00
TheLastRar
5f2441e832 DEV9: Move writing generated MAC out of winpcap 2021-01-09 00:06:29 +00:00
RedDevilus
275f5bd744 PCSX2-GUI: Move blockdump to game settings
Blockdump gets a bit too much love which hampers with playing normally.
2021-01-08 23:59:13 +00:00
TheLastRar
4aaf55b4b7 Core: Clang-format AppCorePlugins.cpp 2021-01-08 23:54:30 +00:00
TheLastRar
acd7fa90ef Core: AppCorePlugins.cpp add missing const 2021-01-08 23:54:30 +00:00
TheLastRar
0192c538ee Core: Resume plugin if suspended for configure
SysExecEvent_SaveSinglePlugin would close the plugin, but not reopen it
2021-01-08 23:54:30 +00:00
KrossX
aed639bb20 Declangify parity tables 2021-01-08 23:47:11 +00:00
KrossX
5fe01f0149 Format documents using Clang-Format 2021-01-08 23:47:11 +00:00
KrossX
3a054b9f91 Avoid malloc when converting to RAW 2021-01-08 23:47:11 +00:00
KrossX
511ceede3b Add support for OpenPS2Loader VirtualMemoryCards 2021-01-08 23:47:11 +00:00
Maxim Nikitin
7dbf01b024 Implements IOP breakpoints (#3011)
IOP: Implement IOP Breakpoints
2021-01-08 23:34:08 +00:00
RedDevilus
170d1cb94c GSdx-GUI: Conservative Buffer Allocation + GPU Palette Conversion + Misc fixes
- Conservative Buffer Allocation will be enabled by default.
- Unscaled has a lesser visual impact but will be moved to the middle so it is more consistent with the other options in the GUI.
- Monitor will hence be named Statistics Monitor which makes it more obvious that it's similar to RivaTuner Statistics Server.
- The monitor will print the stats of the emulated components EE (roughly CPU-usage) , GS (roughly GPU-usage).
- Make room for the new checkboxes with revision of names and tooltips.
- GPU (color) Palette Conversion instead of 8bit textures (the name didn't make much sense).
2021-01-08 08:51:13 -05:00
Ziemas
1f236cab75 Folder memcards: prevent out of bounds access 2021-01-07 15:17:04 -05:00
refractionpcsx2
95e7045db7 PortAudio: Upgrade PortAudio to latest master 2021-01-07 08:55:13 +00:00
TheLastRar
f45f8c9479 DEV9: Support 16bit reads/writes to SPD_R_PIO_DATA & SPD_R_PIO_DIR
Using the same code as 8bit reads/writes
2021-01-06 17:58:58 +00:00
iwilliamson
1ad5711b63 build: Update mscompile.cmd to build with VC2019. (#4084) 2021-01-06 17:48:58 +01:00
Tyler Wilding
06cf30019b gamedb: Delimit memcard filters with '/' instead of ',' 2021-01-05 23:19:59 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7a1ee439d2 README: add discord 2021-01-05 09:27:10 -05:00
refractionpcsx2
f1e44bfd47 SPU2: ADMA fix for Vice City
TFW you revert using the wrong variable..
2021-01-04 17:11:54 +00:00
lightningterror
89a33c0ab3 misc: A couple of more leftovers from SPU2 merge. 2021-01-04 02:07:30 +01:00
refractionpcsx2
a8aeeb5a6a SPU2: Change how ADMA gets cancelled, IOP handles cancelling DMA
Fixes Raw Danger
2021-01-03 23:18:29 +00:00
refractionpcsx2
a679766740 Counters: Adjust SPU async rate
Back to original value, however modified how the next SPU2 sync value is applied
2021-01-03 23:18:29 +00:00
refractionpcsx2
f5e50d4571 SPU2: Fixes for Titeuf buzzing 2021-01-03 23:18:29 +00:00
refractionpcsx2
5cf5f40c65 SPU: Fix bugs in recent commits, redesign DMA slightly
Savestate bump, sorry
2021-01-03 23:18:29 +00:00
refractionpcsx2
ddffd9acd6 VIF: Fix MPG VU Address wrapping, fixes Boogie (works for the first time)
Thanks to deus-libri for spotting that one!
2021-01-03 21:47:55 +00:00
refractionpcsx2
bc9892d324 GameDB: Corrected patch for Titeuf Mega Compet to fix game bug 2021-01-03 21:29:59 +00:00
refractionpcsx2
0f7044a90f mVU: Removed full flag optimisations
They were unused, broken and cluttering up the code, so gotten rid.
2021-01-03 16:17:19 +00:00
refractionpcsx2
c9bc6eac69 mVU: Fix P flag instance on Ebit
Also small fix for flag statuses on M-Bit on Branch
2021-01-03 12:03:55 +00:00
Timothy O'Barr
bfdfc495a3 Add GHC Filesystem (#3999)
Adds GHC filesystem to 3rdparty deps and updates cmake and vs project accordingly.
2021-01-02 13:47:09 -05:00
lightningterror
faf147d029 pad-linux: Update to latest controller database. 2021-01-02 18:49:21 +01:00
Kojin
6bcdb55f22 GS: Remove Unofficial CRCs (#4082)
* Remove ArTonelico2 Retranslation CRCs

* Remove Wild Arms and ToA undub CRCs

* Remove unused Star Ocean 3 Undub CRC
2021-01-02 11:11:13 -05:00
refractionpcsx2
413fd004da mVU: Fix jump caching when using doJumpAsSameProgram. This is by default 2021-01-02 08:35:32 +00:00
refractionpcsx2
ee07f860fc microVU: Implement Overflow checks. Fixes Superman Returns
Removed patches for Superman Returns
2021-01-01 20:55:11 +00:00
refractionpcsx2
af89879750 SPU2: Attempt 96khz sample rate if 48khz fails 2021-01-01 04:54:29 +00:00
refractionpcsx2
a94561fba7 SPU2: Improve DMA Write timing. Better sync DMA speeds with IOP
It takes 4 cycles per word, according to No$PSX documents
Also fixed an issue with when ADMA refills the buffer, fixes The Simpsons (for real this time)
2021-01-01 04:38:23 +00:00
refractionpcsx2
f07ca859e5 SPU2: Improve DMA/IRQ timing.
Tighten SPU2 sync with IOP
2021-01-01 04:38:23 +00:00
refractionpcsx2
b7f5404062 GameDB: Remove FMV skip patches no longer required 2021-01-01 04:38:02 +00:00
refractionpcsx2
a8a5d4bca9 IPU: Return contents of the bottom of the FIFO in CMD except FDEC/VDEC 2021-01-01 04:38:02 +00:00
refractionpcsx2
c998a51f71 IOP DMA: Only acknowledge SPU2 DMA interrupt if DMA hasn't been cancelled
Fixes Gregory Horror Show bad audio
2020-12-30 05:58:24 +00:00
Christian Kenny
3b771a6a94 PAD (Windows): Remove code for fullscreen and resizing the game window. Also removed code that modified the titlebar text on the output window. 2020-12-30 04:31:59 +01:00
refractionpcsx2
3d3c039596 SPU2: Fix Address masks for voices + Effect area
Fixes reverb in The Suffering
2020-12-30 01:13:52 +00:00
refractionpcsx2
2859123c47 MTVU: Actually add MTVU to savestates
On loading a savestate, restore the VIF state on the MTVU side
2020-12-29 23:15:39 +00:00
sonicfind
c278e6414c recording: Improve NewRecordingFrame window
* File browsing will be required when creating a new input recording if at any point the filename box is empty.
* Removes the "Current Frame" selection if GS is closed. Corethread check in InputRecordingFile::openNew() no longer necesaary.
2020-12-29 22:59:55 +00:00
sonicfind
a6b2d30bd0 recording: Internalize VirtualPad Windows
* Hold virtualPad window pointers solely in the g_inputRecording object
* Only inits the windows once per session and only if recording options are enabled
2020-12-29 22:59:55 +00:00
sonicfind
acb61a3cf2 recording: Disable create & play options until a game is loaded at least once
Ensures no frames are skipped on an initial load of a input recording before booting a game first.
2020-12-29 22:59:55 +00:00
sonicfind
3f359147c8 recording: Fix console logging for file read and write errors 2020-12-29 22:32:15 +00:00
sonicfind
a1b6f0b76a recording: Log all PadData and draw all VirtualPads altogether once per frame
Fixes improper virtualPad behavior for games that do not check for button pressure values (ex: Sonic Mega Collection Plus)
2020-12-29 22:32:15 +00:00
sonicfind
ca5d78e7a5 input-recording: Re-place "replaying" osd log 2020-12-29 22:10:20 +00:00
sonicfind
7431a18bbe input-recording: Wait for savestate confirmation on initial load
* Required splitting some recording menu-related code into separate public functions to work most efficiently.
2020-12-29 22:10:20 +00:00
refractionpcsx2
c9a5443539 VIF: Slightly optimise when Row/Col are written to MTVU 2020-12-28 19:01:17 +00:00
refractionpcsx2
e8c91f0537 MTVU: Stop the buffer filling up when MTVU is disabled 2020-12-28 18:40:07 +00:00
RedDevilus
8190379519 GameDB: Cleanup comments
Adding punctation, removing duplicate serial and making english language more happy for reading.
2020-12-28 14:52:08 +01:00
TellowKrinkle
4ffc0d2247 MTVU: Allow stacking of LABEL 2020-12-28 02:12:52 -06:00
TellowKrinkle
3c2f7983a5 MTVU: Cleaned up GS SIGNAL/LABEL/FINISH communication 2020-12-28 02:12:52 -06:00
Mrlinkwii
527ba52dec Update GameIndex.yaml 2020-12-26 22:57:27 +00:00
Florin9doi
17d5f8985d USB: Improve some cryptic warnings. (#4046) 2020-12-26 12:43:03 +01:00
lightningterror
232c4b482a tools: Remove GameIndex.dbf-tool.
Deprecated with yaml db, maybe a new alternative can be made in the
future.
2020-12-26 11:09:38 +01:00
lightningterror
657ce60ff8 pad-linux: Update to latest controller database. 2020-12-26 11:04:28 +01:00
refractionpcsx2
839b243bf1 VIF: Always update MTVU thread with Row/Col Changes
Fixes graphical issues in Fatal Frame 2 when swapping to MTVU
2020-12-25 00:57:37 +00:00
jackun
9534b2af1d USB: Early return from FF test in case of failure 2020-12-24 21:57:01 +02:00
TheLastRar
b8406a5b95 DEV9: Tap, remove empty blocks 2020-12-24 17:34:26 +00:00
TheLastRar
b097ca9979 DEV9: Tap, make GetOverlappedResult calls one line 2020-12-24 17:34:26 +00:00
TheLastRar
54651731f9 DEV9: Cancel read of TAP device on suspend/shutdown
CancelIo() must be performed on the thread that started the IO operation, hence the use of an event.
2020-12-24 17:34:26 +00:00
Silent
f19985c410 USB: Remove "Bypass Startup Calibration"
It wasn't hooked up to anything
2020-12-24 17:23:17 +02:00
Silent
2c1ebae039 USB: Misc code cleanup 2020-12-24 17:23:17 +02:00
Silent
a1f213cfd0 USB: Slightly decrease strength of FF Test
Right now it can be a bit too strong
2020-12-24 17:23:17 +02:00
Silent
d65c4c1892 USB: Set FF gain for a device, not effects, apply settings before Test
Fixes Test not using new settings until the next time the setting dialog
is opened, also simplifies changing Gain
2020-12-24 17:23:17 +02:00
Silent
2465b0e278 USB: Pass a top-level window to DirectInput
Fixes Force Feedback not initializing properly
2020-12-24 17:23:17 +02:00
refractionpcsx2
fa18568d62 GS: Properly mirror GS reads to CSR 2020-12-24 10:56:36 +00:00
refractionpcsx2
d78de3237c MTVU: Redesign of how to handle signals, seems more reliable
Added new variables to savestates
2020-12-24 09:03:45 +00:00
refractionpcsx2
6066f48d7c MTVU/GIF: Clang Formatting 2020-12-24 09:03:45 +00:00
refractionpcsx2
20695d6b15 MTVU: Add new savestate variables, bump savestate version 2020-12-24 09:03:45 +00:00
refractionpcsx2
3f4bb44310 MTVU: Improve compatibility with games that do GS SIGNAL/LABEL/FINISH 2020-12-24 09:03:45 +00:00
jackun
4ab7d78574 USB: Fix Seamic "failing" to load Singstar api 2020-12-24 03:56:52 +02:00
RedDevilus
74336d952d SPU2: Change VolumeSteps 42 to 5
This will change the PageUp/PageDown and also to clicks near/far but still on the slidebar and the jumps are changed from 42 to 5 , scroll wheel will still be 2 and all the arrows keys on 1. If you click and hold and  then move just outside of the slider you now get nice jumps of multitudes of 5. Dragging the slider will not be affected.
2020-12-23 22:51:18 +00:00
jackun
ade01ecb86 USB: HID: fix E0/E1 keys not sending "pressed down" event, like arrow keys etc.
RAWKEYBOARD::Flags actually _is_ a bitmap for a change
2020-12-23 19:54:00 +02:00
jackun
91d4c4aa37 USB: make dev_index u32 for simpler check if it is valid 2020-12-23 19:54:00 +02:00
jackun
17cbb835ce USB: load main settings once per startup and remove "configChanged" boolean
Let save state loading override currently selected devices
2020-12-23 19:54:00 +02:00
jackun
b2bf0301bb USB: skip parsing inputs if HID device type doesn't match
Kb/mouse event handler pointers are in the same union in HIDState struct
and overlap other variables so not usable for checking validity.
2020-12-23 19:54:00 +02:00
jackun
7a5f9e80e7 USB: remove BUILD_RAW and CALLBACK define 2020-12-23 19:54:00 +02:00
jackun
b5e561e68f USB: restore qemu hid event handler after savestate load 2020-12-23 19:54:00 +02:00
jackun
b3b272e2e2 USB: Use PAD's WndProcEater for raw input, don't reinit raw input, check WM_ENABLE
Skip reinit when swapping discs or it probably hooks dinput8 wndproc causing recursion.
If swapping discs, use WM_ENABLE to signal we have focus again.
2020-12-23 19:54:00 +02:00
jackun
df5cfb303b USB: lock raw input callbacks when adding/removing 2020-12-23 19:54:00 +02:00
jackun
191ebbcacf USB: close devices before destroying and loading save state and just allocate 64KiB for save states
USBfreezeData itself is currently ~20K so maybe 64K is enough
2020-12-23 19:54:00 +02:00
orbea
44b700a6fd cmake: Use GNUInstallDirs. 2020-12-23 01:04:26 +01:00
refractionpcsx2
97b74fa6ea VIF: MSCNT address is -1, so don't mask it. 2020-12-22 14:55:03 +00:00
refractionpcsx2
843650e79e VIF: Mask VU program address on MSCAL/MSCNT instructions 2020-12-22 14:12:27 +00:00
refractionpcsx2
a4553e821f VIF: Allow VIF1 to continue if stalled and the FIFO is reversed 2020-12-22 09:20:03 +00:00
Christian Kenny
2c7f54134e GameDB: Add GIF FIFO Hack for Fight Night Round 3. Fixes corrupted textures. 2020-12-19 23:57:53 +00:00
jeltaqq
7287dce376 GameDB: Porting patch and add Idea Factory games (#4025)
GameDB: Add patches for Idea Factory games
Ported Neo Contra and Savage Skies patches to NTSC-J
2020-12-19 17:04:05 +00:00
Christian Kenny
3143a46e4d GameDB: Add VU0 Kickstart for King Kong. Fixes bad polygons on characters 2020-12-18 23:12:33 +00:00
refractionpcsx2
155cf385bd microVU: Flush running VU1 program when toggling MTVU on 2020-12-18 20:55:02 +00:00
Kojin
ce332571dc core: fix speedhacks panel (#4007) 2020-12-18 14:22:47 -05:00
lightningterror
6a7648d2b0 misc: Cleanup remaining pad stuff from merge. (#4014) 2020-12-18 00:48:33 +01:00
refractionpcsx2
ee890c508e BIOS/CDVD: Set language defaults instead of making the user do it.
Removed message nobody read.
2020-12-17 22:56:42 +00:00
lightningterror
10afd0b684 pad-linux: Update to latest controller database. 2020-12-17 11:05:37 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
38c03ecbbb PAD: review & formatting fixes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d8884e3a2f PAD: fix regression on MTGS scheduler close 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
80e379820d PAD: formatting fixes for linux 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d3b120fafd PAD: fix quick setup and probably other issues 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
02c028d14f PAD: ensure auto generated resources are not in the source tree 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5769ae3e78 PAD: formatting fixes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b941d16f78 PAD: windows: fix pad reloading when core actions are done 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b8cedae527 PAD: windows: fix DInput 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
913cb296b4 PAD: windows: fix error message when uninit 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c4abe44e67 PAD: windows, fix crash on config when playing 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2c5b75a695 PAD: windows, pause config when in game and make sure it opens 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3e0f9d3931 PAD: bump sstate version on windows subsystem 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dc5e4e61c5 PAD: fix ini on windows 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
093e19aae6 PAD: windows: fix RTL_CRITICAL_SECTION nullptr 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
83e6ecb5af PAD: s/Lily/PAD/g + logging changes 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8067a480c7 PAD: windows: clang-format 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9cdc963c97 PAD: windows: update copyright headers 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f38c132efe PAD: s/OnePad/PAD/g 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cd70ba753e PAD: initial windows merge complete 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0c18d97fd PAD: backport macos patches 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d05c4e60be msvc: disable warnings on 3rdparty 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
494e384d9e msvc: disable /Gm as it is deprecated 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2b4e73e885 PAD: windows merge relatively complete, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ce7fbe6398 PAD: windows sstates support 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
afef852609 PAD: windows removal of callbacks, merging with linux api 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7d5066bc3c PAD: windows merge pch fixes, continuing 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
140f2fc0dd PAD: continuing windows merge 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d1c6b6b789 PAD: fix macos build 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c6d6865bb9 PAD: fix nopch builds 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a9da983d02 PAD: ensure gamepad works on linux 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
eed1e4fe8a PAD: beginning windows initial merge 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a90d588167 PAD: fix ini saving 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8f7b9f609f PAD: sstate support 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
82f7a23be4 PAD: clang-format 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2e0be1f75a PAD: add back config screen, pause core when opened 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6df4fea079 PAD: implement lifecycle callbacks 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
84f838aab0 PAD: update copyright headers 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e47aa28af9 PAD: linux initial merge complete 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1703e9f8d9 PAD: more work on resources compilation, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
69e837c1ea PAD: initial merge relatively complete, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
913bb359a0 PAD: continuing merge, debugging lexer bugs 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a691abc630 PAD: continuing merge, header/export port 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
93fba0a8e7 PAD: include back resources generation 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
85231dfca6 PAD: add back some initial references 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
01b210f42a PAD: remove initial references 2020-12-17 09:38:21 +01:00
Quinton Clark
0e13200911 gui: Apply missing recording menu option disablers. (#4001)
Fixes recording keybind menu options not disabling when pause is selected or when the ESC key is used.
2020-12-17 07:12:23 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
37b8819fc5 formatting: remove editorconfig 2020-12-17 07:05:19 +01:00
tellowkrinkle
66ed78f2c8 x86emitter: fix order of operations mixup 2020-12-16 23:40:14 -06:00
lightningterror
406ef3741c nsis: Fix uninstall path for GameIndex. 2020-12-17 05:52:58 +01:00
Tyler Wilding
e168b00ee0 GameDB: Move the documentation file one last time 2020-12-17 05:09:11 +01:00
Tellow Krinkle
1a727febe9 x86emitter: Remove unused classes
xAddressInfo was not being used
xSmartJump was not being used and is incompatible with x86-64
2020-12-16 20:31:19 -06:00
Tellow Krinkle
096bb8bf74 x86emitter: Remove virtual methods from register types
Allows methods to generate variable-sized registers
2020-12-16 20:31:19 -06:00
orbea
f33a6076dc cmake: Fix the install target. 2020-12-17 03:15:28 +01:00
Florin9doi
bf8fb7bad6 Resolve a crash when EyeToy is opened the second time (#3972)
* Resolve a crash when EyeToy is opened the second time

* Replace NULL/0 with nullptr

Co-authored-by: Florin9doi <Florin9doi@users.noreply.github.com>
2020-12-17 01:29:14 +02:00
Tyler Wilding
271f60b65a NSIS: Updated filepath from old GameDB 2020-12-16 22:42:57 +00:00
Tyler Wilding
c90eec2814 GameDB: Move the documentation file out of /bin 2020-12-16 22:42:57 +00:00
Tyler Wilding
57c7e56203 GameDB: Fix incorrect parsing around round and clamp modes 2020-12-16 22:42:57 +00:00
refractionpcsx2
7b7278bc85 VIF: Fix MPG bug incrementing addresses properly when using MTVU
Also handle wrapping
2020-12-16 14:04:54 +00:00
Tyler Wilding
4d79754f78 GameDB: Follow the same pattern for Speedhacks as for GameFixes
In preparation for #3998
GameDB: Update with current master's GameDB file
2020-12-16 09:31:58 +00:00
Tyler Wilding
34fe57d84b GameDB: Support case-insensitive serials and patch CRCs like existing GameDB impl.
GameDB: Regenerate with master's .dbf file


GameDB: Update with master's latest changes
2020-12-16 09:31:58 +00:00
Tyler Wilding
4b975efa23 GameDB: Hopefully resolve possible unicode filepath issues
GameDB: Big cleanup as a result of review feedback
2020-12-16 09:31:58 +00:00
Tyler Wilding
e90046d8a2 GameDB: key patches by their CRC or default to prevent duplicates
GameDB: Regenerate GameDB file


GameDB: Fix typos in gamefix names
2020-12-16 09:31:58 +00:00
Tyler Wilding
279dfd741a lint: Clang Format files 2020-12-16 09:31:58 +00:00
kenshen112
5ef141187a GameDB: Address string related compiler errors on linux 2020-12-16 09:31:58 +00:00
Tyler Wilding
39a4d3ce4e GameDB: Typo / remove debugging code
GameDB: Remove unneeded include
2020-12-16 09:31:58 +00:00
kenshen112
3f6193580c CMake: Add yaml-cpp to cmake 2020-12-16 09:31:58 +00:00
Tyler Wilding
18ea20e7b0 GameDB: Add markdown documentation for GameDB
cmake: Add yaml-cpp to cmake
2020-12-16 09:31:58 +00:00
Tyler Wilding
dc52ec7aec GameDB: Detect and skip patches with duplicate CRCs 2020-12-16 09:31:58 +00:00
Tyler Wilding
b800ed0a10 GameDB: Fixed invalid GameFix instances using new validation process
GameDB: Delete the .dbf file
2020-12-16 09:31:58 +00:00
Tyler Wilding
df1a8e8667 GameDB: Beef up the validation and finish refactor
GameDB: Regenerate with current master's file
2020-12-16 09:31:58 +00:00
Tyler Wilding
9fa484dbab GameDB/MSVC: renamed _Target_ to _InstrucTarget_ to avoid collisions 2020-12-16 09:31:58 +00:00
t o
b102134ae3 GameDB: Fixed return and added include 2020-12-16 09:31:58 +00:00
Tyler Wilding
675a60b3d4 GameDB: Add new GameDB implementation
vendor new yaml file, this one is OUT OF DATE!


Resolve a slew of compiler errors


Down to just the weird _Target_ usage in 5900.cpp
2020-12-16 09:31:58 +00:00
refractionpcsx2
03445d0b55 microVU: Add sanity check when loading quick block from program.
Sometimes (CoD Finest Hour) can somehow end up with blocks missing from a program, not sure how, but it still finds the current program, so we check if the block exists, if not, recompile new ones.
2020-12-15 20:26:41 +00:00
refractionpcsx2
678829a5b2 VIF: Don't rush finish VU programs, fixes remaining SPS in Shadowman 2020-12-13 23:17:07 +00:00
refractionpcsx2
7138769182 VU: Synchronise VU1, added speedhack for old behaviour 2020-12-13 22:02:37 +00:00
refractionpcsx2
4a90499ec9 CDVD: Adjust read speed depending on if in inner/outer edge
Fixes Shadowman 2 Second Coming textures
Fixes Arctic Thunder loading problems
2020-12-13 22:02:09 +00:00
refractionpcsx2
446adf1983 GameDB: Remove SkipmMPEG patch for Arctic Thunder 2020-12-13 22:02:09 +00:00
refractionpcsx2
ab0d785ab5 VIF: Don't start transfer if VIF1/0 is stalled
Fix missing VIF status check on MFIFO
2020-12-13 22:01:51 +00:00
Tyler Wilding
083380297f GUI: Resolve issue causing a crash when using Close All Windows while a game is running 2020-12-12 23:03:14 +01:00
jeltaqq
88983caaba GameDB: Add patches for Idea Factory games
Add patches for another Idea Factory games.

Info here: https://github.com/PCSX2/pcsx2/pull/3854
2020-12-11 10:56:24 +01:00
lightningterror
3e5f434df3 usb: Warnings cleanup. 2020-12-11 06:19:02 +01:00
lightningterror
cfb795c23c gsdx: Warnings cleanup. 2020-12-11 06:18:31 +01:00
TheLastRar
f25091414e USB: Fix integer overflow on IOP memory range check 2020-12-11 06:12:12 +01:00
lightningterror
85c3ee823f gsdx-hw: Remove Sly 2 3 TS crc hacks.
HPO special aggressive does a pretty good job when upscaling.
2020-12-10 15:18:02 +01:00
lightningterror
d5adcdd1b2 gsdx-hw: Remove TS crc hack for GodOfWar2.
HPO Special does a good job when upscaling.
2020-12-10 15:04:22 +01:00
lightningterror
8cbaacfe38 gsdx-hw: Remove Aggressive crc hack for Kunoichi.
Speedhack.
2020-12-10 01:49:19 +01:00
Kojin
8e191dabbd gsdx: run clang format on GSState.cpp 2020-12-09 08:14:31 -05:00
Kojin
5d01952254 gsdx: remove broken tbw code 2020-12-09 08:14:31 -05:00
lightningterror
5729230f56 gsdx-hw: Add Shadow of the Colossus to auto mipmapping.
Fixes #3981
2020-12-07 01:17:29 +01:00
refractionpcsx2
f27baec6fb GUI: Force Full Boot on first run of new version
This gets around users having crashes because they haven't configured the language in their BIOS
2020-12-06 20:20:26 +00:00
TellowKrinkle
56b0026160 macOS:cmake: build plugins directly to app bundle
Copying them afterwards ended up in the wrong order with Xcode's code signing, causing unsigned plugins to get copied, which would break the later step of signing the whole bundle
2020-12-06 14:02:43 -06:00
Tyler Wilding
2c8b2b48bd ci: Add MacOS github actions build 2020-12-06 14:02:43 -06:00
TellowKrinkle
790e0a8327 macOS: Fix things broken by plugin merges 2020-12-06 14:02:43 -06:00
TellowKrinkle
16750c19ce cmake: Fix build on newer macOS 2020-12-06 14:02:43 -06:00
TellowKrinkle
a29a4d69d9 cmake: mark Utilities as needing C++17 2020-12-06 14:02:43 -06:00
TellowKrinkle
2ec8cdb86d onepad: Fix macOS build 2020-12-06 14:02:43 -06:00
Tellow Krinkle
34425d892c onepad: Fix binding A on macOS
The key value 0 (which was being used to indicate esc) was already in use as the A key on macOS
2020-12-06 14:02:43 -06:00
Tellow Krinkle
7fa6740710 GSdx: Fix issues on macOS
Note: Doesn't add the ability to make windows, so GSdx won't actually play games on macOS with this
2020-12-06 14:02:43 -06:00
arcum42
99b8168ea8 Only search for yaml-cpp if asked to. (#3975) 2020-12-06 11:39:25 -08:00
refractionpcsx2
7bcee22890 BIOS: Don't HLE OSD Parameters if BIOS has no OSD 2020-12-06 19:30:46 +00:00
refractionpcsx2
a0ac42cf6d GameDB: Added another required gamefix for Rocky
Also added to other versions
2020-12-06 18:29:30 +00:00
refractionpcsx2
7f6e2e4bf4 GameDB: Add VIF Delay Stall hack to Rocky (E) 2020-12-06 18:12:26 +00:00
Dylan Smit
65ee46c0fb misc: Added the PlayStation name properly. (#3915) 2020-12-06 10:27:51 +01:00
refractionpcsx2
16d33f8960 VIF/MTVU: Correctly increment tag addr on VIF when using MTVU
Fixes Def Jam Fight for NY when using MTVU
2020-12-06 07:06:51 +00:00
refractionpcsx2
4595aae0de mVU: Keep start PC, modify prog search to avoid recompilation
Also fix some M-Bit stuff
2020-12-06 07:06:51 +00:00
refractionpcsx2
378eccc6ea IPU: Stop IPU0 looping when there's no data for it to read
Fixes bad slowdowns in Ratchet games when using EE Timing fix caused by bad IPU streams
2020-12-03 20:00:22 +00:00
lightningterror
d0dd60f295 gsdx-hw: Purge BleachBladeBattlers crc hack.
Not needed.
2020-12-02 23:02:20 +01:00
refractionpcsx2
3d43293a5d DMA: Correctly emulate QWC 0 on NORMAL transfers 2020-12-02 20:00:02 +00:00
refractionpcsx2
32f14f48b0 MFIFO: Maintain VIF DMA status and Empty condition on VIF reset
Also don't decrement/change VIF1 QWC on VIF1 FIFO write
2020-12-02 19:59:47 +00:00
refractionpcsx2
465aa00fc7 SPU2: Get rid of the need for delay cycles
Properly handle KeyOn/KeyOff happening in quick succession.
2020-12-02 19:59:29 +00:00
refractionpcsx2
f929d79473 SPU2: Delay DMA Reads to prevent overrun
Savestate bump
2020-12-02 19:59:08 +00:00
refractionpcsx2
7f9f7d49c6 SPU: Adjust final mix volume 2020-12-02 19:58:51 +00:00
lightningterror
55d4604d8f onepad: Update to latest controller database. 2020-12-02 19:08:02 +01:00
refractionpcsx2
5d00a845ac GameDB: Add Soul Calibur III Gamefix to other NTSC versions 2020-12-01 20:41:03 +00:00
refractionpcsx2
79a0403163 GameDB: Add EE Timing fix for Soul Calibur 3 US
Fixes the bad colours on the character select when using Progressive Scan mode
Fixes #1931
2020-12-01 20:00:56 +00:00
lightningterror
be85c568ab Build: Remove appveyor and travis leftovers. 2020-12-01 10:25:52 +01:00
lightningterror
705e39473d gsdx: Fix a couple more warnings.
Still a lot left to go on x64 build.
2020-12-01 10:21:52 +01:00
lightningterror
430fc7b596 x86emitter: Fix a few warnings. 2020-12-01 10:21:52 +01:00
refractionpcsx2
cd9a0cd1d5 GameDB: Put the WRC patch in the right place 2020-12-01 01:10:22 +00:00
refractionpcsx2
2057f3ff15 GameDB: Added EE Rounding (Nearest) for WRC, fixes Subaru crash 2020-12-01 00:52:09 +00:00
Tyler Wilding
6e47834e8a Dep/CMake: Add yaml-cpp support to CMake 2020-11-30 04:22:17 -05:00
Tyler Wilding
4a477244f1 Dep: Add yaml-cpp submodule to Windows project 2020-11-30 04:22:17 -05:00
orbea
3b073343cc Fix build without pulseaudio. 2020-11-29 01:45:20 -05:00
refractionpcsx2
76c98e7140 GameDB: Correct Tekken 5 Clamping mode to fix coin noises on Pirates Cove 2020-11-28 04:10:58 +00:00
GovanifY
047599e12c CMake: fix generation due to warnings treated as errors (#3948) 2020-11-27 07:57:28 -08:00
jackun
b5fecc49a3 USB: Release wasapi resampler's mutex
Got removed in the clean up.
2020-11-26 18:28:31 +02:00
Tyler Wilding
b8eb4c26ea CI: Remove Travis-CI and AppVeyor 2020-11-25 19:01:26 -05:00
jackun
52d88a7282 USB: check that HidD_GetPreparsedData succeeded 2020-11-24 17:57:59 +02:00
TellowKrinkle
5927cef89f GHActions: Disable PCH on clang builds
There's an incompatibility between ccache and clang's PCH that's fixed by cmake 3.17 (ubuntu 20.04 has 3.16)
2020-11-24 09:52:15 -05:00
TellowKrinkle
10a7e7a15f usb: Fix build with older libsamplerate 2020-11-24 09:52:15 -05:00
TellowKrinkle
e50efceb62 core: Fix no-pch build 2020-11-24 03:16:59 -05:00
TellowKrinkle
559f93f353 GSdx: Fix sse2 build on clang 2020-11-24 03:16:59 -05:00
TellowKrinkle
40f26cb975 GHActions: Don't use march=native
It breaks ccache
2020-11-24 03:16:59 -05:00
TellowKrinkle
12bf837eee GHActions: Actually use ccache 2020-11-24 03:16:59 -05:00
TellowKrinkle
8ef6d7ffec GHActions: Add no-pch build 2020-11-24 03:16:59 -05:00
refractionpcsx2
37f145f6bd BIOS/HLE: Write OSD config with memwrites instead of direct to physical
fixes crashes with Crash Twinsanity
2020-11-22 21:25:04 +00:00
arcum42@gmail.com
c25ae58c6f Disable a few warnings. 2020-11-21 10:29:32 -08:00
refractionpcsx2
142082837c CDVD/NVM: Plan B, force user to set up their BIOS first run. 2020-11-21 17:01:14 +00:00
refractionpcsx2
358f098b65 BIOS/HLE: Match ODS Config names to Syscalls
CDVD/NVM: Write default language/screen settings to be English, 4:3, GMT Timezone
2020-11-21 16:31:36 +00:00
Kojin
626bf27887 core: send osd log event when snapshot is taken 2020-11-19 18:42:19 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
86ed9f68f6 PNACH: combined patch effects 2020-11-19 22:51:32 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0cb6dda94 PNACH: apply repeating codes also on load 2020-11-19 22:51:32 +00:00
RedDevilus
97a24c006a GameDB: Add new entries part 1 2020-11-19 20:59:51 +01:00
lightningterror
56893a0731 gsdx-hw: Merge TriAceGames crc hacks for dx in to one.
StarOcean3, ValkyrieProfile2, RadiataStories.
2020-11-19 20:03:23 +01:00
lightningterror
0f17734896 USB: Fix a few more warnings. 2020-11-19 16:23:24 +01:00
kozarovv
4b4fa06432 Debugger: Remove delay slot for ERET and SYSCALL opcodes 2020-11-19 13:43:00 +00:00
refractionpcsx2
5a77ed14bf BIOSHLE: Implement GetOSDParamConfig2 for DST/24h/Format settings 2020-11-19 11:22:40 +00:00
refractionpcsx2
e8ebb7d23d BIOSHLE: Get all OSDSYS Parameters. Only use when Fast Boot is enabled 2020-11-19 11:22:40 +00:00
lightningterror
ab97832a78 gsdx-ogl: Check MinMax for PSConstantBuffer. 2020-11-19 11:51:54 +01:00
TheLastRar
5d071ceebe Core: Replace Fall through comment with c++17 attribute 2020-11-18 19:44:08 +00:00
TheLastRar
9983bcfbe6 Core: clang-format SysThreadBase.cpp 2020-11-18 19:44:08 +00:00
TheLastRar
ba1497ca48 Core: Don't reopen everything when we just want to reopen the CDVD 2020-11-18 19:44:08 +00:00
lightningterror
f2fa60e56b misc: Remove more leftover stuff from plugins merge.
Bonus: Remove old_plugins solution.
2020-11-18 18:02:03 +01:00
lightningterror
27536283f2 onepad: Update to latest controller database. 2020-11-17 18:30:41 +01:00
arcum42
9d4337b7eb [USB+] Clean up Warnings (#3930)
* Suppress hardening warning spam for the moment. Get rid of a multi-line comment warning.

* Resolve a bunch of warnings about unused variables, unused labels, and sign mismatches.

* Deal with various possibly unused variables.

* Rearrange member variables to match initialization order.

* Move [[maybe_unused]] to a separate line in one spot to make it easier to read.
2020-11-15 04:37:58 -08:00
Shanoah Alkire
532e7c906d Add libsamplerate to travis. 2020-11-15 01:45:55 -08:00
lightningterror
46e8057f9c gsdx-gui-win: Disable Aniso option when 8bit textures is checked on gl. 2020-11-15 08:59:07 +01:00
lightningterror
a6e845088d gsdx-ogl: Fix anisotropic filtering.
Aniso filtering doesn't work with textureLod so use texture
(automatic_lod) instead.

Credits to KrossX.

Note: Won't work on AMD because the driver is broken.
2020-11-15 08:59:07 +01:00
refractionpcsx2
d9936dbbfb GameDB: Fix typo 2020-11-14 22:10:50 +00:00
refractionpcsx2
91292f0bfa GameDB: Fix comment on new patch 2020-11-14 22:08:30 +00:00
refractionpcsx2
5000687b10 GameDB: Added patch for MX Unleashed 2020-11-14 22:07:15 +00:00
Shanoah Alkire
20c8a11925 Okay, the USB dialogs that were merged are written in Gtk 2, causing lots of deprecation warnings if you compile with Gtk 3. I'm just going to suppress all of those for the moment until they can be dealt with properly. 2020-11-13 20:42:18 -08:00
Florin9doi
319287dbe5 USB: Resolve an EyeToy crash when no webcam is connected 2020-11-13 00:15:55 +00:00
refractionpcsx2
7117633204 Counters/Vsync: Do correct number of HBlanks per VSync for PAL/NTSC 2020-11-12 23:13:55 +00:00
Kojin
c57f861f2b counters: account for vertical frequency differences in non-interlaced anolog modes (#3862) 2020-11-12 17:15:42 -05:00
refractionpcsx2
35122e6601 GameDB: Added patch for one version Hardware - Online Arena 2020-11-12 14:39:46 +00:00
jackun
60ef26ec51 USB: revert irq hack 2020-11-11 22:07:16 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f3f50a948e USB: misc fixes on settings string conversion 2020-11-11 19:22:17 +00:00
Kojin
ce658e8a96 Update issue templates (#3917) 2020-11-11 12:14:03 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
961715ab62 CDVD: fix logic bug introduced in ada80474 2020-11-11 10:11:52 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a699e94b2b USB: remove unused logos 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b1d1783da4 USB: warnings fixups 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6bdee6a5bd USB: remove version check for plugin 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
08adfb5746 USB: purge USBnull related mentions in cmake/nsis & formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3b6cdf32fc USB: various formatting nitpicks 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5b67f8528a USB: build date removal, formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
613fe3740f USB/dev9: final dialog fixes & winloadconfig initial load 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d2fa215aa9 USB: fix singstar & tangling if/comments 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3279cba559 USB: windows very much like its filenames (fix various dialog bugs) 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1881d12f61 USB: dialog,windows and dev9/usb conflicts fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1aa585e56b USB: clean up logging 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
47d65c3f89 USB: fix ini saves 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b5dbd794de USB: evdev mDevices clear fix 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a1c4077d83 USB: fix resume issues with wheels and unneeded init 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5799e35327 USB: remove outdated macros instances 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
73ca53eadc USB: fix debug builds on linux by switching to devcon 2020-11-11 13:34:16 +00:00
GovanifY
ede7fa86fa USB: restore formatting of standalone third party code 2020-11-11 13:34:16 +00:00
GovanifY
9da3d9a5bf USB: fix windows sstates and dialog related bugs 2020-11-11 13:34:16 +00:00
GovanifY
9eb78a0a19 USB: windows support! 2020-11-11 13:34:16 +00:00
GovanifY
92be17986f USB: introduce back linux support 2020-11-11 13:34:16 +00:00
GovanifY
30235f49db USB: fix more linker issues on windows 2020-11-11 13:34:16 +00:00
GovanifY
395b372ef7 USB: windows mostly complete, linker issues left 2020-11-11 13:34:16 +00:00
GovanifY
bc022789fc USB: initial windows project support 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1d1acd487 USB: backport fixes from develop branch 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
53b818ac3b USB: fix sstates when invalid USB device is selected 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
90c9686684 USB: savestate bump + initial sstate implem for usb 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0c43fa92e5 USB: clang-format 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
56e96a8ff9 USB: update copyright headers 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
37e54ebd9f USB: add back config screen, pause core when opened 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a6c67dde55 USB: implement lifecycle callbacks 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e5a7cc4a1c USB: actions and cmakelists formatting 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e2a72b2798 USB: initial merge finally complete 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d33eff635b USB: initial merge relatively complete, linking issues left 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
eb4089657e USB: cleaning up a bunch of warnings, platcompat fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
50969601bf USB: continuing merge, platformcompat fixes 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
de314d253e USB: importing some references, updating handlers and c exports 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2788198b75 3rdparty: add libsamplerate cmake defs 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8f8a83a038 USB: beginning to add back initial references 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9dd0ef681d USB: remove initial references for merge 2020-11-11 13:34:16 +00:00
TheLastRar
3442ba7483 DEV9: net.cpp use __POSIX__ to check for pthread support 2020-11-10 18:21:32 +00:00
TheLastRar
2a921b40af DEV9: use pthreads to set priority on mac 2020-11-10 18:21:32 +00:00
TheLastRar
be67773dd7 DEV9: switch net.cpp to use std::threads
Also merge windows & linux net.ccp into one file
2020-11-10 18:21:32 +00:00
Yuri Konotopov
64010cf797 Support build with system fmt (#3838)
Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-11-08 16:28:43 -08:00
lightningterror
12c21de66c spu2: Rename SPU2 Config -> Audio Settings.
We can have a better user friendly name as the plugin is merged in to
core.
2020-11-08 14:37:00 +01:00
lightningterror
476a4ec882 dev9/spu2: remove useless defines. 2020-11-08 14:37:00 +01:00
lightningterror
3d12b33113 dev9: fix not defined macro warning. 2020-11-08 14:37:00 +01:00
lightningterror
a7c9005626 dev9-gui-linux: Rename linux buttons/texts to match previous windows changes. 2020-11-08 14:37:00 +01:00
lightningterror
a52607e346 dev9-gui-win: Cleanup DEV9 gui a bit.
Rename window title: HDD Configure -> Network and HDD Settings
Remove about dialog code.
Move around button positions.
2020-11-08 14:37:00 +01:00
lightningterror
83a5a78728 gsdx-gui-win: Adjust some tooltips to include d3d 11 version. 2020-11-08 13:01:24 +01:00
lightningterror
f6478a2c0c gsdx-gui-gtk: Change date accuracy button list to a checkbox. 2020-11-08 13:01:24 +01:00
lightningterror
6c6071b939 gsdx-gui-win: Change date accuracy button list to a checkbox. 2020-11-08 13:01:24 +01:00
lightningterror
67a7c326fc gsdx-hw: Merge Basic and Full DATE code.
gl: Do Full date accuracy when option enabled.
d3d11: Do Basic date accuracy when option is enabled, no support for
full.
2020-11-08 13:01:24 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ee25b2e5b2 SPU2: switch to ConWarn for linux fallback 2020-11-08 12:14:53 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9b42716d2 SPU2: default to XAudio when failing to read conf 2020-11-08 12:14:53 +01:00
lightningterror
5a8c75e4a8 gsdx-hw: Don't always set MaxDepth on ps/fs.
Value will be read only when zclamp is enabled. It will avoid an extra
upload to buffer maybe.
2020-11-08 05:56:09 +01:00
lightningterror
e68674bc5e gsdx-gtk: Run clang on GSLinuxDialog.cpp 2020-11-08 05:48:22 +01:00
lightningterror
ecc37c4d1f gsdx: Remove TV Shader hotkey toggle (F7).
Plenty of users misclick this setting and don't know how to switch back
since it's a rarely used option.
Let's get rid of the hotkey toggle for a quality of life change.
2020-11-08 05:48:22 +01:00
kozarovv
a59e098b5a GSdx: Remove Star Wars - Force Unleashed CRC hack
Replaced by gamedb EE patch which work also in software mode.
2020-11-08 05:43:06 +01:00
kozarovv
268a6dc6c1 GameDB: Add SW Force Unleashed patches 2020-11-08 05:43:06 +01:00
lightningterror
306681bc93 misc: Remove merged plugins leftover stuff. 2020-11-06 21:36:04 +01:00
Tyler Wilding
ac9700f261 CI: Fix Ubuntu package installation failure (#3901)
Co-authored-by: Jonathan Li <jonathan.li@hotmail.co.uk>
2020-11-06 12:11:31 +00:00
lightningterror
0e60733537 x86emitter: Comment out unused variables.
cpudetect.cpp -> x86_64_8BITBRANDID and x86_64_12BITBRANDID.
2020-11-06 11:42:29 +01:00
lightningterror
f8fd636eac gsdx-sw: Comment out not used variables, will fix a few warnings.
GSDrawScanlineCodeGenerator.x64.avx ->_rz_r14, _rz_r15
2020-11-06 11:42:29 +01:00
Timothy O'Barr
ada8047419 PSX/CDVD: Check register 14 (ps1 status register) for cd speed and CDDA (#3899)
Fix to CD speed courtesy of Ref
Restored amount of old PCSX code for CDDA courtesy of pcsxr
2020-11-05 18:03:49 +00:00
Jonathan Li
0a312295db travis-ci: Update the build 2020-11-05 15:20:42 +00:00
Jonathan Li
dca272e12d cmake: Specify the gtk version being used with wx
Fixes potential compilation issues due to gtk3 and gtk2 being used at
the same time.
2020-11-05 15:20:42 +00:00
lightningterror
a15d3d5811 gsdx-hw: EmulateAtst -> Remove unused tex parameter 2020-11-04 07:48:58 +01:00
lightningterror
246dab3375 gsdx-hw: Move EmulateAtst in common hw renderer code.
v1 Code is identical so no need to have separate functions for gl and
d3d11.

v2 Change pass integer parameter with bool that checks for pass 2.
2020-11-04 07:48:58 +01:00
RedDevilus
f60148979f onepad: Update to latest controller database.
Support for PS5 controller (DualSense).
2020-11-04 01:04:35 +01:00
RedDevilus
a83077285f GameDB: 24 The game
-VuClamp to extra to fix minimap HUD.
2020-11-03 18:03:44 +01:00
lightningterror
9140f071f6 misc: Replace Fall through comments with c++17 attribute.
Silences warnings about not having breaks on switch cases.
Added a few missing ones too.
2020-11-02 17:39:02 +01:00
lightningterror
5dc7ef9ed1 gsdx-hw: EmulateBlending -> add [[fallthrough]] attribute to switch cases. 2020-11-01 23:21:38 +01:00
lightningterror
8831ed80df gsdx-d3d11: Clean up blending code a bit.
Directly calculate blend index in rendererdx11, and send the value to
SetupOM. Get rid of duplicate calculation and abcd variables.
Code is cleaner this way.
2020-11-01 23:21:38 +01:00
Shanoah Alkire
5e6cb22eeb Remove references to dev9ghzdrk. If dev9 is built in, we need to always do the setcap check when not disabled, not just if dev9ghzdrk is built. 2020-10-31 19:45:15 -07:00
GovanifY
86e6745f21 DEV9: remove unneeded error message 2020-10-31 16:35:38 +00:00
GovanifY
667ccfad76 DEV9: fix wide char conversion & review fixes 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ba14536441 DEV9: misc formatting 2020-10-31 16:35:38 +00:00
GovanifY
52b687dc55 DEV9: integrate lean and mean and rebase with spu2 2020-10-31 16:35:38 +00:00
GovanifY
fabef0334b DEV9: windows support unicode fixes 2020-10-31 16:35:38 +00:00
GovanifY
eea4e383f9 DEV9: windows support mostly done, unicode thingies to fix 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
149bcea2d8 DEV9: bugfix on linux when no if, config revamp 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
2c1bbd5efb DEV9: updated license headers and clang-format 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ca8bf22423 DEV9: add back configure GUI 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ab22d56735 DEV9: implement lifecycle callbacks 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a2e2ed1ecf DEV9: initial merge complete 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b3ae282522 DEV9: including back initial original references 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f430a63312 DEV9: initial work on merge, removing references 2020-10-31 16:35:38 +00:00
refractionpcsx2
7a2c94f6e1 GameDB: Added patch for Black NTSC-J to fix collisions 2020-10-30 10:28:24 +00:00
refractionpcsx2
2d9f72c2a8 GameDB: Added Black PAL-E patch for collisions 2020-10-30 09:33:20 +00:00
arcum42
540c69897e Loosen up wxwidget version restrictions. Default to Gtk 3. Cleanup. (#3832)
* Remove version and platform checks for wxwidgets. It's probably better to find *something* rather then fail because you have 3.1.2 and the build was looking for 3.0 when both work.

* Build gtk 3 by default. Replace gtk 3 flag with one for gtk 2.

* Remove two unused cmake modules.

* Forgot to change a description in build.sh.
2020-10-29 22:30:03 -07:00
Yuri Konotopov
48bff06202 Added cmake options to bypass setcap execution. (#3840)
This call became a problem with distributions (eg Gentoo GNU/Linux) that
builds PCSX2 in sandboxed environment which disallows setcap execution.

Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-10-29 22:25:41 -07:00
lightningterror
7d9d2f3982 gsdx-gui: Yeah why not, update the DATE accuracy tooltip along the way. 2020-10-30 01:41:09 +01:00
lightningterror
076b336b0f gsdx-hw: Set Full DATE accuracy as default.
GL only, D3D11 doesn't have Full level.
It is more accurate and there likely isn't any speed impact.

Rename Fast level to Basic.
2020-10-30 01:41:09 +01:00
GovanifY
a3695f1cfd JIT: fix FPU IEEE float conversion on x64 2020-10-30 00:25:03 +00:00
refractionpcsx2
44416bbf7f GameDB: Change clamping on missed versions of Black 2020-10-30 00:18:02 +00:00
refractionpcsx2
fbeb2737bd GameDB: Correct CRC for Black US patch, also comment vuclamp fix 2020-10-29 23:55:09 +00:00
refractionpcsx2
5103ef27e6 GameDB: Add patches for Black PAL-M5 and NTSC-U, fixes Collisions
Also changed the clamp mode to 3 as that also works and is preferred
2020-10-29 23:37:16 +00:00
lightningterror
fca9f7a458 MTGS: Remove old DXGI fullscreen overrides code, run clang. 2020-10-29 15:41:48 +01:00
refractionpcsx2
05f20fa664 GameDB: Added patch for Ratchet & Clank 3 demo shadows 2020-10-28 21:55:26 +00:00
kozarovv
b25bb59aea GameDB: Remove IHRA 2005 patch
Fixed in #3865
2020-10-28 20:19:54 +00:00
lightningterror
af19813d99 onepad: Update to latest controller database.
Close #3866
2020-10-28 18:06:31 +01:00
TellowKrinkle
6ad8563c16 ee: update cache emulation for 64 bits 2020-10-27 14:14:38 +00:00
kozarovv
82ea30cf3f GameDB: Add patches for Idea Factory games 2020-10-27 12:56:19 +01:00
RedDevilus
809c8bf291 GSdx: Clang format
-  plugins/GSdx/Renderers/OpenGL/GLLoader.cpp
2020-10-27 12:00:08 +01:00
RedDevilus
6366284385 pcsx2-gui: Clang format
- pcsx2/SourceLog.cpp
- pcsx2/gui/AppInit.cpp
- pcsx2/gui/ConsoleLogger.cpp
- pcsx2/gui/MainFrame.cpp
2020-10-27 12:00:08 +01:00
RedDevilus
9a50e7ea99 pcsx2-gui: Further improve with adding punctation,tooltip and formatting. 2020-10-27 12:00:08 +01:00
refractionpcsx2
3dc44bafb3 microVU: Fix program range wrapping 2020-10-26 22:44:52 +00:00
refractionpcsx2
9ebcb3b141 microVU: Sort out when the Status flag is de/normalized
Properly clear non-stick invalid/zero flags on DIV/SQRT/RSQRT COP2 instructions
2020-10-26 22:44:36 +00:00
refractionpcsx2
4b0dc9c0df microVU: properly normalise Status flags when exiting a VU program
Fixes shadows in Ratchet Gladiator
2020-10-26 22:44:36 +00:00
refractionpcsx2
f25e7ff004 microVU: Save valid flag instances at the end of a VU0 program.
Fixes State of Emergency 2 black screens and BIOS reboot in Driving Emotion Type-S
2020-10-26 22:44:36 +00:00
Kojin
d8a8b31eb4 gsdx: properly init clut ptrs v2 (#3858)
* gsdx: properly init clut ptrs v2
2020-10-26 13:22:07 -04:00
refractionpcsx2
385ae40646 GameDB: Added patch for Twisted Metal Head On fire effects 2020-10-26 12:03:01 +00:00
refractionpcsx2
0448b4902c microVU: Fixed bug in E-bit conditional branches. Fixes DT Racer
GameDB: Added VU0 Kickstart hack for DT Racer
2020-10-25 21:41:29 +00:00
lightningterror
418974a28a gsdx-hw: Add ICO to automatic mipmapping.
Improves godrays.

Needs Full mipmap with ultra trilinear for extra accuracy.
2020-10-21 17:34:33 +02:00
lightningterror
d6e06e9bc7 onepad: Update to latest controller database. 2020-10-21 17:19:40 +02:00
Kojin
ca0f15a31f Revert "gsdx: properly init gsclut function ptrs"
This reverts commit 6186676add.
2020-10-21 02:52:05 -04:00
refractionpcsx2
9bb9037e42 GameDB: Added XGKick hack to Zombie Hunters 2
Fixes blank textures
2020-10-20 17:48:34 +01:00
refractionpcsx2
99670fde76 GameDB: Ported US patches to European versions of Mafia 2020-10-19 16:39:38 +01:00
RedDevilus
d48166be64 GameDB: Multiple gamefixes to: (#3843)
ChaosLegion
vuClampMode 2. Fixes SPS in the item menu. Found by EspeonScottie.

Dragons's lair
EETimingHack, VU0KickstartHack. Fixes hang and SPS.

Astro Boy (Atom)
eeRoundMode 0. Fixes character behaviour.
2020-10-19 16:48:10 +02:00
kozarovv
51976aa06b CDVD: Fix iLink issues
Previously iLinkId was writen/overwriten to .nvm only when user not supplied own file.
But when user supplied file with empty iLinkId, then value is never set. So games fail to get correct data.
That implementation return hardcoded ilinkId when read is requested, and correct iLinkId is not found.
2020-10-18 18:05:34 +01:00
kozarovv
d87330fcca GameDB: Patch for Ecco the Dolphin PAL
PSI patch ported to PAL version (PAL use the same offset).
2020-10-18 18:04:43 +01:00
refractionpcsx2
2409486c2d VIF: Fixed undefined behaviour of Unpack V3-16 in final QW write.
Fixes Homerun
2020-10-18 17:24:43 +01:00
refractionpcsx2
f1e2a2efbb GameDB: Set vu clamping to none for Hitman - Blood Money
Fixes bump mapping issues
2020-10-18 01:55:54 +01:00
refractionpcsx2
2608673ca7 GS: Fix handling of PRIM/PRMODE on PRMODECONT switching (#3831)
* GS: Fix handling of PRIM/PRMODE on PRMODECONT switching

* GS: Correctly set PRIM on Defrost
2020-10-17 00:49:37 -04:00
Tyler Wilding
2ff231c27d CI/Travis: Fix newly introduced cmake failure in Travis-CI after adding {fmt} (#3837)
* ci: Verify Travis works with cmake fix

* ci: Scope travis-ci to only `master` branch again
2020-10-17 00:44:39 -04:00
Tyler Wilding
a4b307a3bd git: pin fmt submodule to v7.0.3 2020-10-17 04:12:50 +01:00
Tyler Wilding
397cb081c3 cmake: Add fmt to cmake configuration 2020-10-17 04:12:50 +01:00
Tyler Wilding
39ac5bff71 recording: Updated all current logging instances to use new logger 2020-10-17 04:12:50 +01:00
Tyler Wilding
0fede4cb66 recording: Add logging header to simplify input recording logging
Appends [REC] to console logs when appropriate.  Auto appends new-line.  Sends similar logs to OSD if desired.
2020-10-17 04:12:50 +01:00
Tyler Wilding
bab8bdfe47 vs: Setup fmt on Visual Studio 2020-10-17 04:12:50 +01:00
Tyler Wilding
2764474274 git: Add fmt submodule 2020-10-17 04:12:50 +01:00
Tyler Wilding
fd5378d9c1 ci: Remove now unnecessary way of cleaning up old artifacts 2020-10-17 04:12:06 +01:00
Tyler Wilding
75606fd1a9 Add clang linux build 2020-10-17 04:12:06 +01:00
Tyler Wilding
ab0fc39520 Revert "recording: Add logging header to simplify input recording logging"
This reverts commit b8f4fa0e87.
2020-10-17 01:33:18 +01:00
Tyler Wilding
aad5efa637 Revert "recording: Updated all current logging instances to use new logger"
This reverts commit 8decc44476.
2020-10-17 01:33:18 +01:00
Tyler Wilding
2c6805259e GSdx: Compare file extensions as lower-case 2020-10-16 23:29:12 +01:00
Tyler Wilding
5f62a5752e pcsx2-gui: Pause and resume emulation when using Screenshot As.. 2020-10-16 23:29:12 +01:00
Tyler Wilding
9f41f33e86 GSdx: Save PNG compressed screenshots as .png files 2020-10-16 23:29:12 +01:00
Tyler Wilding
9da0cc6a91 gui: Add Screenshot As... option 2020-10-16 23:29:12 +01:00
Tyler Wilding
152d1d8ac4 recording: Don't reload cheats/settings on every frame-advance
I believe the intention of the cheats/settings reloading is for the conventional pause/resume from the MainFrame's menu.

However, with input recording, nothing ever actually gets closed so I doubt the settings need to be reloaded.  This stops that from happening on every individual frame advance.  However, in case im wrong and it is needed, they do get re-applied when emulation is fully resumed (Shift+P by default).  This just dramatically reduces the console spam.
2020-10-16 23:28:42 +01:00
Tyler Wilding
8decc44476 recording: Updated all current logging instances to use new logger 2020-10-16 23:28:10 +01:00
Tyler Wilding
b8f4fa0e87 recording: Add logging header to simplify input recording logging
Appends [REC] to console logs when appropriate.  Auto appends new-line.  Sends similar logs to OSD if desired.
2020-10-16 23:28:10 +01:00
Tyler Wilding
e44a6dcddb recording: Skip extraneous code in SaveState handler if recording is disabled 2020-10-16 23:23:55 +01:00
Tyler Wilding
c329bae403 vs: Move the VirtualPad images into their own filter 2020-10-16 23:23:55 +01:00
orbea
f0cf1a36ed cmake: Fix the build without portaudio (Again). (#3827) 2020-10-16 13:52:50 -07:00
Ryudo300
29c7c7291c gamedb: Rename Colosseum - Road to Freedom to 21 Card Games. (#3830)
Fixed incorrect game title.
SLES-53357
2020-10-16 16:13:23 +02:00
refractionpcsx2
cf05f6ca40 Cop2: Make sure the status flag gets updated on DIV/SQRT/RSQRT (#3813)
Fixes Yanya Caballista (patches removed)
Fixes Disney's Treasure Plantet's crazy camera (that flies off) and ground displacement. Fixes #3441
2020-10-16 09:47:23 +01:00
refractionpcsx2
92171ddbaa GameDB: Add COP2 Arrangement for Everyblue 2 (EU/US) Fixes #3392 2020-10-15 15:58:22 +01:00
RedDevilus
15dfad0ebc GameDB: Patches for 12 games (or 9 individual games):
- Galerians Ash
- Gladiator: Sword of Vengeance
- IHRA Professional Drag Racing 2005
- Musashi Samurai Legend
- Pilot Down: Behind Enemy Lines
- Superman Returns
- Test Drive
- TD Overdrive: The Brotherhood of Speed
- WRC 4
2020-10-15 14:54:21 +01:00
RedDevilus
03ba36411c GameDB: Add gamefixes for the following games listed, change detail are in db comments:
- Primal
- Code veronica X
- Virtua Tennis 2
- Power Smash 2
- Sega Tennis Sports
2020-10-15 10:08:05 +01:00
Kojin
1feadc186d pcsx2: enable hostfs on release builds 2020-10-15 00:29:32 -04:00
refractionpcsx2
fb29353d5d GameDB: Patch for Dynasty Warriors 3 (C) 2020-10-11 08:22:43 +01:00
refractionpcsx2
db82744553 GameDB: Added Dynasty Warriors 3 (US) patch to sort crazy cloth in opening 2020-10-11 06:17:36 +01:00
refractionpcsx2
4a1e838220 GameDB: Patch for Yanya Caballista Japan version 2020-10-10 20:37:22 +01:00
refractionpcsx2
057791607b EE Int Cache: Fix crash when booting the BIOS in 32bit 2020-10-10 15:27:40 +01:00
refractionpcsx2
7e2ccd64e8 SIF: Fix attempting to write junk when FIFO full
Also fix the amount of words written to temporary junk
2020-10-09 23:51:12 +01:00
Kojin
da3c3a828c pcsx2: purge fmv in sw hack (#3806)
* pcsx2: purge fmv in sw hack

* gamedb: remove mention of fmv in sw hack
2020-10-09 17:19:17 -04:00
refractionpcsx2
0d1a583144 DMA: Handle undefined Chain mode tags
Fixes DT Racer speed issues
2020-10-07 14:05:27 +01:00
refractionpcsx2
49b92d956a GameDB: Added VU Kickstart gamefix for Moto GP 2020-10-06 21:44:07 +01:00
Nobbs66
981cb4c22c PGIF/PS1: Correct PGIF Register bit masks (#3791) 2020-10-06 20:45:20 +01:00
refractionpcsx2
1ea573dc54 GameDB: Apparently Extra+sign on VU still needed for Another Century's Episode 3 2020-10-06 17:05:35 +01:00
refractionpcsx2
2897494732 GameDB: Removed game fixes for Another Century's Episode 3
Were added to fix a crash going in to mission 2, but now causes it to crash instead.
2020-10-06 16:27:15 +01:00
RedPanda4552
b62270ea2e Counters: Tighten tolerances on framelimiter (#3785)
Smooths out frame pace and keeps average framerate closer to target.
2020-10-06 14:14:07 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
11bb7bdff9 SPU2: more missing PCH 2020-10-06 09:34:13 +01:00
Kojin
f5b92ecdee gsdx-osd: fix crashing on d3d11 2020-10-05 21:23:29 -04:00
Tyler Wilding
bd1cc9b4f4 ci: Automatically watch for updates on github actions 2020-10-06 00:47:53 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c17d7687a SPU2: missing pch 2020-10-05 21:52:36 +01:00
refractionpcsx2
bec587164b microVU: Make sure flags are exact on M-bit (#3797)
* microVU: Don't break on M-Bit if previous instruction was M-Bit

Fixes Gungrave
2020-10-05 21:49:15 +01:00
Mrlinkwii
5c88d259f5 GameDB: Correct title for Sly 3 (#3796) 2020-10-05 19:05:15 +01:00
RedDevilus
c772b6a843 GameDB: VU0 Kickstart to Beyond Good and Evil
Fixes Character SPS.
2020-10-05 19:06:02 +02:00
GovanifY
f30b66522f CDVD: fix ISO swapping (#3788) 2020-10-04 22:34:06 +01:00
refractionpcsx2
2c717c3cdb GameDB: Better patch for ONI games, less invasive
On real hardware the PCR write will be completed after the BC0F instruction causing it to pass, so we simulate this now
2020-10-04 21:33:44 +01:00
Shanoah Alkire
7ca2385da2 SPU2: Cleanup. Remove a few unused variables, and make a few local that didn't need to be in classes, renaming them accordingly. 2020-10-03 18:12:38 -07:00
Gauvain 'GovanifY' Roussel-Tarbouriech
655748f2d9 SPU2: clang-format, spu close before cdvd and remove unused refs 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b11ad72473 SPU2: linux fix where config wasn't setup on init & savestate bump 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1e7b69b1ab SPU2: pause while config screen is open 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
7d917afcbb SPU2: purge DSound & log + config fix 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c8abed371b SPU2: fix nullptr crash on DSound 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
444f5ed515 SPU2: fix config path 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c36c26800b SPU2: remove logo from config 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
faae323d9d SPU2: enable portaudio on linux and additional clang-format 2020-10-04 00:13:36 +01:00
GovanifY
3d3e4ec1ba SPU2: enabling portaudio on windows 2020-10-04 00:13:36 +01:00
GovanifY
f58d9e3f39 SPU2: s/NULL/nullptr/, s/SPU-2/SPU2/ 2020-10-04 00:13:36 +01:00
GovanifY
5cf2147754 SPU2: fix DMA issues 2020-10-04 00:13:36 +01:00
GovanifY
a3a530adf6 SPU2: windows config and s/SPU2-X/SPU-2/g 2020-10-04 00:13:36 +01:00
GovanifY
7ec2eb050b SPU2: windows support! 2020-10-04 00:13:36 +01:00
GovanifY
1727c863fe SPU2: windows: fix most build issues, linker issues left 2020-10-04 00:13:36 +01:00
GovanifY
d393116fb9 SPU: adding windows filters 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
15c955c384 SPU2: preliminary windows support 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6dc3966be9 SPU2: clang-format 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b0b4adea75 SPU2: license header update 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c5b5a3039a SPU2: redesign save states into a working state, config saves now works 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e8c50aaadf SPU2: add back configuration GUI 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b6356eb5f8 SPU2: implement lifecycle callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cb0e422228 SPU2: remove setup irq callback functions 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ece59b710 SPU2: initial merge complete 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fe8160f3ec SPU2: merged more core callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
67738a57b7 SPU2: redesign the save state system 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
9c97092efd SPU2: merging some codebase callbacks 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
3d3ccbfcd7 SPU2: merge initial code, remove plugin exports 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b8c3bd4fae SPU2: remove initial plugin references 2020-10-04 00:13:36 +01:00
GovanifY
cf58a32583 DEV9: fix crash when closing game window with ethernet disabled 2020-10-03 23:47:04 +01:00
Kojin
6186676add gsdx: properly init gsclut function ptrs 2020-10-02 22:30:04 -04:00
sonicfind
329a1ae59d pcsx2-gui: Disable recording shortcuts on any GS panel close, even from pausing or shutting down
Now that there's a reason for it, enable the call to the CloseGSPanel function (although it still won't delete the panel).

pcsx2-gui: Remove input recording keybinds when tools are disabled


recording: Log "Recording" > "Input Recording" consistency
2020-10-03 01:45:18 +01:00
Tyler Wilding
0df056ac61 pcsx2-gui: Enable and disable new recording menu items when appropriatewhen
pcsx2-gui: Don't attempt to modify recording items if main frame is null


pcsx2-gui: Add some help text for the recording options as well


pcsx2-gui: Disable `Toggle Recording Mode` if no recording is active
2020-10-03 01:45:18 +01:00
Tyler Wilding
1954c2ce09 pcsx2-gui: Add handlers for new menu options 2020-10-03 01:45:18 +01:00
Tyler Wilding
b39f408afc pcsx2-gui: Improve method of adding key shortcut to menu items 2020-10-03 01:45:18 +01:00
RedDevilus
d304261333 GameDB: VU0 Kickstart to Blood Will Tell
Fixes main character model SPS.
2020-10-03 01:44:24 +01:00
RedDevilus
df9a45aa14 GameDB: VU0Kickstart to 24 the game
Fixes missing textures.
2020-10-03 01:44:09 +01:00
refractionpcsx2
d2169d725b SIF: Correct IOP cycle count for SIF transfers 2020-10-03 01:42:46 +01:00
refractionpcsx2
dcbb05982a Savestates: Move variable to sif struct, bump savestate version 2020-10-03 01:42:46 +01:00
refractionpcsx2
b916ce6d30 GameDB: Remove patches for True Crime: Streets of LA 2020-10-03 01:42:46 +01:00
refractionpcsx2
1a3b532530 SIF: Transfer SIF0 junk for partial QW transfers from IOP
Fixes True Crime: Streets of LA
2020-10-03 01:42:46 +01:00
refractionpcsx2
435b7dcd2b IOP DMA: Always fire interrupts for SIF0/SIF1 (#3778)
Fixes Knockout Kings 2001 hang on boot
Also cleaned up a bit of white space
2020-10-03 01:41:59 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
85c1aca70e DEV9: fix compilation issues 2020-10-02 19:26:23 +01:00
GovanifY
b4185a96c7 DEV9: only list tap interfaces 2020-10-02 19:26:23 +01:00
GovanifY
0dbb467045 DEV9: rewrite TAP driver and switch to TAP for windows 2020-10-02 19:26:23 +01:00
GovanifY
342e114de8 DEV9: implement get_{num,desc,name} with the winapi 2020-10-02 19:26:23 +01:00
GovanifY
5e8501b5f1 DEV9: initial removal of winpcap 2020-10-02 19:26:23 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0ed46c8b74 CDVD: fix for loading games in BIOS 2020-10-02 16:24:48 +01:00
lightningterror
3231e79566 [skip ci] nsis: Update message box for minimum supported os.
Separate message boxes for v1.4.0 and v1.6.0.
2020-10-01 21:02:22 +02:00
Tyler Wilding
400ed82715 recording: Many adjustments on VirtualPad from review feedback
recording: Factor in DPIScaling when scaling VirtualPad window


recording: Add a reset button, hopefully better quality backgrounds for lower resolutions


recording: Improved VPad analog alignment

Co-authored-by: sonicfind
recording: Some final VirtualPad coordinate adjustments
2020-10-01 17:52:59 +01:00
Tyler Wilding
28a4d0390f cmake: Generate resource header files alongside .pngs just like on windows 2020-10-01 17:52:59 +01:00
Tyler Wilding
14e1ecbbf6 recording: Store VirtualPad window position in .ini file 2020-10-01 17:52:59 +01:00
Tyler Wilding
4519e32586 vs/recording: Remove the committed header files, generate them at build-time
recording: General cleanup, remove obvious code duplication

recording: Improved function arg names in VirtualPad


format: Clang-format all new files
2020-10-01 17:52:59 +01:00
Tyler Wilding
8a968a0c11 recording: set ReadOnlyMode correctly when playing/recording a movie
cmake: Update cmake file lists accordingly


cmake: debugging


cmake debugging
2020-10-01 17:52:59 +01:00
Tyler Wilding
566d0c846f recording: improvements so frame will be less likely to appear un-rendered 2020-10-01 17:52:59 +01:00
Tyler Wilding
32047c6130 recording: Disable widgets in replay mode, simplify ControllerInterrupt
recording: Added some comments to the more complex parts
2020-10-01 17:52:59 +01:00
Tyler Wilding
bbc305d2b9 recording: Linting pass on files involved in this change 2020-10-01 17:52:59 +01:00
Tyler Wilding
c89e9134f6 recording: Done micro-optimizing GUI 2020-10-01 17:52:59 +01:00
Tyler Wilding
d296f0257f recording: Removed redundant #includes and reliance on Common.h
Including Common.h was excessive (for logging) and causing compiler errors on MSVCv142, this bypasses that issue.
The only references to something similar to the errors I was seeing was this https://developercommunity.visualstudio.com/content/problem/845325/stdmake-shared-pch-virtual-method-googletest-cause.html which is resolved in the upcoming VS - 16.6 release (16.5 at the time of writing)
2020-10-01 17:52:59 +01:00
Tyler Wilding
ed829d427c recording: Update controller interrupt to handle both the VirtualPad and the movie
vs: solution updates for new folders / filters / files
2020-10-01 17:52:59 +01:00
Tyler Wilding
0728acaf55 recording: New VirtualPad implementation 2020-10-01 17:52:59 +01:00
Tyler Wilding
b53d22ae7d recording: Rewrite of PadData class
Now a pure object representation of the controller data, no longer tightly coupled to the VirtualPad
2020-10-01 17:52:59 +01:00
Tyler Wilding
1afc75d6d9 recording: Commit all new .png image files for new GUI 2020-10-01 17:52:59 +01:00
Tyler Wilding
3e0ec4ebd3 recording: script to auto-regen image header files 2020-10-01 17:52:59 +01:00
Tyler Wilding
a50d67e59e recording/core: greatly simplify Sio hook and update includes 2020-10-01 17:52:59 +01:00
Tyler Wilding
788a3c294c git: auto-collapse image header files from PR reviews 2020-10-01 17:52:59 +01:00
Ty
00cc4362e8 dev9ghzdrk: Remove obsoleted keyword for Clang. (#3768) 2020-10-01 14:38:27 +02:00
lightningterror
441602aee0 nsis: Bump minimum Windows requirement to 8.1 2020-10-01 00:08:30 +02:00
lightningterror
a0829e9a24 nsis: Remove dx runtimes. 2020-10-01 00:08:30 +02:00
lightningterror
da5da1425b nsis: Remove old v1.4 checks no longer needed.
Remove StrContains.nsh which was used for the
1.4 check.
2020-10-01 00:08:30 +02:00
lightningterror
6040f8c838 nsis: Bump version to 1.8.0 2020-10-01 00:08:30 +02:00
lightningterror
74817a52ef nsis: Remove plugins that were merged in to core.
cdvdGigaherz, FWnull.

TODO: Check if any other plugins got merged in the future.
2020-10-01 00:08:30 +02:00
kozarovv
491b6e12f7 Core: Fix recLUT_SetPage in recResetIOP for ROM1, and ROM2 (#3753) 2020-09-30 11:44:20 +01:00
Ty
5858f72748 Bump up C++ version to c++17 for gcc & clang (#3746)
Use target_compile_features to enforce c++17 standard
2020-09-29 10:30:03 -04:00
Mrlinkwii
21c9d9d020 gamedb: Add vuClampMode 3 to Legend of Kay. (#3762)
Fixes broken polygons on trees.
2020-09-29 07:42:54 +02:00
RedDevilus
0e9dcfbf31 GameDB: Fix wrong names. 2020-09-27 22:05:31 +01:00
GovanifY
5de82289dd IPC: fix windows warnings 2020-09-26 04:13:27 +02:00
refractionpcsx2
aaf1fbd83e GameDB: Change clamping for Armored Core 2. Fixes #2395 2020-09-25 21:37:51 +01:00
Tyler Wilding
5523b02718 ci: Add packages to fix linux build (#3750)
* ci: Add packages to fix linux build

* ci: Sort packages
2020-09-25 00:26:42 -04:00
refractionpcsx2
0ae5c89656 GameDB: Added patch for Jonny Moseley - Mad Trix NTSC to fix videos 2020-09-25 05:08:49 +01:00
lightningterror
dcfb6a56b3 gsdx-ogl: Move DATE_GL42 swap code after colclip.
We can avoid adding extra conditions this way.
2020-09-24 21:59:31 +02:00
Christian Kenny
ec1656f380 Vif: Remove unused variables 2020-09-24 20:12:14 +01:00
refractionpcsx2
669d6096d0 GameDB: Add VU0 Kickstart to Twisted Metal Black games Fixes #3748 2020-09-24 18:58:00 +01:00
Kojin
a60b45f481 msbuild: update project to cpp17 (#3745) 2020-09-24 06:39:30 -04:00
lightningterror
271bec0f14 gsdx-ogl: Make sure DATE_GL42 doesn't run on clamp 0 with non recursive or accu blending.
Also remove DATE_GL42 asserts.
2020-09-24 00:47:13 +02:00
lightningterror
bb4efe7a34 gsdx-ogl: Swap DATE_GL42 with DATE_GL45 on sw blending draw.
It will allow to run sw blending with DATE draw which was previously
DATE_GL42 by default.
2020-09-24 00:47:13 +02:00
C.W. Betts
9952bf285d Better Apple icon file:
* 256 px taken from Windows icon.
* Scaled down 256 to 128 for better-looking 128 px.
* Add retina versions of 16 and 128 px.
2020-09-22 14:26:44 -05:00
TheCakeIsNaOH
e479bc923e NSIS: Add support for command line flags and fix silent install (#3435) 2020-09-22 20:24:04 +01:00
arcum42
2849776054 UI: Refactored plugin loops to use lambdas. (#3569) 2020-09-22 11:07:13 +01:00
Kojin
79f2468952 GSdx: Purge D3D11 Software
F9 now has the following functionality on Windows:
- If the renderer in the config is D3D11, switch between D3D11 and SW
- If the renderer in the config is OGL, switch between OGL and SW
- If the renderer in the config is SW, switch between SW and the renderer returned by GetBestRenderer()
2020-09-21 20:30:20 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6c4ac7eb7f IPC: implement MsgVersion and fix boundings bug 2020-09-22 01:28:14 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cb775c64b1 IPC: testing grounds for MsgVersion 2020-09-22 01:28:14 +01:00
refractionpcsx2
54bcf9a657 SPU2: Only reset output modules if the sample rate changes.
Also don't reset all SPU2 regs when entering PS1 mode, only need to set the sample rate.

Fixes issues with portaudio.
2020-09-21 15:13:51 +01:00
Tyler Wilding
c4ca10258b ci: Validate VS filter files in buiild
msbuild does not use the project in it's entirety to build the app.  This means problems can slip through, so an easy solution is just to ensure the XML is well-formed.  More sophisticated validation could be done with something like `xmllint` but seems overkill.
2020-09-21 02:45:25 +01:00
Timothy O'Barr
73b02c204b SPU2: Set sample rate correctly for PS1 mode (#3532)
* Moved ps1 init. Added Sample Rate change for SPU that gets set but not applied
* SPU: misc fixes on SPU ps1 mode init
* Init the soundbuffer to apply sample rate. Actually set the correct sample rate for the ps1 though it still won't apply

Co-authored-by: Gauvain 'GovanifY' Roussel-Tarbouriech <gauvain@govanify.com>
Co-authored-by: kenshen112 <obarrtimothy@gmail.com>
2020-09-21 01:04:40 +01:00
refractionpcsx2
551847411f CDVD: Revert change from CDVD merge which broke a few things. 2020-09-20 22:27:58 +01:00
lightningterror
2684093b5b lilypad: Default.ini
Update to reflect recent changes.
2020-09-20 19:19:26 +02:00
lightningterror
451f4267ba Lilypad: Remove saveStateIndex.
Was used in saveStateTitle.
2020-09-20 19:19:26 +02:00
lightningterror
93274bfa49 lilypad: Remove disableScreenSaver from Linux too. 2020-09-20 19:19:26 +02:00
lightningterror
c1ec6337a4 lilypad: Remove saveStateTitle and leftovers TitleHackWndProc, PCSX2_overrideConfig. 2020-09-20 19:19:26 +02:00
lightningterror
27542901c8 lilypad: Remove escapeFullscreenHack fully. 2020-09-20 19:19:26 +02:00
lightningterror
78a899b36b lilypad: Remove disableScreenSaver fully. 2020-09-20 19:19:26 +02:00
lightningterror
00e7429c5f lilypad: Remove closeHack fully, remove autoAnalog. 2020-09-20 19:19:26 +02:00
lightningterror
7f57166eea lilypad: Remove psx/ps1 emulator compatibility.
Same as https://github.com/PCSX2/pcsx2/pull/3274
2020-09-20 19:19:26 +02:00
sonicfind
0ce4f7624f GSdx-Capture: Abort capture if an invalid directory is given 2020-09-20 17:36:33 +01:00
sonicfind
7662e22665 GSdx-GUI: Add wchar_t variant of ComboBoxAppend 2020-09-20 17:36:33 +01:00
sonicfind
1ff67c6c1b Capture: Share filename between GSdx and Spu2-x
Shares a single filename between the two capture functions so that the .avi and .wav will match.
Default wavdump filename changed to "audio_recording.wav"
2020-09-20 17:36:33 +01:00
sonicfind
bd91a571a6 GSdx-Capture: Append a missing .avi extension
Filenames of zero length do not allow OK to be pressed.
2020-09-20 17:36:33 +01:00
RedDevilus
e8b16bb145 GSdx-gui: Properly grays out Dithering(PgDn) in software and none renderers. (#3722) 2020-09-20 14:12:24 +02:00
Tyler Wilding
fe10f23994 ci: Resolve git-submodules related Actions warning
The `.git/modules` folder was not being initialized, which caused the post-cleanup of the `Checkout` step to flag an error at the end.  Caching this folder and thus completely caching anything submodule related, should eliminate this warning.

Also allowed submodules to be pulled in parallel when they aren't cached.
2020-09-20 05:51:46 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e1ff498a8e FW: fix FWirq callback bug 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6f98fd4b65 FW: clang-format 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
385c698212 FW: merge into core, simplify setup and config 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
4a3e67d143 FW: including back some references 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
0fdef7b7d7 FW: removing initial references 2020-09-19 22:38:32 +01:00
Tyler Wilding
86639114e5 ci: Increase verbosity on msbuild logs - includes timing information and such 2020-09-19 21:54:20 +02:00
Tyler Wilding
1a79e421cd Add github actions status badges to readme 2020-09-19 21:54:20 +02:00
Tyler Wilding
2e9a32e7ec ci: Cache submodules and fix artifact naming 2020-09-19 21:54:20 +02:00
refractionpcsx2
2a292fdc05 Build: Fix filters, again. 2020-09-19 16:07:17 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ee53bd795b CDVD: fix conflicts merging 2020-09-19 06:56:25 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
ad1cdc9122 IPC: return an error when packet is too big 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
a0aaad7ff8 IPC: per user tmp folder in macOS + logic bugs 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
cd0bf66434 IPC: conform to the XDG base specification on linux 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
136b6d8098 IPC: updating IPCMsg doc 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f0179b5be6 IPC: reply datagram splittage 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
265c9ec055 IPC: timeout on read/write operations 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f1b1babcf7 IPC: query datagram splitting 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d70309503f IPC: implement better error handling 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
439ed9617c IPC: perform memory checks, virtually no perf hit 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
89ce774d7e IPC: implement batch command processing 2020-09-18 21:10:04 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech
86757fd36f IPC: original socket ipc implementation 2020-09-18 21:10:04 -05:00
refractionpcsx2
c422aa00aa VS Project: Fix filters 2020-09-19 02:19:18 +01:00
lightningterror
b1f0f7f2e8 ci appveyor/travis: Build only master branch.
Keep them around for now, we will remove them along the way.

Replaced by Github Actions.
2020-09-19 03:18:23 +02:00
Gauvain 'GovanifY' Roussel-Tarbouriech
1f327346f7 CDVD: remove non-fatal logging 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
b46736836e CDVD: remove disc selector dialog 2020-09-19 01:37:43 +01:00
GovanifY
4b1467ea69 CDVD: safety fixes on hard swaps 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
f9be4286bd CDVD: clang-format 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
c4fa3e3304 CDVD: polishing rebase and fixing nullptr bug 2020-09-19 01:37:43 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fd70ddda02 CDVD: reproducing old behavior, boot in BIOS if invalid drive found 2020-09-19 01:37:43 +01:00
unknown
4df5c0ee1e CDVD: check if CDVD thread is already open 2020-09-19 01:37:43 +01:00
Filjo Abraham
656efa5e20 CDVD: drive selection submenu and OS-specific fixes 2020-09-19 01:37:43 +01:00
Filjo Abraham
2c5a23b696 CDVD: ensure thread/state is ok before proceeding 2020-09-19 01:37:43 +01:00
Filjo Abraham
029461c5ae CDVD: merging and removing remnants of plugin 2020-09-19 01:37:43 +01:00
Filjo Abraham
a70bfbdaa9 CDVD: add menu item for discReader and gui for drive selection 2020-09-19 01:37:43 +01:00
lightningterror
0c67dc99f7 gsdx-gui: Add dithering option go linux gtk gui too. 2020-09-19 01:09:25 +02:00
RedDevilus
4e13c3375b GSdx-gui: Add dithering option to windows gui. (#3706)
- Dropdown menu for 3 options: Off (No Effect/ Been always like this), Scaled (Strongest effect/obvious), Unscaled (Weakest effect/less obvious).
- Change default from Scaled to Unscaled.
2020-09-19 00:57:35 +02:00
sonicfind
11fe2619eb recording: Disable currently active frame advancing when opening a different recording 2020-09-18 23:31:23 +01:00
sonicfind
9936fc7f15 recorrding: Resolve issues with starting a new file 2020-09-18 23:31:23 +01:00
sonicfind
23dba26ba3 recording: Rearrangements + Formatting
* RecordingReset is now a function of the InputRecording class
* TotalFrames is now signed
* InputRecordingControls refactor, IsRecordingPaused -> IsPaused
* Add check to keep frameCounter from overflowing (not like someone is gonna record a year's worth of inputs though).

* Code Formatting adjustments (more to do in a separate PR)
2020-09-18 23:31:23 +01:00
sonicfind
f881bd9bd6 recording: Lock frameCounter incrementation on initial recording file load or during full/fast boot
Ensures that no frames of input are skipped over on the initial load of a recording file or during a fast/full boot when a recording file is active. Improved consistency.
2020-09-18 23:31:23 +01:00
sonicfind
5c5d3a770f recording: Handle mode toggle in InputRecordingControls 2020-09-18 23:31:23 +01:00
sonicfind
975a37f209 recording: Handle Boots & Savestates similarly
* Replaces the savestate load flag with a more general initial load flag to be used by full/fast boots and savestates.
* Have the Pcsx2App::ResetRecordingCounter() method mirror the similar method of the savestate class.
2020-09-18 23:31:23 +01:00
sonicfind
b591c5e9ab recording: Rework Frame Value & Undo Count Functions
* Handle setting frameCounter to 0 in SetStartingFrame().
* FrameCounter, signed -> unsigned.
* Have SetFrameCounter handle the calculations for the relative frame displacement from the startingFrame.
* Optimizes InputRecording::controllerInterrupt.
* Flip the order of execution in inputRecordingFreeze.
* Set framecounter properly on full/fast boot.
* More accurately increment undo count
2020-09-18 23:31:23 +01:00
sonicfind
0304b124ed recording: Recording mode-based refactors
* Recording mode enum, NoneActive -> NotActive
* Changed IsMode method names and added an IsRecording method.
* Add methods designated to setting a recording to a certain mode.

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2020-09-18 23:31:23 +01:00
Tyler Wilding
74bba35765 recording: Resolve issues discovered while testing around savestate handling
* Add a flag to explicitly indicate if the initial SS has been loaded.
* Additionally: bracket formatting / spaces -> tabs.
2020-09-18 23:31:23 +01:00
Tyler Wilding
6c80e6b93f recording: Recording controls rename and refactor to attempt to simplify
* RecordingControls - > InputRecordingControls (+ function refactors & simplifications)
* Avoid mutating g_FrameCount - now use isolated frameCounter & startingFrame variables for input recordings
* Pause or resume emulation preemptively based on GUI actions
* Exclusively handle GS window title updates in FrameForGS
2020-09-18 23:31:23 +01:00
GovanifY
fa894d9d48 HostFS: free fds when shutting down vm (#3671)
* HostFS: free fds when shutting down vm

* HostFs: init arrays at given value
2020-09-18 15:34:43 -04:00
Kojin
db36dc2326 GSdx: Purge International Star Soccer Hack
Confirmed to be a core issue.
See: #3568
2020-09-18 14:46:27 -04:00
lightningterror
8cdd823671 build.sh/cmake: Remove OPENCL_API flag. 2020-09-18 20:04:11 +02:00
lightningterror
413d58df57 3rdparty: Remove opencl lib source files. 2020-09-18 19:14:32 +02:00
lightningterror
6529fa419f vcxproj/vsprops/sln: Remove opencl 3rdparty libs. 2020-09-18 19:14:32 +02:00
lightningterror
c50c6034c0 gsdx-hw: Remove opencl code and files from gsdx. 2020-09-18 19:14:32 +02:00
lightningterror
fb640cbdb9 build.sh: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
edd949583a cmake: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
3f99395d3b vcxproj: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror
f86ea02594 tools: Remove dynacrchack source files. 2020-09-18 19:13:45 +02:00
lightningterror
dd5d1a1abb gsdx-hw: Remove DynamicCrcHack feature. 2020-09-18 19:13:45 +02:00
refractionpcsx2
40d02400ca DMAC: Improve DMA Stall handling (#3701)
SIF: Implemented SIF0 and SIF1 DMA Stall handling
Cleaned up some of the handling of DMA Stalls on the other channels
2020-09-18 16:23:18 +01:00
Tyler Wilding
a5cc8efb10 ci: Ignore workflows on non-code changes or irrelevant code changes 2020-09-18 03:31:13 +02:00
Tyler Wilding
645b2dc17a ci: Properly fail the linux workflows if the build fails 2020-09-18 03:31:13 +02:00
Tyler Wilding
0bd49ad778 ci: Remove clang, use GCC 10 and GTK 3 2020-09-18 03:31:13 +02:00
Tyler Wilding
81ccb637f9 ci: Remove directX downloading from windows build 2020-09-18 03:31:13 +02:00
Tyler Wilding
3fba5a2c11 ci: Add cron action to cleanup old artifacts to avoid hitting GH Actions limits 2020-09-18 03:31:13 +02:00
Tyler Wilding
359be55ce0 ci: Add working linux workflow 2020-09-18 03:31:13 +02:00
Tyler Wilding
d7beb3cdc7 ci: Add windows workflow 2020-09-18 03:31:13 +02:00
Jonathan Li
176e3609a5 ci: base github actions from turtleli 2020-09-18 03:31:13 +02:00
RedDevilus
07eb0770cd Gamedb: Remove patches and add manual gamefixes
- Spiderwick Chronicles
- Amplitude
2020-09-18 02:25:37 +02:00
lightningterror
366e7b9dbd gsdx-hw: Purge Grandia3 crc hacks.
Upscaling issues can be solved with half pixel offset. Leave the
accurate blur alone!
2020-09-17 20:10:44 +02:00
lightningterror
8d8f0f82d8 gsdx-hw: Run clang format on GSHwHack.cpp. 2020-09-17 19:53:24 +02:00
lightningterror
baabbc3c9f gsdx-hw: Purge Genji crc hacks.
Effects rendered correctly.
2020-09-16 01:22:26 +02:00
refractionpcsx2
751447a028 GameDB: Added missing rounding mode for Shin Megami Tensei: Lucifer's Call 2020-09-15 17:12:13 +01:00
refractionpcsx2
b5e3fc97dc VIF: Set decoding status on VIF stall (#3683)
* VIF: Set decoding status on VIF stall

* VIF/GIF: Remove VIF Reset hack, Let GIF Unit reset queued path data (Except MTVU)
2020-09-14 23:28:55 +01:00
refractionpcsx2
f7f9e30efc SIF DMA: Fix bug with Tag Interrupts 2020-09-14 20:26:25 +01:00
refractionpcsx2
6229b204fa GameDB: Add auto game fixes for Taxi Rider to fix white models 2020-09-12 14:59:09 +01:00
lightningterror
e5db98c137 [skip ci] Tools: Move gsdumpgui in it's own repository.
https://github.com/PCSX2/GSDumpGUI

Initial release has been published as well so developers can download
and use it without the hassle of compiling.
2020-09-12 14:16:14 +02:00
arcum42
dae2c31951 Revamp the wx spu2-x dialog. (#3670)
* Revamp the spu2-x wx dialog box to be more consistant with the wx GSdx dialog.

* Revised advanced sync text for brevity, changed it back to a label, and renamed the dialog box.

* LightningTerror thinks Spu2 looks better in uppercase.

* Change around the time stretching labels again.
2020-09-11 22:30:11 -07:00
sonicfind
4d66818746 GUI/Recording: Resolve issues around playing and creating input recordings under certain scenarios (#3669)
* recording: Only stop the current recording once the menuing hasnt been cancelled

* recording: Avoid changing menu option's state if the recording couldn't be played

* recording: Don't play a recording that uses a savestate, if no game is running

* recording: Don't modify `frameAdvance` flag when explicitly [un]pausing

These functions are only called when creating/playing a recording, and modifying the frameAdvance flag leads to unexpected behaviour (such as the game starting paused if the recording was made from "power-on")

* recording: Refactor and simplify `InputRecordingFile`

InputRecordingFile will no longer be concerned with loading the save-state when playing back an existing recording.  This makes it much easier to only load the save-state if the file is valid and manipulate the emulation state correctly.

* recording: Update play logic with new refactor, resume emulation in the event of a failure

* recording/lint: spaces to tabs

* recording: Properly only examine controller 1A & 2A

The previous controller port checks in place never actually succeeded in their designated task. A new slot check in sio.cpp will perform this task instead.

* recording: Save the savestate in OpenNew() instead of open()

Ensures that the savesate could be saved before trying to create the actual input recording file. It will overwrite any previous backup savestate.
Also, allows for a simplified & easier to read code struture of open().

* Refactor and simplify `InputRecording`

Changes the return type of Play/Create from void to bool.
Optimizes Stop(), Pause(), and Unpause() call placements

Improved handling of emulation pause state, the recording menu on failures, and the conditioning of when a recording file should actually be unloaded.
For example, a currently loaded recording should not get unloaded if a user presses Play *but* chooses cancel in the file browser. However, the emulation should be paused during the duration of this action.
On the flipside, a loaded recording *should* get unloaded if the tools get disabled in settings AND emulation should resume if not already playing.

* recording: Simplify VirtualPad_Open_Click

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2020-09-11 21:30:56 +01:00
lightningterror
4d0650baa0 3rdparty:opencl: Remove unused opencl files.
Currently they are not used when compiling with opencl so don't include
them, entire opencl 3rdparty needs to be updated. Can be done when
someone attempts to fix the opencl renderer.
2020-09-11 02:18:02 +02:00
RedDevilus
043832abdf Console-gui: Update descriptions.
Add Input to recording. Lowercase to uppercase words.
2020-09-11 01:49:32 +02:00
RedDevilus
e079604c48 pcsx2-gui: Update main window description/tooltips.
Change 2 recordings (CaptureVideo and Recordings) to Screenrecorder and Input Recording.
2020-09-11 01:49:32 +02:00
RedDevilus
6a9a61ec68 MemoryCards-gui: Update descriptions/tooltips.
Auto-Eject checkbox is a failsave for broken saves. Card (file)name to Memory Card (like a real PS2 you need to plug a memory card in port 1 to work).
Add usable to formatted to be obvious if you can use the memory card. Changed default column width.
2020-09-11 01:49:32 +02:00
RedDevilus
3d014d28e6 EmulationSettings-gui: Update descriptions/tooltips.
FMV Aspect Ratio Override = Off is the same as the value for Aspect Ratio. Formatting fix for Zoom tooltip.
Double click on emulation windows also does fullscreen. Disable framelimiting means Uncapping the FPS.
Capped slowmotion adjust at 5% (it doesn't accept lower than 5 anyway). MTGS gets debug tag (useless for many).
2020-09-11 01:49:32 +02:00
RedDevilus
03a41fee23 GSdx-gui: Update descriptions/tooltips.
Large framebuffer should only be used in cases of stuttery FMVs (cutscenes). 4/8 bits is best used where GPU is much stronger than CPU.
Fix DPI scaling for OSD color sliders (FPS + other stats).
2020-09-11 01:49:32 +02:00
RedDevilus
4e2319c075 Lilypad-gui: Update descriptions/tooltips.(PR3457)
DS4 is finicky sometimes with Directinput enabled and is best used with Xinput + Steam (Steam is recommended for all controllers).
Alternative for DS4 is Ryochan7/DS4Windows (not main DS4Windows).
2020-09-11 01:49:32 +02:00
Tyler Wilding
79cd8d2190 GUI: Fix recording related hang when PAD plugin is open/closed while game is paused (#3299)
* recording: Resolve hang when opening PAD plugin with the game paused

* pcsx2-gui: Forbid editing the PAD settings while emulation is paused by recording tools

* pcsx2-gui: Resume emulation before configuring PAD plugin, resume on return
2020-09-10 23:05:54 +01:00
lightningterror
fe872b5caa [skip travis] ci-appveyor: Skip building commits if only the following directories/files are changed. 2020-09-10 17:08:08 +02:00
refractionpcsx2
1b6b3f692d GS/Counters: Fix CSR Swap and VBlank Interrupt timing 2020-09-10 15:47:11 +01:00
refractionpcsx2
197eaf3899 VU: Also update Status/Mac instances after COP2, just in case 2020-09-10 12:25:52 +01:00
refractionpcsx2
19ab48c280 VU: Copy CLIP flag instance back to VU0 int and microVU when COP2 modifies it
Fixes Soul Calibur 3 hair
2020-09-10 11:52:47 +01:00
Mrlinkwii
27598fecce GSdx: Console printf CRC fix for starter character 0. (#3678) 2020-09-08 22:18:27 +02:00
RedDevilus
127bdb4cef Gamedb: Remove duplicate gamefix for Primal, and rename Wilds Arms to Wild ARMs. (#3672) 2020-09-07 13:56:36 +02:00
Tyler Wilding
fd4f9aacf0 pcsx2-gui: Clear console log when theme is changed 2020-09-04 15:11:42 +02:00
Tyler Wilding
457830d65d pcsx2-gui: Change the console logger's theme on the fly 2020-09-04 15:11:42 +02:00
RedDevilus
b633b2a2d1 onepad: Update to latest controller database. 2020-09-03 11:23:23 +02:00
arcum42
a1d6cb278f Make a few settings in spu2-x stick under Linux. The whole config section should probably be rewritten, but that's for a later date. 2020-09-02 21:56:54 -07:00
lightningterror
19f153adf1 pcsx2: Remove unused cheats and browser source files.
Unimplemented since pcsx2 moved to wxWidgets (0.9.x era).
2020-09-02 13:44:56 +02:00
lightningterror
4ad60d5de5 vcxproj: Remove old cheats and browser references. 2020-09-02 13:44:56 +02:00
lightningterror
53ada061d2 cmake: Remove old cheats and browser references. 2020-09-02 13:44:56 +02:00
refractionpcsx2
4629c8363c microVU: Fix state saving when m-bit is reached
microVU: Fix range merging to encompass whole ranges of programs
2020-09-01 20:49:07 +01:00
refractionpcsx2
d3f4427ee9 GameDB: Added VU0Kickstart to Horsez 2 2020-09-01 20:31:35 +01:00
JC
23248b5293 GSdx: Add Default OSD Font Resource (#3605)
GSdx: Add Roboto font to resources and make it the default for the OSD
2020-09-01 11:50:09 -04:00
kozarovv
6a4e93db3c VU: Remove unused code in VUmicro
Some of that is not used for more than 10 years. Not even useful for testing now.
2020-09-01 15:34:18 +01:00
TellowKrinkle
a1bf677514 cmake: Don't add xsave flag 2020-09-01 09:28:31 -04:00
TellowKrinkle
19f2d96d06 x86emitter: Don't use xgetbv
All OSes now support AVX
2020-09-01 09:28:31 -04:00
lightningterror
9c0865c0f4 [skip travis] ci-appveyor: Some tweaks.
Add skip_branch_with_pr reference.
- Do not build feature branch with open Pull Requests.

Remove VS2017 32bit build, will allow appveyor to finish
jobs/work faster.
2020-09-01 14:19:03 +02:00
Silent
6f0011ac9c GameDB: Add GT Concept 2002 memcard filter 2020-08-30 21:50:20 +02:00
refractionpcsx2
87dc885a4a VU: Improved EE Cycle Skipping hack to work better with the new VU0 sync changes 2020-08-30 17:15:18 +01:00
refractionpcsx2
10aced77f0 GIF: Solve stack overflow problem on large GS packets with no data 2020-08-30 15:13:28 +01:00
TellowKrinkle
56f2d307bc microVU: Fix empty register use 2020-08-30 04:31:10 +01:00
refractionpcsx2
ecebaca3f0 VU: Fix x64 crash introduced with VU Sync PR
Thanks to TellowKrinkle for helping me debug this one
2020-08-30 04:08:23 +01:00
kozarovv
67235e9a38 GameDB: Update gamedb to match new VU changes 2020-08-29 21:56:26 +01:00
kozarovv
df79a17baa VU: Improve VU0/EE sync, Implement better M-Bit Handling, Fix VU program handing on VIF 2020-08-29 21:56:26 +01:00
RedDevilus
0354e5e710 Gamedb: Add Narnia Chapter 2 Prince Caspian to gamedb ( they didnt even bother doing more languages for 1 entry and can't proofcheck other serials) 2020-08-29 17:55:11 +02:00
kozarovv
98f87dfcc3 Gamedb: Add CTTR hack description, add P4 PAL VU clamping. (#3606)
P4: Fix flickering floor during cutscenes in school.
2020-08-29 15:44:43 +02:00
arcum42
a06ed39151 fixed (was @arcum42 plz fix :p) 2020-08-28 19:10:37 -07:00
Luminar Light
5118aba456 gsdx-hw: Updated Jak CRCs. (#3634)
Added missing CRC for Jak II PAL Preview and Review builds. Due to the protection, the CRCs are identical.
Added mention of Jak 3 Review build in comments. Same CRC as two other builds, due to its protection.
Added a missing Jak X Demo CRC.
2020-08-27 16:26:58 +02:00
lightningterror
9aab6ae7fa Lilypad: Remove Vista mention from config error popup. 2020-08-27 13:37:55 +02:00
lightningterror
13ff9ab7db gsdx-hw: Purge TimeSplitters2 crc hack.
Not needed anymore.
See https://github.com/PCSX2/pcsx2/issues/3568#issuecomment-663927379
2020-08-25 16:57:47 +02:00
TellowKrinkle
91326e1d93 cmake: Remove x86-64 warnings
It's supported now
2020-08-24 16:20:09 -05:00
Tellow Krinkle
35eac7c82f GSdx 64-Bit: Fix register misinterpretation
If the C prototype says int, the compiler might leave garbage in the top half
2020-08-24 16:20:09 -05:00
beaumanvienna (JC)
4bbf0eeb8b ci:appveyor: Add 64-bit build
Since x86-64 recompilers now work
2020-08-24 16:20:09 -05:00
beaumanvienna (JC)
556ec932fb logging: x64 boot message changed
No longer says x86-64 breaks recompilers
2020-08-24 16:20:09 -05:00
tellowkrinkle
310648fb88 recompiler: Fix exception handling on WIN64
Use VEH instead of SEH on WIN64, as SEH needs us to register all our JIT functions for it
2020-08-24 16:20:09 -05:00
TellowKrinkle
970ed11def vsprops: Add __M_X86_64 flag to win64 build
Required to build x86-64 correctly
2020-08-24 16:20:09 -05:00
Tellow Krinkle
cd813edb1b x86emitter: Remove deprecated codegen functions
Successfully moved off of all of them
2020-08-24 16:20:09 -05:00
Tellow Krinkle
0711e0cd52 recompiler: Add comments to recLUT_SetPage
It's kind of confusing
2020-08-24 16:20:09 -05:00
Tellow Krinkle
dc57270fb8 EE/IOP/VU: x86-64 recompiler support 2020-08-24 16:20:09 -05:00
arcum42
eeca29b6d3 pcsx2-gui: Some menu changes (#3597)
* Reshuffle and reorganize  menus. Add a help menu with links to the main website, forums, github page, wiki, and getting started pages.

* Change fast boot to an option.

* Make the Debug window menu option checkable, similar to the Log window.

* Move log settings to the Log menu.

* Add more information to the status bar.

* Moved a few things around. Added Compatibility to the Help menu.

* Removed Pcsx2 from the menu item names in the Help menu, and rearranged a bit.

* Fix crash on cancelling.

* Status bar changes.

* Add minimize/maximize flags to debug window.

* Don't strip out the maximize and minimize boxes on the debugger in weird Windows-only code.

* Add Help button. Fix Help dialog on Linux.

* Remove no longer used Windows code for Debug window.
2020-08-23 16:10:39 -07:00
orbea
c8042fe937 man: Silence warnings. (#3590)
man: ./PCSX2.1:65:9: STYLE: no blank before trailing delimiter: Fl h,
man: ./PCSX2.1:119:9: WARNING: skipping no-space macro
man: ./PCSX2.1:180:72: WARNING: skipping no-space macro
2020-08-23 16:05:20 -07:00
RedDevilus
f78fa2aacf Disney Golf instead of Disney's golf. Same as other regions (#3626) 2020-08-23 16:03:27 -07:00
helkaluin
a0fe237dde debian-packager: Explicitly add libx11-xcb-dev to Debian packager. (#3621)
Ubuntu 20.04 onwards stopped pulling in libx11-xcb-dev with libx11-dev
2020-08-23 19:05:33 +02:00
Timothy O'Barr
dc5bfbb470 Fixes to Arch WX length_error (#3625) 2020-08-23 04:59:15 +01:00
lightningterror
3324043d21 gamedb: Remove zerospu2 comment. 2020-08-23 05:27:22 +02:00
lightningterror
383fa03a34 Remove zerogs and zerospu2 source project files. 2020-08-23 05:27:22 +02:00
lightningterror
664559b6d4 pcsx2: Remove zerogs, zzogl code and comments. 2020-08-23 05:27:22 +02:00
lightningterror
96c057466b sln: Remove zerogs and zerospu2 from build solution. 2020-08-23 05:27:22 +02:00
lightningterror
0939c6302e cmake/linux: Remove zerogs zerospu build environments. 2020-08-23 05:27:22 +02:00
lightningterror
ee3b153d7b gitignore: Remove zerogs, zerospu2 2020-08-23 05:27:22 +02:00
refractionpcsx2
86bb50b9b7 Why is that file spaces and not tabs 2020-08-23 01:40:42 +01:00
refractionpcsx2
deed83a282 Revert bad wxString ini fix which was actually caused by a bad Arch package 2020-08-23 01:39:13 +01:00
lightningterror
f6c138ca7e Goodbye, old friend... Remove zzogl from master branch (#3614)
* cmake: Remove zzogl from cmake.

* cmake/build: Remove GLSL_API and EGL_API flags.

Only used in zzogl.

* linux various: Remove zzogl.

* sln: Remove zzogl from old plugins solution.

* zzogl: Remove source files.

* debian: Exclude zzogl from copyright.

* linux various: Remove glsl2h.pl

Used only in zzogl?

* linux various: Remove zzogl code from validate_glsl.sh

* debian: Remove zzogl mentions in create built tarball.

* gitignore: Remove zzogl paths.
2020-08-21 20:41:45 -07:00
seta-san
328e358b21 Define IPUDMAMode 2 (#3617)
Define IPUDMAMode 2
2020-08-21 19:27:56 +01:00
lightningterror
fc882c9efc debian: Remove gsdx legacy from packager. 2020-08-20 15:34:20 +02:00
lightningterror
35fa2253dd cmake/linux various: Remove remaining traces of GSdx legacy. 2020-08-20 15:34:20 +02:00
lightningterror
dc0db7c58b gsdx-legacy: Purge gsdx legacy from master branch. 2020-08-20 15:34:20 +02:00
tellowkrinkle
850efdc690 Move VTLB manipulation to class (#3524)
Another small piece of #3451

Moves all VTLB pointer manipulation into dedicated classes for the purpose, which should allow the algorithm to be changed much more easily in the future (only have to change the class and recVTLB.cpp assembly since it obviously can't use the class)

Also some of the functions that manipulated the VTLB previously used POINTER_SIGN_BIT (which 1 << 63 on 64-bit) while others used a sign-extended 0x80000000. Now they all use the same one (POINTER_SIGN_BIT)

Note: recVTLB.cpp was updated to keep it compiling but the rest of the x86-64 compatibility changes were left out

Also, Cache.cpp seems to assume VTLB entries are both sides of the union at the same time, which is impossible. Does anyone know how this actually worked (and if this patch breaks it) or if it never worked properly in the first place?
2020-08-19 09:37:23 +01:00
tellowkrinkle
75aac90452 Allocate memory in an x86-64-compatible way (#3523)
Allocate memory in an x86-64-compatible way

Another part of #3451

Note: While this shouldn't change how anything works, it's been the #1 source of breakage of 32-bit builds in #3451 (it was the cause for the failure of win32 to allocate memory and the failure of linux-32 afterward) so we should definitely make sure it gets tested

see #3523 for more information
2020-08-19 09:20:48 +01:00
tellowkrinkle
4f56db9f18 Fix codegen on x86-64 (#3512)
Fix codegen on x86-64

Part 1 of the changes being worked on in #3451

Makes x86emitter emit the x86-64 machine code you would expect it to

Also adds some unit tests to verify that things are working
2020-08-19 09:19:28 +01:00
seta-san
61f3258b96 GamesDB: Remove Eyetoy Check for Card Captor Sakura (#3595) 2020-08-13 21:35:00 +01:00
lightningterror
edc701d3fc gsdx-d3d11: Remove old nvidia hack reference. 2020-08-11 00:50:56 +02:00
Hamish
8816f4bf0d GSdx: Remove GLX in favor of EGL (#3562) 2020-08-09 04:39:56 +01:00
Mrlinkwii
bf2904d380 GameDB: Adjust KOF: Maximum Impact - Maniax naming. (#3585) 2020-08-09 01:00:29 +02:00
ichee
543bb2270e GameDB: Add gamefix patch for Rogue Galaxy. (#3547)
Fixes Vedan Myna area out of bounds glitch.
2020-08-08 23:40:43 +02:00
Tyler Wilding
9d6d7f7f63 pcsx2-tas: Corrections to recording file's header data (#3480)
* The emulator version was hard-coded to PCSX2-1.5.X which is no longer accurate, it is no longer hard-coded and will use the correct version number the same way it is calculated to display in the window title.

* When creating a recording, the game name is preferred over the ISO name. This is determined via the GameDB. When playing back the recording, a simple check occurs to see if the game running is the same one that was used to make the recording. On the playback side, it always only checked with the ISO filename.
2020-08-08 22:25:19 +02:00
lightningterror
b3d90537ba pcsx2: Adjust windows OS support logs.
List Windows 8.1 and Windows 10 as supported OSes only.
Windows 8.0 and lower as unsupported.

Simplify/clean up the code.
2020-08-08 22:22:16 +02:00
kozarovv
6794bbbd6a Add rom2: support (Fix Chinese Bios) (#3439)
* Add rom2 support

* Add rom2 support on IOP

* Valid memory range for rom2

* Add rom2 support to IopMem.cpp
2020-08-08 20:59:46 +01:00
RedDevilus
60e075d6c9 onepad: Rock Candy Nintendo Switch Controller (#3582) 2020-08-07 15:37:18 +02:00
Kojin
454704d967 vs-build: use the win10 sdk (#3560)
vs-build: use the win10 sdk
2020-08-05 14:12:00 -04:00
RedDevilus
c5470a7f53 onepad: Update to latest controller database. 2020-08-04 05:31:18 +02:00
KrossX
9222e93c40 GSdx-hw: Fix OGL line scaling 2020-08-02 14:07:31 +02:00
tellowkrinkle
95b5ab5f1f clang: Update .clang-format to better match upcoming style guide. (#3535)
People were turning it off because it was doing stupid things, hopefully it'll be more usable now.
2020-07-30 01:44:04 +02:00
RedDevilus
0bf54aa6f6 Gamedb: Cleanup/correct formatting and code comments v2. 2020-07-29 00:07:22 +02:00
lightningterror
25bf39e895 gsdx glsl/fx: Remove unused Uber_ATST shader code. 2020-07-28 01:59:53 +02:00
arcum42
f44f676cce Remove old obsolete code specific to ancient Windows versions of GSdx. 2020-07-25 19:15:03 -07:00
Tyler Wilding
ef96e050f9 Resolve Recording Issues for Linux / OnePad users (#3293)
* git: Ignore uncaught linux build artifacts

* onepad-legacy: Return legitimate key event on `PADkeyEvent` call

Onepad-legacy was the plugin that was building and being used on my linux environment.  I'm not sure if t hat's expected and normal 'onepad' has yet to take over.

* onepad: Return legitimate key event on `PADkeyEvent` call

* recording: Remove unnecessary `PadKeyDispatch(ev)` wrapping func

* recording: Cleanup key event handling when GSFrame CoreThread is paused

* recording: Refactor recording status check to be more explicit

* recording: Define additional key bindings for capitalized varient

Despite the advice of the docstrings in these files, on linux this seems to be required for the bindings to consistently fire.

* onepad: Declare `AnalyzeKeyEvent` not static

* recording: Ensure file extension is appended to recording file on linux

* recording: Correct typo in comment

* recording: Better wording around linux keybinding handling

* Remove unneeded `extern`
2020-07-25 17:58:50 -07:00
RedDevilus
aee23929dc GameDB: Test Drive Unlimited. (#3561)
Fix ordering + Region PAL.
2020-07-24 11:57:33 +01:00
refractionpcsx2
b28382632a IPU: Perform an interrupt on IPU_CTRL Reset. (#3555)
* IPU: Perform an interrupt on IPU_CTRL Reset.
Doing this reset performs a forced command end, meaning the IPU will run through the procedure of ending any command running and telling the core that it is done, even if there is no command currently active.
Fixes Fightbox

* Remove Fightbox patch
2020-07-24 08:56:46 +01:00
lightningterror
a1acaaa50c pcsx2-gui: Remove SuperVU reference from vuflaghack tooltip. 2020-07-23 21:06:55 +02:00
RedDevilus
d1af8cd806 GameDB: Patches for 22 games (or 16 individual games)
- 24 : The game
- Amplitude
- Freaky Flyers
- Free Running
- Ghosthunter
- Next Generation Tennis 2003
- NHL 2K6
- NHL 2K9
- Primal
- Ruff Trigger
- Salt Lake 2002
- Savage Skies
- SOCOM 3
- Tomb Raider: Angel of Darkness
- True Crime: Streets of LA
- Yanya Caballista: City Skater
2020-07-21 17:40:16 -04:00
lightningterror
e3f195cf5c onepad: Update to latest controller database. 2020-07-21 22:08:34 +02:00
refractionpcsx2
6a067f5cd6 GameDB: Added missing EU version of Test Drive Unlimited 2020-07-20 14:04:30 +01:00
xddxd
ee77822d22 Fix no portaudio build (#3510) 2020-07-19 19:21:54 -07:00
John Zimmermann
7e52b9550f Allow running on systems without wx stackwalker (#3519)
closes #2796
2020-07-19 19:13:15 -07:00
arcum42
e42b9ce110 More gtk removals and Onepad dialog tweaks (#3525)
* Improve secondary dialogs in Onepad. I'll do gtk stuff in this branch, too, I promise...

* More fiddling with onepad's secondary dialogs.

* Rework config.inl to use wx, getting the rest of the null plugins.

* Remove some unnecessary includes, and convert SysMessage to wx in onepad.

* Add in tellowkrinkle's Mac OS fixes.
2020-07-19 19:11:42 -07:00
lightningterror
b00c603e0b gsdx-hw: Remove aggressive crc hack for SMTDDS1, SMTDDS2, SMTNocturne.
Removed motion blur and filter on the player. Hack is awful, get rid of
it! Related
4e7e7f2dd5

Bonus: remove commented out hack for VP2.
2020-07-19 00:14:37 +02:00
refractionpcsx2
8a6d56bb29 Revert IOP Counter change. IOP counters already edge triggered based on INT flag 2020-07-18 20:54:29 +01:00
lightningterror
30e6a7a62a onepad: Update to latest controller database. 2020-07-17 21:20:05 +02:00
lightningterror
0ee3983421 gsdx-hw: Add missing crc for RatchetAndClank pal. 2020-07-17 19:51:43 +02:00
refractionpcsx2
389d664ffd Clarified my patch comment slightly 2020-07-17 14:47:55 +01:00
refractionpcsx2
adbb12befe Added patch for FightBox 2020-07-17 14:31:52 +01:00
refractionpcsx2
54f47572af EE REC: Prevent crash when DI instruction is in branch delay slot 2020-07-16 20:09:12 +01:00
refractionpcsx2
a782e03ebf GSdx-hw: Improve HW dithering (#3534)
* Improve HW dithering to stop it creating line artifacts across the screen

* Make DX dithering code OGL-like
2020-07-15 13:51:03 +01:00
refractionpcsx2
e04d86ad39 VIF MSCAL instructions wait on VU T-Bit stop (#3539)
* VIF MSCAL instructions wait on VU T-Bit stop
Fixes:
The Sims
Spiderman 3
Sharks Tale
Maybe some bits of Over the Hedge

* Removed Spiderman 3 patches

* Fix VIF DMA resuming when stalled on tag

* Remove warning which doesn't really need to be there anymore
2020-07-15 13:15:47 +01:00
refractionpcsx2
105478aa6d EE/IOP Timer Interrupt Handling
Don't interrupt if compare/overflow flag is already set

Removed patches for Harry Potter Prisoner of Azkeban and Chamber of Secrets as they should no longer be required.
Note - Some harry potter games still have the EE Timing Fix which may also not be required
2020-07-15 13:14:19 +01:00
tellowkrinkle
1e1d455a4d Use PCH with Clang (#3546) 2020-07-14 22:57:11 -07:00
tellowkrinkle
18f5deede7 Reduce header dependencies on x86Emitter (#3545) 2020-07-14 22:56:58 -07:00
Filjo Abraham
715672481b Update gitignore (#3538)
PCSX2-linux.sh is generated when building
GSdx debug files are created when running
2020-07-12 14:54:59 -07:00
tellowkrinkle
f7d84c4637 pcsx2: Fix a few crashes in macOS. (#3424)
* Fix crash on shutdown in macOS

* Fix crashing in ISO list on macOS

* Use MAP_FIXED on linux too
It works as expected and has no race conditions.
2020-07-12 23:54:21 +02:00
RedDevilus
c23f3be21f pcsx2-gui: Modern Dark Themed Console v2.Replaces old dark mode with modern dark mode to the console.
Darker than dark (#3446)
2020-07-12 18:46:50 +01:00
RedDevilus
257f8b1142 pcsx2-gui: Modern Dark Themed Console. (3446)
Replaces old dark mode with modern dark mode to the console.
2020-07-11 22:44:24 +02:00
Kojin
e0037ff709 gsdx-d3d11: remove legacy d3dcompiler code 2020-07-10 17:04:33 -04:00
RedPanda4552
1a1a338d68 GameDB: Add Xenosaga save point crash patch (#3418) 2020-07-10 18:04:44 +01:00
Kojin
210336d8c1 gsdx-d3d11: Modernize swapchain and device creation
Updates the d3d device and swapchain creation to more modern methods.

- Use CreateDXGIFactory2 to create the factory and store in member
- Use CreateSwapChainForHwnd
- Add messages for failures to the console
- Some general formatting improvements
2020-07-07 15:59:44 -04:00
Mrlinkwii
91e7c5b7f1 gamedb: Add The Ultimate World Cup Quiz. (#3522) 2020-07-04 16:47:13 +02:00
arcum42
6afee4ae0c Don't call PressButton if the key pressed isn't in the index. 2020-07-03 21:56:46 -07:00
lightningterror
b45e524b2c gsdx-d3d11: SetupIA, allow sprite conversion to be done on the cpu on d3d hw renderer when applicable.
Convert sprites on the cpu instead of the gpu when applicable. Port from
Opengl.

Lines: GPU conversion.
Triangles: CPU conversion.

Disable Geometry shader when conversion is done on the cpu.
2020-07-03 13:00:49 +02:00
RedDevilus
7d35892def GameDB: Add EETimingHack gamefix to Yakuza.
(#2774) Fixes flickering.
2020-07-02 08:37:42 +02:00
RedDevilus
4102489d84 onepad: Add Alienware controller
Fixes #3505
2020-06-29 16:41:48 +02:00
lightningterror
c7bc1c2cfa gsdx-gui: Limit spin buttons input properly.
v1 It won't allow users to try to input a value that isn't supported
osd (size, timeout, max), tc offsets (x, y), rendering threads.

v2 Use const if applicable for variables throughout
GSSettingsDlg.cpp. Will cleanup some warnings.
2020-06-28 20:48:37 +02:00
RedDevilus
711314dfd8 GameDB: Add EETimingHack gamefix to King of Colosseum Green. (#3493)
Fixes hang on opening.
2020-06-27 16:44:42 +02:00
Florin9doi
be1c97a18b Mpeg.cpp/h indentation 2020-06-27 15:03:44 +01:00
arcum42
3119e0a2e7 Rewrite the spu2-x dialog on Linux in wxwidgets. (#3454) 2020-06-27 01:00:50 -07:00
lightningterror
a2c62c30ad gsdx-hw: Remove Itadaki Street hw hack.
The hack didn't properly work and it is a core issue.
2020-06-27 09:02:18 +02:00
Mrlinkwii
0f1cbe7410 SPR spacing cleanup (#3499)
Correct spacing in SPR.cpp
2020-06-26 20:21:55 +01:00
lightningterror
3269c58c8d gsdx-hw: Improve detection of Texture Shuffle effect.
DMC3, Onimusha 3 rely on this behavior.
They do fullscreen rectangle with scissor, then shift by 8 pixels, not done with recursion.
So we check if it's a TS effect by checking the scissor value.

Credits to Kojin for figuring out the issue.
2020-06-24 22:39:06 +02:00
lightningterror
cc3c5a8efc gsdx-hw: Remove Onimusha3 and DevilMayCry3 crc hacks.
Next commit will allow to render the effects properly.
2020-06-24 22:39:06 +02:00
Víctor "IlDucci
2365e4ff7f Locales: Updating Spanish translation. (#3476)
Overhauls the previous batch of changes and adds the latest changes. Changes include:
 - Unification of terminology between all the strings.
 - Changing quotation marks with the ones used in Spanish.
 - Removal of some GT-like translations.
 - Unification of parenthesis symbols.
 - Removal of title uppercasing (Spanish language doesn't use that many uppercased words).
 - Checked fuzzy entries.
2020-06-24 13:10:26 +02:00
RedDevilus
7de8e34963 Gamedb: Cleanup/correct formatting and code comments. (#3490) 2020-06-24 13:07:30 +02:00
lightningterror
19e872453d gsdx-d3d11: Remove Alpha Stencil hack.
Hack is obsolete/replaced with accurate date/date_one option/code.

There's pretty much no usecase for it remaining other than using it as
an alternative to skipdraw which removes/breaks transparency effects.
2020-06-23 21:39:39 +02:00
lightningterror
297f91ae7d spu2-x-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
lightningterror
d7118671e6 lilypad-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
lightningterror
6032d91293 gsdx-gui: Fix text being cut off on some options when using dpi scaling. 2020-06-21 01:50:26 +02:00
iMineLink
1426dc1fc5 GSdx-hw: use CanUseSwSpriteRender in OI_JakGames. (#3463)
In GSRendererHW, reuse the method CanUseSwSpriteRender for OI_JakGames.

As in current master, 16x16 "flat" sprite draws are performed via CPU: those are palette rendering better emulated with the SwSpriteRender.

Jak games do also many 64x64 "flat" draws, but mostly for render to texture effects that are already correctly emulated in the TC, so those draws are not done via CPU (as on the contrary happens for DBZ BT games).
2020-06-20 20:22:27 +02:00
iMineLink
e2c472baa9 GSdx-hw, TC: invalidate Source w overlapping draw. (#3131)
Improve texture cache Source objects invalidation logic taking into account overlapping with current draw.
Fixes eyes rendering for the Major in Jak 1.
2020-06-19 21:36:19 +02:00
lightningterror
5362fc9c26 gsdx-ogl: Fix MaxDepthPS byte alignment.
Bigger value comes first, then smaller to fill the gap so the alignment
can be proper.
vec3
float
2020-06-19 19:37:32 +02:00
RedDevilus
5d318c9c3c [skip ci] Update PCSX2_keys.ini.default hotkey info comments for gsdx.
Revise gsdx hotkeys (dithering) and others.
2020-06-19 17:25:09 +02:00
RedDevilus
dacbe78f35 GameDB: Butt Ugly Martians (#3470)
Fixes #3466.
2020-06-18 15:33:37 +01:00
RedDevilus
8b2a3e3c10 onepad: Add PC Game Controller to db. (#3465)
Fixes #3464.
2020-06-17 16:38:10 +02:00
Alessandro Vetere
ca9e876241 GSdx-hw: use SSR in DBZBT3.
Closes #2001.
2020-06-16 22:28:51 +02:00
lightningterror
76fae2282e onepad: Update to latest controller database.
Close #3461
2020-06-16 21:45:48 +02:00
Alessandro Vetere
d05b31e91c GSdx-hw: get rid of some VS warnings. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
60e8d40492 GSdx-hw: DBZBT2, remove OO & CU, add OI.
Use SwSpriteRender to render sprites, which:
- fixes kaioken effect,
- fixes character outlines when upscaling,
- reduces frametime by up to 3ms with big upscaling factors.
2020-06-15 22:52:26 +02:00
Alessandro Vetere
e71380b82c GSdx-hw: DBZBT2, remove GSC. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
fb3eaa9eff GSdx-hw: add CanUseSwSpriteRender method. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
ff4ba6712c GSdx-hw: SwSpriteRender, improve no raster check. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
c164769eec GSdx-hw: SwSpriteRender, use m_r, correct assert. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
9b73c0eeec GSdx-hw: use PRIM enums in SwSpriteRender. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
cd0a6f05a0 GSdx-hw: SwSpriteRender, implement TEX0.TFX=1. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
f2dd92b5f8 GSRendererHW: SwSpriteRender, fix FBMSK. 2020-06-15 22:52:26 +02:00
Alessandro Vetere
09116d8964 GSdx-hw: SwSpriteRender, implement all ALPHA.C. 2020-06-15 22:52:26 +02:00
lightningterror
d648755d75 gsdx-ogl: Correct intel bad driver log.
Log should paste if either DSA or texture barrier aren't supported.
2020-06-14 00:02:26 +02:00
lightningterror
e64ae9b6bf gsdx-ogl: Adjust sparse texture handle.
Don't disable sparse texture by default before extension check, it will
display sparse texture always not supported. Do an ini check in
check_sparse_compatibility function instead.
Log should properly state if sparse texture is supported now.
2020-06-14 00:02:26 +02:00
lightningterror
5db24d4e4a gsdx-ogl: Adjust some gl debug logs.
Move Additional colclip info, dithering, FixedTEX0 to extra debug logs.
It will allow to keep track of more important stuff going on and they
can be enabled with ENABLE_EXTRA_LOG if needed.

Change context creation log type from stderr to stdout.
2020-06-14 00:02:26 +02:00
RedDevilus
d923432023 GameDB: Adds SkipMPEGHack gamefix to Tiger Woods PGA Tour 06. (#3456)
Fixes hang after EA intro (IPU).
2020-06-13 04:29:37 +02:00
prafullpcsx2
4e4a097240 Implemented memory mode check in cop0.cpp (#3324)
This makes Next Generation Tennis 2003 (Roland Garros French Open 2003) and Spongebob Battle for Bikini Bottom (PAL) work.
2020-06-09 21:50:06 +01:00
Mrlinkwii
f9f55029d1 GameDB: Add Slam Tennis. (#3453) 2020-06-09 16:57:33 +02:00
KrossX
b5625ad8b0 gsdx-hw: Add zclamping to ps/fs.
Add zclamping to ps/fs, enable vs, ps/fs clamp when needed with a macro.
2020-06-06 23:56:41 +02:00
lightningterror
5d0eefeebd gsdx-hw: Cleanup a bit EmulateZbuffer.
Update the comment to reflect recent changes,

Rename DepthMask to MaxDepth,

use a mask shift to get z format,

Do vs cb padding on d3d11.
2020-06-06 23:56:41 +02:00
lightningterror
845a3d0ab8 gsdx-hw: Remove the code block for the bad Z sise check in EmulateZbuffer.
Also fixes Itadaki Street text and F1 2004 starting lights
2020-06-06 23:56:41 +02:00
lightningterror
33678441dc gsdx-hw: Clamp zbuffer to depthmask instead of wrapping.
The behavior was verified on Dobie to be correct.
The code needs to be ported to SW renderer too to
improve rendering on SW side.

Current PR will fix plenty of games on HW renderer
that had/have zbuffer issues before.

v2. Set DepthMask to the maximum the current depth format allows.
Will properly clamp for 16bit and 24bit formats.

v3. gl: Fix uniform buffer upload/cache for VSConstantBuffer.
2020-06-06 23:56:41 +02:00
lightningterror
24f06187df gsdx-d3d11: Port/add depth mask support to EmulateZbuffer.
Add support for depthmasking to EmulateZbuffer, previous old code had
support but wasn't ported properly with the new code a few years back.

VS Constant buffer is now properly setup.
2020-06-06 23:56:41 +02:00
RedDevilus
639986faa7 GameDB: Add gamefixes for the following games listed, change details are in db comments: (#3402)
- DT Racer
- Gran Turismo Prologue
- Gretzky NHL 2005
- Hot Shots Tennis
- Justice League Heroes
- Melty Blood - Act Cadenza
- Metal Arms - Glitch in the System
- Next Generation Tennis 2003
- Official PlayStation 2 Magazine Demo 33
- Primal
- SOCOM 3
- SOCOM Combined Assault
- UFEA Euro 2004
- WRC 4
2020-06-06 23:34:39 +02:00
lightningterror
4aa8b0f977 onepad: Update to latest controller database. 2020-06-06 22:30:24 +02:00
refractionpcsx2
ca903b6b14 GSdx-sw: Add Z clamping to GSdx SW mode (#3433)
* Add Z clamping to GSdx SW mode

* Fix spacing

* Only clamp when max vertex z is greater than zfmt max

* Fix Z format switches

* Get rid of needless shuffle

* Whoops, missed a case

* Replace switches with a shift

* Disable triangle clamping for SSE2

* Implement clamping on GS Raster Interpreter

* Added SSE2 Triangle Z clamping by KrossX
2020-06-05 20:56:16 +01:00
Jonathan Li
d08e49f2df pcsx2: Remove leftover array entry from SuperVU removal
It was causing GameDB fixes to be applied wrongly.
2020-06-03 20:16:00 +01:00
Shanoah Alkire
30ffda406c Remove -Wno-char-subscripts, as it was there for supervu. 2020-06-01 16:34:31 -07:00
arcum42
8023183999 Switch over the null plugins dialog code to use wxWidgets instead of gtk on Linux. (#3420)
* Make the other null plugins use the same functions, and convert PS2Eext.h  to use wx.
2020-05-30 13:31:52 -07:00
Ryudo300
2a9451fed5 PCSX2-GUI: Update BackgroundLogo. (#3423)
Fixes the background/logo glitching out when using DPI scaling.
2020-05-30 21:19:09 +02:00
lightningterror
a9f41c6824 Revert "pcsx2: Change order of "Video (GS)" submenu. (#3265)"
This reverts commit b00792d6ce.

It confused a lot of people that were used to the previous position.
Maybe was a good idea, but bad result.
2020-05-27 22:34:48 +02:00
lightningterror
9cf54b8897 onepad: Update to latest controller database. 2020-05-27 11:57:11 +02:00
arcum42
5903ee95fe Remove unused folder in Visual Studio project. 2020-05-24 20:04:20 -07:00
arcum42
2b115d031e Remove superVU. (#3386)
* Remove superVU, as well as the VUClipFlagHack, which was SuperVU only.
2020-05-24 19:08:12 -07:00
Jonathan Li
3c65ddf72e GameDB: Remove Klonoa 2 patches
They are no longer necessary now that the PACK command has been fixed.
2020-05-25 00:20:44 +01:00
Jonathan Li
0277b69ff1 ipu: Revert Klonoa 2 workaround
This reverts commit 10ee832dc1.

The workaround should be unnecessary now that the indx4 is properly
aligned.
2020-05-25 00:20:44 +01:00
Jonathan Li
08cb843180 ipu: Use alignas to ensure 16-byte alignment of indx4 array 2020-05-25 00:20:44 +01:00
Christian Kenny
aec8e959d9 SaveStateBase: Remove unused "m_DidBios" bool. 2020-05-24 13:27:11 +01:00
Christian Kenny
5ab97eb873 Savestate: Remove unimplemented exceptions. 2020-05-24 13:27:11 +01:00
tellowkrinkle
f9771c38a6 macOS fixes (#3357)
* macOS compile

* Fix memprotect error on macOS

* Fix semaphore wait + thread cancel on macOS

* Fix timedlock timeout calculation

* spu2-x macOS

* onepad macOS support

* Add MacOS game controller db

* Disable onepad_legacy on macOS

* Fix spu2-x configuration crashes

* Make recompiler work on 32-bit macOS

* Use dylib extension for plugins on macOS

* Make app bundle on macOS

* Use git info for Info.plist version
2020-05-23 23:19:47 -07:00
Timothy O'Barr
8eb1bc1986 Fix length_error crash in basic_string in the ini code. (#3411) 2020-05-23 23:09:11 -07:00
SuperSamus
26a4ba360f Locales: Update Italian translations (it_IT). (#3412) 2020-05-23 12:55:51 +02:00
Shadix Aced
2fed813228 Locales: Update French Translations (fr_FR). (#3393) 2020-05-22 03:09:02 +02:00
lightningterror
f2560998c8 [skip ci] Misc documentation updates.
Update issue template with newer release versions.

Update readme, list windows 7 and 8 as no longer supported.
2020-05-20 16:56:17 +02:00
arcum42
c8c27cbfd1 Bump up the minimum cmake version slightly, and make older versions happy with the regex in FindHarfbuzz.cmake. 2020-05-19 22:15:47 -07:00
Jonathan Li
efe3bc1613 pcsx2: Implement IPU VQ conversion
Fixes the blue flames in Klonoa 2.
2020-05-17 21:33:41 +01:00
Jonathan Li
dca0c4ed79 pcsx2: Change IPU vqclut data type
This should improve the readability of the IPU VQ conversion.
2020-05-17 21:33:41 +01:00
Jonathan Li
c533a65764 pcsx2: Add IPU dither block SSE2 implementation 2020-05-17 21:33:41 +01:00
Jonathan Li
f9b51e2656 pcsx2: Add IPU dithering to RGB32->RGB16 conversion 2020-05-17 21:33:41 +01:00
Jonathan Li
1ac1bc9a95 pcsx2: Move IPU RGB32->RGB16 format conversion to separate file 2020-05-17 21:33:41 +01:00
Jonathan Li
cb96dec8a6 pcsx2:windows: Remove DWM code
DwmEnableMMCSS doesn't seem to make a difference.
DwmSetPresentParameters is unused and is also not implemented from
Windows 8.1 onwards.
2020-05-17 18:13:39 +01:00
lightningterror
a30a6583c1 onepad: Update to latest controller database. 2020-05-16 22:20:06 +02:00
KrossX
61c4f9399a GSdx: Dithering setting Hotkey 2020-05-16 21:53:17 +02:00
KrossX
8b1eb3b456 GSdx: Dithering on Hardware 2020-05-16 21:53:17 +02:00
lightningterror
297459c9f6 gsdx-d3d11: Remove exclusive fullscreen code used in legacy gsopen. 2020-05-16 08:43:25 +02:00
lightningterror
37c0067caf gsdx-d3d11: Remove Dispatch function, was never used. 2020-05-16 08:43:25 +02:00
Raziel Znot
a14e3c25b0 Performance fix for Primal and Ghosthunter. (#3376)
Fix for terrible performance in US versions of Primal (all the time) and Ghosthunter (when encountering Teddy Bear and in the moment of Gator-Man's rush attack, maybe few other cases), Both games use shared code with pretty dumb wait loops in the microcode, those are absolutelly unnecessary and significantly kill performance on emulator.

* Performance fix for Primal and Ghosthunter

Fix for terrible performance in US versions of Primal (all the time) and Ghosthunter (when encountering Teddy Bear and in the moment of Gator-Man's rush attack, maybe few other cases). Both games use shared code with pretty dumb wait loops in the microcode, those are absolutely unnecessary and significantly kill performance on the emulator.
2020-05-16 00:06:49 +01:00
Filjo Abraham
b00792d6ce pcsx2: Change order of "Video (GS)" submenu. (#3265) 2020-05-15 16:46:46 +02:00
lightningterror
2e06e960bb gsdx-sw: Remove s_n (draw number) parameter from GetSizeFixedTEX0.
Opengl debug macro already provides draw number so it is esentially
useless.
2020-05-14 03:28:07 +02:00
water111
94e1635882 Make recLUT not hardcoded to 32 MB. (#3095)
This change makes the EE recompiler not hardcoded to working with 32 MB of RAM, and instead work with the amount of RAM set in Ps2MemSize::MainRam. The rest of PCSX2 seems to work fine with more than 32 MB of RAM - it is only the EE recompiler that has trouble. If the Ps2MemSize::MainRam value is not changed from the default 32 MB, there should be no change: 32 MB / 0x10000 = 0x200, the value that was there previously.

This may be helpful if anybody else in the future wants to emulate a PS2 dev kit with 128 MB or RAM, or maybe the PSX dvr thing which I think has 64 MB of RAM. I've confirmed that with the change, you could set Ps2MemSize::MainRam to 128 MB, and execute code with the recompiler that's above the first 32 MB of RAM, and do VIF and scratchpad DMA transfers from this upper memory as well.
2020-05-12 23:03:38 -07:00
arcum42
3c8d4029dd Only update the backup when freezing or defrosting, not when updating the ui. Refactor saveslot code. (#3363) 2020-05-12 22:55:34 -07:00
lightningterror
333cd61c17 gsdx: Rename BLEND_NO_BAR to BLEND_NO_REC.
Since we use it on d3d too it will better fit the naming.
2020-05-13 05:38:25 +02:00
refractionpcsx2
c009a95d68 Fix situation where a VIF IRQ triggers and the game triggers a STOP causing the IRQ to never trigger. (#3385)
Fixes Nitro Bike
2020-05-12 23:59:56 +01:00
refractionpcsx2
184f0df2c5 Modify VU PC addressing so it only multiplies by 8 before entering the p… (#3362)
* Modify VU addressing so it only multiplies by 8 before entering the program
Fixes issues with VU1 TPC being read multiplied by 8 (bad)

* Removed assert on SuperVU which no longer makes sense
2020-05-12 23:59:42 +01:00
lightningterror
593d948615 gsdx-hw: Adjust PABE logs and expand the mentioned games list for it. 2020-05-12 00:11:11 +02:00
lightningterror
e860742131 gsdx-ogl: Synchronize accurate blending enumeration with gui options. 2020-05-12 00:11:11 +02:00
lightningterror
aaaf80f785 gsdx-ogl: Some colclip adjustments.
- Always enable sw colclip for BLEND_NO_BAR.
Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Enable sw colclip for Safe FBMASK SW emulated.
instead of hdr mode with accumulation blend so we don't use a mix of sw
and hw blending. It is more accurate.
Test case: Superman Shadows of Apokolips, fixes shadows when blending is enabled.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror
3f467cae67 gsdx-d3d11: Always enable sw colclip for BLEND_NO_BAR.
- Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Add assert when disabling hw blending, hw blending should only be disabled
on free/no barrier blending. D3D11 lacks other types of blending.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror
95e91b8f44 gsdx-hw: add crc id for The Getaway EU region. 2020-05-11 21:34:29 +02:00
Shadix Aced
6b76db2973 Locales: Update French translations (fr_FR). (#3366) 2020-05-10 17:30:49 +02:00
Jonathan Li
5a5dc7f67f cmake: Fix issue with Harfbuzz not being found 2020-05-09 17:58:19 +01:00
Filjo Abraham
9319ed1afb Remove XAudio 2.7 file refrences 2020-05-09 11:18:39 +01:00
Filjo Abraham
6ef3bfb943 Merge XAudio.inl to XAudio.cpp 2020-05-09 11:18:39 +01:00
Filjo Abraham
9f664c5f9c Drop XAudio 2.7 module 2020-05-09 11:18:39 +01:00
lightningterror
b6e95fea52 GSdx.fx: Fix Border Pass, function should only run when PX_BORDER is enabled/read from the config.
Fixes an issue where external shader broke rendering when enabled if
config wasn't loaded properly.
2020-05-09 05:14:06 +02:00
Kojin
8bf6ba1440 Merge pull request #3263 from tadanokojin/ridge-racer-v
gsdx: mirror RGBAQ to 0x11
2020-05-07 20:31:01 +01:00
refractionpcsx2
ce1955ff60 Allow reading of 8bit timers (and other hardware pages) (#3361)
Fixes Robin Hood
2020-05-07 20:30:35 +01:00
Jonathan Li
16431653e4 gsdx:windows: Use precise floating point behaviour
Fast floating point behaviour can optimise out handling for special
floating point values e.g. NaNs. As GSdx needs to handle NaNs in a few
places, precise floating point behaviour should be used instead.

Fixes a flashlight regression in Silent Hill 2/3 that was caused by
VS2019 optimising out NaN handling.
2020-05-07 19:30:29 +01:00
arcum42
5c60f66890 Fix various cmake issues (#3352)
* Change the minimum cmake version to a range. Uses the new policies of the newer versions if you are on them, taking care of CMP0054.

* Grab a newer version of FindHarfBuzz.cmake from Webkit that fixes the cmake warning the earlier one was giving.

* Add in -ftime-trace as an option on build.sh.

* Precompile PrecompiledHeader.h if you are using cmake 3.16+ and GCC. (Currently disabled on clang due to compilation issues.)

* Check if target_precompile_headers exists rather than by version.

Co-authored-by: scribam <scribam@users.noreply.github.com>
2020-05-07 08:32:34 -07:00
orbea
84d090e2fd spu2-x: Make portaudio an optional dependency. (#3110)
* spu2-x: Make portaudio an optional dependency.

v2: Fix crash in the audio settings with SDL1 and without portaudio.

* cmake: Add PORTAUDIO_API to disable portaudio support.
2020-05-07 08:31:48 -07:00
lightningterror
1a52179298 Gamedb: port CART Fury Championship Racing gamefix patch to PAL version.
SLES-50267
Same patch works for both versions.
Close #3322
2020-05-07 15:57:26 +02:00
lightningterror
6f8dbe589c gsdumpgui: Use PS2EGetLibName instead of PSEGetLibName export. 2020-05-07 14:28:31 +02:00
Ryudo300
280553b41f gsdx-gui: Update logos to match current changes.
Remove mentions of ps1 emulators,
adjust the image slightly and change the colors to match api logo
colors.
Direct3D11 green, OpenGL blue.
2020-05-07 14:28:31 +02:00
lightningterror
0b9d68e60c gsdx: Remove psx/ps1 emulator compatibility.
ePSXe for example.
There is little to no benefit in keeping it, especially when nobody was
maintaining the code. If we ever want to reintroduce it we can do so
from older branches like 1.6.
Plus if we want to integrate plugins into pcsx2 itself this is a required step.
PS1 games can ofc still be played within pcsx2.
2020-05-07 14:28:31 +02:00
lightningterror
2b884a7e7c [skip ci] GSDumpGUI: Add context menu to GSdx and Internal log.
Copy, Clear Log, Select All.
2020-05-07 12:34:37 +02:00
Vyktory Knight
1ef35e7a1e Gamedb: Add memory card filters to several games. (#3364)
Let's Make a Soccer Team!, Virtua Pro Football, Pro Soccer Club o Tsukurou! Europe Championship, World Football Climax.

Technicals:
SLES-54151 reads data from SLES-54153 to allow importing players. Same with the Japanese equivalents.
The above pairing in reverse allows importation of custom teams exported in 54151's VS mode. Again, same with the Japanese equivalents.
SLPM-66442 is listed in PCSX2 Wiki but not in GameIndex.
2020-05-07 12:11:23 +02:00
refractionpcsx2
b8ed34a277 GSState: Mask A+D addresses. Fixes network configuration tool screen. 2020-05-07 12:07:42 +02:00
lightningterror
8f3b908e38 gsdx-gui: Remove custom resolution from the windows gui.
Leave it as an ini option only.
People should never use custom resolution as it causes many issues and
many features aren't supported with it.
On linux option was removed a long time ago.
2020-05-07 12:03:05 +02:00
3496 changed files with 770153 additions and 924885 deletions

View File

@@ -1,17 +1,17 @@
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignAfterOpenBracket: DontAlign
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: false
AlignEscapedNewlines: DontAlign
AlignOperands: true
AlignTrailingComments: true
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
@@ -20,21 +20,22 @@ AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: false
AfterEnum: false
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: false
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: false
BeforeElse: false
BeforeCatch: true
BeforeElse: true
IndentBraces: false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: true
BreakConstructorInitializers: BeforeComma
ColumnLimit: 0
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
@@ -60,7 +61,7 @@ KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 3
NamespaceIndentation: None
NamespaceIndentation: All
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
@@ -70,8 +71,8 @@ PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
PointerAlignment: Left
ReflowComments: false
SortIncludes: false
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
@@ -85,5 +86,5 @@ SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: Never
UseTab: ForContinuationAndIndentation
...

3
.codacy.yaml Normal file
View File

@@ -0,0 +1,3 @@
---
exclude_paths:
- '3rdparty/**'

View File

@@ -1,12 +0,0 @@
# Should always be specified at the top of the file outside of any sections
root = true
# TODO: Add one for resource script file and other Linux specific files ?
[*.{cpp,h}]
indent_style = tab
indent_size = 4
#trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

52
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,52 @@
# So you want to contribute to PCSX2? Great
As a first step, please review these links as they'll help you understand how the development of PCSX2 works.
* [Just Starting Out](#just-starting-out)
* [Issue Reporting](#issue-reporting)
* [Pull Request Guidelines](#pull-request-guidelines)
* [General Documentation And Coding Strategies](#general-documentation-and-coding-strategies)
* [Tasks](#tasks)
## Just Starting Out
* If you're unfamilar with git, check out this [brief introduction to Git](https://github.com/PCSX2/pcsx2/wiki/Git-survival-guide)
* [How to build PCSX2 for Windows](https://github.com/PCSX2/pcsx2/wiki/Setting-up-the-PCSX2-repository-on-Windows-\(WIP---maybe-more-useful-as-a-manpage-instead%3F\))
* [How to build PCSX2 for Linux](https://github.com/PCSX2/pcsx2/wiki/Installing-on-Linux)
## Issue Reporting
* [How to write a useful issue](https://github.com/PCSX2/pcsx2/wiki/How-to-create-useful-and-valid-issues)
## Pull Request Guidelines
The following is a list of *general* style recommendations that will make reviewing and merging easier:
* Commit Messages
* Please try to prefix your commit message, indicating what area of the project was modified.
* For example `gs: message...`.
* Looking at the project's commit history will help with keeping prefixes consistent overtime, *there is no strictly enforced list*.
* Try to keep messages brief and informative
* Remove unnecessary commits and squash commits together when appropriate.
* If you are not familiar with rebasing with git, check out the following resources:
* CLI - https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history
* GUI (SourceTree) - https://www.atlassian.com/blog/sourcetree/interactive-rebase-sourcetree
* Code Styling and Formatting
* [Consult the style guide](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
* Run `clang-format` using the configuration file in the root of the repository
* Visual Studio Setup - https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/
* IMPORTANT - if you are running `clang-format` on unrelated changes (ie. formatting an entire file), please do so in a separate commit.
* If you cannot scope your `clang-format` to just your changes and do not want to format unrelated code. Try your best to stick with the existing formatting already established in the file in question.
## General Documentation And Coding Strategies
* [Commenting Etiquette](https://github.com/PCSX2/pcsx2/wiki/Commenting-Etiquette)
* [Coding style](https://github.com/PCSX2/pcsx2/wiki/Code-Formatting-Guidelines)
* [More comprehensive style-guide (Currently in Draft)](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md)
* [wxWidgets coding strategies](https://github.com/PCSX2/pcsx2/wiki/wxWidgets-Coding-Strategies)
## Tasks
* [Todo List](https://github.com/PCSX2/pcsx2/wiki/Contributing-\(TODO-List\))
* [Issues](https://github.com/PCSX2/pcsx2/issues)
* [A collection of ideas to improve GS OGL](https://github.com/PCSX2/pcsx2/wiki/Todo-List)

View File

@@ -0,0 +1,81 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Application Bug Report
description: Found a problem with the application itself (ie. bad file path handling, UX issue)? Help us improve it.
title: "[BUG]: "
labels: [Bug]
# assignees:
# - octocat
body:
- type: markdown
attributes:
value: |
## Important: Read First
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
If you need help configuring the emulator please make a request on our forums or contact us on discord
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php)
Please make an effort to make sure your issue isn't already reported
### Please Avoid Issues Pertaining to the Following:
- We are **not** accepting bug reports for **PSX mode** at this time
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use a [proper PSX emulator](https://emulation.gametechwiki.com/index.php/PlayStation_emulators)
- We do **not** accept issues relating to **upscaling** at this time
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling
- Please try your game at native resolution before creating an issue
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues
- type: textarea
id: desc
attributes:
label: Describe the Bug
description: "A clear and concise description of what the bug is"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction Steps
description: "Steps to reproduce the behavior"
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: "A clear and concise description of what you expected to happen"
validations:
required: false
- type: input
id: rev
attributes:
label: PCSX2 Revision
description: "Please ensure you are on the latest version before making an issue"
placeholder: "Example: v1.7.1337"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows 11
- Windows 10 (32bit)
- Windows 10 (64bit)
- Windows 8.1 (32bit)
- Windows 8.1 (64bit)
- Linux (32bit) - Specify Distro Below
- Linux (64bit) - Specify Distro Below
- macOS (Monteray)
- macOS (BigSur)
- macOS (Catalina)
- macOS (Mojave)
validations:
required: true
- type: input
id: os-distro
attributes:
label: If Linux - Specify Distro
placeholder: "Example: Arch"
validations:
required: false

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Support Forums
url: https://forums.pcsx2.net/index.php
about: For community support and answers
- name: Discord
url: https://discord.com/invite/TCz3t9k
about: Get direct support and hang out with us
- name: Wiki
url: https://wiki.pcsx2.net/Main_Page
about: For user provided information and reports

View File

@@ -0,0 +1,149 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Emulation Bug Report
description: Problem in a game (ie. graphical artifacts, crashes)? Help us improve it.
title: "[BUG]: "
labels: [Bug]
# assignees:
# - octocat
body:
- type: markdown
attributes:
value: |
## Important: Read First
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
If you need help configuring the emulator please make a request on our forums or contact us on discord
If you are unsure, start with [discord](https://discord.com/invite/TCz3t9k) or the [forums](https://forums.pcsx2.net/index.php)
Please make an effort to make sure your issue isn't already reported
### Please Avoid Issues Pertaining to the Following:
- We are **not** accepting bug reports for **PSX mode** at this time
- If you are interested in helping contribute to PSX mode please do so on the forums. Otherwise our recommendation is that you use a [proper PSX emulator](https://emulation.gametechwiki.com/index.php/PlayStation_emulators)
- We do **not** accept issues relating to **upscaling** at this time
- We are aware of the various problems with upscaling. The issue spans many games and having hundreds of issues for the same fundamental issues isn't particularly helpful. There are several workarounds for graphical problems that come as a result of upscaling
- Please try your game at native resolution before creating an issue
- If your bug is the result of upscaling please use the forums or discord for assistance with various upscaling workarounds. Additionally, the unofficial PCSX2 [Wiki](https://wiki.pcsx2.net/Main_Page) often lists various fixes for upscaling issues
- type: textarea
id: desc
attributes:
label: Describe the Bug
description: "A clear and concise description of what the bug is"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction Steps
description: "Steps to reproduce the behavior"
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: "A clear and concise description of what you expected to happen"
validations:
required: false
- type: markdown
attributes:
value: |
## System Info
Please make sure your system meets our requirements for OS version, CPU and GPU
- [System Requirements](https://github.com/PCSX2/pcsx2#system-requirements)
We **do not** accept bug reports for **unsupported operating systems**.
- [For macOS Support](https://forums.pcsx2.net/Thread-Native-Mac-Testing-Build)
Performance issues as a result of not meeting our hardware requirements are not valid
Please read our known issues pages for AMD and Intel drivers.
- [Intel Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-Intel-GPUs-All-you-need-to-know)
- [AMD Drivers](https://github.com/PCSX2/pcsx2/wiki/OpenGL-and-AMD-GPUs---All-you-need-to-know)
We are **not** accepting issues related to the **libretro** core. The libretro core is being maintained separately at this time
- type: input
id: rev
attributes:
label: PCSX2 Revision
description: "We only accept bug reports for the latest dev version. Please try upgrading before making an issue."
placeholder: "Example: v1.7.1337"
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows 11
- Windows 10 (32bit)
- Windows 10 (64bit)
- Windows 8.1 (32bit)
- Windows 8.1 (64bit)
- Linux (32bit) - Specify Distro Below
- Linux (64bit) - Specify Distro Below
- macOS (Monteray)
- macOS (BigSur)
- macOS (Catalina)
- macOS (Mojave)
validations:
required: true
- type: input
id: os-distro
attributes:
label: If Linux - Specify Distro
placeholder: "Example: Arch"
validations:
required: false
- type: input
id: cpu
attributes:
label: CPU
placeholder: "Example: i5-7600"
validations:
required: true
- type: input
id: gpu
attributes:
label: GPU
placeholder: "Example: GTX 1070"
validations:
required: true
- type: textarea
id: gsSettings
attributes:
label: GS Settings
description: "Any **non-default** settings for GS. If you don't want to list them out, please provide screenshots of your configuration window (including hw hacks if enabled)."
validations:
required: false
- type: textarea
id: emuSettings
attributes:
label: Emulation Settings
description: |
Any non-default core settings. If you don't want to list them out, please provide screenshots of your configuration window
Please note that the safe preset works for most games. MTVU can have some compatibility issues so please disable it before making a report
If you need to modify the settings manually because a game requires you to do so to work, please state that explicitly
validations:
required: false
- type: textarea
id: gsScreens
attributes:
label: GS Window Screenshots
description: "If your issue is graphical in nature and you think screenshots will help illustrate your issue, you may do that here."
validations:
required: false
- type: textarea
id: logsDumps
attributes:
label: "Logs & Dumps"
description: |
Please feel free to attach any logs, block dumps, GSdump, etc here
If your problem is graphical in nature it is highly recommended that you provide a GSdump. [GSdump Guide](https://forums.pcsx2.net/Thread-How-to-create-a-proper-GS-dump)
validations:
required: false

View File

@@ -0,0 +1,41 @@
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Suggest a new feature or improve an existing one
title: "[Feature Request]: "
labels: ["Enhancement / Feature Request"]
# assignees:
# - octocat
body:
- type: textarea
id: desc
attributes:
label: Description
description: |
A concise description of the feature you want
Include step by step examples of how the feature should work under various circumstances
validations:
required: true
- type: textarea
id: reason
attributes:
label: Reason
description: |
Give a reason why you want this feature
- How will it make things easier for you?
- How does this feature help your enjoyment of the emulator?
- What does it provide that isn't being provided currently?
We are not accepting feature requests related to the libretro core as it's being maintained separately at this time
validations:
required: true
- type: textarea
id: examples
attributes:
label: Examples
description: |
Provide examples of the feature as implemented by other software
Include screenshots or video if you like to help demonstrate how you'd like this feature to work
validations:
required: true

8
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,8 @@
### Description of Changes
<!-- Brief description or overview on what was changed in the PR -->
### Rationale behind Changes
<!-- Why were these changes made? What problem does it solve / area does it improve? -->
### Suggested Testing Steps
<!-- If applicable, including examples you've already tested with / recommendations for how to test further is very helpful! -->

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
# Set update schedule for GitHub Actions
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"

111
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,111 @@
# Documentation - https://github.com/actions/labeler
# General Labels
'Build | Project System':
- '.github/*'
- '.github/**/*'
- '*.sln'
- '**/*.sln'
- '*.vcxproj*'
- '**/*.vcxproj*'
- 'cmake/*'
- 'cmake/**/*'
- 'CMakeLists.txt'
- '**/CMakeLists.txt'
- 'buildbot.xml'
- 'build.sh'
'Dependencies':
- '3rdparty/*'
- '3rdparty/**/*'
- '**/3rdpartyDeps.props'
- '.gitmodules'
'Documentation':
- '*.md'
- '**/*.md'
- '*.pdf'
- '**/*.pdf'
'GUI/WX':
- 'pcsx2/gui/*'
- 'pcsx2/gui/**/*'
'GameDB':
- '**/GameIndex.*'
'Installer | Package':
- 'nsis/*'
- 'nsis/**/*'
- 'build.sh'
# Tools / Features
'Debugger':
- 'pcsx2/DebugTools/*'
- 'pcsx2/DebugTools/**/*'
- 'pcsx2/gui/Debugger/*'
- 'pcsx2/gui/Debugger/**/*'
'IPC':
- 'pcsx2/IPC*'
- 'pcsx2/**/IPC*'
'TAS Functionality':
- 'pcsx2/Recording/*'
- 'pcsx2/Recording/**/*'
# Emulation Components
'Counters':
- 'pcsx2/Counters.*'
'Vector Units':
- 'pcsx2/VU*'
- 'pcsx2/**/VU*'
- 'pcsx2/*VU*'
- 'pcsx2/**/*VU*'
'VIF':
- 'pcsx2/Vif*'
- 'pcsx2/**/Vif*'
- 'pcsx2/VIF*'
- 'pcsx2/**/VIF*'
# GS Related Labels
'GS':
- 'pcsx2/GS/*'
- 'pcsx2/GS/**/*'
'GS: Direct3D':
- 'pcsx2/GS/Renderers/DX11/*'
- 'pcsx2/GS/Renderers/DX11/**/*'
'GS: Hardware':
- 'pcsx2/GS/Renderers/HW/*'
- 'pcsx2/GS/Renderers/HW/**/*'
'GS: OpenGL':
- 'pcsx2/GS/Renderers/OpenGL/*'
- 'pcsx2/GS/Renderers/OpenGL/**/*'
'GS: Vulkan':
- 'pcsx2/GS/Renderers/Vulkan/*'
- 'pcsx2/GS/Renderers/Vulkan/**/*'
'GS: Texture Cache':
- 'pcsx2/GS/Renderers/*TextureCache*.*'
- 'pcsx2/GS/Renderers/**/*TextureCache*.*'
'GS: Software':
- 'pcsx2/GS/Renderers/SW/*'
- 'pcsx2/GS/Renderers/SW/**/*'
# Other Core Components
'CDVD':
- 'pcsx2/CDVD/*'
- 'pcsx2/CDVD/**/*'
'DEV9':
- 'pcsx2/DEV9/*'
- 'pcsx2/DEV9/**/*'
'IPU':
- 'pcsx2/IPU/*'
- 'pcsx2/IPU/**/*'
'Memory Card':
- 'pcsx2/gui/MemoryCard*'
- 'pcsx2/gui/**/MemoryCard*'
'PAD: Linux/Mac':
- 'pcsx2/PAD/Linux/*'
- 'pcsx2/PAD/Linux/**/*'
'PAD: Windows':
- 'pcsx2/PAD/Windows/*'
- 'pcsx2/PAD/Windows/**/*'
'SPU2':
- 'pcsx2/SPU2/*'
- 'pcsx2/SPU2/**/*'
'USB':
- 'pcsx2/USB/*'
- 'pcsx2/USB/**/*'

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@@ -0,0 +1,47 @@
@startuml
participant User as user
participant Github as github
participant "Create Release WF" as create
participant "Build WFs" as build
participant "Finalize Release WF" as finalize
participant Discord as discord
==Nightly Release==
user -> github : New Commit on master (from PR, or directly)
...waiting for commit push event to fire...
github -> create : Push a new git tag, patch incrementing latest Version
alt from-pr? case
create -> create : Use links to the PR as a description
else was a commit
create -> create : Use Commit Message as Description
end
create -> create : Generate release notes
create -> github : Create new draft release, associated with tag and with the notes
note right
Draft releases are not public facing, only those with write access can see them!
end note
...waiting for push tag event to fire...
loop for all build workflows
github -> build : Build the tag commit
build -> build : .exe will use the git tag for it's title and such
build -> build : Upload the generated artifact to the associated release
alt all-artifacts-uploaded? case
build -> github : Publish the release
user -> github : Can now download the artifacts on the published release
end
note right
This is the only area where an eventual consistency issue is apparent
It is because GitHub does not fire events for when draft releases are edited
This is glossed over in the initial impl and can be improved and be made eventually consistent as well
end note
...waiting for release publish event to fire...
github -> finalize : Announce the Release
finalize -> github : Gather all asset links, and format message embed.
finalize -> discord : Announce new build via a WebHook
...waiting for announcement...
user -> discord : Can download artifacts from links via the discord
@enduml

27
.github/workflows/lint-gamedb.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: 📝 Validate GameDB
on:
push:
branches:
- master
paths:
- '**/GameIndex.yaml'
pull_request:
branches:
- master
paths:
- '**/GameIndex.yaml'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate GameDB
env:
SCRIPT_DIR: .github/workflows/scripts/validation/lint-gamedb
run: |
pip install -r "${SCRIPT_DIR}/requirements.txt"
python "${SCRIPT_DIR}/lint-gamedb.py"

239
.github/workflows/linux-workflow.yml vendored Normal file
View File

@@ -0,0 +1,239 @@
name: 🐧 Linux Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master
paths-ignore:
- "**/*.md"
- "**/*.bat"
- "**/*.cmd"
- "**/*.props"
- "**/*.sln"
- ".clang-format"
- ".codacy.yaml"
- ".github/*"
- ".github/workflows/lint-gamedb.yml"
- ".github/workflows/macos-workflow.yml"
- ".github/workflows/pr-triage.yml"
- ".github/workflows/scripts/windows/**"
- ".github/workflows/scripts/validation/**"
- ".github/workflows/windows-workflow.yml"
- ".gitignore"
- "bin/PCSX2_keys.ini.default"
- "build.sh"
- "buildbot.xml"
- "pcsx2/CDVD/Windows/**"
- "pcsx2/DEV9/Win32/**"
- "pcsx2/PAD/Windows/**"
- "pcsx2/SPU2/Windows/**"
- "pcsx2/USB/Win32/**"
- "pcsx2/windows/**"
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
include:
- os: ubuntu-18.04
platform: x86
compiler: gcc
cmakeflags: -DLTO_PCSX2_CORE=ON
appimage: true
experimental: false
- os: ubuntu-18.04
platform: x64
compiler: gcc
cmakeflags: -DLTO_PCSX2_CORE=ON
appimage: true
experimental: false
- os: ubuntu-18.04
platform: x86
compiler: clang
# Need to disable PCH until cmake 3.17
# (PCH conflicts with ccache, fixed by https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4400)
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
detail: " nopch"
appimage: false
experimental: false
- os: ubuntu-18.04
platform: x86
compiler: gcc
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
detail: " nopch"
appimage: false
experimental: false
- os: ubuntu-18.04
platform: x86
compiler: gcc
cmakeflags: -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON -DARCH_FLAG=-march=haswell
detail: " avx2 nopch"
appimage: false
experimental: false
name: ${{ matrix.platform }} | ${{ matrix.compiler }}${{ matrix.detail }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 60
env:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 9
CCACHE_MAXSIZE: 100M
SDL: SDL2-2.0.16
PATCHELF_VERSION: 0.12
steps:
# NOTE - useful for debugging
# - name: Dump GitHub context
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: |
# echo "$GITHUB_CONTEXT"
# echo ${{ github.event.pull_request.title }}
- name: Checkout Repository
uses: actions/checkout@v2
- name: Checkout Submodules
if: steps.cache-submodules.outputs.cache-hit != 'true'
run: git submodule update --init --recursive -j $(getconf _NPROCESSORS_ONLN)
# -- SETUP CCACHE - https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2.1.7
with:
path: .ccache
key: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.compiler }}${{ matrix.detail }} ccache ${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.compiler }}${{ matrix.detail }} ccache
- name: Prepare Artifact Metadata
id: artifact-metadata
shell: bash
run: |
ARCH=$([ "${{ matrix.platform }}" == x86 ] && echo "32bit" || echo "64bit")
ARTIFACT_NAME=""
if [ ${{ github.event_name }} == "pull_request" ]; then
PR_SHA=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")
ARTIFACT_NAME="PCSX2-${ARCH}"
if [ ! -z "${{ github.event.pull_request.number }}" ]; then
PR_NUM=${{ github.event.pull_request.number }}
ARTIFACT_NAME="${ARTIFACT_NAME}-pr[${PR_NUM}]"
fi
ARTIFACT_NAME="${ARTIFACT_NAME}-sha[${PR_SHA}]"
if [ ! -z "${{ github.event.pull_request.title }}" ]; then
PR_TITLE=$(echo "${{ github.event.pull_request.title }}" | tr -cd '[a-zA-Z0-9[:space:]]_-')
ARTIFACT_NAME="${ARTIFACT_NAME}-title["${PR_TITLE}""
fi
else
SHA=$(git rev-parse --short "$GITHUB_SHA")
ARTIFACT_NAME="PCSX2-${ARCH}-sha[${SHA}"
fi
TRIMMED_ARTIFACT_NAME=$(printf "%.199s]" "$ARTIFACT_NAME")
echo "name=$TRIMMED_ARTIFACT_NAME"
echo "##[set-output name=name;]${TRIMMED_ARTIFACT_NAME}"
echo "##[set-output name=arch;]${ARCH}"
- name: Install Packages
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
run: .github/workflows/scripts/linux/install-packages.sh
- name: Cache Dependencies
uses: actions/cache@v2.1.7
with:
path: |
3rdparty/${{ env.SDL }}
3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
key: ${{ matrix.os }} ${{ matrix.platform }} ${{ env.SDL }} patchelf-${{ env.PATCHELF_VERSION }}
- name: Build Dependencies
run: |
if [[ ! -e 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} ]]; then
curl -sSfL https://github.com/NixOS/patchelf/releases/download/${{ env.PATCHELF_VERSION }}/patchelf-${{ env.PATCHELF_VERSION }}.tar.bz2 | tar -xjC 3rdparty
mv 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}* 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
cd 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
./configure
make && cd ../../
fi
sudo make -C 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} install
if [[ ! -e 3rdparty/${{ env.SDL }} ]]; then
curl -sL https://libsdl.org/release/${{ env.SDL }}.tar.gz | tar -xzC 3rdparty
cd 3rdparty/${{ env.SDL }}
if [ "${{ matrix.platform }}" == "x86" ]; then
./configure --build=i686-pc-linux-gnu CC=${{ matrix.compiler }} CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 --prefix=/usr --libdir=/usr/lib/i386-linux-gnu
else
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
fi
make -j $(getconf _NPROCESSORS_ONLN) && cd ../../
fi
sudo make -C 3rdparty/${{ env.SDL }} install
- name: Generate CMake
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
ADDITIONAL_CMAKE_ARGS: ${{ matrix.cmakeflags }}
run: .github/workflows/scripts/linux/generate-cmake.sh
- name: Build PCSX2
working-directory: build
run: ../.github/workflows/scripts/linux/compile.sh
- name: Run Tests
working-directory: ./build
run: ninja unittests
- name: Package AppImage
if: matrix.appimage == true
env:
PLATFORM: ${{ matrix.platform }}
COMPILER: ${{ matrix.compiler }}
name: ${{ steps.artifact-metadata.outputs.name }}
run: .github/workflows/scripts/linux/appimage.sh
- name: Upload artifact
if: matrix.appimage == true
uses: actions/upload-artifact@v2
with:
name: ${{ steps.artifact-metadata.outputs.name }}
path: ci-artifacts
# ---- Release / Tagging related steps ----
- name: Prepare Build Artifacts
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.appimage == true
run: |
mv ./ci-artifacts/*.AppImage ./ci-artifacts/linux-AppImage-${{ steps.artifact-metadata.outputs.arch }}.AppImage
ls ./ci-artifacts/
- name: Upload Assets and Potential Publish Release
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.appimage == true
env:
GITHUB_TOKEN: ${{ secrets.BOT_PAT }}
ASSET_DIR: ${{ github.WORKSPACE }}/ci-artifacts
ASSET_EXTENSION: AppImage
TAG_TO_SEARCH_FOR: ${{ github.REF }}
run: |
cd ./.github/workflows/scripts/releases/upload-release-artifacts
npm ci
node index.js

118
.github/workflows/macos-workflow.yml vendored Normal file
View File

@@ -0,0 +1,118 @@
name: 🍎 MacOS Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
paths-ignore:
- '**/*.md'
- '**/*.bat'
- '**/*.cmd'
- '**/*.props'
- '**/*.sln'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/pr-triage.yml'
- '.github/workflows/scripts/windows/**'
- '.github/workflows/scripts/validation/**'
- '.github/workflows/windows-workflow.yml'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'pcsx2/CDVD/Windows/**'
- 'pcsx2/DEV9/Win32/**'
- 'pcsx2/PAD/Windows/**'
- 'pcsx2/SPU2/Windows/**'
- 'pcsx2/USB/Win32/**'
- 'pcsx2/windows/**'
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
- '**/*.bat'
- '**/*.cmd'
- '**/*.props'
- '**/*.sln'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/pr-triage.yml'
- '.github/workflows/scripts/windows/**'
- '.github/workflows/scripts/validation/**'
- '.github/workflows/windows-workflow.yml'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'pcsx2/CDVD/Windows/**'
- 'pcsx2/DEV9/Win32/**'
- 'pcsx2/PAD/Windows/**'
- 'pcsx2/SPU2/Windows/**'
- 'pcsx2/USB/Win32/**'
- 'pcsx2/windows/**'
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
os: [macos-11.0]
platform: [x64]
experimental: [false]
name: ${{ matrix.platform }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 30
steps:
# NOTE - useful for debugging
# - name: Dump GitHub context
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# run: |
# echo "$GITHUB_CONTEXT"
# echo ${{ github.event.pull_request.title }}
- name: Checkout Repository
uses: actions/checkout@v2
- name: Checkout Submodules
run: git submodule update --init --recursive -j $(getconf _NPROCESSORS_ONLN)
- name: Install Packages
env:
PLATFORM: ${{ matrix.platform }}
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_ANALYTICS: 1
run: |
# To save time, only brew update if running the install without it fails
function do-install() {
brew install sound-touch portaudio wxwidgets sdl2 libsamplerate
}
if ! do-install; then
brew update
do-install
fi
- name: Generate CMake Files
run: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_PO=FALSE -DLTO_PCSX2_CORE=ON -B build .
- name: Build PCSX2
working-directory: build
run: make -j$(getconf _NPROCESSORS_ONLN) # macOS doesn't use make install
- name: Run Tests
working-directory: build
run: make -j$(getconf _NPROCESSORS_ONLN) unittests

27
.github/workflows/pr-triage.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
# Runs steps to triage an incoming Pull Request, for example - applying labels.
name: 🤔 Pull Request Triage
on: pull_request_target
jobs:
triage:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: xTVaser/first-interaction@v1.2.4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
debug-mode: false
pr-message: |-
## Thank you for submitting a contribution to PCSX2
As this is your first pull request, [please be aware of the contributing guidelines](https://github.com/PCSX2/pcsx2/blob/master/.github/CONTRIBUTING.md).
Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. [You can find more information about this change here.](https://github.blog/2021-04-22-github-actions-update-helping-maintainers-combat-bad-actors/)
Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!
pr-labels: "First Time Contribution"

24
.github/workflows/release-announce.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: 📢 Announce Release
on:
release:
types: [published]
jobs:
announce:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
- name: Announce Release
env:
DISCORD_BUILD_WEBHOOK: ${{ secrets.DISCORD_BUILD_WEBHOOK }}
run: |
cd ./.github/workflows/scripts/releases/announce-release
npm ci
node index.js

View File

@@ -0,0 +1,62 @@
# Whenever a commit is pushed to master (ideally via a pull-request!)
# this action will create the next release, which means:
# 1. tag master with the proper version
# 2. create a new draft release (pre-released if a nightly build)
# 3. add release notes
name: 🏭 Create Release
on:
push:
branches:
- master
# TODO - future work
# workflow_dispatch:
# inputs:
# isStable:
# description: 'Should it be a stable release?'
# required: true
# default: 'false'
# versionTag:
# description: 'The version to tag with'
# required: true
jobs:
cut-release:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Docs - https://github.com/mathieudutour/github-tag-action
# Workflows cannot trigger other workflows implicitly
# - https://github.community/t/github-actions-workflow-not-triggering-with-tag-push/17053/7
- name: Bump Version and Push Tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.0
with:
github_token: ${{ secrets.BOT_PAT }}
tag_prefix: v
default_bump: patch
# Generate the Release Notes
- name: Generate Release Notes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMMIT_SHA: ${{ github.SHA }}
run: |
cd ./.github/workflows/scripts/releases/generate-release-notes
npm ci
node index.js
mv ./release-notes.md ${GITHUB_WORKSPACE}/release-notes.md
ls
# Docs - https://github.com/softprops/action-gh-release
- name: Create a GitHub Release
uses: softprops/action-gh-release@v1
if: steps.tag_version.outputs.new_tag
with:
body_path: ./release-notes.md
draft: true
prerelease: true
tag_name: ${{ steps.tag_version.outputs.new_tag }}

View File

@@ -0,0 +1 @@
*.txt

View File

@@ -0,0 +1,38 @@
import os
relevant_categories = [
"# Mac OS X",
"# Linux"
]
header_lines = []
new_db_contents = []
def is_relevant_category(line):
for category in relevant_categories:
if category in line:
return True
return False
with open("./game_controller_db.txt") as file:
lines = file.readlines()
finished_header = False
processing_section = False
for line in lines:
if finished_header is False:
header_lines.append(line)
if line == "\n":
finished_header = True
if processing_section and line == "\n":
processing_section = False
new_db_contents.append("\n")
if is_relevant_category(line) and processing_section is False:
processing_section = True
new_db_contents.append(line)
elif processing_section:
new_db_contents.append(line)
os.remove("./game_controller_db.txt")
with open("./game_controller_db.txt", "w") as f:
f.writelines(header_lines)
f.writelines(new_db_contents)

7
.github/workflows/scripts/linux/AppRun vendored Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
ln -sf $APPDIR/usr/bin/app /tmp/PCSX2
$APPDIR/AppRun-patched
unlink /tmp/PCSX2

View File

@@ -0,0 +1,10 @@
#!/bin/bash
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"
export BINARY_NAME=$(basename "$ARGV0")
if [[ ! -e "$PWD/$BINARY_NAME.config" ]]; then
mkdir "$PWD/$BINARY_NAME.config"
fi
export XDG_CONFIG_HOME="$PWD/$BINARY_NAME.config"
mkdir -p "$HOME"/.local/share/icons/hicolor/scalable/apps && cp "$APPDIR"/PCSX2.png "$HOME"/.local/share/icons/hicolor/scalable/apps

68
.github/workflows/scripts/linux/appimage.sh vendored Executable file
View File

@@ -0,0 +1,68 @@
#!/bin/bash
set -ex
echo "${PLATFORM}"
if [ "${PLATFORM}" == "x86" ]; then
APPARCH="i686"
ARCH="i386"
LIBARCH="i386-linux-gnu"
else
APPARCH="x86_64"
ARCH="x86_64"
LIBARCH="x86_64-linux-gnu"
fi
BUILDPATH="$GITHUB_WORKSPACE"/build
BUILDBIN="$BUILDPATH"/pcsx2
cd /tmp
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$ARCH.AppImage"
chmod a+x linuxdeploy*.AppImage
./linuxdeploy-"$ARCH".AppImage --appimage-extract
curl -sSfL "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" -o /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
chmod a+x /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
mv /tmp/squashfs-root/usr/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf.orig
sudo cp /usr/local/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf
cd "$GITHUB_WORKSPACE"
mkdir -p squashfs-root/usr/bin
ls -al "$BUILDBIN"
cp -P "$BUILDBIN"/pcsx2 "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/
patchelf --set-rpath /tmp/PCSX2 "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/pcsx2
cp ./pcsx2/gui/Resources/AppIcon64.png ./squashfs-root/PCSX2.png
cp ./linux_various/PCSX2.desktop.in ./squashfs-root/PCSX2.desktop
sed -i -e 's|Categories=@PCSX2_MENU_CATEGORIES@|Categories=Game;Emulator;|g' ./squashfs-root/PCSX2.desktop
sed -i -e 's|__GL_THREADED_OPTIMIZATIONS=1|__GL_THREADED_OPTIMIZATIONS=0|g' ./squashfs-root/PCSX2.desktop
curl -sSfL "https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-$APPARCH" -o ./squashfs-root/runtime
mkdir -p squashfs-root/usr/share/applications && cp ./squashfs-root/PCSX2.desktop ./squashfs-root/usr/share/applications
mkdir -p squashfs-root/usr/share/icons && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons
mkdir -p squashfs-root/usr/share/icons/hicolor/scalable/apps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons/hicolor/scalable/apps
mkdir -p squashfs-root/usr/share/pixmaps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/pixmaps
mkdir -p squashfs-root/usr/lib/
mkdir -p squashfs-root/usr/optional/libstdc++
mkdir -p squashfs-root/usr/optional/libgcc_s
cp ./.github/workflows/scripts/linux/AppRun "$GITHUB_WORKSPACE"/squashfs-root/AppRun
curl -sSfL "https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/AppRun-patched-$APPARCH" -o "$GITHUB_WORKSPACE"/squashfs-root/AppRun-patched
curl -sSfL "https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/exec-$APPARCH.so" -o "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/exec.so
chmod a+x ./squashfs-root/AppRun
chmod a+x ./squashfs-root/runtime
chmod a+x ./squashfs-root/AppRun-patched
chmod a+x ./squashfs-root/usr/optional/exec.so
echo "$name" > "$GITHUB_WORKSPACE"/squashfs-root/version.txt
mkdir -p "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/app
mkdir -p "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
cp -r "$GITHUB_WORKSPACE"/bin/Langs "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/
cp -r "$GITHUB_WORKSPACE"/bin/resources "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/app/
cp "$GITHUB_WORKSPACE"/bin/docs/{Configuration_Guide.pdf,PCSX2_FAQ.pdf} "$GITHUB_WORKSPACE"/squashfs-root/usr/bin/app
cp /usr/lib/$LIBARCH/libthai.so.0 "$GITHUB_WORKSPACE"/squashfs-root/usr/lib/
cp --dereference /usr/lib/"$LIBARCH"/libstdc++.so.6 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libstdc++/libstdc++.so.6
cp --dereference /lib/"$LIBARCH"/libgcc_s.so.1 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libgcc_s/libgcc_s.so.1
chmod +x .github/workflows/scripts/linux/app-variables.sh
cp .github/workflows/scripts/linux/app-variables.sh "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
export UPD_INFO="gh-releases-zsync|PCSX2|pcsx2|latest|$name.AppImage.zsync"
export OUTPUT="$name.AppImage"
/tmp/squashfs-root/AppRun --appdir="$GITHUB_WORKSPACE"/squashfs-root/ --plugin gtk -d "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.desktop -i "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.png --output appimage
mkdir -p "$GITHUB_WORKSPACE"/ci-artifacts/
ls -al .
mv "$name.AppImage" "$GITHUB_WORKSPACE"/ci-artifacts # && mv "$name.AppImage.zsync" "$GITHUB_WORKSPACE"/ci-artifacts
chmod -R 777 ./ci-artifacts
cd ./ci-artifacts
ls -al .

15
.github/workflows/scripts/linux/compile.sh vendored Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
set -e
if [ -n "${GITHUB_ACTIONS}" ]; then
echo "Warning: Running this script outside of GitHub Actions isn't recommended."
fi
# Prepare the Cache
ccache -p
ccache -z
# Build
ninja
# Save the Cache
ccache -s

View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -e
if [ "${COMPILER}" = "gcc" ]; then
export CC=gcc-10
export CXX=g++-10
else
export CC=clang
export CXX=clang++
fi
if [ "${PLATFORM}" = x86 ]; then
ADDITIONAL_CMAKE_ARGS="$ADDITIONAL_CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake"
fi
echo "Additional CMake Args - ${ADDITIONAL_CMAKE_ARGS}"
# Generate CMake into ./build
cmake \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE=Release \
-DPACKAGE_MODE=TRUE \
-DWAYLAND_API=TRUE \
-DDISABLE_ADVANCE_SIMD=TRUE \
-DCMAKE_INSTALL_LIBDIR="/tmp/" \
-DCMAKE_INSTALL_DATADIR="/tmp/" \
-DCMAKE_INSTALL_DOCDIR="/tmp/PCSX2" \
-DOpenGL_GL_PREFERENCE="LEGACY" \
-DOPENGL_opengl_LIBRARY="" \
-DXDG_STD=TRUE \
$ADDITIONAL_CMAKE_ARGS \
-GNinja \
-B build

View File

@@ -0,0 +1,63 @@
#!/bin/bash
set -e
# Packages - Build Environment
declare -a BUILD_PACKAGES=(
"ccache"
"cmake"
"ninja-build"
)
# Packages - PCSX2
declare -a PCSX2_PACKAGES=(
"libaio-dev"
"libbz2-dev"
"libegl1-mesa-dev"
"libgdk-pixbuf2.0-dev"
"libgl1-mesa-dev"
"libgtk-3-dev"
"libharfbuzz-dev"
"libjpeg-dev"
"liblzma-dev"
"libpcap0.8-dev"
"libpng-dev"
"libpulse-dev"
"librsvg2-dev"
"libsamplerate0-dev"
"libsoundtouch-dev"
"libudev-dev"
"libwxgtk3.0-gtk3-dev"
"libx11-xcb-dev"
"libxml2-dev"
"pkg-config"
"portaudio19-dev"
"zlib1g-dev"
)
if [ "${COMPILER}" = "gcc" ]; then
BUILD_PACKAGES+=("g++-10-multilib")
else
BUILD_PACKAGES+=("clang-9")
PCSX2_PACKAGES+=("libstdc++-10-dev")
fi
# - https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md
ARCH=""
echo "${PLATFORM}"
if [ "${PLATFORM}" == "x86" ]; then
ARCH=":i386"
sudo dpkg --add-architecture i386
fi
sudo apt-get -qq update
# Install packages needed for building
echo "Will install the following packages for building - ${BUILD_PACKAGES[*]}"
#sudo apt remove gcc-9 g++-9
sudo apt-get -y install "${BUILD_PACKAGES[@]}"
# Install packages needed by pcsx2
PCSX2_PACKAGES=("${PCSX2_PACKAGES[@]/%/"${ARCH}"}")
echo "Will install the following packages for pcsx2 - ${PCSX2_PACKAGES[*]}"
sudo apt-get -y install "${PCSX2_PACKAGES[@]}"

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,60 @@
import { MessageEmbed, WebhookClient } from "discord.js";
import * as github from '@actions/github';
const releaseInfo = github.context.payload.release;
if (!releaseInfo.prerelease) {
console.log("Not announcing - release was not a pre-release (aka a Nightly)");
process.exit(0);
}
const assets = releaseInfo.assets;
let windowsAssetLinks = "";
let linuxAssetLinks = "";
for (var i = 0; i < assets.length; i++) {
let asset = assets[i];
if (asset.name.includes("symbols")) {
continue;
}
if (asset.name.includes("windows")) {
let friendlyName = asset.name;
try {
friendlyName = asset.name.split("windows-")[1].split(".7z")[0].replace("-", " ");
} catch (e) {
console.log(e);
}
windowsAssetLinks += `- [${friendlyName}](${asset.browser_download_url})\n`
} else if (asset.name.includes("linux")) {
let friendlyName = asset.name;
try {
friendlyName = asset.name.split("linux-")[1].split(".AppImage")[0].replace("-", " ");
} catch (e) {
console.log(e);
}
linuxAssetLinks += `- [${friendlyName}](${asset.browser_download_url})\n`
}
}
// Publish Webhook
const embed = new MessageEmbed()
.setColor('#FF8000')
.setTitle('New PCSX2 Nightly Build Available!')
.addFields(
{ name: 'Version', value: releaseInfo.tag_name, inline: true },
{ name: 'Release Link', value: `[Github Release](${releaseInfo.html_url})`, inline: true },
{ name: 'Installation Steps', value: '[See Here](https://github.com/PCSX2/pcsx2/wiki/Nightly-Build-Usage-Guide)', inline: true },
{ name: 'Included Changes', value: releaseInfo.body, inline: false }
);
if (windowsAssetLinks != "") {
embed.addField('Windows Downloads', windowsAssetLinks, false);
}
if (linuxAssetLinks != "") {
embed.addField('Linux Downloads', linuxAssetLinks, false);
}
const webhookClient = new WebhookClient({ url: process.env.DISCORD_BUILD_WEBHOOK });
await webhookClient.send({
embeds: [embed],
});

View File

@@ -0,0 +1,806 @@
{
"name": "announce-release",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@actions/github": "^5.0.0",
"discord.js": "^13.2.0"
}
},
"node_modules/@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"dependencies": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"node_modules/@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"dependencies": {
"tunnel": "0.0.6"
}
},
"node_modules/@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"engines": {
"node": ">=14.0.0",
"npm": ">=7.0.0"
}
},
"node_modules/@discordjs/builders/node_modules/discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==",
"engines": {
"node": ">=12"
}
},
"node_modules/@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"dependencies": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"dependencies": {
"@octokit/types": "^6.33.0"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"dependencies": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"node_modules/@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"dependencies": {
"@octokit/openapi-types": "^11.1.0"
}
},
"node_modules/@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA==",
"engines": {
"node": ">=v14.18.0",
"npm": ">=7.24.2"
}
},
"node_modules/@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"node_modules/@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==",
"engines": {
"node": ">=12"
}
},
"node_modules/discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"dependencies": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
},
"engines": {
"node": ">=16.6.0",
"npm": ">=7.0.0"
}
},
"node_modules/dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"dependencies": {
"is-obj": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"node_modules/mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"dependencies": {
"mime-db": "1.50.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"node_modules/ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"node_modules/ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
}
},
"dependencies": {
"@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"requires": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"requires": {
"tunnel": "0.0.6"
}
},
"@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"dependencies": {
"discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg=="
}
}
},
"@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog=="
},
"@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA=="
},
"@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
},
"@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"requires": {
"@types/node": "*"
}
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ=="
},
"discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"requires": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
}
},
"dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"requires": {
"is-obj": "^2.0.0"
}
},
"is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
},
"mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"requires": {
"mime-db": "1.50.0"
}
},
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"requires": {}
}
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "announce-release",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@actions/github": "^5.0.0",
"discord.js": "^13.2.0"
}
}

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,64 @@
import { Octokit } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { retry } from "@octokit/plugin-retry";
Octokit.plugin(throttling);
Octokit.plugin(retry);
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
userAgent: 'PCSX2/pcsx2',
log: {
debug: () => { },
info: () => { },
warn: console.warn,
error: console.error
},
throttle: {
onRateLimit: (retryAfter, options) => {
octokit.log.warn(
`Request quota exhausted for request ${options.method} ${options.url}`
);
// Retry twice after hitting a rate limit error, then give up
if (options.request.retryCount <= 2) {
console.log(`Retrying after ${retryAfter} seconds!`);
return true;
}
},
onAbuseLimit: (retryAfter, options) => {
// does not retry, only logs a warning
octokit.log.warn(
`Abuse detected for request ${options.method} ${options.url}`
);
},
}
});
var args = process.argv.slice(2);
let commitSha = process.env.COMMIT_SHA;
console.log(`Searching for Commit - ${commitSha}`);
const { data: commit } = await octokit.rest.repos.getCommit({
owner: "PCSX2",
repo: "pcsx2",
ref: commitSha,
});
const { data: associatedPulls } = await octokit.rest.repos.listPullRequestsAssociatedWithCommit({
owner: "PCSX2",
repo: "pcsx2",
commit_sha: commit.sha,
});
let releaseNotes = ``;
if (associatedPulls.length === 0) {
releaseNotes += `- ${commit.commit.message}\n`;
} else {
for (var j = 0; j < associatedPulls.length; j++) {
releaseNotes += `- [${associatedPulls[j].title}](${associatedPulls[j].html_url})\n`;
}
}
import * as fs from 'fs';
fs.writeFileSync('./release-notes.md', releaseNotes);

View File

@@ -0,0 +1,202 @@
{
"name": "generate-release-notes",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"requires": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"requires": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"requires": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View File

@@ -0,0 +1,17 @@
{
"name": "generate-release-notes",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0"
}
}

View File

@@ -0,0 +1,2 @@
node_modules/
*.md

View File

@@ -0,0 +1,145 @@
import { Octokit } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { retry } from "@octokit/plugin-retry";
Octokit.plugin(throttling);
Octokit.plugin(retry);
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
userAgent: 'PCSX2/pcsx2',
log: {
debug: () => { },
info: () => { },
warn: console.warn,
error: console.error
},
throttle: {
onRateLimit: (retryAfter, options) => {
octokit.log.warn(
`Request quota exhausted for request ${options.method} ${options.url}`
);
// Retry twice after hitting a rate limit error, then give up
if (options.request.retryCount <= 2) {
console.log(`Retrying after ${retryAfter} seconds!`);
return true;
}
},
onAbuseLimit: (retryAfter, options) => {
// does not retry, only logs a warning
octokit.log.warn(
`Abuse detected for request ${options.method} ${options.url}`
);
},
}
});
let assetDir = process.env.ASSET_DIR;
let tagToSearchFor = process.env.TAG_TO_SEARCH_FOR.split("refs/tags/")[1];
console.log(`Searching in - ${assetDir}`);
console.log(`Searching for tag - ${tagToSearchFor}`);
const { data: recentReleases } = await octokit.rest.repos.listReleases({
owner: "PCSX2",
repo: "pcsx2",
per_page: 100
});
let release = undefined;
for (var i = 0; i < recentReleases.length; i++) {
if (recentReleases[i].tag_name == tagToSearchFor) {
release = recentReleases[i];
break;
}
}
if (release == undefined) {
console.log(`Unable to find release with tag - ${tagToSearchFor}`);
process.exit(1);
}
// Upload any assets we need to, don't upload assets that are already there!
const { data: releaseAssetsPre } = await octokit.rest.repos.listReleaseAssets({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
per_page: 100
});
import glob from 'glob';
import * as fs from 'fs';
import * as path from 'path';
glob(assetDir + `/**/*${process.env.ASSET_EXTENSION}`, {}, async (err, files) => {
for (var i = 0; i < files.length; i++) {
let foundDuplicate = false;
for (var j = 0; j < releaseAssetsPre.length; j++) {
let existingAsset = releaseAssetsPre[j];
if (existingAsset.name == `pcsx2-${release.tag_name}-${path.basename(files[i])}`) {
foundDuplicate = true;
break;
}
}
if (foundDuplicate) {
continue;
}
var assetBytes = fs.readFileSync(files[i], null);
const { data: uploadAsset } = await octokit.rest.repos.uploadReleaseAsset({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
name: `pcsx2-${release.tag_name}-${path.basename(files[i])}`,
data: assetBytes,
});
}
});
// Ideally there would be a webhook event for when an artifact is added to a draft release
// unfortunately, such a thing does not exist yet. Therefore, we have to wait a bit
// for the API to become consistent
// TODO - future work - we could check previous draft releases to become eventually consistent as well
// - draft releases should only be a temporary state, so anything that remains a draft had a problem
await new Promise(resolve => setTimeout(resolve, 10 * 1000));
// Poll the release, and check to see if it's ready to be published
const { data: releaseAssetsPost } = await octokit.rest.repos.listReleaseAssets({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
per_page: 100
});
// Expected Assets, if we have all of them, we will publish it
let expectedAssets = {
"windows-32bit-sse4": false,
"windows-32bit-avx2": false,
"windows-64bit-sse4": false,
"windows-64bit-avx2": false,
"linux-appimage-32bit": false,
"linux-appimage-64bit": false
}
for (var i = 0; i < releaseAssetsPost.length; i++) {
let asset = releaseAssetsPost[i];
if (asset.name.includes("symbols")) {
continue;
}
for (var j = 0; j < Object.keys(expectedAssets).length; j++) {
let expectedNamePrefix = Object.keys(expectedAssets)[j];
if (asset.name.toLowerCase().includes(expectedNamePrefix)) {
expectedAssets[expectedNamePrefix] = true;
break;
}
}
}
console.log(expectedAssets);
if (Object.values(expectedAssets).every(Boolean)) {
await octokit.rest.repos.updateRelease({
owner: "PCSX2",
repo: "pcsx2",
release_id: release.id,
draft: false
});
}

View File

@@ -0,0 +1,973 @@
{
"name": "upload-release-artifacts",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0",
"discord.js": "^13.2.0",
"glob": "^7.2.0"
}
},
"node_modules/@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"engines": {
"node": ">=14.0.0",
"npm": ">=7.0.0"
}
},
"node_modules/@discordjs/builders/node_modules/discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==",
"engines": {
"node": ">=12"
}
},
"node_modules/@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"dependencies": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"dependencies": {
"@octokit/types": "^6.33.0"
}
},
"node_modules/@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"dependencies": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"node_modules/@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"dependencies": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"node_modules/@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"dependencies": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"node_modules/@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"dependencies": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"node_modules/@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"dependencies": {
"@octokit/openapi-types": "^11.1.0"
}
},
"node_modules/@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA==",
"engines": {
"node": ">=v14.18.0",
"npm": ">=7.24.2"
}
},
"node_modules/@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"node_modules/@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"node_modules/bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==",
"engines": {
"node": ">=12"
}
},
"node_modules/discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"dependencies": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
},
"engines": {
"node": ">=16.6.0",
"npm": ">=7.0.0"
}
},
"node_modules/dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"dependencies": {
"is-obj": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"node_modules/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"node_modules/mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"dependencies": {
"mime-db": "1.50.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"dependencies": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"node_modules/ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"node_modules/type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"node_modules/ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
}
},
"dependencies": {
"@discordjs/builders": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.6.0.tgz",
"integrity": "sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"discord-api-types": "^0.22.0",
"ow": "^0.27.0",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1"
},
"dependencies": {
"discord-api-types": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz",
"integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg=="
}
}
},
"@discordjs/collection": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz",
"integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog=="
},
"@discordjs/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.0",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.1.0.tgz",
"integrity": "sha512-dWZfYvCCdjZzDYA3lIAMF72Q0jld8xidqCq5Ryw09eBJXZdcM6he0vWBTvw/b5UnGYqexxOyHWgfrsTlUJL3Gw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.16.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.9.tgz",
"integrity": "sha512-gfSCMgz5scFKsR0dW4jaYsDJVt/UwCHp4dF7sHlmSekZvwzvLiOAGZ4MQkEsL5DW9hIk2W+UQkYZMTA1b6Wsqw==",
"requires": {
"@octokit/types": "^6.33.0"
}
},
"@octokit/plugin-request-log": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.12.1.tgz",
"integrity": "sha512-0nY3htfl6x9UkPcqv8pm9vOC/bTA7f4IMDWln13neHRdNWQvOQgZ9fRxK7BAc74rye4yVINEFi9Yb9rnGUvosA==",
"requires": {
"@octokit/types": "^6.33.0",
"deprecation": "^2.3.1"
}
},
"@octokit/plugin-retry": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz",
"integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==",
"requires": {
"@octokit/types": "^6.0.3",
"bottleneck": "^2.15.3"
}
},
"@octokit/plugin-throttling": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.5.2.tgz",
"integrity": "sha512-Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==",
"requires": {
"@octokit/types": "^6.0.1",
"bottleneck": "^2.15.3"
}
},
"@octokit/request": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz",
"integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
"version": "18.12.0",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
"integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
"requires": {
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.8",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-rest-endpoint-methods": "^5.12.0"
}
},
"@octokit/types": {
"version": "6.33.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.33.0.tgz",
"integrity": "sha512-0zffZ048M0UhthyPXQHLz4038Ak46nMWZXkzlXvXB/M/L1jYPBceq4iZj4qjKVrvveaJrrgKdJ9+3yUuITfcCw==",
"requires": {
"@octokit/openapi-types": "^11.1.0"
}
},
"@sapphire/async-queue": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.6.tgz",
"integrity": "sha512-M5CbgMgesemMUCQo5G/InGHvp+GZx6uuJNV1iwvSWD8EFNVrfxaTcqhcAXM3MPYkjlxvNnoDNk0R1lfzvca6LA=="
},
"@sindresorhus/is": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
},
"@types/node": {
"version": "16.10.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz",
"integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="
},
"@types/ws": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
"integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
"requires": {
"@types/node": "*"
}
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"before-after-hook": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
},
"bottleneck": {
"version": "2.19.5",
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"discord-api-types": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.23.1.tgz",
"integrity": "sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ=="
},
"discord.js": {
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.2.0.tgz",
"integrity": "sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==",
"requires": {
"@discordjs/builders": "^0.6.0",
"@discordjs/collection": "^0.2.1",
"@discordjs/form-data": "^3.0.1",
"@sapphire/async-queue": "^1.1.5",
"@types/ws": "^8.2.0",
"discord-api-types": "^0.23.1",
"node-fetch": "^2.6.1",
"ws": "^8.2.3"
}
},
"dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"requires": {
"is-obj": "^2.0.0"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"mime-db": {
"version": "1.50.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
"integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
},
"mime-types": {
"version": "2.1.33",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
"integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"requires": {
"mime-db": "1.50.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"ow": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz",
"integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==",
"requires": {
"@sindresorhus/is": "^4.0.1",
"callsites": "^3.1.0",
"dot-prop": "^6.0.1",
"lodash.isequal": "^4.5.0",
"type-fest": "^1.2.1",
"vali-date": "^1.0.0"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"ts-mixer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
"integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
},
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"type-fest": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"vali-date": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"requires": {}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"name": "upload-release-artifacts",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@octokit/plugin-retry": "^3.0.9",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.12.0",
"glob": "^7.2.0"
}
}

View File

@@ -0,0 +1,199 @@
import yaml
# Assumes this is ran from the root of the repository
file_path = "./bin/resources/GameIndex.yaml"
# These settings have to be manually kept in sync with the emulator code unfortunately.
# up to date validation should ALWAYS be provided via the application!
allowed_game_options = [
"name",
"region",
"compat",
"roundModes",
"clampModes",
"gameFixes",
"speedHacks",
"memcardFilters",
"patches",
]
allowed_round_modes = ["eeRoundMode", "vuRoundMode"]
allowed_clamp_modes = ["eeClampMode", "vuClampMode"]
allowed_game_fixes = [
"VuAddSubHack",
"FpuCompareHack",
"FpuMulHack",
"FpuNegDivHack",
"XGKickHack",
"EETimingHack",
"SkipMPEGHack",
"OPHFlagHack",
"DMABusyHack",
"VIFFIFOHack",
"VIF1StallHack",
"GIFFIFOHack",
"GoemonTlbHack",
"VUKickstartHack",
"IbitHack",
"VUOverflowHack",
]
allowed_speed_hacks = ["mvuFlagSpeedHack", "InstantVU1SpeedHack"]
# Patches are allowed to have a 'default' key or a crc-32 key, followed by
allowed_patch_options = ["author", "content"]
issue_list = []
def is_hex_number(string):
try:
int(string, 16)
return True
except Exception:
return False
def validate_string_option(serial, key, value):
if not isinstance(value, str):
issue_list.append("[{}]: '{}' must be a string".format(serial, key))
def validate_int_option(serial, key, value, low, high):
if not isinstance(value, int) or (value < low or value > high):
issue_list.append(
"[{}]: '{}' must be an int and between {}-{} (inclusive)".format(
serial, key, low, high
)
)
def validate_list_of_strings(serial, key, value):
if not isinstance(value, list) or not all(isinstance(item, str) for item in value):
issue_list.append("[{}]: '{}' must be a list of strings".format(serial, key))
def validate_valid_options(serial, key, value, allowed_values):
if value not in allowed_values:
issue_list.append("[{}]: Invalid '{}' option [{}]".format(serial, key, value))
def validate_clamp_round_modes(serial, key, value, allowed_values):
if not isinstance(value, dict):
issue_list.append("[{}]: '{}' must be a valid object".format(serial, key))
return
for mode_key, mode_value in value.items():
validate_valid_options(serial, key, mode_key, allowed_values)
validate_int_option(serial, key, mode_value, 0, 3)
def validate_game_fixes(serial, key, value):
if not isinstance(value, list):
issue_list.append(
"[{}]: 'gameFixes' must be a list of valid gameFixes".format(serial)
)
return
for gamefix in value:
validate_valid_options(serial, key, gamefix, allowed_game_fixes)
def validate_speed_hacks(serial, key, value):
if not isinstance(value, dict):
issue_list.append("[{}]: 'speedHacks' must be a valid object".format(serial))
return
for speedhack, speedhack_value in value.items():
validate_valid_options(serial, key, speedhack, allowed_speed_hacks)
validate_int_option(serial, speedhack, speedhack_value, 0, 1)
def validate_patches(serial, key, value):
if not isinstance(value, dict):
issue_list.append(
"[{}]: 'patches' must be valid mapping of CRC32 -> Patch Objects".format(
serial
)
)
return
for crc, patch in value.items():
if crc != "default" and not is_hex_number(str(crc)):
issue_list.append(
"[{}]: Patches must either be key'd with 'default' or a valid CRC-32 Hex String".format(
serial
)
)
continue
for patch_option, option_value in patch.items():
validate_valid_options(serial, key, patch_option, allowed_patch_options)
if patch_option == "author":
validate_string_option(serial, patch_option, option_value)
if patch_option == "content":
validate_string_option(serial, patch_option, option_value)
# pylint:disable=unnecessary-lambda
option_validation_handlers = {
"name": (lambda serial, key, value: validate_string_option(serial, key, value)),
"region": (lambda serial, key, value: validate_string_option(serial, key, value)),
"compat": (
lambda serial, key, value: validate_int_option(serial, key, value, 0, 6)
),
"roundModes": (
lambda serial, key, value: validate_clamp_round_modes(
serial, key, value, allowed_round_modes
)
),
"clampModes": (
lambda serial, key, value: validate_clamp_round_modes(
serial, key, value, allowed_clamp_modes
)
),
"gameFixes": (lambda serial, key, value: validate_game_fixes(serial, key, value)),
"speedHacks": (lambda serial, key, value: validate_speed_hacks(serial, key, value)),
"memcardFilters": (
lambda serial, key, value: validate_list_of_strings(serial, key, value)
),
"patches": (lambda serial, key, value: validate_patches(serial, key, value)),
}
print("Opening {}...".format(file_path))
with open(file_path) as f:
try:
print("Attempting to parse GameDB file...")
gamedb = yaml.load(f, Loader=yaml.FullLoader)
except Exception as err:
print(err)
print(
"Unable to parse GameDB. Exiting, verify that the file indeed is valid YAML."
)
exit(1)
print("File loaded successfully, validating schema...")
progress_counter = 0
for serial, game_options in gamedb.items():
progress_counter = progress_counter + 1
if progress_counter % 500 == 0 or progress_counter >= len(gamedb.items()):
print(
"[{}/{}] Processing GameDB Entries...".format(
progress_counter, len(gamedb.items())
)
)
# Check for required values
if not "name" in game_options.keys():
issue_list.append("[{}]: 'name' is a required value".format(serial))
if not "region" in game_options.keys():
issue_list.append("[{}]: 'region' is a required value".format(serial))
# Check the options
for key, value in game_options.items():
if key not in allowed_game_options:
issue_list.append("[{}]: Invalid option [{}]".format(serial, key))
continue
if key in option_validation_handlers:
option_validation_handlers[key](serial, key, value)
if len(issue_list) > 0:
print("Issues found during validation:")
print(*issue_list, sep="\n")
exit(1)
else:
print("GameDB Validated Successfully!")
exit(0)

View File

@@ -0,0 +1 @@
PyYAML==5.4.1

View File

@@ -0,0 +1,19 @@
$filterFiles = Get-ChildItem $PWD -name -recurse *.vcxproj.filters
$failed = $FALSE
foreach ($file in $filterFiles) {
# Skip 3rdparty files
if ($file -NotMatch "^3rdparty") {
$expression = "python -c `"import sys, xml.dom.minidom as d; d.parse(sys.argv[1])`" $($file)"
$expression += ';$LastExitCode'
$exitCode = Invoke-Expression $expression
if($exitCode -ne 0){
Write-Host -foregroundColor red "$($file) - Invalid VS filters file. Likely missing tags"
$failed = $TRUE
}
}
}
if ($failed) {
exit 1
}

View File

@@ -0,0 +1,29 @@
name: 🏭 Update Controller Database
on:
schedule:
- cron: "0 16 * * 1" # every monday @ 12pm EST - https://crontab.guru/#0_16_*_*_1
jobs:
update-controller-db:
if: github.repository == 'PCSX2/pcsx2'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get Latest DB and Prepare DB File
run: |
cd .github/workflows/scripts/controller-db/
wget -O game_controller_db.txt https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
python ./update-db.py
mv ./game_controller_db.txt ${{github.workspace}}/bin/resources/game_controller_db.txt
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
title: "pad-linux: Update to latest controller database"
commit-message: "pad-linux: Update to latest controller database."
committer: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
author: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
body: "Weekly automatic update of SDL Controller DB for Linux / Mac OS"
reviewers: lightningterror

191
.github/workflows/windows-workflow.yml vendored Normal file
View File

@@ -0,0 +1,191 @@
name: 🖥️ Windows Builds
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
- '.clang-format'
- '.codacy.yaml'
- '.github/*'
- '.github/workflows/lint-gamedb.yml'
- '.github/workflows/linux-workflow.yml'
- '.github/workflows/macos-workflow.yml'
- '.github/workflows/scripts/linux/**'
- '.github/workflows/scripts/validation/**'
- '.gitignore'
- 'bin/PCSX2_keys.ini.default'
- 'build.sh'
- 'buildbot.xml'
- 'linux_various/**'
- 'mscompile.cmd'
- 'pcsx2/CDVD/Linux/**'
- 'pcsx2/DEV9/Linux/**'
- 'pcsx2/Linux/**'
- 'pcsx2/PAD/Linux/**'
- 'pcsx2/SPU2/Linux/**'
- 'pcsx2/USB/linux/**'
jobs:
build:
strategy:
# Prevent one build from failing everything (although maybe those should be included as experimental builds instead)
fail-fast: false
matrix:
os: [windows-2019]
platform: [Win32, x64]
configuration: [Release, Release AVX2, CMake]
experimental: [false]
name: ${{ matrix.platform }} | ${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
timeout-minutes: 60
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_COMPRESS_LEVEL: 9
BUILDCACHE_MAX_CACHE_SIZE: 536870912 # 512MB
BUILDCACHE_DIRECT_MODE: true
BUILDCACHE_LOG_FILE: ${{ github.workspace }}\buildcache.log
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Checkout Submodules
run: git submodule update --init --recursive -j $env:NUMBER_OF_PROCESSORS
- name: Setup Buildcache
uses: mikehardy/buildcache-action@v1.2.2
with:
cache_key: ${{ matrix.os }} ${{ matrix.platform }} ${{ matrix.configuration }}
if: matrix.configuration == 'CMake' # TODO: buildcache on VS
- name: Verify VS Project Files
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
if: matrix.configuration != 'CMake'
- name: Setup msbuild
uses: microsoft/setup-msbuild@v1
if: matrix.configuration != 'CMake'
- name: Generate CMake
id: cmake
shell: cmd
run: |
if "${{ github.event.inputs.retainDebugArtifacts }}"=="true" (SET type=RelWithDebInfo) else (SET type=Release)
if "${{ matrix.platform }}"=="Win32" (SET vcvars=vcvarsamd64_x86.bat) else (SET vcvars=vcvars64.bat)
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\%vcvars%"
echo ::set-output name=buildtype::%type%
echo ::set-output name=vcvars::%vcvars%
cmake . -B build -DCMAKE_BUILD_TYPE=%type% -DLTO_PCSX2_CORE=ON -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=..\buildcache\bin\buildcache.exe -DCMAKE_CXX_COMPILER_LAUNCHER=..\buildcache\bin\buildcache.exe -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
if: matrix.configuration == 'CMake'
- name: Build PCSX2
shell: cmd
env:
# Set to 'true' to retain the .pdb / .exp / .lib, etc files which can be useful for repro'ing issues that only occur in the compiled .exe
RetainDebuggingArtifacts: ${{ github.event.inputs.retainDebugArtifacts == 'true' }}
run: |
if "${{ matrix.configuration }}"=="CMake" (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
cmake --build build --config ${{ steps.cmake.outputs.buildtype }}
) else (
msbuild "PCSX2_suite.sln" /m /v:m /p:Configuration="${{ matrix.configuration }}" /p:Platform="${{ matrix.platform }}"
)
- name: Run Tests
shell: cmd
run: |
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
cmake --build build --config ${{ steps.cmake.outputs.buildtype }} --target unittests
if: matrix.configuration == 'CMake'
- name: Prepare Artifact Metadata
id: artifact-metadata
shell: bash
run: |
ARCH=$([ "${{ matrix.platform }}" == Win32 ] && echo "32bit" || echo "64bit")
case "${{ matrix.configuration }}" in
Release) SIMD="SSE4";;
*AVX2) SIMD="AVX2";;
CMake) SIMD="CMake"
cp build/pcsx2/pcsx2* bin/ ;;
*) SIMD="UNKNOWN";;
esac
if [ ${{ github.event_name }} == "pull_request" ]; then
PR_SHA=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")
ARTIFACT_NAME="PCSX2-${ARCH}-${SIMD}"
if [ ! -z "${{ github.event.pull_request.number }}" ]; then
PR_NUM=${{ github.event.pull_request.number }}
ARTIFACT_NAME="${ARTIFACT_NAME}-pr[${PR_NUM}]"
fi
ARTIFACT_NAME="${ARTIFACT_NAME}-sha[${PR_SHA}]"
if [ ! -z "${{ github.event.pull_request.title }}" ]; then
PR_TITLE=$(echo "${{ github.event.pull_request.title }}" | tr -cd '[a-zA-Z0-9[:space:]]_-')
ARTIFACT_NAME="${ARTIFACT_NAME}-title["${PR_TITLE}""
fi
else
SHA=$(git rev-parse --short "$GITHUB_SHA")
ARTIFACT_NAME="PCSX2-${ARCH}-${SIMD}-sha[${SHA}"
fi
TRIMMED_ARTIFACT_NAME=$(printf "%.199s]" "$ARTIFACT_NAME")
echo "name=$TRIMMED_ARTIFACT_NAME"
echo "##[set-output name=name;]${TRIMMED_ARTIFACT_NAME}"
echo "##[set-output name=arch;]${ARCH}"
echo "##[set-output name=simd;]${SIMD}"
- name: Upload artifact
uses: actions/upload-artifact@v2
continue-on-error: true
with:
name: ${{ steps.artifact-metadata.outputs.name }}
path: |
./bin
!./bin/**/*.bsc
!./bin/**/*.exp
!./bin/**/*.ilk
!./bin/**/*.iobj
!./bin/**/*.ipdb
!./bin/**/*.pdb
!./bin/**/*.lib
- name: Upload artifact - with symbols
if: matrix.configuration != 'CMake'
uses: actions/upload-artifact@v2
continue-on-error: true
with:
name: ${{ steps.artifact-metadata.outputs.name }}-symbols
path: ./bin/**/*.pdb
# ---- Release / Tagging related steps ----
- name: Prepare Build Artifacts
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.configuration != 'CMake'
run: |
mkdir -p ./ci-artifacts/
7z a ./ci-artifacts/windows-${{ steps.artifact-metadata.outputs.arch }}-${{ steps.artifact-metadata.outputs.simd }}.7z ./bin/* '-xr!*bsc' '-xr!*.exp' '-xr!*.ilk' '-xr!*.iobj' '-xr!*.ipdb' '-xr!*.pdb' '-xr!*.lib'
7z a ./ci-artifacts/windows-${{ steps.artifact-metadata.outputs.arch }}-${{ steps.artifact-metadata.outputs.simd }}-symbols.7z ./bin/*.pdb
ls ./ci-artifacts/
- name: Upload Assets and Potential Publish Release
if: github.repository == 'PCSX2/pcsx2' && startsWith(github.ref, 'refs/tags/') && matrix.configuration != 'CMake'
env:
GITHUB_TOKEN: ${{ secrets.BOT_PAT }}
ASSET_DIR: ${{ github.WORKSPACE }}/ci-artifacts
ASSET_EXTENSION: 7z
TAG_TO_SEARCH_FOR: ${{ github.REF }}
run: |
cd ./.github/workflows/scripts/releases/upload-release-artifacts
npm ci
node index.js

27
.gitignore vendored
View File

@@ -19,10 +19,6 @@
*.dump
*.asm
!/plugins/zerogs/dx/x86-32.asm
!/plugins/zerogs/dx/x86-64.asm
!/plugins/zerogs/opengl/x86-32.asm
!/plugins/zzogl-pg/opengl/x86-32.asm
*.VC.db
*.VC.VC.opendb
@@ -34,12 +30,17 @@
**/x64/Debug*
**/x64/Devel*
**/bin/PCSX2-linux.sh
_ReSharper.*
pcsx2.snapshot_*
svnrev.h
/build
/build_dev
/build_dbg
/obj-*
*.obj
.DS_Store
Thumbs.db
@@ -47,6 +48,7 @@ Thumbs.db
Debug.txt
install_log.txt
padLog.txt
GS_opengl_debug.txt
Debug
Release
@@ -63,15 +65,19 @@ oprofile_data/
# Visual Studio upgrades
/Backup*
/UpgradeLog*.htm
/.vscode*
/bin/**/*.dll
/bin/**/*.exp
/bin/**/*.ilk
/bin/**/*.lib
/bin/**/*.pdb
/bin/PCSX2
/bin/pcsx2
/bin/PCSX2-linux.sh
/bin/*ReplayLoader
/bin/GS*.txt
/bin/bios
/bin/cache
/bin/dumps
/bin/help
/bin/inis
@@ -102,13 +108,10 @@ oprofile_data/
/3rdparty/**/wx/msw/rcdefs.h
/pcsx2/gui/Resources/*.h
!/pcsx2/gui/Resources/EmbeddedImage.h
/plugins/GSdx/Template
/plugins/USBqemu/Win32/bin
/plugins/zerospu2/Windows/dsound51.cpp
/tools/bin
/tools/GSDumpGUI/bin
/tools/GSDumpGUI/obj
.vs
/pcsx2/windows/VCprojects/GSdx_opengl_debug_hw.txt
/pcsx2/windows/VCprojects/GSdx_opengl_debug_sw.txt
/out/build/x64-Debug (default)
CMakeSettings.json
/ci-artifacts/
/out/

29
.gitmodules vendored
View File

@@ -1,3 +1,32 @@
[submodule "3rdparty/xz/xz"]
path = 3rdparty/xz/xz
url = https://github.com/PCSX2/xz.git
[submodule "3rdparty/gtest"]
path = 3rdparty/gtest
url = https://github.com/google/googletest.git
[submodule "3rdparty/fmt/fmt"]
path = 3rdparty/fmt/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "3rdparty/libchdr/libchdr"]
path = 3rdparty/libchdr/libchdr
url = https://github.com/rtissera/libchdr.git
[submodule "3rdparty/wil"]
path = 3rdparty/wil
url = https://github.com/microsoft/wil.git
branch = master
[submodule "3rdparty/cubeb/cubeb"]
path = 3rdparty/cubeb/cubeb
url = https://github.com/mozilla/cubeb.git
[submodule "3rdparty/rapidyaml/rapidyaml"]
path = 3rdparty/rapidyaml/rapidyaml
url = https://github.com/biojppm/rapidyaml.git
branch = master
[submodule "3rdparty/imgui/imgui"]
path = 3rdparty/imgui/imgui
url = https://github.com/ocornut/imgui.git
[submodule "3rdparty/glslang/glslang"]
path = 3rdparty/glslang/glslang
url = https://github.com/KhronosGroup/glslang.git
[submodule "3rdparty/vulkan-headers"]
path = 3rdparty/vulkan-headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git

View File

@@ -1,34 +0,0 @@
language: cpp
sudo: required
cache: ccache
dist: xenial
matrix:
include:
- env: VERSION=8 BITS=64
compiler: gcc
os: linux
- env: VERSION=8 BITS=32
compiler: gcc
os: linux
- env: VERSION=7 BITS=32
compiler: gcc
os: linux
- env: VERSION=3.8 BITS=32
compiler: clang
os: linux
before_install:
- ./travis.sh before_install
before_script:
- ./travis.sh before_script
script:
- ./travis.sh script
after_success:
- ./travis.sh after_success

View File

@@ -13,7 +13,7 @@
<StructMemberAlignment>16Bytes</StructMemberAlignment>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>

5866
3rdparty/GL/glcorearb.h vendored

File diff suppressed because it is too large Load Diff

12146
3rdparty/GL/glext.h vendored

File diff suppressed because it is too large Load Diff

282
3rdparty/GL/khrplatform.h vendored Normal file
View File

@@ -0,0 +1,282 @@
#ifndef __khrplatform_h_
#define __khrplatform_h_
/*
** Copyright (c) 2008-2018 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/* Khronos platform-specific types and definitions.
*
* The master copy of khrplatform.h is maintained in the Khronos EGL
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
* The last semantic modification to khrplatform.h was at commit ID:
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
*
* Adopters may modify this file to suit their platform. Adopters are
* encouraged to submit platform specific modifications to the Khronos
* group so that they can be included in future versions of this file.
* Please submit changes by filing pull requests or issues on
* the EGL Registry repository linked above.
*
*
* See the Implementer's Guidelines for information about where this file
* should be located on your system and for more details of its use:
* http://www.khronos.org/registry/implementers_guide.pdf
*
* This file should be included as
* #include <KHR/khrplatform.h>
* by Khronos client API header files that use its types and defines.
*
* The types in khrplatform.h should only be used to define API-specific types.
*
* Types defined in khrplatform.h:
* khronos_int8_t signed 8 bit
* khronos_uint8_t unsigned 8 bit
* khronos_int16_t signed 16 bit
* khronos_uint16_t unsigned 16 bit
* khronos_int32_t signed 32 bit
* khronos_uint32_t unsigned 32 bit
* khronos_int64_t signed 64 bit
* khronos_uint64_t unsigned 64 bit
* khronos_intptr_t signed same number of bits as a pointer
* khronos_uintptr_t unsigned same number of bits as a pointer
* khronos_ssize_t signed size
* khronos_usize_t unsigned size
* khronos_float_t signed 32 bit floating point
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
* nanoseconds
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
* khronos_boolean_enum_t enumerated boolean type. This should
* only be used as a base type when a client API's boolean type is
* an enum. Client APIs which use an integer or other type for
* booleans cannot use this as the base type for their boolean.
*
* Tokens defined in khrplatform.h:
*
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
*
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
*
* Calling convention macros defined in this file:
* KHRONOS_APICALL
* KHRONOS_APIENTRY
* KHRONOS_APIATTRIBUTES
*
* These may be used in function prototypes as:
*
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
* int arg1,
* int arg2) KHRONOS_APIATTRIBUTES;
*/
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APICALL
*-------------------------------------------------------------------------
* This precedes the return type of the function in the function prototype.
*/
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
# define KHRONOS_APICALL __declspec(dllimport)
#elif defined (__SYMBIAN32__)
# define KHRONOS_APICALL IMPORT_C
#elif defined(__ANDROID__)
# define KHRONOS_APICALL __attribute__((visibility("default")))
#else
# define KHRONOS_APICALL
#endif
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APIENTRY
*-------------------------------------------------------------------------
* This follows the return type of the function and precedes the function
* name in the function prototype.
*/
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
/* Win32 but not WinCE */
# define KHRONOS_APIENTRY __stdcall
#else
# define KHRONOS_APIENTRY
#endif
/*-------------------------------------------------------------------------
* Definition of KHRONOS_APIATTRIBUTES
*-------------------------------------------------------------------------
* This follows the closing parenthesis of the function prototype arguments.
*/
#if defined (__ARMCC_2__)
#define KHRONOS_APIATTRIBUTES __softfp
#else
#define KHRONOS_APIATTRIBUTES
#endif
/*-------------------------------------------------------------------------
* basic type definitions
*-----------------------------------------------------------------------*/
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
/*
* Using <stdint.h>
*/
#include <stdint.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(__VMS ) || defined(__sgi)
/*
* Using <inttypes.h>
*/
#include <inttypes.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
/*
* Win32
*/
typedef __int32 khronos_int32_t;
typedef unsigned __int32 khronos_uint32_t;
typedef __int64 khronos_int64_t;
typedef unsigned __int64 khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif defined(__sun__) || defined(__digital__)
/*
* Sun or Digital
*/
typedef int khronos_int32_t;
typedef unsigned int khronos_uint32_t;
#if defined(__arch64__) || defined(_LP64)
typedef long int khronos_int64_t;
typedef unsigned long int khronos_uint64_t;
#else
typedef long long int khronos_int64_t;
typedef unsigned long long int khronos_uint64_t;
#endif /* __arch64__ */
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#elif 0
/*
* Hypothetical platform with no float or int64 support
*/
typedef int khronos_int32_t;
typedef unsigned int khronos_uint32_t;
#define KHRONOS_SUPPORT_INT64 0
#define KHRONOS_SUPPORT_FLOAT 0
#else
/*
* Generic fallback
*/
#include <stdint.h>
typedef int32_t khronos_int32_t;
typedef uint32_t khronos_uint32_t;
typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
#endif
/*
* Types that are (so far) the same on all platforms
*/
typedef signed char khronos_int8_t;
typedef unsigned char khronos_uint8_t;
typedef signed short int khronos_int16_t;
typedef unsigned short int khronos_uint16_t;
/*
* Types that differ between LLP64 and LP64 architectures - in LLP64,
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
* to be the only LLP64 architecture in current use.
*/
#ifdef _WIN64
typedef signed long long int khronos_intptr_t;
typedef unsigned long long int khronos_uintptr_t;
typedef signed long long int khronos_ssize_t;
typedef unsigned long long int khronos_usize_t;
#else
typedef signed long int khronos_intptr_t;
typedef unsigned long int khronos_uintptr_t;
typedef signed long int khronos_ssize_t;
typedef unsigned long int khronos_usize_t;
#endif
#if KHRONOS_SUPPORT_FLOAT
/*
* Float type
*/
typedef float khronos_float_t;
#endif
#if KHRONOS_SUPPORT_INT64
/* Time types
*
* These types can be used to represent a time interval in nanoseconds or
* an absolute Unadjusted System Time. Unadjusted System Time is the number
* of nanoseconds since some arbitrary system event (e.g. since the last
* time the system booted). The Unadjusted System Time is an unsigned
* 64 bit value that wraps back to 0 every 584 years. Time intervals
* may be either signed or unsigned.
*/
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
typedef khronos_int64_t khronos_stime_nanoseconds_t;
#endif
/*
* Dummy value used to pad enum types to 32 bits.
*/
#ifndef KHRONOS_MAX_ENUM
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
#endif
/*
* Enumerated boolean type
*
* Values other than zero should be considered to be true. Therefore
* comparisons should not be made against KHRONOS_TRUE.
*/
typedef enum {
KHRONOS_FALSE = 0,
KHRONOS_TRUE = 1,
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
} khronos_boolean_enum_t;
#endif /* __khrplatform_h_ */

840
3rdparty/GL/wglext.h vendored
View File

@@ -1,840 +0,0 @@
#ifndef __wglext_h_
#define __wglext_h_ 1
#ifdef __cplusplus
extern "C" {
#endif
/*
** Copyright (c) 2013-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/*
** This header is generated from the Khronos OpenGL / OpenGL ES XML
** API Registry. The current version of the Registry, generator scripts
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
** Khronos $Revision: 33248 $ on $Date: 2016-10-24 01:22:03 -0400 (Mon, 24 Oct 2016) $
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
#endif
#define WGL_WGLEXT_VERSION 20161024
/* Generated C header for:
* API: wgl
* Versions considered: .*
* Versions emitted: _nomatch_^
* Default extensions included: wgl
* Additional extensions included: _nomatch_^
* Extensions removed: _nomatch_^
*/
#ifndef WGL_ARB_buffer_region
#define WGL_ARB_buffer_region 1
#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
#ifdef WGL_WGLEXT_PROTOTYPES
HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
#endif
#endif /* WGL_ARB_buffer_region */
#ifndef WGL_ARB_context_flush_control
#define WGL_ARB_context_flush_control 1
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
#endif /* WGL_ARB_context_flush_control */
#ifndef WGL_ARB_create_context
#define WGL_ARB_create_context 1
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
#define WGL_CONTEXT_FLAGS_ARB 0x2094
#define ERROR_INVALID_VERSION_ARB 0x2095
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
#ifdef WGL_WGLEXT_PROTOTYPES
HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
#endif
#endif /* WGL_ARB_create_context */
#ifndef WGL_ARB_create_context_profile
#define WGL_ARB_create_context_profile 1
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
#define ERROR_INVALID_PROFILE_ARB 0x2096
#endif /* WGL_ARB_create_context_profile */
#ifndef WGL_ARB_create_context_robustness
#define WGL_ARB_create_context_robustness 1
#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
#endif /* WGL_ARB_create_context_robustness */
#ifndef WGL_ARB_extensions_string
#define WGL_ARB_extensions_string 1
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
#ifdef WGL_WGLEXT_PROTOTYPES
const char *WINAPI wglGetExtensionsStringARB (HDC hdc);
#endif
#endif /* WGL_ARB_extensions_string */
#ifndef WGL_ARB_framebuffer_sRGB
#define WGL_ARB_framebuffer_sRGB 1
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
#endif /* WGL_ARB_framebuffer_sRGB */
#ifndef WGL_ARB_make_current_read
#define WGL_ARB_make_current_read 1
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
HDC WINAPI wglGetCurrentReadDCARB (void);
#endif
#endif /* WGL_ARB_make_current_read */
#ifndef WGL_ARB_multisample
#define WGL_ARB_multisample 1
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
#define WGL_SAMPLES_ARB 0x2042
#endif /* WGL_ARB_multisample */
#ifndef WGL_ARB_pbuffer
#define WGL_ARB_pbuffer 1
DECLARE_HANDLE(HPBUFFERARB);
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
#define WGL_PBUFFER_LARGEST_ARB 0x2033
#define WGL_PBUFFER_WIDTH_ARB 0x2034
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
#define WGL_PBUFFER_LOST_ARB 0x2036
typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
#endif
#endif /* WGL_ARB_pbuffer */
#ifndef WGL_ARB_pixel_format
#define WGL_ARB_pixel_format 1
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
#define WGL_ACCELERATION_ARB 0x2003
#define WGL_NEED_PALETTE_ARB 0x2004
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
#define WGL_SWAP_METHOD_ARB 0x2007
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
#define WGL_TRANSPARENT_ARB 0x200A
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
#define WGL_SHARE_DEPTH_ARB 0x200C
#define WGL_SHARE_STENCIL_ARB 0x200D
#define WGL_SHARE_ACCUM_ARB 0x200E
#define WGL_SUPPORT_GDI_ARB 0x200F
#define WGL_SUPPORT_OPENGL_ARB 0x2010
#define WGL_DOUBLE_BUFFER_ARB 0x2011
#define WGL_STEREO_ARB 0x2012
#define WGL_PIXEL_TYPE_ARB 0x2013
#define WGL_COLOR_BITS_ARB 0x2014
#define WGL_RED_BITS_ARB 0x2015
#define WGL_RED_SHIFT_ARB 0x2016
#define WGL_GREEN_BITS_ARB 0x2017
#define WGL_GREEN_SHIFT_ARB 0x2018
#define WGL_BLUE_BITS_ARB 0x2019
#define WGL_BLUE_SHIFT_ARB 0x201A
#define WGL_ALPHA_BITS_ARB 0x201B
#define WGL_ALPHA_SHIFT_ARB 0x201C
#define WGL_ACCUM_BITS_ARB 0x201D
#define WGL_ACCUM_RED_BITS_ARB 0x201E
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
#define WGL_DEPTH_BITS_ARB 0x2022
#define WGL_STENCIL_BITS_ARB 0x2023
#define WGL_AUX_BUFFERS_ARB 0x2024
#define WGL_NO_ACCELERATION_ARB 0x2025
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
#define WGL_FULL_ACCELERATION_ARB 0x2027
#define WGL_SWAP_EXCHANGE_ARB 0x2028
#define WGL_SWAP_COPY_ARB 0x2029
#define WGL_SWAP_UNDEFINED_ARB 0x202A
#define WGL_TYPE_RGBA_ARB 0x202B
#define WGL_TYPE_COLORINDEX_ARB 0x202C
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#endif
#endif /* WGL_ARB_pixel_format */
#ifndef WGL_ARB_pixel_format_float
#define WGL_ARB_pixel_format_float 1
#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
#endif /* WGL_ARB_pixel_format_float */
#ifndef WGL_ARB_render_texture
#define WGL_ARB_render_texture 1
#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
#define WGL_TEXTURE_FORMAT_ARB 0x2072
#define WGL_TEXTURE_TARGET_ARB 0x2073
#define WGL_MIPMAP_TEXTURE_ARB 0x2074
#define WGL_TEXTURE_RGB_ARB 0x2075
#define WGL_TEXTURE_RGBA_ARB 0x2076
#define WGL_NO_TEXTURE_ARB 0x2077
#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
#define WGL_TEXTURE_1D_ARB 0x2079
#define WGL_TEXTURE_2D_ARB 0x207A
#define WGL_MIPMAP_LEVEL_ARB 0x207B
#define WGL_CUBE_MAP_FACE_ARB 0x207C
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
#define WGL_FRONT_LEFT_ARB 0x2083
#define WGL_FRONT_RIGHT_ARB 0x2084
#define WGL_BACK_LEFT_ARB 0x2085
#define WGL_BACK_RIGHT_ARB 0x2086
#define WGL_AUX0_ARB 0x2087
#define WGL_AUX1_ARB 0x2088
#define WGL_AUX2_ARB 0x2089
#define WGL_AUX3_ARB 0x208A
#define WGL_AUX4_ARB 0x208B
#define WGL_AUX5_ARB 0x208C
#define WGL_AUX6_ARB 0x208D
#define WGL_AUX7_ARB 0x208E
#define WGL_AUX8_ARB 0x208F
#define WGL_AUX9_ARB 0x2090
typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
#endif
#endif /* WGL_ARB_render_texture */
#ifndef WGL_ARB_robustness_application_isolation
#define WGL_ARB_robustness_application_isolation 1
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
#endif /* WGL_ARB_robustness_application_isolation */
#ifndef WGL_ARB_robustness_share_group_isolation
#define WGL_ARB_robustness_share_group_isolation 1
#endif /* WGL_ARB_robustness_share_group_isolation */
#ifndef WGL_3DFX_multisample
#define WGL_3DFX_multisample 1
#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
#define WGL_SAMPLES_3DFX 0x2061
#endif /* WGL_3DFX_multisample */
#ifndef WGL_3DL_stereo_control
#define WGL_3DL_stereo_control 1
#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
#endif
#endif /* WGL_3DL_stereo_control */
#ifndef WGL_AMD_gpu_association
#define WGL_AMD_gpu_association 1
#define WGL_GPU_VENDOR_AMD 0x1F00
#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
#define WGL_GPU_RAM_AMD 0x21A3
#define WGL_GPU_CLOCK_AMD 0x21A4
#define WGL_GPU_NUM_PIPES_AMD 0x21A5
#define WGL_GPU_NUM_SIMD_AMD 0x21A6
#define WGL_GPU_NUM_RB_AMD 0x21A7
#define WGL_GPU_NUM_SPI_AMD 0x21A8
typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#ifdef WGL_WGLEXT_PROTOTYPES
UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#endif
#endif /* WGL_AMD_gpu_association */
#ifndef WGL_ATI_pixel_format_float
#define WGL_ATI_pixel_format_float 1
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
#endif /* WGL_ATI_pixel_format_float */
#ifndef WGL_EXT_create_context_es2_profile
#define WGL_EXT_create_context_es2_profile 1
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
#endif /* WGL_EXT_create_context_es2_profile */
#ifndef WGL_EXT_create_context_es_profile
#define WGL_EXT_create_context_es_profile 1
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
#endif /* WGL_EXT_create_context_es_profile */
#ifndef WGL_EXT_depth_float
#define WGL_EXT_depth_float 1
#define WGL_DEPTH_FLOAT_EXT 0x2040
#endif /* WGL_EXT_depth_float */
#ifndef WGL_EXT_display_color_table
#define WGL_EXT_display_color_table 1
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
#ifdef WGL_WGLEXT_PROTOTYPES
GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
#endif
#endif /* WGL_EXT_display_color_table */
#ifndef WGL_EXT_extensions_string
#define WGL_EXT_extensions_string 1
typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
const char *WINAPI wglGetExtensionsStringEXT (void);
#endif
#endif /* WGL_EXT_extensions_string */
#ifndef WGL_EXT_framebuffer_sRGB
#define WGL_EXT_framebuffer_sRGB 1
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
#endif /* WGL_EXT_framebuffer_sRGB */
#ifndef WGL_EXT_make_current_read
#define WGL_EXT_make_current_read 1
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
HDC WINAPI wglGetCurrentReadDCEXT (void);
#endif
#endif /* WGL_EXT_make_current_read */
#ifndef WGL_EXT_multisample
#define WGL_EXT_multisample 1
#define WGL_SAMPLE_BUFFERS_EXT 0x2041
#define WGL_SAMPLES_EXT 0x2042
#endif /* WGL_EXT_multisample */
#ifndef WGL_EXT_pbuffer
#define WGL_EXT_pbuffer 1
DECLARE_HANDLE(HPBUFFEREXT);
#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
#define WGL_PBUFFER_LARGEST_EXT 0x2033
#define WGL_PBUFFER_WIDTH_EXT 0x2034
#define WGL_PBUFFER_HEIGHT_EXT 0x2035
typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
#endif
#endif /* WGL_EXT_pbuffer */
#ifndef WGL_EXT_pixel_format
#define WGL_EXT_pixel_format 1
#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
#define WGL_DRAW_TO_WINDOW_EXT 0x2001
#define WGL_DRAW_TO_BITMAP_EXT 0x2002
#define WGL_ACCELERATION_EXT 0x2003
#define WGL_NEED_PALETTE_EXT 0x2004
#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
#define WGL_SWAP_METHOD_EXT 0x2007
#define WGL_NUMBER_OVERLAYS_EXT 0x2008
#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
#define WGL_TRANSPARENT_EXT 0x200A
#define WGL_TRANSPARENT_VALUE_EXT 0x200B
#define WGL_SHARE_DEPTH_EXT 0x200C
#define WGL_SHARE_STENCIL_EXT 0x200D
#define WGL_SHARE_ACCUM_EXT 0x200E
#define WGL_SUPPORT_GDI_EXT 0x200F
#define WGL_SUPPORT_OPENGL_EXT 0x2010
#define WGL_DOUBLE_BUFFER_EXT 0x2011
#define WGL_STEREO_EXT 0x2012
#define WGL_PIXEL_TYPE_EXT 0x2013
#define WGL_COLOR_BITS_EXT 0x2014
#define WGL_RED_BITS_EXT 0x2015
#define WGL_RED_SHIFT_EXT 0x2016
#define WGL_GREEN_BITS_EXT 0x2017
#define WGL_GREEN_SHIFT_EXT 0x2018
#define WGL_BLUE_BITS_EXT 0x2019
#define WGL_BLUE_SHIFT_EXT 0x201A
#define WGL_ALPHA_BITS_EXT 0x201B
#define WGL_ALPHA_SHIFT_EXT 0x201C
#define WGL_ACCUM_BITS_EXT 0x201D
#define WGL_ACCUM_RED_BITS_EXT 0x201E
#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
#define WGL_DEPTH_BITS_EXT 0x2022
#define WGL_STENCIL_BITS_EXT 0x2023
#define WGL_AUX_BUFFERS_EXT 0x2024
#define WGL_NO_ACCELERATION_EXT 0x2025
#define WGL_GENERIC_ACCELERATION_EXT 0x2026
#define WGL_FULL_ACCELERATION_EXT 0x2027
#define WGL_SWAP_EXCHANGE_EXT 0x2028
#define WGL_SWAP_COPY_EXT 0x2029
#define WGL_SWAP_UNDEFINED_EXT 0x202A
#define WGL_TYPE_RGBA_EXT 0x202B
#define WGL_TYPE_COLORINDEX_EXT 0x202C
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
#endif
#endif /* WGL_EXT_pixel_format */
#ifndef WGL_EXT_pixel_format_packed_float
#define WGL_EXT_pixel_format_packed_float 1
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
#endif /* WGL_EXT_pixel_format_packed_float */
#ifndef WGL_EXT_swap_control
#define WGL_EXT_swap_control 1
typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglSwapIntervalEXT (int interval);
int WINAPI wglGetSwapIntervalEXT (void);
#endif
#endif /* WGL_EXT_swap_control */
#ifndef WGL_EXT_swap_control_tear
#define WGL_EXT_swap_control_tear 1
#endif /* WGL_EXT_swap_control_tear */
#ifndef WGL_I3D_digital_video_control
#define WGL_I3D_digital_video_control 1
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
#endif
#endif /* WGL_I3D_digital_video_control */
#ifndef WGL_I3D_gamma
#define WGL_I3D_gamma 1
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
#endif
#endif /* WGL_I3D_gamma */
#ifndef WGL_I3D_genlock
#define WGL_I3D_genlock 1
#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
#endif
#endif /* WGL_I3D_genlock */
#ifndef WGL_I3D_image_buffer
#define WGL_I3D_image_buffer 1
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
#ifdef WGL_WGLEXT_PROTOTYPES
LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
#endif
#endif /* WGL_I3D_image_buffer */
#ifndef WGL_I3D_swap_frame_lock
#define WGL_I3D_swap_frame_lock 1
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnableFrameLockI3D (void);
BOOL WINAPI wglDisableFrameLockI3D (void);
BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
#endif
#endif /* WGL_I3D_swap_frame_lock */
#ifndef WGL_I3D_swap_frame_usage
#define WGL_I3D_swap_frame_usage 1
typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
BOOL WINAPI wglBeginFrameTrackingI3D (void);
BOOL WINAPI wglEndFrameTrackingI3D (void);
BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
#endif
#endif /* WGL_I3D_swap_frame_usage */
#ifndef WGL_NV_DX_interop
#define WGL_NV_DX_interop 1
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
#endif
#endif /* WGL_NV_DX_interop */
#ifndef WGL_NV_DX_interop2
#define WGL_NV_DX_interop2 1
#endif /* WGL_NV_DX_interop2 */
#ifndef WGL_NV_copy_image
#define WGL_NV_copy_image 1
typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#endif
#endif /* WGL_NV_copy_image */
#ifndef WGL_NV_delay_before_swap
#define WGL_NV_delay_before_swap 1
typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds);
#endif
#endif /* WGL_NV_delay_before_swap */
#ifndef WGL_NV_float_buffer
#define WGL_NV_float_buffer 1
#define WGL_FLOAT_COMPONENTS_NV 0x20B0
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
#endif /* WGL_NV_float_buffer */
#ifndef WGL_NV_gpu_affinity
#define WGL_NV_gpu_affinity 1
DECLARE_HANDLE(HGPUNV);
struct _GPU_DEVICE {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD Flags;
RECT rcVirtualScreen;
};
typedef struct _GPU_DEVICE *PGPU_DEVICE;
#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
BOOL WINAPI wglDeleteDCNV (HDC hdc);
#endif
#endif /* WGL_NV_gpu_affinity */
#ifndef WGL_NV_multisample_coverage
#define WGL_NV_multisample_coverage 1
#define WGL_COVERAGE_SAMPLES_NV 0x2042
#define WGL_COLOR_SAMPLES_NV 0x20B9
#endif /* WGL_NV_multisample_coverage */
#ifndef WGL_NV_present_video
#define WGL_NV_present_video 1
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
#ifdef WGL_WGLEXT_PROTOTYPES
int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
#endif
#endif /* WGL_NV_present_video */
#ifndef WGL_NV_render_depth_texture
#define WGL_NV_render_depth_texture 1
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
#define WGL_DEPTH_COMPONENT_NV 0x20A7
#endif /* WGL_NV_render_depth_texture */
#ifndef WGL_NV_render_texture_rectangle
#define WGL_NV_render_texture_rectangle 1
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
#endif /* WGL_NV_render_texture_rectangle */
#ifndef WGL_NV_swap_group
#define WGL_NV_swap_group 1
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
BOOL WINAPI wglResetFrameCountNV (HDC hDC);
#endif
#endif /* WGL_NV_swap_group */
#ifndef WGL_NV_vertex_array_range
#define WGL_NV_vertex_array_range 1
typedef void *(WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
#ifdef WGL_WGLEXT_PROTOTYPES
void *WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
void WINAPI wglFreeMemoryNV (void *pointer);
#endif
#endif /* WGL_NV_vertex_array_range */
#ifndef WGL_NV_video_capture
#define WGL_NV_video_capture 1
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
#define WGL_UNIQUE_ID_NV 0x20CE
#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
#endif
#endif /* WGL_NV_video_capture */
#ifndef WGL_NV_video_output
#define WGL_NV_video_output 1
DECLARE_HANDLE(HPVIDEODEV);
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
#define WGL_VIDEO_OUT_FRAME 0x20C8
#define WGL_VIDEO_OUT_FIELD_1 0x20C9
#define WGL_VIDEO_OUT_FIELD_2 0x20CA
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
#endif
#endif /* WGL_NV_video_output */
#ifndef WGL_OML_sync_control
#define WGL_OML_sync_control 1
typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
#endif
#endif /* WGL_OML_sync_control */
#ifdef __cplusplus
}
#endif
#endif

55
3rdparty/baseclasses/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,55 @@
add_library(baseclasses
amextra.cpp
amfilter.cpp
amvideo.cpp
combase.cpp
ctlutil.cpp
ddmm.cpp
mtype.cpp
outputq.cpp
pstream.cpp
pullpin.cpp
refclock.cpp
renbase.cpp
schedule.cpp
seekpt.cpp
source.cpp
strmctl.cpp
sysclock.cpp
transfrm.cpp
transip.cpp
vtrans.cpp
wxdebug.cpp
wxlist.cpp
wxutil.cpp
amextra.h
amfilter.h
cache.h
combase.h
ctlutil.h
ddmm.h
fourcc.h
measure.h
msgthrd.h
mtype.h
outputq.h
pstream.h
pullpin.h
refclock.h
reftime.h
renbase.h
schedule.h
seekpt.h
source.h
streams.h
strmctl.h
sysclock.h
transfrm.h
transip.h
vtrans.h
wxdebug.h
wxlist.h
wxutil.h
)
target_include_directories(baseclasses PUBLIC .)
target_precompile_headers(baseclasses PRIVATE streams.h)

View File

@@ -1,23 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{27F17499-A372-4408-8AFA-4F9F4584FBD3}</ProjectGuid>
</PropertyGroup>

View File

@@ -7,8 +7,7 @@
//------------------------------------------------------------------------------
#ifndef __WXDEBUG__
#define __WXDEBUG__
#pragma once
// This library provides fairly straight forward debugging functionality, this
// is split into two main sections. The first is assertion handling, there are
@@ -352,8 +351,4 @@ public:
#define AMTRACE(_x_)
#define AMTRACEFN()
#endif
#endif // __WXDEBUG__
#endif

10
3rdparty/cubeb/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,10 @@
# Disable building the stuff we don't need.
set(BUILD_SHARED_LIBS OFF)
set(BUILD_TESTS OFF)
set(BUILD_RUST_LIBS OFF)
set(BUILD_TOOLS OFF)
set(BUNDLE_SPEEX ON)
set(USE_SANITIZERS OFF)
set(LAZY_LOAD_LIBS ON)
add_subdirectory(cubeb)

1
3rdparty/cubeb/cubeb vendored Submodule

Submodule 3rdparty/cubeb/cubeb added at 773f16b7ea

77
3rdparty/cubeb/cubeb.vcxproj vendored Normal file
View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{BF74C473-DC04-44B3-92E8-4145F4E77342}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="..\DefaultProjectRootDir.props" />
<Import Project="..\3rdparty.props" />
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
<Import Condition="$(Configuration.Contains(Devel))" Project="..\..\common\vsprops\CodeGen_Devel.props" />
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<PreprocessorDefinitions>USE_WASAPI;USE_WINMM;OUTSIDE_SPEEX;FLOATING_POINT;RANDOM_PREFIX=speex;EXPORT=;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)cubeb\include;$(ProjectDir)cubeb\src;$(ProjectDir)cubeb\subprojects;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="cubeb\include\cubeb\cubeb.h" />
<ClInclude Include="cubeb\subprojects\speex\arch.h" />
<ClInclude Include="cubeb\subprojects\speex\fixed_generic.h" />
<ClInclude Include="cubeb\subprojects\speex\resample_neon.h" />
<ClInclude Include="cubeb\subprojects\speex\resample_sse.h" />
<ClInclude Include="cubeb\subprojects\speex\speex_config_types.h" />
<ClInclude Include="cubeb\subprojects\speex\speex_resampler.h" />
<ClInclude Include="cubeb\subprojects\speex\stack_alloc.h" />
<ClInclude Include="cubeb\src\cubeb-internal.h" />
<ClInclude Include="cubeb\src\cubeb-speex-resampler.h" />
<ClInclude Include="cubeb\src\cubeb_array_queue.h" />
<ClInclude Include="cubeb\src\cubeb_assert.h" />
<ClInclude Include="cubeb\src\cubeb_log.h" />
<ClInclude Include="cubeb\src\cubeb_mixer.h" />
<ClInclude Include="cubeb\src\cubeb_resampler.h" />
<ClInclude Include="cubeb\src\cubeb_resampler_internal.h" />
<ClInclude Include="cubeb\src\cubeb_ringbuffer.h" />
<ClInclude Include="cubeb\src\cubeb_ring_array.h" />
<ClInclude Include="cubeb\src\cubeb_strings.h" />
<ClInclude Include="cubeb\src\cubeb_utils.h" />
<ClInclude Include="cubeb\src\cubeb_utils_win.h" />
<ClInclude Include="include\cubeb_export.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="cubeb\src\cubeb.c" />
<ClCompile Include="cubeb\src\cubeb_log.cpp" />
<ClCompile Include="cubeb\src\cubeb_mixer.cpp" />
<ClCompile Include="cubeb\src\cubeb_resampler.cpp" />
<ClCompile Include="cubeb\src\cubeb_strings.c" />
<ClCompile Include="cubeb\src\cubeb_utils.cpp" />
<ClCompile Include="cubeb\src\cubeb_wasapi.cpp" />
<ClCompile Include="cubeb\src\cubeb_winmm.c" />
<ClCompile Include="cubeb\subprojects\speex\resample.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

59
3rdparty/cubeb/cubeb.vcxproj.filters vendored Normal file
View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="cubeb\src\cubeb-internal.h" />
<ClInclude Include="cubeb\src\cubeb-speex-resampler.h" />
<ClInclude Include="cubeb\src\cubeb_array_queue.h" />
<ClInclude Include="cubeb\src\cubeb_assert.h" />
<ClInclude Include="cubeb\src\cubeb_log.h" />
<ClInclude Include="cubeb\src\cubeb_mixer.h" />
<ClInclude Include="cubeb\src\cubeb_resampler.h" />
<ClInclude Include="cubeb\src\cubeb_resampler_internal.h" />
<ClInclude Include="cubeb\src\cubeb_ring_array.h" />
<ClInclude Include="cubeb\src\cubeb_ringbuffer.h" />
<ClInclude Include="cubeb\src\cubeb_strings.h" />
<ClInclude Include="cubeb\src\cubeb_utils.h" />
<ClInclude Include="cubeb\src\cubeb_utils_win.h" />
<ClInclude Include="cubeb\subprojects\speex\fixed_generic.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\resample_neon.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\resample_sse.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\speex_config_types.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\speex_resampler.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\stack_alloc.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\subprojects\speex\arch.h">
<Filter>speex</Filter>
</ClInclude>
<ClInclude Include="cubeb\include\cubeb\cubeb.h" />
<ClInclude Include="include\cubeb_export.h" />
</ItemGroup>
<ItemGroup>
<Filter Include="speex">
<UniqueIdentifier>{a22ed8dc-2384-4a96-bd3b-2370d6d7cd62}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="cubeb\src\cubeb_wasapi.cpp" />
<ClCompile Include="cubeb\src\cubeb_winmm.c" />
<ClCompile Include="cubeb\src\cubeb.c" />
<ClCompile Include="cubeb\src\cubeb_log.cpp" />
<ClCompile Include="cubeb\src\cubeb_mixer.cpp" />
<ClCompile Include="cubeb\src\cubeb_resampler.cpp" />
<ClCompile Include="cubeb\src\cubeb_strings.c" />
<ClCompile Include="cubeb\src\cubeb_utils.cpp" />
<ClCompile Include="cubeb\subprojects\speex\resample.c">
<Filter>speex</Filter>
</ClCompile>
</ItemGroup>
</Project>

25
3rdparty/cubeb/include/cubeb_export.h vendored Normal file
View File

@@ -0,0 +1,25 @@
/* PCSX2 - PS2 Emulator for PCs
* Copyright (C) 2002-2021 PCSX2 Dev Team
*
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with PCSX2.
* If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define CUBEB_EXPORT
#define CUBEB_NO_EXPORT
#ifdef WIN32
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "avrt.lib")
#pragma comment(lib, "ksuser.lib")
#endif

1
3rdparty/fmt/fmt vendored Submodule

Submodule 3rdparty/fmt/fmt added at 7bdf0628b1

46
3rdparty/fmt/fmt.vcxproj vendored Normal file
View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{449AD25E-424A-4714-BABC-68706CDCC33B}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="..\DefaultProjectRootDir.props" />
<Import Project="..\3rdparty.props" />
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
<Import Condition="$(Configuration.Contains(Devel))" Project="..\..\common\vsprops\CodeGen_Devel.props" />
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<AdditionalIncludeDirectories>$(ProjectDir)/fmt/include/;$(ProjectDir)/fmt/src/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="fmt\src\format.cc" />
<ClCompile Include="fmt\src\os.cc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -1,115 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)3rdparty\DefaultProjectRootDir.props" />
<Import Project="$(SolutionDir)3rdparty\3rdparty.props" />
<Import Condition="$(Configuration.Contains(Debug))" Project="$(SolutionDir)common\vsprops\CodeGen_Debug.props" />
<Import Condition="$(Configuration.Contains(Release))" Project="$(SolutionDir)common\vsprops\CodeGen_Release.props" />
<Import Condition="!$(Configuration.Contains(Release))" Project="$(SolutionDir)common\vsprops\IncrementalLinking.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)3rdparty\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="!$(Configuration.Contains(Debug))">_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="$(Configuration.Contains(Debug))">_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<DisableSpecificWarnings>4001</DisableSpecificWarnings>
</ClCompile>
<Lib>
<TargetMachine Condition="'$(Platform)'=='Win32'">MachineX86</TargetMachine>
<TargetMachine Condition="'$(Platform)'=='x64'">MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\autofit\autofit.c" />
<ClCompile Include="..\..\src\bdf\bdf.c" />
<ClCompile Include="..\..\src\cff\cff.c" />
<ClCompile Include="..\..\src\base\ftbase.c" />
<ClCompile Include="..\..\src\base\ftbitmap.c" />
<ClCompile Include="..\..\src\cache\ftcache.c" />
<ClCompile Include="ftdebug.c" />
<ClCompile Include="..\..\src\base\ftfstype.c" />
<ClCompile Include="..\..\src\base\ftgasp.c" />
<ClCompile Include="..\..\src\base\ftglyph.c" />
<ClCompile Include="..\..\src\gzip\ftgzip.c" />
<ClCompile Include="..\..\src\base\ftinit.c" />
<ClCompile Include="..\..\src\lzw\ftlzw.c" />
<ClCompile Include="..\..\src\base\ftstroke.c" />
<ClCompile Include="..\..\src\base\ftsystem.c" />
<ClCompile Include="..\..\src\smooth\smooth.c" />
<ClCompile Include="..\..\src\base\ftbbox.c" />
<ClCompile Include="..\..\src\base\ftfntfmt.c" />
<ClCompile Include="..\..\src\base\ftmm.c" />
<ClCompile Include="..\..\src\base\ftpfr.c" />
<ClCompile Include="..\..\src\base\ftsynth.c" />
<ClCompile Include="..\..\src\base\fttype1.c" />
<ClCompile Include="..\..\src\base\ftwinfnt.c" />
<ClCompile Include="..\..\src\base\ftlcdfil.c" />
<ClCompile Include="..\..\src\base\ftgxval.c" />
<ClCompile Include="..\..\src\base\ftotval.c" />
<ClCompile Include="..\..\src\base\ftpatent.c" />
<ClCompile Include="..\..\src\pcf\pcf.c" />
<ClCompile Include="..\..\src\pfr\pfr.c" />
<ClCompile Include="..\..\src\psaux\psaux.c" />
<ClCompile Include="..\..\src\pshinter\pshinter.c" />
<ClCompile Include="..\..\src\psnames\psmodule.c" />
<ClCompile Include="..\..\src\raster\raster.c" />
<ClCompile Include="..\..\src\sfnt\sfnt.c" />
<ClCompile Include="..\..\src\truetype\truetype.c" />
<ClCompile Include="..\..\src\type1\type1.c" />
<ClCompile Include="..\..\src\cid\type1cid.c" />
<ClCompile Include="..\..\src\type42\type42.c" />
<ClCompile Include="..\..\src\winfonts\winfnt.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\ft2build.h" />
<ClInclude Include="..\..\include\freetype\config\ftconfig.h" />
<ClInclude Include="..\..\include\freetype\config\ftheader.h" />
<ClInclude Include="..\..\include\freetype\config\ftmodule.h" />
<ClInclude Include="..\..\include\freetype\config\ftoption.h" />
<ClInclude Include="..\..\include\freetype\config\ftstdlib.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\zlib\zlib.vcxproj">
<Project>{2f6c0388-20cb-4242-9f6c-a6ebb6a83f47}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -1,155 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{b4c15893-ec11-491d-9507-0ac184f9cc78}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Source Files\FT_MODULES">
<UniqueIdentifier>{4d3e4eff-3fbc-4b20-b413-2743b23b7109}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{e6cf6a0f-0404-4024-8bf8-ff5b29f35657}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\autofit\autofit.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\bdf\bdf.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cff\cff.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftbase.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftbitmap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cache\ftcache.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ftdebug.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftfstype.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftgasp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftglyph.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\gzip\ftgzip.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftinit.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lzw\ftlzw.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftstroke.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftsystem.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\smooth\smooth.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftbbox.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftfntfmt.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftmm.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftpfr.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftsynth.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\fttype1.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftwinfnt.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftlcdfil.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftgxval.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftotval.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\base\ftpatent.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\pcf\pcf.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\pfr\pfr.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\psaux\psaux.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\pshinter\pshinter.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\psnames\psmodule.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\raster\raster.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sfnt\sfnt.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\truetype\truetype.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\type1\type1.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cid\type1cid.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\type42\type42.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
<ClCompile Include="..\..\src\winfonts\winfnt.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\ft2build.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\freetype\config\ftconfig.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\freetype\config\ftheader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\freetype\config\ftmodule.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\freetype\config\ftoption.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\freetype\config\ftstdlib.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -1,237 +0,0 @@
/***************************************************************************/
/* */
/* ftdebug.c */
/* */
/* Debugging and logging component for Win32 (body). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This component contains various macros and functions used to ease the */
/* debugging of the FreeType engine. Its main purpose is in assertion */
/* checking, tracing, and error detection. */
/* */
/* There are now three debugging modes: */
/* */
/* - trace mode */
/* */
/* Error and trace messages are sent to the log file (which can be the */
/* standard error output). */
/* */
/* - error mode */
/* */
/* Only error messages are generated. */
/* */
/* - release mode: */
/* */
/* No error message is sent or generated. The code is free from any */
/* debugging parts. */
/* */
/*************************************************************************/
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#ifdef FT_DEBUG_LEVEL_ERROR
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
/* documentation is in ftdebug.h */
FT_BASE_DEF( void )
FT_Message( const char* fmt,
... )
{
static char buf[8192];
va_list ap;
va_start( ap, fmt );
vprintf( fmt, ap );
/* send the string to the debugger as well */
vsprintf( buf, fmt, ap );
OutputDebugStringA( buf );
va_end( ap );
}
/* documentation is in ftdebug.h */
FT_BASE_DEF( void )
FT_Panic( const char* fmt,
... )
{
static char buf[8192];
va_list ap;
va_start( ap, fmt );
vsprintf( buf, fmt, ap );
OutputDebugStringA( buf );
va_end( ap );
exit( EXIT_FAILURE );
}
/* documentation is in ftdebug.h */
FT_BASE_DEF( int )
FT_Throw( FT_Error error,
int line,
const char* file )
{
FT_UNUSED( error );
FT_UNUSED( line );
FT_UNUSED( file );
return 0;
}
#ifdef FT_DEBUG_LEVEL_TRACE
/* array of trace levels, initialized to 0 */
int ft_trace_levels[trace_count];
/* define array of trace toggle names */
#define FT_TRACE_DEF( x ) #x ,
static const char* ft_trace_toggles[trace_count + 1] =
{
#include FT_INTERNAL_TRACE_H
NULL
};
#undef FT_TRACE_DEF
/*************************************************************************/
/* */
/* Initialize the tracing sub-system. This is done by retrieving the */
/* value of the "FT2_DEBUG" environment variable. It must be a list of */
/* toggles, separated by spaces, `;' or `,'. Example: */
/* */
/* "any:3 memory:6 stream:5" */
/* */
/* This will request that all levels be set to 3, except the trace level */
/* for the memory and stream components which are set to 6 and 5, */
/* respectively. */
/* */
/* See the file `include/freetype/internal/fttrace.h' for details of the */
/* available toggle names. */
/* */
/* The level must be between 0 and 6; 0 means quiet (except for serious */
/* runtime errors), and 6 means _very_ verbose. */
/* */
FT_BASE_DEF( void )
ft_debug_init( void )
{
const char* ft2_debug = getenv( "FT2_DEBUG" );
if ( ft2_debug )
{
const char* p = ft2_debug;
const char* q;
for ( ; *p; p++ )
{
/* skip leading whitespace and separators */
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
continue;
/* read toggle name, followed by ':' */
q = p;
while ( *p && *p != ':' )
p++;
if ( !*p )
break;
if ( *p == ':' && p > q )
{
int n, i, len = (int)( p - q );
int level = -1, found = -1;
for ( n = 0; n < trace_count; n++ )
{
const char* toggle = ft_trace_toggles[n];
for ( i = 0; i < len; i++ )
{
if ( toggle[i] != q[i] )
break;
}
if ( i == len && toggle[i] == 0 )
{
found = n;
break;
}
}
/* read level */
p++;
if ( *p )
{
level = *p - '0';
if ( level < 0 || level > 7 )
level = -1;
}
if ( found >= 0 && level >= 0 )
{
if ( found == trace_any )
{
/* special case for "any" */
for ( n = 0; n < trace_count; n++ )
ft_trace_levels[n] = level;
}
else
ft_trace_levels[found] = level;
}
}
}
}
}
#else /* !FT_DEBUG_LEVEL_TRACE */
FT_BASE_DEF( void )
ft_debug_init( void )
{
/* nothing */
}
#endif /* !FT_DEBUG_LEVEL_TRACE */
#endif /* FT_DEBUG_LEVEL_ERROR */
/* END */

View File

@@ -1,169 +0,0 @@
The FreeType Project LICENSE
----------------------------
2006-Jan-27
Copyright 1996-2002, 2006 by
David Turner, Robert Wilhelm, and Werner Lemberg
Introduction
============
The FreeType Project is distributed in several archive packages;
some of them may contain, in addition to the FreeType font engine,
various tools and contributions which rely on, or relate to, the
FreeType Project.
This license applies to all files found in such packages, and
which do not fall under their own explicit license. The license
affects thus the FreeType font engine, the test programs,
documentation and makefiles, at the very least.
This license was inspired by the BSD, Artistic, and IJG
(Independent JPEG Group) licenses, which all encourage inclusion
and use of free software in commercial and freeware products
alike. As a consequence, its main points are that:
o We don't promise that this software works. However, we will be
interested in any kind of bug reports. (`as is' distribution)
o You can use this software for whatever you want, in parts or
full form, without having to pay us. (`royalty-free' usage)
o You may not pretend that you wrote this software. If you use
it, or only parts of it, in a program, you must acknowledge
somewhere in your documentation that you have used the
FreeType code. (`credits')
We specifically permit and encourage the inclusion of this
software, with or without modifications, in commercial products.
We disclaim all warranties covering The FreeType Project and
assume no liability related to The FreeType Project.
Finally, many people asked us for a preferred form for a
credit/disclaimer to use in compliance with this license. We thus
encourage you to use the following text:
"""
Portions of this software are copyright © <year> The FreeType
Project (www.freetype.org). All rights reserved.
"""
Please replace <year> with the value from the FreeType version you
actually use.
Legal Terms
===========
0. Definitions
--------------
Throughout this license, the terms `package', `FreeType Project',
and `FreeType archive' refer to the set of files originally
distributed by the authors (David Turner, Robert Wilhelm, and
Werner Lemberg) as the `FreeType Project', be they named as alpha,
beta or final release.
`You' refers to the licensee, or person using the project, where
`using' is a generic term including compiling the project's source
code as well as linking it to form a `program' or `executable'.
This program is referred to as `a program using the FreeType
engine'.
This license applies to all files distributed in the original
FreeType Project, including all source code, binaries and
documentation, unless otherwise stated in the file in its
original, unmodified form as distributed in the original archive.
If you are unsure whether or not a particular file is covered by
this license, you must contact us to verify this.
The FreeType Project is copyright (C) 1996-2000 by David Turner,
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
specified below.
1. No Warranty
--------------
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
USE, OF THE FREETYPE PROJECT.
2. Redistribution
-----------------
This license grants a worldwide, royalty-free, perpetual and
irrevocable right and license to use, execute, perform, compile,
display, copy, create derivative works of, distribute and
sublicense the FreeType Project (in both source and object code
forms) and derivative works thereof for any purpose; and to
authorize others to exercise some or all of the rights granted
herein, subject to the following conditions:
o Redistribution of source code must retain this license file
(`FTL.TXT') unaltered; any additions, deletions or changes to
the original files must be clearly indicated in accompanying
documentation. The copyright notices of the unaltered,
original files must be preserved in all copies of source
files.
o Redistribution in binary form must provide a disclaimer that
states that the software is based in part of the work of the
FreeType Team, in the distribution documentation. We also
encourage you to put an URL to the FreeType web page in your
documentation, though this isn't mandatory.
These conditions apply to any software derived from or based on
the FreeType Project, not just the unmodified files. If you use
our work, you must acknowledge us. However, no fee need be paid
to us.
3. Advertising
--------------
Neither the FreeType authors and contributors nor you shall use
the name of the other for commercial, advertising, or promotional
purposes without specific prior written permission.
We suggest, but do not require, that you use one or more of the
following phrases to refer to this software in your documentation
or advertising materials: `FreeType Project', `FreeType Engine',
`FreeType library', or `FreeType Distribution'.
As you have not signed this license, you are not required to
accept it. However, as the FreeType Project is copyrighted
material, only this license, or another one contracted with the
authors, grants you the right to use, distribute, and modify it.
Therefore, by using, distributing, or modifying the FreeType
Project, you indicate that you understand and accept all the terms
of this license.
4. Contacts
-----------
There are two mailing lists related to FreeType:
o freetype@nongnu.org
Discusses general use and applications of FreeType, as well as
future and wanted additions to the library and distribution.
If you are looking for support, start in this list if you
haven't found anything to help you in the documentation.
o freetype-devel@nongnu.org
Discusses bugs, as well as engine internals, design issues,
specific licenses, porting, etc.
Our home page can be found at
http://www.freetype.org
--- end of FTL.TXT ---

View File

@@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,39 +0,0 @@
The FreeType 2 font engine is copyrighted work and cannot be used
legally without a software license. In order to make this project
usable to a vast majority of developers, we distribute it under two
mutually exclusive open-source licenses.
This means that *you* must choose *one* of the two licenses described
below, then obey all its terms and conditions when using FreeType 2 in
any of your projects or products.
- The FreeType License, found in the file `FTL.TXT', which is similar
to the original BSD license *with* an advertising clause that forces
you to explicitly cite the FreeType project in your product's
documentation. All details are in the license file. This license
is suited to products which don't use the GNU General Public
License.
Note that this license is compatible to the GNU General Public
License version 3, but not version 2.
- The GNU General Public License version 2, found in `GPLv2.TXT' (any
later version can be used also), for programs which already use the
GPL. Note that the FTL is incompatible with GPLv2 due to its
advertisement clause.
The contributed BDF and PCF drivers come with a license similar to that
of the X Window System. It is compatible to the above two licenses (see
file src/bdf/README and src/pcf/README). The same holds for the files
`fthash.c' and `fthash.h'; their code was part of the BDF driver in
earlier FreeType versions.
The gzip module uses the zlib license (see src/gzip/zlib.h) which too is
compatible to the above two licenses.
The MD5 checksum support (only used for debugging in development builds)
is in the public domain.
--- end of LICENSE.TXT ---

View File

@@ -1,473 +0,0 @@
/***************************************************************************/
/* */
/* ftconfig.h */
/* */
/* ANSI-specific configuration file (specification only). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This header file contains a number of macro definitions that are used */
/* by the rest of the engine. Most of the macros here are automatically */
/* determined at compile time, and you should not need to change it to */
/* port FreeType, except to compile the library with a non-ANSI */
/* compiler. */
/* */
/* Note however that if some specific modifications are needed, we */
/* advise you to place a modified copy in your build directory. */
/* */
/* The build directory is usually `builds/<system>', and contains */
/* system-specific files that are always included first when building */
/* the library. */
/* */
/* This ANSI version should stay in `include/config/'. */
/* */
/*************************************************************************/
#ifndef FTCONFIG_H_
#define FTCONFIG_H_
#include <ft2build.h>
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* PLATFORM-SPECIFIC CONFIGURATION MACROS */
/* */
/* These macros can be toggled to suit a specific system. The current */
/* ones are defaults used to compile FreeType in an ANSI C environment */
/* (16bit compilers are also supported). Copy this file to your own */
/* `builds/<system>' directory, and edit it to port the engine. */
/* */
/*************************************************************************/
/* There are systems (like the Texas Instruments 'C54x) where a `char' */
/* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */
/* `int' has 16 bits also for this system, sizeof(int) gives 1 which */
/* is probably unexpected. */
/* */
/* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */
/* `char' type. */
#ifndef FT_CHAR_BIT
#define FT_CHAR_BIT CHAR_BIT
#endif
/* The size of an `int' type. */
#if FT_UINT_MAX == 0xFFFFUL
#define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
#elif FT_UINT_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
#define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
#else
#error "Unsupported size of `int' type!"
#endif
/* The size of a `long' type. A five-byte `long' (as used e.g. on the */
/* DM642) is recognized but avoided. */
#if FT_ULONG_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT)
#else
#error "Unsupported size of `long' type!"
#endif
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
/* used -- this is only used to get rid of unpleasant compiler warnings */
#ifndef FT_UNUSED
#define FT_UNUSED( arg ) ( (arg) = (arg) )
#endif
/*************************************************************************/
/* */
/* AUTOMATIC CONFIGURATION MACROS */
/* */
/* These macros are computed from the ones defined above. Don't touch */
/* their definition, unless you know precisely what you are doing. No */
/* porter should need to mess with them. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* Mac support */
/* */
/* This is the only necessary change, so it is defined here instead */
/* providing a new configuration file. */
/* */
#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
/* no Carbon frameworks for 64bit 10.4.x */
/* AvailabilityMacros.h is available since Mac OS X 10.2, */
/* so guess the system version by maximum errno before inclusion */
#include <errno.h>
#ifdef ECANCELED /* defined since 10.2 */
#include "AvailabilityMacros.h"
#endif
#if defined( __LP64__ ) && \
( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
#undef FT_MACINTOSH
#endif
#elif defined( __SC__ ) || defined( __MRC__ )
/* Classic MacOS compilers */
#include "ConditionalMacros.h"
#if TARGET_OS_MAC
#define FT_MACINTOSH 1
#endif
#endif
/*************************************************************************/
/* */
/* <Section> */
/* basic_types */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Type> */
/* FT_Int16 */
/* */
/* <Description> */
/* A typedef for a 16bit signed integer type. */
/* */
typedef signed short FT_Int16;
/*************************************************************************/
/* */
/* <Type> */
/* FT_UInt16 */
/* */
/* <Description> */
/* A typedef for a 16bit unsigned integer type. */
/* */
typedef unsigned short FT_UInt16;
/* */
/* this #if 0 ... #endif clause is for documentation purposes */
#if 0
/*************************************************************************/
/* */
/* <Type> */
/* FT_Int32 */
/* */
/* <Description> */
/* A typedef for a 32bit signed integer type. The size depends on */
/* the configuration. */
/* */
typedef signed XXX FT_Int32;
/*************************************************************************/
/* */
/* <Type> */
/* FT_UInt32 */
/* */
/* A typedef for a 32bit unsigned integer type. The size depends on */
/* the configuration. */
/* */
typedef unsigned XXX FT_UInt32;
/*************************************************************************/
/* */
/* <Type> */
/* FT_Int64 */
/* */
/* A typedef for a 64bit signed integer type. The size depends on */
/* the configuration. Only defined if there is real 64bit support; */
/* otherwise, it gets emulated with a structure (if necessary). */
/* */
typedef signed XXX FT_Int64;
/*************************************************************************/
/* */
/* <Type> */
/* FT_UInt64 */
/* */
/* A typedef for a 64bit unsigned integer type. The size depends on */
/* the configuration. Only defined if there is real 64bit support; */
/* otherwise, it gets emulated with a structure (if necessary). */
/* */
typedef unsigned XXX FT_UInt64;
/* */
#endif
#if FT_SIZEOF_INT == (32 / FT_CHAR_BIT)
typedef signed int FT_Int32;
typedef unsigned int FT_UInt32;
#elif FT_SIZEOF_LONG == (32 / FT_CHAR_BIT)
typedef signed long FT_Int32;
typedef unsigned long FT_UInt32;
#else
#error "no 32bit type found -- please check your configuration files"
#endif
/* look up an integer type that is at least 32 bits */
#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
typedef int FT_Fast;
typedef unsigned int FT_UFast;
#elif FT_SIZEOF_LONG >= (32 / FT_CHAR_BIT)
typedef long FT_Fast;
typedef unsigned long FT_UFast;
#endif
/* determine whether we have a 64-bit int type for platforms without */
/* Autoconf */
#if FT_SIZEOF_LONG == (64 / FT_CHAR_BIT)
/* FT_LONG64 must be defined if a 64-bit type is available */
#define FT_LONG64
#define FT_INT64 long
#define FT_UINT64 unsigned long
/*************************************************************************/
/* */
/* A 64-bit data type may create compilation problems if you compile */
/* in strict ANSI mode. To avoid them, we disable other 64-bit data */
/* types if __STDC__ is defined. You can however ignore this rule */
/* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
/* */
#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
#define FT_LONG64
#define FT_INT64 long long int
#define FT_UINT64 unsigned long long int
#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
/* this compiler provides the __int64 type */
#define FT_LONG64
#define FT_INT64 __int64
#define FT_UINT64 unsigned __int64
#elif defined( __BORLANDC__ ) /* Borland C++ */
/* XXXX: We should probably check the value of __BORLANDC__ in order */
/* to test the compiler version. */
/* this compiler provides the __int64 type */
#define FT_LONG64
#define FT_INT64 __int64
#define FT_UINT64 unsigned __int64
#elif defined( __WATCOMC__ ) /* Watcom C++ */
/* Watcom doesn't provide 64-bit data types */
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
#define FT_LONG64
#define FT_INT64 long long int
#define FT_UINT64 unsigned long long int
#elif defined( __GNUC__ )
/* GCC provides the `long long' type */
#define FT_LONG64
#define FT_INT64 long long int
#define FT_UINT64 unsigned long long int
#endif /* __STDC_VERSION__ >= 199901L */
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
#ifdef FT_LONG64
typedef FT_INT64 FT_Int64;
typedef FT_UINT64 FT_UInt64;
#endif
/*************************************************************************/
/* */
/* miscellaneous */
/* */
/*************************************************************************/
#define FT_BEGIN_STMNT do {
#define FT_END_STMNT } while ( 0 )
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
/* typeof condition taken from gnulib's `intprops.h' header file */
#if ( __GNUC__ >= 2 || \
defined( __IBM__TYPEOF__ ) || \
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
#define FT_TYPEOF( type ) (__typeof__ (type))
#else
#define FT_TYPEOF( type ) /* empty */
#endif
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x
#define FT_LOCAL_DEF( x ) static x
#else
#ifdef __cplusplus
#define FT_LOCAL( x ) extern "C" x
#define FT_LOCAL_DEF( x ) extern "C" x
#else
#define FT_LOCAL( x ) extern x
#define FT_LOCAL_DEF( x ) x
#endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
#define FT_LOCAL_ARRAY( x ) extern const x
#define FT_LOCAL_ARRAY_DEF( x ) const x
#ifndef FT_BASE
#ifdef __cplusplus
#define FT_BASE( x ) extern "C" x
#else
#define FT_BASE( x ) extern x
#endif
#endif /* !FT_BASE */
#ifndef FT_BASE_DEF
#ifdef __cplusplus
#define FT_BASE_DEF( x ) x
#else
#define FT_BASE_DEF( x ) x
#endif
#endif /* !FT_BASE_DEF */
#ifndef FT_EXPORT
#ifdef __cplusplus
#define FT_EXPORT( x ) extern "C" x
#else
#define FT_EXPORT( x ) extern x
#endif
#endif /* !FT_EXPORT */
#ifndef FT_EXPORT_DEF
#ifdef __cplusplus
#define FT_EXPORT_DEF( x ) extern "C" x
#else
#define FT_EXPORT_DEF( x ) extern x
#endif
#endif /* !FT_EXPORT_DEF */
#ifndef FT_EXPORT_VAR
#ifdef __cplusplus
#define FT_EXPORT_VAR( x ) extern "C" x
#else
#define FT_EXPORT_VAR( x ) extern x
#endif
#endif /* !FT_EXPORT_VAR */
/* The following macros are needed to compile the library with a */
/* C++ compiler and with 16bit compilers. */
/* */
/* This is special. Within C++, you must specify `extern "C"' for */
/* functions which are used via function pointers, and you also */
/* must do that for structures which contain function pointers to */
/* assure C linkage -- it's not possible to have (local) anonymous */
/* functions which are accessed by (global) function pointers. */
/* */
/* */
/* FT_CALLBACK_DEF is used to _define_ a callback function. */
/* */
/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
/* contains pointers to callback functions. */
/* */
/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
/* that contains pointers to callback functions. */
/* */
/* */
/* Some 16bit compilers have to redefine these macros to insert */
/* the infamous `_cdecl' or `__fastcall' declarations. */
/* */
#ifndef FT_CALLBACK_DEF
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#else
#define FT_CALLBACK_DEF( x ) static x
#endif
#endif /* FT_CALLBACK_DEF */
#ifndef FT_CALLBACK_TABLE
#ifdef __cplusplus
#define FT_CALLBACK_TABLE extern "C"
#define FT_CALLBACK_TABLE_DEF extern "C"
#else
#define FT_CALLBACK_TABLE extern
#define FT_CALLBACK_TABLE_DEF /* nothing */
#endif
#endif /* FT_CALLBACK_TABLE */
FT_END_HEADER
#endif /* FTCONFIG_H_ */
/* END */

View File

@@ -1,833 +0,0 @@
/***************************************************************************/
/* */
/* ftheader.h */
/* */
/* Build macros of the FreeType 2 library. */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTHEADER_H_
#define FTHEADER_H_
/*@***********************************************************************/
/* */
/* <Macro> */
/* FT_BEGIN_HEADER */
/* */
/* <Description> */
/* This macro is used in association with @FT_END_HEADER in header */
/* files to ensure that the declarations within are properly */
/* encapsulated in an `extern "C" { .. }' block when included from a */
/* C++ compiler. */
/* */
#ifdef __cplusplus
#define FT_BEGIN_HEADER extern "C" {
#else
#define FT_BEGIN_HEADER /* nothing */
#endif
/*@***********************************************************************/
/* */
/* <Macro> */
/* FT_END_HEADER */
/* */
/* <Description> */
/* This macro is used in association with @FT_BEGIN_HEADER in header */
/* files to ensure that the declarations within are properly */
/* encapsulated in an `extern "C" { .. }' block when included from a */
/* C++ compiler. */
/* */
#ifdef __cplusplus
#define FT_END_HEADER }
#else
#define FT_END_HEADER /* nothing */
#endif
/*************************************************************************/
/* */
/* Aliases for the FreeType 2 public and configuration files. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Section> */
/* header_file_macros */
/* */
/* <Title> */
/* Header File Macros */
/* */
/* <Abstract> */
/* Macro definitions used to #include specific header files. */
/* */
/* <Description> */
/* The following macros are defined to the name of specific */
/* FreeType~2 header files. They can be used directly in #include */
/* statements as in: */
/* */
/* { */
/* #include FT_FREETYPE_H */
/* #include FT_MULTIPLE_MASTERS_H */
/* #include FT_GLYPH_H */
/* } */
/* */
/* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */
/* limited to the infamous 8.3~naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */
/* The second reason is that it allows for more flexibility in the */
/* way FreeType~2 is installed on a given system. */
/* */
/*************************************************************************/
/* configuration files */
/*************************************************************************
*
* @macro:
* FT_CONFIG_CONFIG_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 configuration data.
*
*/
#ifndef FT_CONFIG_CONFIG_H
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_STANDARD_LIBRARY_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 interface to the standard C library functions.
*
*/
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_OPTIONS_H
*
* @description:
* A macro used in #include statements to name the file containing
* FreeType~2 project-specific configuration options.
*
*/
#ifndef FT_CONFIG_OPTIONS_H
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif
/*************************************************************************
*
* @macro:
* FT_CONFIG_MODULES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 modules that are statically linked to new library
* instances in @FT_Init_FreeType.
*
*/
#ifndef FT_CONFIG_MODULES_H
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif
/* */
/* public headers */
/*************************************************************************
*
* @macro:
* FT_FREETYPE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* base FreeType~2 API.
*
*/
#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************
*
* @macro:
* FT_ERRORS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 error codes (and messages).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
*
* @macro:
* FT_MODULE_ERRORS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list of FreeType~2 module error offsets (and messages).
*
*/
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
/*************************************************************************
*
* @macro:
* FT_SYSTEM_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 interface to low-level operations (i.e., memory management
* and stream i/o).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
*
* @macro:
* FT_IMAGE_H
*
* @description:
* A macro used in #include statements to name the file containing type
* definitions related to glyph images (i.e., bitmaps, outlines,
* scan-converter parameters).
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro:
* FT_TYPES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* basic data types defined by FreeType~2.
*
* It is included by @FT_FREETYPE_H.
*
*/
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro:
* FT_LIST_H
*
* @description:
* A macro used in #include statements to name the file containing the
* list management API of FreeType~2.
*
* (Most applications will never need to include this file.)
*
*/
#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
*
* @macro:
* FT_OUTLINE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* scalable outline management API of FreeType~2.
*
*/
#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
*
* @macro:
* FT_SIZES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API which manages multiple @FT_Size objects per face.
*
*/
#define FT_SIZES_H <freetype/ftsizes.h>
/*************************************************************************
*
* @macro:
* FT_MODULE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* module management API of FreeType~2.
*
*/
#define FT_MODULE_H <freetype/ftmodapi.h>
/*************************************************************************
*
* @macro:
* FT_RENDER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* renderer module management API of FreeType~2.
*
*/
#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
*
* @macro:
* FT_AUTOHINTER_H
*
* @description:
* A macro used in #include statements to name the file containing
* structures and macros related to the auto-hinting module.
*
*/
#define FT_AUTOHINTER_H <freetype/ftautoh.h>
/*************************************************************************
*
* @macro:
* FT_CFF_DRIVER_H
*
* @description:
* A macro used in #include statements to name the file containing
* structures and macros related to the CFF driver module.
*
*/
#define FT_CFF_DRIVER_H <freetype/ftcffdrv.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_DRIVER_H
*
* @description:
* A macro used in #include statements to name the file containing
* structures and macros related to the TrueType driver module.
*
*/
#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
/*************************************************************************
*
* @macro:
* FT_TYPE1_TABLES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* types and API specific to the Type~1 format.
*
*/
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_IDS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* enumeration values which identify name strings, languages, encodings,
* etc. This file really contains a _large_ set of constant macro
* definitions, taken from the TrueType and OpenType specifications.
*
*/
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_TABLES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* types and API specific to the TrueType (as well as OpenType) format.
*
*/
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************
*
* @macro:
* FT_TRUETYPE_TAGS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of TrueType four-byte `tags' which identify blocks in
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************
*
* @macro:
* FT_BDF_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which accesses BDF-specific strings from a
* face.
*
*/
#define FT_BDF_H <freetype/ftbdf.h>
/*************************************************************************
*
* @macro:
* FT_CID_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which access CID font information from a
* face.
*
*/
#define FT_CID_H <freetype/ftcid.h>
/*************************************************************************
*
* @macro:
* FT_GZIP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports gzip-compressed files.
*
*/
#define FT_GZIP_H <freetype/ftgzip.h>
/*************************************************************************
*
* @macro:
* FT_LZW_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports LZW-compressed files.
*
*/
#define FT_LZW_H <freetype/ftlzw.h>
/*************************************************************************
*
* @macro:
* FT_BZIP2_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports bzip2-compressed files.
*
*/
#define FT_BZIP2_H <freetype/ftbzip2.h>
/*************************************************************************
*
* @macro:
* FT_WINFONTS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* definitions of an API which supports Windows FNT files.
*
*/
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
/*************************************************************************
*
* @macro:
* FT_GLYPH_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional glyph management component.
*
*/
#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************
*
* @macro:
* FT_BITMAP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional bitmap conversion component.
*
*/
#define FT_BITMAP_H <freetype/ftbitmap.h>
/*************************************************************************
*
* @macro:
* FT_BBOX_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional exact bounding box computation routines.
*
*/
#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************
*
* @macro:
* FT_CACHE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* API of the optional FreeType~2 cache sub-system.
*
*/
#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************
*
* @macro:
* FT_CACHE_IMAGE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `glyph image' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for @FT_Glyph elements. You can also
* use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
* store small glyph bitmaps, as it will use less memory.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* glyph image-related cache declarations.
*
*/
#define FT_CACHE_IMAGE_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_CACHE_SMALL_BITMAPS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `small bitmaps' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for small glyph bitmaps in a relatively
* memory-efficient way. You can also use the API defined in
* @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,
* including scalable outlines.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* small bitmaps-related cache declarations.
*
*/
#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_CACHE_CHARMAP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* `charmap' API of the FreeType~2 cache sub-system.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* charmap-based cache declarations.
*
*/
#define FT_CACHE_CHARMAP_H FT_CACHE_H
/*************************************************************************
*
* @macro:
* FT_MAC_H
*
* @description:
* A macro used in #include statements to name the file containing the
* Macintosh-specific FreeType~2 API. The latter is used to access
* fonts embedded in resource forks.
*
* This header file must be explicitly included by client applications
* compiled on the Mac (note that the base API still works though).
*
*/
#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************
*
* @macro:
* FT_MULTIPLE_MASTERS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional multiple-masters management API of FreeType~2.
*
*/
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
*
* @macro:
* FT_SFNT_NAMES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which accesses embedded `name' strings in
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/*************************************************************************
*
* @macro:
* FT_OPENTYPE_VALIDATE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
* GPOS, GSUB, JSTF).
*
*/
#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
/*************************************************************************
*
* @macro:
* FT_GX_VALIDATE_H
*
* @description:
* A macro used in #include statements to name the file containing the
* optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
* mort, morx, bsln, just, kern, opbd, trak, prop).
*
*/
#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
/*************************************************************************
*
* @macro:
* FT_PFR_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which accesses PFR-specific data.
*
*/
#define FT_PFR_H <freetype/ftpfr.h>
/*************************************************************************
*
* @macro:
* FT_STROKER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions to stroke outline paths.
*/
#define FT_STROKER_H <freetype/ftstroke.h>
/*************************************************************************
*
* @macro:
* FT_SYNTHESIS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs artificial obliquing and emboldening.
*/
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
/*************************************************************************
*
* @macro:
* FT_FONT_FORMATS_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions specific to font formats.
*/
#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
/* deprecated */
#define FT_XFREE86_H FT_FONT_FORMATS_H
/*************************************************************************
*
* @macro:
* FT_TRIGONOMETRY_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents).
*/
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
/*************************************************************************
*
* @macro:
* FT_LCD_FILTER_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
/*************************************************************************
*
* @macro:
* FT_UNPATENTED_HINTING_H
*
* @description:
* Deprecated.
*/
#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
/*************************************************************************
*
* @macro:
* FT_INCREMENTAL_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs incremental glyph loading.
*/
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
/*************************************************************************
*
* @macro:
* FT_GASP_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns entries from the TrueType GASP table.
*/
#define FT_GASP_H <freetype/ftgasp.h>
/*************************************************************************
*
* @macro:
* FT_ADVANCES_H
*
* @description:
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns individual and ranged glyph advances.
*/
#define FT_ADVANCES_H <freetype/ftadvanc.h>
/* */
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
/* The internals of the cache sub-system are no longer exposed. We */
/* default to FT_CACHE_H at the moment just in case, but we know of */
/* no rogue client that uses them. */
/* */
#define FT_CACHE_MANAGER_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
/*
* Include internal headers definitions from <internal/...>
* only when building the library.
*/
#ifdef FT2_BUILD_LIBRARY
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H
#endif /* FT2_BUILD_LIBRARY */
#endif /* FTHEADER_H_ */
/* END */

View File

@@ -1,32 +0,0 @@
/*
* This file registers the FreeType modules compiled into the library.
*
* If you use GNU make, this file IS NOT USED! Instead, it is created in
* the objects directory (normally `<topdir>/objs/') based on information
* from `<topdir>/modules.cfg'.
*
* Please read `docs/INSTALL.ANY' and `docs/CUSTOMIZE' how to compile
* FreeType without GNU make.
*
*/
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
/* EOF */

View File

@@ -1,933 +0,0 @@
/***************************************************************************/
/* */
/* ftoption.h */
/* */
/* User-selectable configuration macros (specification only). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTOPTION_H_
#define FTOPTION_H_
#include <ft2build.h>
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* USER-SELECTABLE CONFIGURATION MACROS */
/* */
/* This file contains the default configuration macro definitions for */
/* a standard build of the FreeType library. There are three ways to */
/* use this file to build project-specific versions of the library: */
/* */
/* - You can modify this file by hand, but this is not recommended in */
/* cases where you would like to build several versions of the */
/* library from a single source directory. */
/* */
/* - You can put a copy of this file in your build directory, more */
/* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
/* is the name of a directory that is included _before_ the FreeType */
/* include path during compilation. */
/* */
/* The default FreeType Makefiles and Jamfiles use the build */
/* directory `builds/<system>' by default, but you can easily change */
/* that for your own projects. */
/* */
/* - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it */
/* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */
/* locate this file during the build. For example, */
/* */
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
/* #include <freetype/config/ftheader.h> */
/* */
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
/* definitions. */
/* */
/* Note also that you can similarly pre-define the macro */
/* FT_CONFIG_MODULES_H used to locate the file listing of the modules */
/* that are statically linked to the library at compile time. By */
/* default, this file is <freetype/config/ftmodule.h>. */
/* */
/* We highly recommend using the third method whenever possible. */
/* */
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* If you enable this configuration option, FreeType recognizes an */
/* environment variable called `FREETYPE_PROPERTIES', which can be used */
/* to control the various font drivers and modules. The controllable */
/* properties are listed in the section `Controlling FreeType Modules' */
/* in the reference's table of contents; currently there are properties */
/* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */
/* TrueType (file `ftttdrv.h'). */
/* */
/* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
/* multiple lines for better readability). */
/* */
/* <optional whitespace> */
/* <module-name1> ':' */
/* <property-name1> '=' <property-value1> */
/* <whitespace> */
/* <module-name2> ':' */
/* <property-name2> '=' <property-value2> */
/* ... */
/* */
/* Example: */
/* */
/* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */
/* cff:no-stem-darkening=1 \ */
/* autofitter:warping=1 */
/* */
#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
/*************************************************************************/
/* */
/* Uncomment the line below if you want to activate sub-pixel rendering */
/* (a.k.a. LCD rendering, or ClearType) in this build of the library. */
/* */
/* Note that this feature is covered by several Microsoft patents */
/* and should not be activated in any default build of the library. */
/* */
/* This macro has no impact on the FreeType API, only on its */
/* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */
/* FT_Render_Glyph still generates a bitmap that is 3 times wider than */
/* the original size in case this macro isn't defined; however, each */
/* triplet of subpixels has R=G=B. */
/* */
/* This is done to allow FreeType clients to run unmodified, forcing */
/* them to display normal gray-level anti-aliased glyphs. */
/* */
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
/*************************************************************************/
/* */
/* Many compilers provide a non-ANSI 64-bit data type that can be used */
/* by FreeType to speed up some computations. However, this will create */
/* some problems when compiling the library in strict ANSI mode. */
/* */
/* For this reason, the use of 64-bit integers is normally disabled when */
/* the __STDC__ macro is defined. You can however disable this by */
/* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */
/* */
/* For most compilers, this will only create compilation warnings when */
/* building the library. */
/* */
/* ObNote: The compiler-specific 64-bit integers are detected in the */
/* file `ftconfig.h' either statically or through the */
/* `configure' script on supported platforms. */
/* */
#undef FT_CONFIG_OPTION_FORCE_INT64
/*************************************************************************/
/* */
/* If this macro is defined, do not try to use an assembler version of */
/* performance-critical functions (e.g. FT_MulFix). You should only do */
/* that to verify that the assembler function works properly, or to */
/* execute benchmark tests of the various implementations. */
/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
/*************************************************************************/
/* */
/* If this macro is defined, try to use an inlined assembler version of */
/* the `FT_MulFix' function, which is a `hotspot' when loading and */
/* hinting glyphs, and which should be executed as fast as possible. */
/* */
/* Note that if your compiler or CPU is not supported, this will default */
/* to the standard and portable implementation found in `ftcalc.c'. */
/* */
#define FT_CONFIG_OPTION_INLINE_MULFIX
/*************************************************************************/
/* */
/* LZW-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `compress' program. This is mostly used to parse many of the PCF */
/* files that come with various X11 distributions. The implementation */
/* uses NetBSD's `zopen' to partially uncompress the file on the fly */
/* (see src/lzw/ftgzip.c). */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
#define FT_CONFIG_OPTION_USE_LZW
/*************************************************************************/
/* */
/* Gzip-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses `zlib' to */
/* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */
/* */
/* Define this macro if you want to enable this `feature'. See also */
/* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */
/* */
#define FT_CONFIG_OPTION_USE_ZLIB
/*************************************************************************/
/* */
/* ZLib library selection */
/* */
/* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */
/* It allows FreeType's `ftgzip' component to link to the system's */
/* installation of the ZLib library. This is useful on systems like */
/* Unix or VMS where it generally is already available. */
/* */
/* If you let it undefined, the component will use its own copy */
/* of the zlib sources instead. These have been modified to be */
/* included directly within the component and *not* export external */
/* function names. This allows you to link any program with FreeType */
/* _and_ ZLib without linking conflicts. */
/* */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
#define FT_CONFIG_OPTION_SYSTEM_ZLIB
/*************************************************************************/
/* */
/* Bzip2-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* `bzip2' program. This is mostly used to parse many of the PCF */
/* files that come with XFree86. The implementation uses `libbz2' to */
/* partially uncompress the file on the fly (see src/bzip2/ftbzip2.c). */
/* Contrary to gzip, bzip2 currently is not included and need to use */
/* the system available bzip2 implementation. */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
/* #define FT_CONFIG_OPTION_USE_BZIP2 */
/*************************************************************************/
/* */
/* Define to disable the use of file stream functions and types, FILE, */
/* fopen() etc. Enables the use of smaller system libraries on embedded */
/* systems that have multiple system libraries, some with or without */
/* file stream support, in the cases where file stream support is not */
/* necessary such as memory loading of font files. */
/* */
/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
/*************************************************************************/
/* */
/* PNG bitmap support. */
/* */
/* FreeType now handles loading color bitmap glyphs in the PNG format. */
/* This requires help from the external libpng library. Uncompressed */
/* color bitmaps do not need any external libraries and will be */
/* supported regardless of this configuration. */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
/* #define FT_CONFIG_OPTION_USE_PNG */
/*************************************************************************/
/* */
/* HarfBuzz support. */
/* */
/* FreeType uses the HarfBuzz library to improve auto-hinting of */
/* OpenType fonts. If available, many glyphs not directly addressable */
/* by a font's character map will be hinted also. */
/* */
/* Define this macro if you want to enable this `feature'. */
/* */
/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
/*************************************************************************/
/* */
/* DLL export compilation */
/* */
/* When compiling FreeType as a DLL, some systems/compilers need a */
/* special keyword in front OR after the return type of function */
/* declarations. */
/* */
/* Two macros are used within the FreeType source code to define */
/* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */
/* */
/* FT_EXPORT( return_type ) */
/* */
/* is used in a function declaration, as in */
/* */
/* FT_EXPORT( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ); */
/* */
/* */
/* FT_EXPORT_DEF( return_type ) */
/* */
/* is used in a function definition, as in */
/* */
/* FT_EXPORT_DEF( FT_Error ) */
/* FT_Init_FreeType( FT_Library* alibrary ) */
/* { */
/* ... some code ... */
/* return FT_Err_Ok; */
/* } */
/* */
/* You can provide your own implementation of FT_EXPORT and */
/* FT_EXPORT_DEF here if you want. If you leave them undefined, they */
/* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_EXPORT(x) extern x */
/* #define FT_EXPORT_DEF(x) x */
/*************************************************************************/
/* */
/* Glyph Postscript Names handling */
/* */
/* By default, FreeType 2 is compiled with the `psnames' module. This */
/* module is in charge of converting a glyph name string into a */
/* Unicode value, or return a Macintosh standard glyph name for the */
/* use with the TrueType `post' table. */
/* */
/* Undefine this macro if you do not want `psnames' compiled in your */
/* build of FreeType. This has the following effects: */
/* */
/* - The TrueType driver will provide its own set of glyph names, */
/* if you build it to support postscript names in the TrueType */
/* `post' table. */
/* */
/* - The Type 1 driver will not be able to synthesize a Unicode */
/* charmap out of the glyphs found in the fonts. */
/* */
/* You would normally undefine this configuration macro when building */
/* a version of FreeType that doesn't contain a Type 1 or CFF driver. */
/* */
#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
/*************************************************************************/
/* */
/* Postscript Names to Unicode Values support */
/* */
/* By default, FreeType 2 is built with the `PSNames' module compiled */
/* in. Among other things, the module is used to convert a glyph name */
/* into a Unicode value. This is especially useful in order to */
/* synthesize on the fly a Unicode charmap from the CFF/Type 1 driver */
/* through a big table named the `Adobe Glyph List' (AGL). */
/* */
/* Undefine this macro if you do not want the Adobe Glyph List */
/* compiled in your `PSNames' module. The Type 1 driver will not be */
/* able to synthesize a Unicode charmap out of the glyphs found in the */
/* fonts. */
/* */
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
/*************************************************************************/
/* */
/* Support for Mac fonts */
/* */
/* Define this macro if you want support for outline fonts in Mac */
/* format (mac dfont, mac resource, macbinary containing a mac */
/* resource) on non-Mac platforms. */
/* */
/* Note that the `FOND' resource isn't checked. */
/* */
#define FT_CONFIG_OPTION_MAC_FONTS
/*************************************************************************/
/* */
/* Guessing methods to access embedded resource forks */
/* */
/* Enable extra Mac fonts support on non-Mac platforms (e.g. */
/* GNU/Linux). */
/* */
/* Resource forks which include fonts data are stored sometimes in */
/* locations which users or developers don't expected. In some cases, */
/* resource forks start with some offset from the head of a file. In */
/* other cases, the actual resource fork is stored in file different */
/* from what the user specifies. If this option is activated, */
/* FreeType tries to guess whether such offsets or different file */
/* names must be used. */
/* */
/* Note that normal, direct access of resource forks is controlled via */
/* the FT_CONFIG_OPTION_MAC_FONTS option. */
/* */
#ifdef FT_CONFIG_OPTION_MAC_FONTS
#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
#endif
/*************************************************************************/
/* */
/* Allow the use of FT_Incremental_Interface to load typefaces that */
/* contain no glyph data, but supply it via a callback function. */
/* This is required by clients supporting document formats which */
/* supply font data incrementally as the document is parsed, such */
/* as the Ghostscript interpreter for the PostScript language. */
/* */
#define FT_CONFIG_OPTION_INCREMENTAL
/*************************************************************************/
/* */
/* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */
/* */
#define FT_RENDER_POOL_SIZE 16384L
/*************************************************************************/
/* */
/* FT_MAX_MODULES */
/* */
/* The maximum number of modules that can be registered in a single */
/* FreeType library object. 32 is the default. */
/* */
#define FT_MAX_MODULES 32
/*************************************************************************/
/* */
/* Debug level */
/* */
/* FreeType can be compiled in debug or trace mode. In debug mode, */
/* errors are reported through the `ftdebug' component. In trace */
/* mode, additional messages are sent to the standard output during */
/* execution. */
/* */
/* Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode. */
/* Define FT_DEBUG_LEVEL_TRACE to build it in trace mode. */
/* */
/* Don't define any of these macros to compile in `release' mode! */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_DEBUG_LEVEL_ERROR */
/* #define FT_DEBUG_LEVEL_TRACE */
/*************************************************************************/
/* */
/* Autofitter debugging */
/* */
/* If FT_DEBUG_AUTOFIT is defined, FreeType provides some means to */
/* control the autofitter behaviour for debugging purposes with global */
/* boolean variables (consequently, you should *never* enable this */
/* while compiling in `release' mode): */
/* */
/* _af_debug_disable_horz_hints */
/* _af_debug_disable_vert_hints */
/* _af_debug_disable_blue_hints */
/* */
/* Additionally, the following functions provide dumps of various */
/* internal autofit structures to stdout (using `printf'): */
/* */
/* af_glyph_hints_dump_points */
/* af_glyph_hints_dump_segments */
/* af_glyph_hints_dump_edges */
/* af_glyph_hints_get_num_segments */
/* af_glyph_hints_get_segment_offset */
/* */
/* As an argument, they use another global variable: */
/* */
/* _af_debug_hints */
/* */
/* Please have a look at the `ftgrid' demo program to see how those */
/* variables and macros should be used. */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_DEBUG_AUTOFIT */
/*************************************************************************/
/* */
/* Memory Debugging */
/* */
/* FreeType now comes with an integrated memory debugger that is */
/* capable of detecting simple errors like memory leaks or double */
/* deletes. To compile it within your build of the library, you */
/* should define FT_DEBUG_MEMORY here. */
/* */
/* Note that the memory debugger is only activated at runtime when */
/* when the _environment_ variable `FT2_DEBUG_MEMORY' is defined also! */
/* */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_DEBUG_MEMORY */
/*************************************************************************/
/* */
/* Module errors */
/* */
/* If this macro is set (which is _not_ the default), the higher byte */
/* of an error code gives the module in which the error has occurred, */
/* while the lower byte is the real error code. */
/* */
/* Setting this macro makes sense for debugging purposes only, since */
/* it would break source compatibility of certain programs that use */
/* FreeType 2. */
/* */
/* More details can be found in the files ftmoderr.h and fterrors.h. */
/* */
#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS
/*************************************************************************/
/* */
/* Position Independent Code */
/* */
/* If this macro is set (which is _not_ the default), FreeType2 will */
/* avoid creating constants that require address fixups. Instead the */
/* constants will be moved into a struct and additional intialization */
/* code will be used. */
/* */
/* Setting this macro is needed for systems that prohibit address */
/* fixups, such as BREW. [Note that standard compilers like gcc or */
/* clang handle PIC generation automatically; you don't have to set */
/* FT_CONFIG_OPTION_PIC, which is only necessary for very special */
/* compilers.] */
/* */
/* Note that FT_CONFIG_OPTION_PIC support is not available for all */
/* modules (see `modules.cfg' for a complete list). For building with */
/* FT_CONFIG_OPTION_PIC support, do the following. */
/* */
/* 0. Clone the repository. */
/* 1. Define FT_CONFIG_OPTION_PIC. */
/* 2. Remove all subdirectories in `src' that don't have */
/* FT_CONFIG_OPTION_PIC support. */
/* 3. Comment out the corresponding modules in `modules.cfg'. */
/* 4. Compile. */
/* */
/* #define FT_CONFIG_OPTION_PIC */
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** S F N T D R I V E R C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */
/* embedded bitmaps in all formats using the SFNT module (namely */
/* TrueType & OpenType). */
/* */
#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */
/* load and enumerate the glyph Postscript names in a TrueType or */
/* OpenType file. */
/* */
/* Note that when you do not compile the `PSNames' module by undefining */
/* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */
/* contain additional code used to read the PS Names table from a font. */
/* */
/* (By default, the module uses `PSNames' to extract glyph names.) */
/* */
#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */
/* access the internal name table in a SFNT-based format like TrueType */
/* or OpenType. The name table contains various strings used to */
/* describe the font, like family name, copyright, version, etc. It */
/* does not contain any glyph name though. */
/* */
/* Accessing SFNT names is done through the functions declared in */
/* `ftsnames.h'. */
/* */
#define TT_CONFIG_OPTION_SFNT_NAMES
/*************************************************************************/
/* */
/* TrueType CMap support */
/* */
/* Here you can fine-tune which TrueType CMap table format shall be */
/* supported. */
#define TT_CONFIG_CMAP_FORMAT_0
#define TT_CONFIG_CMAP_FORMAT_2
#define TT_CONFIG_CMAP_FORMAT_4
#define TT_CONFIG_CMAP_FORMAT_6
#define TT_CONFIG_CMAP_FORMAT_8
#define TT_CONFIG_CMAP_FORMAT_10
#define TT_CONFIG_CMAP_FORMAT_12
#define TT_CONFIG_CMAP_FORMAT_13
#define TT_CONFIG_CMAP_FORMAT_14
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
/* a bytecode interpreter in the TrueType driver. */
/* */
/* By undefining this, you will only compile the code necessary to load */
/* TrueType glyphs without hinting. */
/* */
/* Do not #undef this macro here, since the build system might */
/* define it for certain configurations only. */
/* */
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING if you want to compile */
/* subpixel hinting support into the TrueType driver. This modifies the */
/* TrueType hinting mechanism when anything but FT_RENDER_MODE_MONO is */
/* requested. */
/* */
/* In particular, it modifies the bytecode interpreter to interpret (or */
/* not) instructions in a certain way so that all TrueType fonts look */
/* like they do in a Windows ClearType (DirectWrite) environment. See */
/* [1] for a technical overview on what this means. See `ttinterp.h' */
/* for more details on the LEAN option. */
/* */
/* There are three options. */
/* */
/* 1. This option is associated with the `Infinality' moniker. */
/* Contributed by an individual nicknamed Infinality with the goal of */
/* making TrueType fonts render better than on Windows. A high */
/* amount of configurability and flexibility, down to rules for */
/* single glyphs in fonts, but also very slow. Its experimental and */
/* slow nature and the original developer losing interest meant that */
/* this option was never enabled in default builds. */
/* */
/* 2. The new default mode for the TrueType driver. The Infinality code */
/* base was stripped to the bare minimum and all configurability */
/* removed in the name of speed and simplicity. The configurability */
/* was mainly aimed at legacy fonts like Arial, Times New Roman, or */
/* Courier. Legacy fonts are fonts that modify vertical stems to */
/* achieve clean black-and-white bitmaps. The new mode focuses on */
/* applying a minimal set of rules to all fonts indiscriminately so */
/* that modern and web fonts render well while legacy fonts render */
/* okay. */
/* */
/* 3. Compile both. */
/* */
/* By undefining these, you get rendering behavior like on Windows */
/* without ClearType, i.e., Windows XP without ClearType enabled and */
/* Win9x (interpreter version v35). Or not, depending on how much */
/* hinting blood and testing tears the font designer put into a given */
/* font. If you define one or both subpixel hinting options, you can */
/* switch between between v35 and the ones you define. */
/* */
/* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
/* defined. */
/* */
/* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
/* */
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */
/* TrueType glyph loader to use Apple's definition of how to handle */
/* component offsets in composite glyphs. */
/* */
/* Apple and MS disagree on the default behavior of component offsets */
/* in composites. Apple says that they should be scaled by the scaling */
/* factors in the transformation matrix (roughly, it's more complex) */
/* while MS says they should not. OpenType defines two bits in the */
/* composite flags array which can be used to disambiguate, but old */
/* fonts will not have them. */
/* */
/* http://www.microsoft.com/typography/otspec/glyf.htm */
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html */
/* */
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_GX_VAR_SUPPORT if you want to include */
/* support for Apple's distortable font technology (fvar, gvar, cvar, */
/* and avar tables). This has many similarities to Type 1 Multiple */
/* Masters support. */
/* */
#define TT_CONFIG_OPTION_GX_VAR_SUPPORT
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_BDF if you want to include support for */
/* an embedded `BDF ' table within SFNT-based bitmap formats. */
/* */
#define TT_CONFIG_OPTION_BDF
/*************************************************************************/
/* */
/* Option TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES controls the maximum */
/* number of bytecode instructions executed for a single run of the */
/* bytecode interpreter, needed to prevent infinite loops. You don't */
/* want to change this except for very special situations (e.g., making */
/* a library fuzzer spend less time to handle broken fonts). */
/* */
/* It is not expected that this value is ever modified by a configuring */
/* script; instead, it gets surrounded with #ifndef ... #endif so that */
/* the value can be set as a preprocessor option on the compiler's */
/* command line. */
/* */
#ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES
#define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES 1000000L
#endif
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* T1_MAX_DICT_DEPTH is the maximum depth of nest dictionaries and */
/* arrays in the Type 1 stream (see t1load.c). A minimum of 4 is */
/* required. */
/* */
#define T1_MAX_DICT_DEPTH 5
/*************************************************************************/
/* */
/* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine */
/* calls during glyph loading. */
/* */
#define T1_MAX_SUBRS_CALLS 16
/*************************************************************************/
/* */
/* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */
/* minimum of 16 is required. */
/* */
/* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */
/* */
#define T1_MAX_CHARSTRINGS_OPERANDS 256
/*************************************************************************/
/* */
/* Define this configuration macro if you want to prevent the */
/* compilation of `t1afm', which is in charge of reading Type 1 AFM */
/* files into an existing face. Note that if set, the T1 driver will be */
/* unable to produce kerning distances. */
/* */
#undef T1_CONFIG_OPTION_NO_AFM
/*************************************************************************/
/* */
/* Define this configuration macro if you want to prevent the */
/* compilation of the Multiple Masters font support in the Type 1 */
/* driver. */
/* */
#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** C F F D R I V E R C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */
/* possible to set up the default values of the four control points that */
/* define the stem darkening behaviour of the (new) CFF engine. For */
/* more details please read the documentation of the */
/* `darkening-parameters' property of the cff driver module (file */
/* `ftcffdrv.h'), which allows the control at run-time. */
/* */
/* Do *not* undefine these macros! */
/* */
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333
#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0
/*************************************************************************/
/* */
/* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */
/* engine gets compiled into FreeType. If defined, it is possible to */
/* switch between the two engines using the `hinting-engine' property of */
/* the cff driver module. */
/* */
/* #define CFF_CONFIG_OPTION_OLD_ENGINE */
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* Compile autofit module with CJK (Chinese, Japanese, Korean) script */
/* support. */
/* */
#define AF_CONFIG_OPTION_CJK
/*************************************************************************/
/* */
/* Compile autofit module with Indic script support. */
/* */
#define AF_CONFIG_OPTION_INDIC
/*************************************************************************/
/* */
/* Compile autofit module with warp hinting. The idea of the warping */
/* code is to slightly scale and shift a glyph within a single dimension */
/* so that as much of its segments are aligned (more or less) on the */
/* grid. To find out the optimal scaling and shifting value, various */
/* parameter combinations are tried and scored. */
/* */
/* This experimental option is active only if the rendering mode is */
/* FT_RENDER_MODE_LIGHT; you can switch warping on and off with the */
/* `warping' property of the auto-hinter (see file `ftautoh.h' for more */
/* information; by default it is switched off). */
/* */
#define AF_CONFIG_OPTION_USE_WARPER
/* */
/*
* This macro is obsolete. Support has been removed in FreeType
* version 2.5.
*/
/* #define FT_CONFIG_OPTION_OLD_INTERNALS */
/*
* This macro is defined if native TrueType hinting is requested by the
* definitions above.
*/
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_USE_BYTECODE_INTERPRETER
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
#endif
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
#endif
#endif
/*
* Check CFF darkening parameters. The checks are the same as in function
* `cff_property_set' in file `cffdrivr.c'.
*/
#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \
\
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \
\
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \
\
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \
CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500
#error "Invalid CFF darkening parameters!"
#endif
FT_END_HEADER
#endif /* FTOPTION_H_ */
/* END */

View File

@@ -1,175 +0,0 @@
/***************************************************************************/
/* */
/* ftstdlib.h */
/* */
/* ANSI-specific library and header configuration file (specification */
/* only). */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file is used to group all #includes to the ANSI C library that */
/* FreeType normally requires. It also defines macros to rename the */
/* standard functions within the FreeType source code. */
/* */
/* Load a file which defines FTSTDLIB_H_ before this one to override it. */
/* */
/*************************************************************************/
#ifndef FTSTDLIB_H_
#define FTSTDLIB_H_
#include <stddef.h>
#define ft_ptrdiff_t ptrdiff_t
/**********************************************************************/
/* */
/* integer limits */
/* */
/* UINT_MAX and ULONG_MAX are used to automatically compute the size */
/* of `int' and `long' in bytes at compile-time. So far, this works */
/* for all platforms the library has been tested on. */
/* */
/* Note that on the extremely rare platforms that do not provide */
/* integer types that are _exactly_ 16 and 32 bits wide (e.g. some */
/* old Crays where `int' is 36 bits), we do not make any guarantee */
/* about the correct behaviour of FT2 with all fonts. */
/* */
/* In these case, `ftconfig.h' will refuse to compile anyway with a */
/* message like `couldn't find 32-bit type' or something similar. */
/* */
/**********************************************************************/
#include <limits.h>
#define FT_CHAR_BIT CHAR_BIT
#define FT_USHORT_MAX USHRT_MAX
#define FT_INT_MAX INT_MAX
#define FT_INT_MIN INT_MIN
#define FT_UINT_MAX UINT_MAX
#define FT_LONG_MIN LONG_MIN
#define FT_LONG_MAX LONG_MAX
#define FT_ULONG_MAX ULONG_MAX
/**********************************************************************/
/* */
/* character and string processing */
/* */
/**********************************************************************/
#include <string.h>
#define ft_memchr memchr
#define ft_memcmp memcmp
#define ft_memcpy memcpy
#define ft_memmove memmove
#define ft_memset memset
#define ft_strcat strcat
#define ft_strcmp strcmp
#define ft_strcpy strcpy
#define ft_strlen strlen
#define ft_strncmp strncmp
#define ft_strncpy strncpy
#define ft_strrchr strrchr
#define ft_strstr strstr
/**********************************************************************/
/* */
/* file handling */
/* */
/**********************************************************************/
#include <stdio.h>
#define FT_FILE FILE
#define ft_fclose fclose
#define ft_fopen fopen
#define ft_fread fread
#define ft_fseek fseek
#define ft_ftell ftell
#define ft_sprintf sprintf
/**********************************************************************/
/* */
/* sorting */
/* */
/**********************************************************************/
#include <stdlib.h>
#define ft_qsort qsort
/**********************************************************************/
/* */
/* memory allocation */
/* */
/**********************************************************************/
#define ft_scalloc calloc
#define ft_sfree free
#define ft_smalloc malloc
#define ft_srealloc realloc
/**********************************************************************/
/* */
/* miscellaneous */
/* */
/**********************************************************************/
#define ft_strtol strtol
#define ft_getenv getenv
/**********************************************************************/
/* */
/* execution control */
/* */
/**********************************************************************/
#include <setjmp.h>
#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */
/* jmp_buf is defined as a macro */
/* on certain platforms */
#define ft_longjmp longjmp
#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
/* the following is only used for debugging purposes, i.e., if */
/* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */
#include <stdarg.h>
#endif /* FTSTDLIB_H_ */
/* END */

File diff suppressed because it is too large Load Diff

View File

@@ -1,187 +0,0 @@
/***************************************************************************/
/* */
/* ftadvanc.h */
/* */
/* Quick computation of advance widths (specification only). */
/* */
/* Copyright 2008-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTADVANC_H_
#define FTADVANC_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/**************************************************************************
*
* @section:
* quick_advance
*
* @title:
* Quick retrieval of advance values
*
* @abstract:
* Retrieve horizontal and vertical advance values without processing
* glyph outlines, if possible.
*
* @description:
* This section contains functions to quickly extract advance values
* without handling glyph outlines, if possible.
*
* @order:
* FT_Get_Advance
* FT_Get_Advances
*
*/
/*************************************************************************/
/* */
/* <Const> */
/* FT_ADVANCE_FLAG_FAST_ONLY */
/* */
/* <Description> */
/* A bit-flag to be OR-ed with the `flags' parameter of the */
/* @FT_Get_Advance and @FT_Get_Advances functions. */
/* */
/* If set, it indicates that you want these functions to fail if the */
/* corresponding hinting mode or font driver doesn't allow for very */
/* quick advance computation. */
/* */
/* Typically, glyphs that are either unscaled, unhinted, bitmapped, */
/* or light-hinted can have their advance width computed very */
/* quickly. */
/* */
/* Normal and bytecode hinted modes that require loading, scaling, */
/* and hinting of the glyph outline, are extremely slow by */
/* comparison. */
/* */
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Advance */
/* */
/* <Description> */
/* Retrieve the advance value of a given glyph outline in an */
/* @FT_Face. */
/* */
/* <Input> */
/* face :: The source @FT_Face handle. */
/* */
/* gindex :: The glyph index. */
/* */
/* load_flags :: A set of bit flags similar to those used when */
/* calling @FT_Load_Glyph, used to determine what kind */
/* of advances you need. */
/* <Output> */
/* padvance :: The advance value. If scaling is performed (based on */
/* the value of `load_flags'), the advance value is in */
/* 16.16 format. Otherwise, it is in font units. */
/* */
/* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
/* vertical advance corresponding to a vertical layout. */
/* Otherwise, it is the horizontal advance in a */
/* horizontal layout. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
/* if the corresponding font backend doesn't have a quick way to */
/* retrieve the advances. */
/* */
/* A scaled advance is returned in 16.16 format but isn't transformed */
/* by the affine transformation specified by @FT_Set_Transform. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Advance( FT_Face face,
FT_UInt gindex,
FT_Int32 load_flags,
FT_Fixed *padvance );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Advances */
/* */
/* <Description> */
/* Retrieve the advance values of several glyph outlines in an */
/* @FT_Face. */
/* */
/* <Input> */
/* face :: The source @FT_Face handle. */
/* */
/* start :: The first glyph index. */
/* */
/* count :: The number of advance values you want to retrieve. */
/* */
/* load_flags :: A set of bit flags similar to those used when */
/* calling @FT_Load_Glyph. */
/* */
/* <Output> */
/* padvance :: The advance values. This array, to be provided by the */
/* caller, must contain at least `count' elements. */
/* */
/* If scaling is performed (based on the value of */
/* `load_flags'), the advance values are in 16.16 format. */
/* Otherwise, they are in font units. */
/* */
/* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
/* vertical advances corresponding to a vertical layout. */
/* Otherwise, they are the horizontal advances in a */
/* horizontal layout. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
/* if the corresponding font backend doesn't have a quick way to */
/* retrieve the advances. */
/* */
/* Scaled advances are returned in 16.16 format but aren't */
/* transformed by the affine transformation specified by */
/* @FT_Set_Transform. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Advances( FT_Face face,
FT_UInt start,
FT_UInt count,
FT_Int32 load_flags,
FT_Fixed *padvances );
/* */
FT_END_HEADER
#endif /* FTADVANC_H_ */
/* END */

View File

@@ -1,511 +0,0 @@
/***************************************************************************/
/* */
/* ftautoh.h */
/* */
/* FreeType API for controlling the auto-hinter (specification only). */
/* */
/* Copyright 2012-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTAUTOH_H_
#define FTAUTOH_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/**************************************************************************
*
* @section:
* auto_hinter
*
* @title:
* The auto-hinter
*
* @abstract:
* Controlling the auto-hinting module.
*
* @description:
* While FreeType's auto-hinter doesn't expose API functions by itself,
* it is possible to control its behaviour with @FT_Property_Set and
* @FT_Property_Get. The following lists the available properties
* together with the necessary macros and structures.
*
* Note that the auto-hinter's module name is `autofitter' for
* historical reasons.
*
*/
/**************************************************************************
*
* @property:
* glyph-to-script-map
*
* @description:
* *Experimental* *only*
*
* The auto-hinter provides various script modules to hint glyphs.
* Examples of supported scripts are Latin or CJK. Before a glyph is
* auto-hinted, the Unicode character map of the font gets examined, and
* the script is then determined based on Unicode character ranges, see
* below.
*
* OpenType fonts, however, often provide much more glyphs than
* character codes (small caps, superscripts, ligatures, swashes, etc.),
* to be controlled by so-called `features'. Handling OpenType features
* can be quite complicated and thus needs a separate library on top of
* FreeType.
*
* The mapping between glyph indices and scripts (in the auto-hinter
* sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an
* array with `num_glyphs' elements, as found in the font's @FT_Face
* structure. The `glyph-to-script-map' property returns a pointer to
* this array, which can be modified as needed. Note that the
* modification should happen before the first glyph gets processed by
* the auto-hinter so that the global analysis of the font shapes
* actually uses the modified mapping.
*
* The following example code demonstrates how to access it (omitting
* the error handling).
*
* {
* FT_Library library;
* FT_Face face;
* FT_Prop_GlyphToScriptMap prop;
*
*
* FT_Init_FreeType( &library );
* FT_New_Face( library, "foo.ttf", 0, &face );
*
* prop.face = face;
*
* FT_Property_Get( library, "autofitter",
* "glyph-to-script-map", &prop );
*
* // adjust `prop.map' as needed right here
*
* FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
* }
*
*/
/**************************************************************************
*
* @enum:
* FT_AUTOHINTER_SCRIPT_XXX
*
* @description:
* *Experimental* *only*
*
* A list of constants used for the @glyph-to-script-map property to
* specify the script submodule the auto-hinter should use for hinting a
* particular glyph.
*
* @values:
* FT_AUTOHINTER_SCRIPT_NONE ::
* Don't auto-hint this glyph.
*
* FT_AUTOHINTER_SCRIPT_LATIN ::
* Apply the latin auto-hinter. For the auto-hinter, `latin' is a
* very broad term, including Cyrillic and Greek also since characters
* from those scripts share the same design constraints.
*
* By default, characters from the following Unicode ranges are
* assigned to this submodule.
*
* {
* U+0020 - U+007F // Basic Latin (no control characters)
* U+00A0 - U+00FF // Latin-1 Supplement (no control characters)
* U+0100 - U+017F // Latin Extended-A
* U+0180 - U+024F // Latin Extended-B
* U+0250 - U+02AF // IPA Extensions
* U+02B0 - U+02FF // Spacing Modifier Letters
* U+0300 - U+036F // Combining Diacritical Marks
* U+0370 - U+03FF // Greek and Coptic
* U+0400 - U+04FF // Cyrillic
* U+0500 - U+052F // Cyrillic Supplement
* U+1D00 - U+1D7F // Phonetic Extensions
* U+1D80 - U+1DBF // Phonetic Extensions Supplement
* U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement
* U+1E00 - U+1EFF // Latin Extended Additional
* U+1F00 - U+1FFF // Greek Extended
* U+2000 - U+206F // General Punctuation
* U+2070 - U+209F // Superscripts and Subscripts
* U+20A0 - U+20CF // Currency Symbols
* U+2150 - U+218F // Number Forms
* U+2460 - U+24FF // Enclosed Alphanumerics
* U+2C60 - U+2C7F // Latin Extended-C
* U+2DE0 - U+2DFF // Cyrillic Extended-A
* U+2E00 - U+2E7F // Supplemental Punctuation
* U+A640 - U+A69F // Cyrillic Extended-B
* U+A720 - U+A7FF // Latin Extended-D
* U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures)
* U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
* U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
* }
*
* FT_AUTOHINTER_SCRIPT_CJK ::
* Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old
* Vietnamese, and some other scripts.
*
* By default, characters from the following Unicode ranges are
* assigned to this submodule.
*
* {
* U+1100 - U+11FF // Hangul Jamo
* U+2E80 - U+2EFF // CJK Radicals Supplement
* U+2F00 - U+2FDF // Kangxi Radicals
* U+2FF0 - U+2FFF // Ideographic Description Characters
* U+3000 - U+303F // CJK Symbols and Punctuation
* U+3040 - U+309F // Hiragana
* U+30A0 - U+30FF // Katakana
* U+3100 - U+312F // Bopomofo
* U+3130 - U+318F // Hangul Compatibility Jamo
* U+3190 - U+319F // Kanbun
* U+31A0 - U+31BF // Bopomofo Extended
* U+31C0 - U+31EF // CJK Strokes
* U+31F0 - U+31FF // Katakana Phonetic Extensions
* U+3200 - U+32FF // Enclosed CJK Letters and Months
* U+3300 - U+33FF // CJK Compatibility
* U+3400 - U+4DBF // CJK Unified Ideographs Extension A
* U+4DC0 - U+4DFF // Yijing Hexagram Symbols
* U+4E00 - U+9FFF // CJK Unified Ideographs
* U+A960 - U+A97F // Hangul Jamo Extended-A
* U+AC00 - U+D7AF // Hangul Syllables
* U+D7B0 - U+D7FF // Hangul Jamo Extended-B
* U+F900 - U+FAFF // CJK Compatibility Ideographs
* U+FE10 - U+FE1F // Vertical forms
* U+FE30 - U+FE4F // CJK Compatibility Forms
* U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms
* U+1B000 - U+1B0FF // Kana Supplement
* U+1D300 - U+1D35F // Tai Xuan Hing Symbols
* U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
* U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
* U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
* U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
* U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
* }
*
* FT_AUTOHINTER_SCRIPT_INDIC ::
* Apply the indic auto-hinter, covering all major scripts from the
* Indian sub-continent and some other related scripts like Thai, Lao,
* or Tibetan.
*
* By default, characters from the following Unicode ranges are
* assigned to this submodule.
*
* {
* U+0900 - U+0DFF // Indic Range
* U+0F00 - U+0FFF // Tibetan
* U+1900 - U+194F // Limbu
* U+1B80 - U+1BBF // Sundanese
* U+A800 - U+A82F // Syloti Nagri
* U+ABC0 - U+ABFF // Meetei Mayek
* U+11800 - U+118DF // Sharada
* }
*
* Note that currently Indic support is rudimentary only, missing blue
* zone support.
*
*/
#define FT_AUTOHINTER_SCRIPT_NONE 0
#define FT_AUTOHINTER_SCRIPT_LATIN 1
#define FT_AUTOHINTER_SCRIPT_CJK 2
#define FT_AUTOHINTER_SCRIPT_INDIC 3
/**************************************************************************
*
* @struct:
* FT_Prop_GlyphToScriptMap
*
* @description:
* *Experimental* *only*
*
* The data exchange structure for the @glyph-to-script-map property.
*
*/
typedef struct FT_Prop_GlyphToScriptMap_
{
FT_Face face;
FT_UShort* map;
} FT_Prop_GlyphToScriptMap;
/**************************************************************************
*
* @property:
* fallback-script
*
* @description:
* *Experimental* *only*
*
* If no auto-hinter script module can be assigned to a glyph, a
* fallback script gets assigned to it (see also the
* @glyph-to-script-map property). By default, this is
* @FT_AUTOHINTER_SCRIPT_CJK. Using the `fallback-script' property,
* this fallback value can be changed.
*
* {
* FT_Library library;
* FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "autofitter",
* "fallback-script", &fallback_script );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* It's important to use the right timing for changing this value: The
* creation of the glyph-to-script map that eventually uses the
* fallback script value gets triggered either by setting or reading a
* face-specific property like @glyph-to-script-map, or by auto-hinting
* any glyph from that face. In particular, if you have already created
* an @FT_Face structure but not loaded any glyph (using the
* auto-hinter), a change of the fallback script will affect this face.
*
*/
/**************************************************************************
*
* @property:
* default-script
*
* @description:
* *Experimental* *only*
*
* If FreeType gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
* the HarfBuzz library access OpenType features for getting better
* glyph coverages, this property sets the (auto-fitter) script to be
* used for the default (OpenType) script data of a font's GSUB table.
* Features for the default script are intended for all scripts not
* explicitly handled in GSUB; an example is a `dlig' feature,
* containing the combination of the characters `T', `E', and `L' to
* form a `TEL' ligature.
*
* By default, this is @FT_AUTOHINTER_SCRIPT_LATIN. Using the
* `default-script' property, this default value can be changed.
*
* {
* FT_Library library;
* FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE;
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "autofitter",
* "default-script", &default_script );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* It's important to use the right timing for changing this value: The
* creation of the glyph-to-script map that eventually uses the
* default script value gets triggered either by setting or reading a
* face-specific property like @glyph-to-script-map, or by auto-hinting
* any glyph from that face. In particular, if you have already created
* an @FT_Face structure but not loaded any glyph (using the
* auto-hinter), a change of the default script will affect this face.
*
*/
/**************************************************************************
*
* @property:
* increase-x-height
*
* @description:
* For ppem values in the range 6~<= ppem <= `increase-x-height', round
* up the font's x~height much more often than normally. If the value
* is set to~0, which is the default, this feature is switched off. Use
* this property to improve the legibility of small font sizes if
* necessary.
*
* {
* FT_Library library;
* FT_Face face;
* FT_Prop_IncreaseXHeight prop;
*
*
* FT_Init_FreeType( &library );
* FT_New_Face( library, "foo.ttf", 0, &face );
* FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
*
* prop.face = face;
* prop.limit = 14;
*
* FT_Property_Set( library, "autofitter",
* "increase-x-height", &prop );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* Set this value right after calling @FT_Set_Char_Size, but before
* loading any glyph (using the auto-hinter).
*
*/
/**************************************************************************
*
* @struct:
* FT_Prop_IncreaseXHeight
*
* @description:
* The data exchange structure for the @increase-x-height property.
*
*/
typedef struct FT_Prop_IncreaseXHeight_
{
FT_Face face;
FT_UInt limit;
} FT_Prop_IncreaseXHeight;
/**************************************************************************
*
* @property:
* warping
*
* @description:
* *Experimental* *only*
*
* If FreeType gets compiled with option AF_CONFIG_OPTION_USE_WARPER to
* activate the warp hinting code in the auto-hinter, this property
* switches warping on and off.
*
* Warping only works in `light' auto-hinting mode. The idea of the
* code is to slightly scale and shift a glyph along the non-hinted
* dimension (which is usually the horizontal axis) so that as much of
* its segments are aligned (more or less) to the grid. To find out a
* glyph's optimal scaling and shifting value, various parameter
* combinations are tried and scored.
*
* By default, warping is off. The example below shows how to switch on
* warping (omitting the error handling).
*
* {
* FT_Library library;
* FT_Bool warping = 1;
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "autofitter",
* "warping", &warping );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable (using values 1 and 0 for `on' and `off', respectively).
*
* The warping code can also change advance widths. Have a look at the
* `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
* for details on improving inter-glyph distances while rendering.
*
* Since warping is a global property of the auto-hinter it is best to
* change its value before rendering any face. Otherwise, you should
* reload all faces that get auto-hinted in `light' hinting mode.
*
*/
/**************************************************************************
*
* @property:
* no-stem-darkening[autofit]
*
* @description:
* *Experimental* *only,* *requires* *linear* *alpha* *blending* *and*
* *gamma* *correction*
*
* Stem darkening emboldens glyphs at smaller sizes to make them more
* readable on common low-DPI screens when using linear alpha blending
* and gamma correction, see @FT_Render_Glyph. When not using linear
* alpha blending and gamma correction, glyphs will appear heavy and
* fuzzy!
*
* Gamma correction essentially lightens fonts since shades of grey are
* shifted to higher pixel values (=~higher brightness) to match the
* original intention to the reality of our screens. The side-effect is
* that glyphs `thin out'. Mac OS~X and Adobe's proprietary font
* rendering library implement a counter-measure: stem darkening at
* smaller sizes where shades of gray dominate. By emboldening a glyph
* slightly in relation to its pixel size, individual pixels get higher
* coverage of filled-in outlines and are therefore `blacker'. This
* counteracts the `thinning out' of glyphs, making text remain readable
* at smaller sizes. All glyphs that pass through the auto-hinter will
* be emboldened unless this property is set to TRUE.
*
* See the description of the CFF driver for algorithmic details. Total
* consistency with the CFF driver is currently not achieved because the
* emboldening method differs and glyphs must be scaled down on the
* Y-axis to keep outline points inside their precomputed blue zones.
* The smaller the size (especially 9ppem and down), the higher the loss
* of emboldening versus the CFF driver.
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable similar to the CFF driver.
*
*/
/**************************************************************************
*
* @property:
* darkening-parameters[autofit]
*
* @description:
* *Experimental* *only*
*
* See the description of the CFF driver for details. This
* implementation appropriates the
* CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency.
* Note the differences described in @no-stem-darkening[autofit].
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable similar to the CFF driver.
*/
/* */
FT_END_HEADER
#endif /* FTAUTOH_H_ */
/* END */

View File

@@ -1,101 +0,0 @@
/***************************************************************************/
/* */
/* ftbbox.h */
/* */
/* FreeType exact bbox computation (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This component has a _single_ role: to compute exact outline bounding */
/* boxes. */
/* */
/* It is separated from the rest of the engine for various technical */
/* reasons. It may well be integrated in `ftoutln' later. */
/* */
/*************************************************************************/
#ifndef FTBBOX_H_
#define FTBBOX_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* outline_processing */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_Outline_Get_BBox */
/* */
/* <Description> */
/* Compute the exact bounding box of an outline. This is slower */
/* than computing the control box. However, it uses an advanced */
/* algorithm that returns _very_ quickly when the two boxes */
/* coincide. Otherwise, the outline Bézier arcs are traversed to */
/* extract their extrema. */
/* */
/* <Input> */
/* outline :: A pointer to the source outline. */
/* */
/* <Output> */
/* abbox :: The outline's exact bounding box. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* If the font is tricky and the glyph has been loaded with */
/* @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get */
/* reasonable values for the BBox it is necessary to load the glyph */
/* at a large ppem value (so that the hinting instructions can */
/* properly shift and scale the subglyphs), then extracting the BBox, */
/* which can be eventually converted back to font units. */
/* */
FT_EXPORT( FT_Error )
FT_Outline_Get_BBox( FT_Outline* outline,
FT_BBox *abbox );
/* */
FT_END_HEADER
#endif /* FTBBOX_H_ */
/* END */
/* Local Variables: */
/* coding: utf-8 */
/* End: */

View File

@@ -1,210 +0,0 @@
/***************************************************************************/
/* */
/* ftbdf.h */
/* */
/* FreeType API for accessing BDF-specific strings (specification). */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTBDF_H_
#define FTBDF_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* bdf_fonts */
/* */
/* <Title> */
/* BDF and PCF Files */
/* */
/* <Abstract> */
/* BDF and PCF specific API. */
/* */
/* <Description> */
/* This section contains the declaration of functions specific to BDF */
/* and PCF fonts. */
/* */
/*************************************************************************/
/**********************************************************************
*
* @enum:
* BDF_PropertyType
*
* @description:
* A list of BDF property types.
*
* @values:
* BDF_PROPERTY_TYPE_NONE ::
* Value~0 is used to indicate a missing property.
*
* BDF_PROPERTY_TYPE_ATOM ::
* Property is a string atom.
*
* BDF_PROPERTY_TYPE_INTEGER ::
* Property is a 32-bit signed integer.
*
* BDF_PROPERTY_TYPE_CARDINAL ::
* Property is a 32-bit unsigned integer.
*/
typedef enum BDF_PropertyType_
{
BDF_PROPERTY_TYPE_NONE = 0,
BDF_PROPERTY_TYPE_ATOM = 1,
BDF_PROPERTY_TYPE_INTEGER = 2,
BDF_PROPERTY_TYPE_CARDINAL = 3
} BDF_PropertyType;
/**********************************************************************
*
* @type:
* BDF_Property
*
* @description:
* A handle to a @BDF_PropertyRec structure to model a given
* BDF/PCF property.
*/
typedef struct BDF_PropertyRec_* BDF_Property;
/**********************************************************************
*
* @struct:
* BDF_PropertyRec
*
* @description:
* This structure models a given BDF/PCF property.
*
* @fields:
* type ::
* The property type.
*
* u.atom ::
* The atom string, if type is @BDF_PROPERTY_TYPE_ATOM. May be
* NULL, indicating an empty string.
*
* u.integer ::
* A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
*
* u.cardinal ::
* An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
*/
typedef struct BDF_PropertyRec_
{
BDF_PropertyType type;
union {
const char* atom;
FT_Int32 integer;
FT_UInt32 cardinal;
} u;
} BDF_PropertyRec;
/**********************************************************************
*
* @function:
* FT_Get_BDF_Charset_ID
*
* @description:
* Retrieve a BDF font character set identity, according to
* the BDF specification.
*
* @input:
* face ::
* A handle to the input face.
*
* @output:
* acharset_encoding ::
* Charset encoding, as a C~string, owned by the face.
*
* acharset_registry ::
* Charset registry, as a C~string, owned by the face.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function only works with BDF faces, returning an error otherwise.
*/
FT_EXPORT( FT_Error )
FT_Get_BDF_Charset_ID( FT_Face face,
const char* *acharset_encoding,
const char* *acharset_registry );
/**********************************************************************
*
* @function:
* FT_Get_BDF_Property
*
* @description:
* Retrieve a BDF property from a BDF or PCF font file.
*
* @input:
* face :: A handle to the input face.
*
* name :: The property name.
*
* @output:
* aproperty :: The property.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function works with BDF _and_ PCF fonts. It returns an error
* otherwise. It also returns an error if the property is not in the
* font.
*
* A `property' is a either key-value pair within the STARTPROPERTIES
* ... ENDPROPERTIES block of a BDF font or a key-value pair from the
* `info->props' array within a `FontRec' structure of a PCF font.
*
* Integer properties are always stored as `signed' within PCF fonts;
* consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
* for BDF fonts only.
*
* In case of error, `aproperty->type' is always set to
* @BDF_PROPERTY_TYPE_NONE.
*/
FT_EXPORT( FT_Error )
FT_Get_BDF_Property( FT_Face face,
const char* prop_name,
BDF_PropertyRec *aproperty );
/* */
FT_END_HEADER
#endif /* FTBDF_H_ */
/* END */

View File

@@ -1,240 +0,0 @@
/***************************************************************************/
/* */
/* ftbitmap.h */
/* */
/* FreeType utility functions for bitmaps (specification). */
/* */
/* Copyright 2004-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTBITMAP_H_
#define FTBITMAP_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* bitmap_handling */
/* */
/* <Title> */
/* Bitmap Handling */
/* */
/* <Abstract> */
/* Handling FT_Bitmap objects. */
/* */
/* <Description> */
/* This section contains functions for handling @FT_Bitmap objects. */
/* Note that none of the functions changes the bitmap's `flow' (as */
/* indicated by the sign of the `pitch' field in `FT_Bitmap'). */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_Bitmap_Init */
/* */
/* <Description> */
/* Initialize a pointer to an @FT_Bitmap structure. */
/* */
/* <InOut> */
/* abitmap :: A pointer to the bitmap structure. */
/* */
/* <Note> */
/* A deprecated name for the same function is `FT_Bitmap_New'. */
/* */
FT_EXPORT( void )
FT_Bitmap_Init( FT_Bitmap *abitmap );
/* deprecated */
FT_EXPORT( void )
FT_Bitmap_New( FT_Bitmap *abitmap );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Bitmap_Copy */
/* */
/* <Description> */
/* Copy a bitmap into another one. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
/* */
/* source :: A handle to the source bitmap. */
/* */
/* <Output> */
/* target :: A handle to the target bitmap. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Copy( FT_Library library,
const FT_Bitmap *source,
FT_Bitmap *target);
/*************************************************************************/
/* */
/* <Function> */
/* FT_Bitmap_Embolden */
/* */
/* <Description> */
/* Embolden a bitmap. The new bitmap will be about `xStrength' */
/* pixels wider and `yStrength' pixels higher. The left and bottom */
/* borders are kept unchanged. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
/* */
/* xStrength :: How strong the glyph is emboldened horizontally. */
/* Expressed in 26.6 pixel format. */
/* */
/* yStrength :: How strong the glyph is emboldened vertically. */
/* Expressed in 26.6 pixel format. */
/* */
/* <InOut> */
/* bitmap :: A handle to the target bitmap. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The current implementation restricts `xStrength' to be less than */
/* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
/* */
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
/* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */
/* */
/* Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format */
/* are converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp). */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Embolden( FT_Library library,
FT_Bitmap* bitmap,
FT_Pos xStrength,
FT_Pos yStrength );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Bitmap_Convert */
/* */
/* <Description> */
/* Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp */
/* to a bitmap object with depth 8bpp, making the number of used */
/* bytes line (a.k.a. the `pitch') a multiple of `alignment'. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
/* */
/* source :: The source bitmap. */
/* */
/* alignment :: The pitch of the bitmap is a multiple of this */
/* parameter. Common values are 1, 2, or 4. */
/* */
/* <Output> */
/* target :: The target bitmap. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* It is possible to call @FT_Bitmap_Convert multiple times without */
/* calling @FT_Bitmap_Done (the memory is simply reallocated). */
/* */
/* Use @FT_Bitmap_Done to finally remove the bitmap object. */
/* */
/* The `library' argument is taken to have access to FreeType's */
/* memory handling functions. */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Convert( FT_Library library,
const FT_Bitmap *source,
FT_Bitmap *target,
FT_Int alignment );
/*************************************************************************/
/* */
/* <Function> */
/* FT_GlyphSlot_Own_Bitmap */
/* */
/* <Description> */
/* Make sure that a glyph slot owns `slot->bitmap'. */
/* */
/* <Input> */
/* slot :: The glyph slot. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function is to be used in combination with */
/* @FT_Bitmap_Embolden. */
/* */
FT_EXPORT( FT_Error )
FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Bitmap_Done */
/* */
/* <Description> */
/* Destroy a bitmap object initialized with @FT_Bitmap_Init. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
/* */
/* bitmap :: The bitmap object to be freed. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The `library' argument is taken to have access to FreeType's */
/* memory handling functions. */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Done( FT_Library library,
FT_Bitmap *bitmap );
/* */
FT_END_HEADER
#endif /* FTBITMAP_H_ */
/* END */

View File

@@ -1,102 +0,0 @@
/***************************************************************************/
/* */
/* ftbzip2.h */
/* */
/* Bzip2-compressed stream support. */
/* */
/* Copyright 2010-2016 by */
/* Joel Klinghed. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTBZIP2_H_
#define FTBZIP2_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* bzip2 */
/* */
/* <Title> */
/* BZIP2 Streams */
/* */
/* <Abstract> */
/* Using bzip2-compressed font files. */
/* */
/* <Description> */
/* This section contains the declaration of Bzip2-specific functions. */
/* */
/*************************************************************************/
/************************************************************************
*
* @function:
* FT_Stream_OpenBzip2
*
* @description:
* Open a new stream to parse bzip2-compressed font files. This is
* mainly used to support the compressed `*.pcf.bz2' fonts that come
* with XFree86.
*
* @input:
* stream ::
* The target embedding stream.
*
* source ::
* The source stream.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* The source stream must be opened _before_ calling this function.
*
* Calling the internal function `FT_Stream_Close' on the new stream will
* *not* call `FT_Stream_Close' on the source stream. None of the stream
* objects will be released to the heap.
*
* The stream implementation is very basic and resets the decompression
* process each time seeking backwards is needed within the stream.
*
* In certain builds of the library, bzip2 compression recognition is
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
* This means that if no font driver is capable of handling the raw
* compressed file, the library will try to open a bzip2 compressed stream
* from it and re-open the face with it.
*
* This function may return `FT_Err_Unimplemented_Feature' if your build
* of FreeType was not compiled with bzip2 support.
*/
FT_EXPORT( FT_Error )
FT_Stream_OpenBzip2( FT_Stream stream,
FT_Stream source );
/* */
FT_END_HEADER
#endif /* FTBZIP2_H_ */
/* END */

File diff suppressed because it is too large Load Diff

View File

@@ -1,275 +0,0 @@
/***************************************************************************/
/* */
/* ftcffdrv.h */
/* */
/* FreeType API for controlling the CFF driver (specification only). */
/* */
/* Copyright 2013-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTCFFDRV_H_
#define FTCFFDRV_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/**************************************************************************
*
* @section:
* cff_driver
*
* @title:
* The CFF driver
*
* @abstract:
* Controlling the CFF driver module.
*
* @description:
* While FreeType's CFF driver doesn't expose API functions by itself,
* it is possible to control its behaviour with @FT_Property_Set and
* @FT_Property_Get. The list below gives the available properties
* together with the necessary macros and structures.
*
* The CFF driver's module name is `cff'.
*
* *Hinting* *and* *antialiasing* *principles* *of* *the* *new* *engine*
*
* The rasterizer is positioning horizontal features (e.g., ascender
* height & x-height, or crossbars) on the pixel grid and minimizing the
* amount of antialiasing applied to them, while placing vertical
* features (vertical stems) on the pixel grid without hinting, thus
* representing the stem position and weight accurately. Sometimes the
* vertical stems may be only partially black. In this context,
* `antialiasing' means that stems are not positioned exactly on pixel
* borders, causing a fuzzy appearance.
*
* There are two principles behind this approach.
*
* 1) No hinting in the horizontal direction: Unlike `superhinted'
* TrueType, which changes glyph widths to accommodate regular
* inter-glyph spacing, Adobe's approach is `faithful to the design' in
* representing both the glyph width and the inter-glyph spacing
* designed for the font. This makes the screen display as close as it
* can be to the result one would get with infinite resolution, while
* preserving what is considered the key characteristics of each glyph.
* Note that the distances between unhinted and grid-fitted positions at
* small sizes are comparable to kerning values and thus would be
* noticeable (and distracting) while reading if hinting were applied.
*
* One of the reasons to not hint horizontally is antialiasing for LCD
* screens: The pixel geometry of modern displays supplies three
* vertical sub-pixels as the eye moves horizontally across each visible
* pixel. On devices where we can be certain this characteristic is
* present a rasterizer can take advantage of the sub-pixels to add
* increments of weight. In Western writing systems this turns out to
* be the more critical direction anyway; the weights and spacing of
* vertical stems (see above) are central to Armenian, Cyrillic, Greek,
* and Latin type designs. Even when the rasterizer uses greyscale
* antialiasing instead of color (a necessary compromise when one
* doesn't know the screen characteristics), the unhinted vertical
* features preserve the design's weight and spacing much better than
* aliased type would.
*
* 2) Alignment in the vertical direction: Weights and spacing along the
* y~axis are less critical; what is much more important is the visual
* alignment of related features (like cap-height and x-height). The
* sense of alignment for these is enhanced by the sharpness of grid-fit
* edges, while the cruder vertical resolution (full pixels instead of
* 1/3 pixels) is less of a problem.
*
* On the technical side, horizontal alignment zones for ascender,
* x-height, and other important height values (traditionally called
* `blue zones') as defined in the font are positioned independently,
* each being rounded to the nearest pixel edge, taking care of
* overshoot suppression at small sizes, stem darkening, and scaling.
*
* Hstems (this is, hint values defined in the font to help align
* horizontal features) that fall within a blue zone are said to be
* `captured' and are aligned to that zone. Uncaptured stems are moved
* in one of four ways, top edge up or down, bottom edge up or down.
* Unless there are conflicting hstems, the smallest movement is taken
* to minimize distortion.
*
* @order:
* hinting-engine[cff]
* no-stem-darkening[cff]
* darkening-parameters[cff]
*
*/
/**************************************************************************
*
* @property:
* hinting-engine[cff]
*
* @description:
* Thanks to Adobe, which contributed a new hinting (and parsing)
* engine, an application can select between `freetype' and `adobe' if
* compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration
* macro isn't defined, `hinting-engine' does nothing.
*
* The default engine is `freetype' if CFF_CONFIG_OPTION_OLD_ENGINE is
* defined, and `adobe' otherwise.
*
* The following example code demonstrates how to select Adobe's hinting
* engine (omitting the error handling).
*
* {
* FT_Library library;
* FT_UInt hinting_engine = FT_CFF_HINTING_ADOBE;
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "cff",
* "hinting-engine", &hinting_engine );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable (using values `adobe' or `freetype').
*/
/**************************************************************************
*
* @enum:
* FT_CFF_HINTING_XXX
*
* @description:
* A list of constants used for the @hinting-engine[cff] property to
* select the hinting engine for CFF fonts.
*
* @values:
* FT_CFF_HINTING_FREETYPE ::
* Use the old FreeType hinting engine.
*
* FT_CFF_HINTING_ADOBE ::
* Use the hinting engine contributed by Adobe.
*
*/
#define FT_CFF_HINTING_FREETYPE 0
#define FT_CFF_HINTING_ADOBE 1
/**************************************************************************
*
* @property:
* no-stem-darkening[cff]
*
* @description:
* By default, the Adobe CFF engine darkens stems at smaller sizes,
* regardless of hinting, to enhance contrast. This feature requires
* a rendering system with proper gamma correction. Setting this
* property, stem darkening gets switched off.
*
* Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set.
*
* {
* FT_Library library;
* FT_Bool no_stem_darkening = TRUE;
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "cff",
* "no-stem-darkening", &no_stem_darkening );
* }
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable (using values 1 and 0 for `on' and `off', respectively).
*
*/
/**************************************************************************
*
* @property:
* darkening-parameters[cff]
*
* @description:
* By default, the Adobe CFF engine darkens stems as follows (if the
* `no-stem-darkening' property isn't set):
*
* {
* stem width <= 0.5px: darkening amount = 0.4px
* stem width = 1px: darkening amount = 0.275px
* stem width = 1.667px: darkening amount = 0.275px
* stem width >= 2.333px: darkening amount = 0px
* }
*
* and piecewise linear in-between. At configuration time, these four
* control points can be set with the macro
* `CFF_CONFIG_OPTION_DARKENING_PARAMETERS'. At runtime, the control
* points can be changed using the `darkening-parameters' property, as
* the following example demonstrates.
*
* {
* FT_Library library;
* FT_Int darken_params[8] = { 500, 300, // x1, y1
* 1000, 200, // x2, y2
* 1500, 100, // x3, y3
* 2000, 0 }; // x4, y4
*
*
* FT_Init_FreeType( &library );
*
* FT_Property_Set( library, "cff",
* "darkening-parameters", darken_params );
* }
*
* The x~values give the stem width, and the y~values the darkening
* amount. The unit is 1000th of pixels. All coordinate values must be
* positive; the x~values must be monotonically increasing; the
* y~values must be monotonically decreasing and smaller than or
* equal to 500 (corresponding to half a pixel); the slope of each
* linear piece must be shallower than -1 (e.g., -.4).
*
* @note:
* This property can be used with @FT_Property_Get also.
*
* This property can be set via the `FREETYPE_PROPERTIES' environment
* variable, using eight comma-separated integers without spaces. Here
* the above example, using `\' to break the line for readability.
*
* {
* FREETYPE_PROPERTIES=\
* cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
* }
*/
/* */
FT_END_HEADER
#endif /* FTCFFDRV_H_ */
/* END */

View File

@@ -1,135 +0,0 @@
/***************************************************************************/
/* */
/* This file defines the structure of the FreeType reference. */
/* It is used by the python script that generates the HTML files. */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* general_remarks */
/* */
/* <Title> */
/* General Remarks */
/* */
/* <Sections> */
/* header_inclusion */
/* user_allocation */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* core_api */
/* */
/* <Title> */
/* Core API */
/* */
/* <Sections> */
/* version */
/* basic_types */
/* base_interface */
/* glyph_variants */
/* glyph_management */
/* mac_specific */
/* sizes_management */
/* header_file_macros */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* format_specific */
/* */
/* <Title> */
/* Format-Specific API */
/* */
/* <Sections> */
/* multiple_masters */
/* truetype_tables */
/* type1_tables */
/* sfnt_names */
/* bdf_fonts */
/* cid_fonts */
/* pfr_fonts */
/* winfnt_fonts */
/* font_formats */
/* gasp_table */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* module_specific */
/* */
/* <Title> */
/* Controlling FreeType Modules */
/* */
/* <Sections> */
/* auto_hinter */
/* cff_driver */
/* tt_driver */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* cache_subsystem */
/* */
/* <Title> */
/* Cache Sub-System */
/* */
/* <Sections> */
/* cache_subsystem */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* support_api */
/* */
/* <Title> */
/* Support API */
/* */
/* <Sections> */
/* computations */
/* list_processing */
/* outline_processing */
/* quick_advance */
/* bitmap_handling */
/* raster */
/* glyph_stroker */
/* system_interface */
/* module_management */
/* gzip */
/* lzw */
/* bzip2 */
/* lcd_filtering */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* <Chapter> */
/* error_codes */
/* */
/* <Title> */
/* Error Codes */
/* */
/* <Sections> */
/* error_enumerations */
/* error_code_values */
/* */
/***************************************************************************/

View File

@@ -1,168 +0,0 @@
/***************************************************************************/
/* */
/* ftcid.h */
/* */
/* FreeType API for accessing CID font information (specification). */
/* */
/* Copyright 2007-2016 by */
/* Dereg Clegg and Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTCID_H_
#define FTCID_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* cid_fonts */
/* */
/* <Title> */
/* CID Fonts */
/* */
/* <Abstract> */
/* CID-keyed font specific API. */
/* */
/* <Description> */
/* This section contains the declaration of CID-keyed font specific */
/* functions. */
/* */
/*************************************************************************/
/**********************************************************************
*
* @function:
* FT_Get_CID_Registry_Ordering_Supplement
*
* @description:
* Retrieve the Registry/Ordering/Supplement triple (also known as the
* "R/O/S") from a CID-keyed font.
*
* @input:
* face ::
* A handle to the input face.
*
* @output:
* registry ::
* The registry, as a C~string, owned by the face.
*
* ordering ::
* The ordering, as a C~string, owned by the face.
*
* supplement ::
* The supplement.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function only works with CID faces, returning an error
* otherwise.
*
* @since:
* 2.3.6
*/
FT_EXPORT( FT_Error )
FT_Get_CID_Registry_Ordering_Supplement( FT_Face face,
const char* *registry,
const char* *ordering,
FT_Int *supplement);
/**********************************************************************
*
* @function:
* FT_Get_CID_Is_Internally_CID_Keyed
*
* @description:
* Retrieve the type of the input face, CID keyed or not. In
* contrast to the @FT_IS_CID_KEYED macro this function returns
* successfully also for CID-keyed fonts in an SFNT wrapper.
*
* @input:
* face ::
* A handle to the input face.
*
* @output:
* is_cid ::
* The type of the face as an @FT_Bool.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function only works with CID faces and OpenType fonts,
* returning an error otherwise.
*
* @since:
* 2.3.9
*/
FT_EXPORT( FT_Error )
FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
FT_Bool *is_cid );
/**********************************************************************
*
* @function:
* FT_Get_CID_From_Glyph_Index
*
* @description:
* Retrieve the CID of the input glyph index.
*
* @input:
* face ::
* A handle to the input face.
*
* glyph_index ::
* The input glyph index.
*
* @output:
* cid ::
* The CID as an @FT_UInt.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function only works with CID faces and OpenType fonts,
* returning an error otherwise.
*
* @since:
* 2.3.9
*/
FT_EXPORT( FT_Error )
FT_Get_CID_From_Glyph_Index( FT_Face face,
FT_UInt glyph_index,
FT_UInt *cid );
/* */
FT_END_HEADER
#endif /* FTCID_H_ */
/* END */

View File

@@ -1,276 +0,0 @@
/***************************************************************************/
/* */
/* fterrdef.h */
/* */
/* FreeType error codes (specification). */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* <Section> */
/* error_code_values */
/* */
/* <Title> */
/* Error Code Values */
/* */
/* <Abstract> */
/* All possible error codes returned by FreeType functions. */
/* */
/* <Description> */
/* The list below is taken verbatim from the file `fterrdef.h' */
/* (loaded automatically by including `FT_FREETYPE_H'). The first */
/* argument of the `FT_ERROR_DEF_' macro is the error label; by */
/* default, the prefix `FT_Err_' gets added so that you get error */
/* names like `FT_Err_Cannot_Open_Resource'. The second argument is */
/* the error code, and the last argument an error string, which is not */
/* used by FreeType. */
/* */
/* Within your application you should *only* use error names and */
/* *never* its numeric values! The latter might (and actually do) */
/* change in forthcoming FreeType versions. */
/* */
/* Macro `FT_NOERRORDEF_' defines `FT_Err_Ok', which is always zero. */
/* See the `Error Enumerations' subsection how to automatically */
/* generate a list of error strings. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Err_XXX */
/* */
/*************************************************************************/
/* generic errors */
FT_NOERRORDEF_( Ok, 0x00,
"no error" )
FT_ERRORDEF_( Cannot_Open_Resource, 0x01,
"cannot open resource" )
FT_ERRORDEF_( Unknown_File_Format, 0x02,
"unknown file format" )
FT_ERRORDEF_( Invalid_File_Format, 0x03,
"broken file" )
FT_ERRORDEF_( Invalid_Version, 0x04,
"invalid FreeType version" )
FT_ERRORDEF_( Lower_Module_Version, 0x05,
"module version is too low" )
FT_ERRORDEF_( Invalid_Argument, 0x06,
"invalid argument" )
FT_ERRORDEF_( Unimplemented_Feature, 0x07,
"unimplemented feature" )
FT_ERRORDEF_( Invalid_Table, 0x08,
"broken table" )
FT_ERRORDEF_( Invalid_Offset, 0x09,
"broken offset within table" )
FT_ERRORDEF_( Array_Too_Large, 0x0A,
"array allocation size too large" )
FT_ERRORDEF_( Missing_Module, 0x0B,
"missing module" )
FT_ERRORDEF_( Missing_Property, 0x0C,
"missing property" )
/* glyph/character errors */
FT_ERRORDEF_( Invalid_Glyph_Index, 0x10,
"invalid glyph index" )
FT_ERRORDEF_( Invalid_Character_Code, 0x11,
"invalid character code" )
FT_ERRORDEF_( Invalid_Glyph_Format, 0x12,
"unsupported glyph image format" )
FT_ERRORDEF_( Cannot_Render_Glyph, 0x13,
"cannot render this glyph format" )
FT_ERRORDEF_( Invalid_Outline, 0x14,
"invalid outline" )
FT_ERRORDEF_( Invalid_Composite, 0x15,
"invalid composite glyph" )
FT_ERRORDEF_( Too_Many_Hints, 0x16,
"too many hints" )
FT_ERRORDEF_( Invalid_Pixel_Size, 0x17,
"invalid pixel size" )
/* handle errors */
FT_ERRORDEF_( Invalid_Handle, 0x20,
"invalid object handle" )
FT_ERRORDEF_( Invalid_Library_Handle, 0x21,
"invalid library handle" )
FT_ERRORDEF_( Invalid_Driver_Handle, 0x22,
"invalid module handle" )
FT_ERRORDEF_( Invalid_Face_Handle, 0x23,
"invalid face handle" )
FT_ERRORDEF_( Invalid_Size_Handle, 0x24,
"invalid size handle" )
FT_ERRORDEF_( Invalid_Slot_Handle, 0x25,
"invalid glyph slot handle" )
FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26,
"invalid charmap handle" )
FT_ERRORDEF_( Invalid_Cache_Handle, 0x27,
"invalid cache manager handle" )
FT_ERRORDEF_( Invalid_Stream_Handle, 0x28,
"invalid stream handle" )
/* driver errors */
FT_ERRORDEF_( Too_Many_Drivers, 0x30,
"too many modules" )
FT_ERRORDEF_( Too_Many_Extensions, 0x31,
"too many extensions" )
/* memory errors */
FT_ERRORDEF_( Out_Of_Memory, 0x40,
"out of memory" )
FT_ERRORDEF_( Unlisted_Object, 0x41,
"unlisted object" )
/* stream errors */
FT_ERRORDEF_( Cannot_Open_Stream, 0x51,
"cannot open stream" )
FT_ERRORDEF_( Invalid_Stream_Seek, 0x52,
"invalid stream seek" )
FT_ERRORDEF_( Invalid_Stream_Skip, 0x53,
"invalid stream skip" )
FT_ERRORDEF_( Invalid_Stream_Read, 0x54,
"invalid stream read" )
FT_ERRORDEF_( Invalid_Stream_Operation, 0x55,
"invalid stream operation" )
FT_ERRORDEF_( Invalid_Frame_Operation, 0x56,
"invalid frame operation" )
FT_ERRORDEF_( Nested_Frame_Access, 0x57,
"nested frame access" )
FT_ERRORDEF_( Invalid_Frame_Read, 0x58,
"invalid frame read" )
/* raster errors */
FT_ERRORDEF_( Raster_Uninitialized, 0x60,
"raster uninitialized" )
FT_ERRORDEF_( Raster_Corrupted, 0x61,
"raster corrupted" )
FT_ERRORDEF_( Raster_Overflow, 0x62,
"raster overflow" )
FT_ERRORDEF_( Raster_Negative_Height, 0x63,
"negative height while rastering" )
/* cache errors */
FT_ERRORDEF_( Too_Many_Caches, 0x70,
"too many registered caches" )
/* TrueType and SFNT errors */
FT_ERRORDEF_( Invalid_Opcode, 0x80,
"invalid opcode" )
FT_ERRORDEF_( Too_Few_Arguments, 0x81,
"too few arguments" )
FT_ERRORDEF_( Stack_Overflow, 0x82,
"stack overflow" )
FT_ERRORDEF_( Code_Overflow, 0x83,
"code overflow" )
FT_ERRORDEF_( Bad_Argument, 0x84,
"bad argument" )
FT_ERRORDEF_( Divide_By_Zero, 0x85,
"division by zero" )
FT_ERRORDEF_( Invalid_Reference, 0x86,
"invalid reference" )
FT_ERRORDEF_( Debug_OpCode, 0x87,
"found debug opcode" )
FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88,
"found ENDF opcode in execution stream" )
FT_ERRORDEF_( Nested_DEFS, 0x89,
"nested DEFS" )
FT_ERRORDEF_( Invalid_CodeRange, 0x8A,
"invalid code range" )
FT_ERRORDEF_( Execution_Too_Long, 0x8B,
"execution context too long" )
FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C,
"too many function definitions" )
FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D,
"too many instruction definitions" )
FT_ERRORDEF_( Table_Missing, 0x8E,
"SFNT font table missing" )
FT_ERRORDEF_( Horiz_Header_Missing, 0x8F,
"horizontal header (hhea) table missing" )
FT_ERRORDEF_( Locations_Missing, 0x90,
"locations (loca) table missing" )
FT_ERRORDEF_( Name_Table_Missing, 0x91,
"name table missing" )
FT_ERRORDEF_( CMap_Table_Missing, 0x92,
"character map (cmap) table missing" )
FT_ERRORDEF_( Hmtx_Table_Missing, 0x93,
"horizontal metrics (hmtx) table missing" )
FT_ERRORDEF_( Post_Table_Missing, 0x94,
"PostScript (post) table missing" )
FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95,
"invalid horizontal metrics" )
FT_ERRORDEF_( Invalid_CharMap_Format, 0x96,
"invalid character map (cmap) format" )
FT_ERRORDEF_( Invalid_PPem, 0x97,
"invalid ppem value" )
FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98,
"invalid vertical metrics" )
FT_ERRORDEF_( Could_Not_Find_Context, 0x99,
"could not find context" )
FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A,
"invalid PostScript (post) table format" )
FT_ERRORDEF_( Invalid_Post_Table, 0x9B,
"invalid PostScript (post) table" )
/* CFF, CID, and Type 1 errors */
FT_ERRORDEF_( Syntax_Error, 0xA0,
"opcode syntax error" )
FT_ERRORDEF_( Stack_Underflow, 0xA1,
"argument stack underflow" )
FT_ERRORDEF_( Ignore, 0xA2,
"ignore" )
FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3,
"no Unicode glyph name found" )
FT_ERRORDEF_( Glyph_Too_Big, 0xA4,
"glyph too big for hinting" )
/* BDF errors */
FT_ERRORDEF_( Missing_Startfont_Field, 0xB0,
"`STARTFONT' field missing" )
FT_ERRORDEF_( Missing_Font_Field, 0xB1,
"`FONT' field missing" )
FT_ERRORDEF_( Missing_Size_Field, 0xB2,
"`SIZE' field missing" )
FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3,
"`FONTBOUNDINGBOX' field missing" )
FT_ERRORDEF_( Missing_Chars_Field, 0xB4,
"`CHARS' field missing" )
FT_ERRORDEF_( Missing_Startchar_Field, 0xB5,
"`STARTCHAR' field missing" )
FT_ERRORDEF_( Missing_Encoding_Field, 0xB6,
"`ENCODING' field missing" )
FT_ERRORDEF_( Missing_Bbx_Field, 0xB7,
"`BBX' field missing" )
FT_ERRORDEF_( Bbx_Too_Big, 0xB8,
"`BBX' too big" )
FT_ERRORDEF_( Corrupted_Font_Header, 0xB9,
"Font header corrupted or missing fields" )
FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA,
"Font glyphs corrupted or missing fields" )
/* */
/* END */

View File

@@ -1,226 +0,0 @@
/***************************************************************************/
/* */
/* fterrors.h */
/* */
/* FreeType error code handling (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* <Section> */
/* error_enumerations */
/* */
/* <Title> */
/* Error Enumerations */
/* */
/* <Abstract> */
/* How to handle errors and error strings. */
/* */
/* <Description> */
/* The header file `fterrors.h' (which is automatically included by */
/* `freetype.h' defines the handling of FreeType's enumeration */
/* constants. It can also be used to generate error message strings */
/* with a small macro trick explained below. */
/* */
/* *Error* *Formats* */
/* */
/* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be */
/* defined in `ftoption.h' in order to make the higher byte indicate */
/* the module where the error has happened (this is not compatible */
/* with standard builds of FreeType&nbsp;2, however). See the file */
/* `ftmoderr.h' for more details. */
/* */
/* *Error* *Message* *Strings* */
/* */
/* Error definitions are set up with special macros that allow client */
/* applications to build a table of error message strings. The */
/* strings are not included in a normal build of FreeType&nbsp;2 to */
/* save space (most client applications do not use them). */
/* */
/* To do so, you have to define the following macros before including */
/* this file. */
/* */
/* { */
/* FT_ERROR_START_LIST */
/* } */
/* */
/* This macro is called before anything else to define the start of */
/* the error list. It is followed by several FT_ERROR_DEF calls. */
/* */
/* { */
/* FT_ERROR_DEF( e, v, s ) */
/* } */
/* */
/* This macro is called to define one single error. `e' is the error */
/* code identifier (e.g., `Invalid_Argument'), `v' is the error's */
/* numerical value, and `s' is the corresponding error string. */
/* */
/* { */
/* FT_ERROR_END_LIST */
/* } */
/* */
/* This macro ends the list. */
/* */
/* Additionally, you have to undefine `FTERRORS_H_' before #including */
/* this file. */
/* */
/* Here is a simple example. */
/* */
/* { */
/* #undef FTERRORS_H_ */
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
/* #define FT_ERROR_START_LIST { */
/* #define FT_ERROR_END_LIST { 0, NULL } }; */
/* */
/* const struct */
/* { */
/* int err_code; */
/* const char* err_msg; */
/* } ft_errors[] = */
/* */
/* #include FT_ERRORS_H */
/* } */
/* */
/* Note that `FT_Err_Ok' is _not_ defined with `FT_ERRORDEF' but with */
/* `FT_NOERRORDEF'; it is always zero. */
/* */
/*************************************************************************/
/* */
/* In previous FreeType versions we used `__FTERRORS_H__'. However, */
/* using two successive underscores in a non-system symbol name */
/* violates the C (and C++) standard, so it was changed to the */
/* current form. In spite of this, we have to make */
/* */
/* #undefine __FTERRORS_H__ */
/* */
/* work for backwards compatibility. */
/* */
#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
#define FTERRORS_H_
#define __FTERRORS_H__
/* include module base error codes */
#include FT_MODULE_ERRORS_H
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** SETUP MACROS *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#undef FT_NEED_EXTERN_C
/* FT_ERR_PREFIX is used as a prefix for error identifiers. */
/* By default, we use `FT_Err_'. */
/* */
#ifndef FT_ERR_PREFIX
#define FT_ERR_PREFIX FT_Err_
#endif
/* FT_ERR_BASE is used as the base for module-specific errors. */
/* */
#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
#ifndef FT_ERR_BASE
#define FT_ERR_BASE FT_Mod_Err_Base
#endif
#else
#undef FT_ERR_BASE
#define FT_ERR_BASE 0
#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */
/* If FT_ERRORDEF is not defined, we need to define a simple */
/* enumeration type. */
/* */
#ifndef FT_ERRORDEF
#define FT_ERRORDEF( e, v, s ) e = v,
#define FT_ERROR_START_LIST enum {
#define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
#ifdef __cplusplus
#define FT_NEED_EXTERN_C
extern "C" {
#endif
#endif /* !FT_ERRORDEF */
/* this macro is used to define an error */
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
/* this is only used for <module>_Err_Ok, which must be 0! */
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
#ifdef FT_ERROR_START_LIST
FT_ERROR_START_LIST
#endif
/* now include the error codes */
#include FT_ERROR_DEFINITIONS_H
#ifdef FT_ERROR_END_LIST
FT_ERROR_END_LIST
#endif
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** SIMPLE CLEANUP *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#ifdef FT_NEED_EXTERN_C
}
#endif
#undef FT_ERROR_START_LIST
#undef FT_ERROR_END_LIST
#undef FT_ERRORDEF
#undef FT_ERRORDEF_
#undef FT_NOERRORDEF_
#undef FT_NEED_EXTERN_C
#undef FT_ERR_BASE
/* FT_ERR_PREFIX is needed internally */
#ifndef FT2_BUILD_LIBRARY
#undef FT_ERR_PREFIX
#endif
#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */
/* END */

View File

@@ -1,95 +0,0 @@
/***************************************************************************/
/* */
/* ftfntfmt.h */
/* */
/* Support functions for font formats. */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTFNTFMT_H_
#define FTFNTFMT_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* font_formats */
/* */
/* <Title> */
/* Font Formats */
/* */
/* <Abstract> */
/* Getting the font format. */
/* */
/* <Description> */
/* The single function in this section can be used to get the font */
/* format. Note that this information is not needed normally; */
/* however, there are special cases (like in PDF devices) where it is */
/* important to differentiate, in spite of FreeType's uniform API. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Font_Format */
/* */
/* <Description> */
/* Return a string describing the format of a given face. Possible */
/* values are `TrueType', `Type~1', `BDF', `PCF', `Type~42', */
/* `CID~Type~1', `CFF', `PFR', and `Windows~FNT'. */
/* */
/* The return value is suitable to be used as an X11 FONT_PROPERTY. */
/* */
/* <Input> */
/* face :: */
/* Input face handle. */
/* */
/* <Return> */
/* Font format string. NULL in case of error. */
/* */
/* <Note> */
/* A deprecated name for the same function is */
/* `FT_Get_X11_Font_Format'. */
/* */
FT_EXPORT( const char* )
FT_Get_Font_Format( FT_Face face );
/* deprecated */
FT_EXPORT( const char* )
FT_Get_X11_Font_Format( FT_Face face );
/* */
FT_END_HEADER
#endif /* FTFNTFMT_H_ */
/* END */

View File

@@ -1,129 +0,0 @@
/***************************************************************************/
/* */
/* ftgasp.h */
/* */
/* Access of TrueType's `gasp' table (specification). */
/* */
/* Copyright 2007-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTGASP_H_
#define FTGASP_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
/***************************************************************************
*
* @section:
* gasp_table
*
* @title:
* Gasp Table
*
* @abstract:
* Retrieving TrueType `gasp' table entries.
*
* @description:
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType
* font for specific entries in its `gasp' table, if any. This is
* mainly useful when implementing native TrueType hinting with the
* bytecode interpreter to duplicate the Windows text rendering results.
*/
/*************************************************************************
*
* @enum:
* FT_GASP_XXX
*
* @description:
* A list of values and/or bit-flags returned by the @FT_Get_Gasp
* function.
*
* @values:
* FT_GASP_NO_TABLE ::
* This special value means that there is no GASP table in this face.
* It is up to the client to decide what to do.
*
* FT_GASP_DO_GRIDFIT ::
* Grid-fitting and hinting should be performed at the specified ppem.
* This *really* means TrueType bytecode interpretation. If this bit
* is not set, no hinting gets applied.
*
* FT_GASP_DO_GRAY ::
* Anti-aliased rendering should be performed at the specified ppem.
* If not set, do monochrome rendering.
*
* FT_GASP_SYMMETRIC_SMOOTHING ::
* If set, smoothing along multiple axes must be used with ClearType.
*
* FT_GASP_SYMMETRIC_GRIDFIT ::
* Grid-fitting must be used with ClearType's symmetric smoothing.
*
* @note:
* The bit-flags `FT_GASP_DO_GRIDFIT' and `FT_GASP_DO_GRAY' are to be
* used for standard font rasterization only. Independently of that,
* `FT_GASP_SYMMETRIC_SMOOTHING' and `FT_GASP_SYMMETRIC_GRIDFIT' are to
* be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT' and
* `FT_GASP_DO_GRAY' are consequently ignored).
*
* `ClearType' is Microsoft's implementation of LCD rendering, partly
* protected by patents.
*
* @since:
* 2.3.0
*/
#define FT_GASP_NO_TABLE -1
#define FT_GASP_DO_GRIDFIT 0x01
#define FT_GASP_DO_GRAY 0x02
#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
#define FT_GASP_SYMMETRIC_GRIDFIT 0x10
/*************************************************************************
*
* @func:
* FT_Get_Gasp
*
* @description:
* Read the `gasp' table from a TrueType or OpenType font file and
* return the entry corresponding to a given character pixel size.
*
* @input:
* face :: The source face handle.
* ppem :: The vertical character pixel size.
*
* @return:
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
* `gasp' table in the face.
*
* @since:
* 2.3.0
*/
FT_EXPORT( FT_Int )
FT_Get_Gasp( FT_Face face,
FT_UInt ppem );
/* */
#endif /* FTGASP_H_ */
/* END */

View File

@@ -1,605 +0,0 @@
/***************************************************************************/
/* */
/* ftglyph.h */
/* */
/* FreeType convenience functions to handle glyphs (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file contains the definition of several convenience functions */
/* that can be used by client applications to easily retrieve glyph */
/* bitmaps and outlines from a given face. */
/* */
/* These functions should be optional if you are writing a font server */
/* or text layout engine on top of FreeType. However, they are pretty */
/* handy for many other simple uses of the library. */
/* */
/*************************************************************************/
#ifndef FTGLYPH_H_
#define FTGLYPH_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* glyph_management */
/* */
/* <Title> */
/* Glyph Management */
/* */
/* <Abstract> */
/* Generic interface to manage individual glyph data. */
/* */
/* <Description> */
/* This section contains definitions used to manage glyph data */
/* through generic FT_Glyph objects. Each of them can contain a */
/* bitmap, a vector outline, or even images in other formats. */
/* */
/*************************************************************************/
/* forward declaration to a private type */
typedef struct FT_Glyph_Class_ FT_Glyph_Class;
/*************************************************************************/
/* */
/* <Type> */
/* FT_Glyph */
/* */
/* <Description> */
/* Handle to an object used to model generic glyph images. It is a */
/* pointer to the @FT_GlyphRec structure and can contain a glyph */
/* bitmap or pointer. */
/* */
/* <Note> */
/* Glyph objects are not owned by the library. You must thus release */
/* them manually (through @FT_Done_Glyph) _before_ calling */
/* @FT_Done_FreeType. */
/* */
typedef struct FT_GlyphRec_* FT_Glyph;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_GlyphRec */
/* */
/* <Description> */
/* The root glyph structure contains a given glyph image plus its */
/* advance width in 16.16 fixed-point format. */
/* */
/* <Fields> */
/* library :: A handle to the FreeType library object. */
/* */
/* clazz :: A pointer to the glyph's class. Private. */
/* */
/* format :: The format of the glyph's image. */
/* */
/* advance :: A 16.16 vector that gives the glyph's advance width. */
/* */
typedef struct FT_GlyphRec_
{
FT_Library library;
const FT_Glyph_Class* clazz;
FT_Glyph_Format format;
FT_Vector advance;
} FT_GlyphRec;
/*************************************************************************/
/* */
/* <Type> */
/* FT_BitmapGlyph */
/* */
/* <Description> */
/* A handle to an object used to model a bitmap glyph image. This is */
/* a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. */
/* */
typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_BitmapGlyphRec */
/* */
/* <Description> */
/* A structure used for bitmap glyph images. This really is a */
/* `sub-class' of @FT_GlyphRec. */
/* */
/* <Fields> */
/* root :: The root @FT_Glyph fields. */
/* */
/* left :: The left-side bearing, i.e., the horizontal distance */
/* from the current pen position to the left border of the */
/* glyph bitmap. */
/* */
/* top :: The top-side bearing, i.e., the vertical distance from */
/* the current pen position to the top border of the glyph */
/* bitmap. This distance is positive for upwards~y! */
/* */
/* bitmap :: A descriptor for the bitmap. */
/* */
/* <Note> */
/* You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have */
/* `glyph->format == FT_GLYPH_FORMAT_BITMAP'. This lets you access */
/* the bitmap's contents easily. */
/* */
/* The corresponding pixel buffer is always owned by @FT_BitmapGlyph */
/* and is thus created and destroyed with it. */
/* */
typedef struct FT_BitmapGlyphRec_
{
FT_GlyphRec root;
FT_Int left;
FT_Int top;
FT_Bitmap bitmap;
} FT_BitmapGlyphRec;
/*************************************************************************/
/* */
/* <Type> */
/* FT_OutlineGlyph */
/* */
/* <Description> */
/* A handle to an object used to model an outline glyph image. This */
/* is a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. */
/* */
typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_OutlineGlyphRec */
/* */
/* <Description> */
/* A structure used for outline (vectorial) glyph images. This */
/* really is a `sub-class' of @FT_GlyphRec. */
/* */
/* <Fields> */
/* root :: The root @FT_Glyph fields. */
/* */
/* outline :: A descriptor for the outline. */
/* */
/* <Note> */
/* You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have */
/* `glyph->format == FT_GLYPH_FORMAT_OUTLINE'. This lets you access */
/* the outline's content easily. */
/* */
/* As the outline is extracted from a glyph slot, its coordinates are */
/* expressed normally in 26.6 pixels, unless the flag */
/* @FT_LOAD_NO_SCALE was used in @FT_Load_Glyph() or @FT_Load_Char(). */
/* */
/* The outline's tables are always owned by the object and are */
/* destroyed with it. */
/* */
typedef struct FT_OutlineGlyphRec_
{
FT_GlyphRec root;
FT_Outline outline;
} FT_OutlineGlyphRec;
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Glyph */
/* */
/* <Description> */
/* A function used to extract a glyph image from a slot. Note that */
/* the created @FT_Glyph object must be released with @FT_Done_Glyph. */
/* */
/* <Input> */
/* slot :: A handle to the source glyph slot. */
/* */
/* <Output> */
/* aglyph :: A handle to the glyph object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Glyph( FT_GlyphSlot slot,
FT_Glyph *aglyph );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Glyph_Copy */
/* */
/* <Description> */
/* A function used to copy a glyph image. Note that the created */
/* @FT_Glyph object must be released with @FT_Done_Glyph. */
/* */
/* <Input> */
/* source :: A handle to the source glyph object. */
/* */
/* <Output> */
/* target :: A handle to the target glyph object. 0~in case of */
/* error. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Glyph_Copy( FT_Glyph source,
FT_Glyph *target );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Glyph_Transform */
/* */
/* <Description> */
/* Transform a glyph image if its format is scalable. */
/* */
/* <InOut> */
/* glyph :: A handle to the target glyph object. */
/* */
/* <Input> */
/* matrix :: A pointer to a 2x2 matrix to apply. */
/* */
/* delta :: A pointer to a 2d vector to apply. Coordinates are */
/* expressed in 1/64th of a pixel. */
/* */
/* <Return> */
/* FreeType error code (if not 0, the glyph format is not scalable). */
/* */
/* <Note> */
/* The 2x2 transformation matrix is also applied to the glyph's */
/* advance vector. */
/* */
FT_EXPORT( FT_Error )
FT_Glyph_Transform( FT_Glyph glyph,
FT_Matrix* matrix,
FT_Vector* delta );
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Glyph_BBox_Mode */
/* */
/* <Description> */
/* The mode how the values of @FT_Glyph_Get_CBox are returned. */
/* */
/* <Values> */
/* FT_GLYPH_BBOX_UNSCALED :: */
/* Return unscaled font units. */
/* */
/* FT_GLYPH_BBOX_SUBPIXELS :: */
/* Return unfitted 26.6 coordinates. */
/* */
/* FT_GLYPH_BBOX_GRIDFIT :: */
/* Return grid-fitted 26.6 coordinates. */
/* */
/* FT_GLYPH_BBOX_TRUNCATE :: */
/* Return coordinates in integer pixels. */
/* */
/* FT_GLYPH_BBOX_PIXELS :: */
/* Return grid-fitted pixel coordinates. */
/* */
typedef enum FT_Glyph_BBox_Mode_
{
FT_GLYPH_BBOX_UNSCALED = 0,
FT_GLYPH_BBOX_SUBPIXELS = 0,
FT_GLYPH_BBOX_GRIDFIT = 1,
FT_GLYPH_BBOX_TRUNCATE = 2,
FT_GLYPH_BBOX_PIXELS = 3
} FT_Glyph_BBox_Mode;
/* these constants are deprecated; use the corresponding */
/* `FT_Glyph_BBox_Mode' values instead */
#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED
#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS
#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT
#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE
#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS
/*************************************************************************/
/* */
/* <Function> */
/* FT_Glyph_Get_CBox */
/* */
/* <Description> */
/* Return a glyph's `control box'. The control box encloses all the */
/* outline's points, including Bézier control points. Though it */
/* coincides with the exact bounding box for most glyphs, it can be */
/* slightly larger in some situations (like when rotating an outline */
/* that contains Bézier outside arcs). */
/* */
/* Computing the control box is very fast, while getting the bounding */
/* box can take much more time as it needs to walk over all segments */
/* and arcs in the outline. To get the latter, you can use the */
/* `ftbbox' component, which is dedicated to this single task. */
/* */
/* <Input> */
/* glyph :: A handle to the source glyph object. */
/* */
/* mode :: The mode that indicates how to interpret the returned */
/* bounding box values. */
/* */
/* <Output> */
/* acbox :: The glyph coordinate bounding box. Coordinates are */
/* expressed in 1/64th of pixels if it is grid-fitted. */
/* */
/* <Note> */
/* Coordinates are relative to the glyph origin, using the y~upwards */
/* convention. */
/* */
/* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */
/* must be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font */
/* units in 26.6 pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS */
/* is another name for this constant. */
/* */
/* If the font is tricky and the glyph has been loaded with */
/* @FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get */
/* reasonable values for the CBox it is necessary to load the glyph */
/* at a large ppem value (so that the hinting instructions can */
/* properly shift and scale the subglyphs), then extracting the CBox, */
/* which can be eventually converted back to font units. */
/* */
/* Note that the maximum coordinates are exclusive, which means that */
/* one can compute the width and height of the glyph image (be it in */
/* integer or 26.6 pixels) as: */
/* */
/* { */
/* width = bbox.xMax - bbox.xMin; */
/* height = bbox.yMax - bbox.yMin; */
/* } */
/* */
/* Note also that for 26.6 coordinates, if `bbox_mode' is set to */
/* @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, */
/* which corresponds to: */
/* */
/* { */
/* bbox.xMin = FLOOR(bbox.xMin); */
/* bbox.yMin = FLOOR(bbox.yMin); */
/* bbox.xMax = CEILING(bbox.xMax); */
/* bbox.yMax = CEILING(bbox.yMax); */
/* } */
/* */
/* To get the bbox in pixel coordinates, set `bbox_mode' to */
/* @FT_GLYPH_BBOX_TRUNCATE. */
/* */
/* To get the bbox in grid-fitted pixel coordinates, set `bbox_mode' */
/* to @FT_GLYPH_BBOX_PIXELS. */
/* */
FT_EXPORT( void )
FT_Glyph_Get_CBox( FT_Glyph glyph,
FT_UInt bbox_mode,
FT_BBox *acbox );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Glyph_To_Bitmap */
/* */
/* <Description> */
/* Convert a given glyph object to a bitmap glyph object. */
/* */
/* <InOut> */
/* the_glyph :: A pointer to a handle to the target glyph. */
/* */
/* <Input> */
/* render_mode :: An enumeration that describes how the data is */
/* rendered. */
/* */
/* origin :: A pointer to a vector used to translate the glyph */
/* image before rendering. Can be~0 (if no */
/* translation). The origin is expressed in */
/* 26.6 pixels. */
/* */
/* destroy :: A boolean that indicates that the original glyph */
/* image should be destroyed by this function. It is */
/* never destroyed in case of error. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function does nothing if the glyph format isn't scalable. */
/* */
/* The glyph image is translated with the `origin' vector before */
/* rendering. */
/* */
/* The first parameter is a pointer to an @FT_Glyph handle, that will */
/* be _replaced_ by this function (with newly allocated data). */
/* Typically, you would use (omitting error handling): */
/* */
/* */
/* { */
/* FT_Glyph glyph; */
/* FT_BitmapGlyph glyph_bitmap; */
/* */
/* */
/* // load glyph */
/* error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); */
/* */
/* // extract glyph image */
/* error = FT_Get_Glyph( face->glyph, &glyph ); */
/* */
/* // convert to a bitmap (default render mode + destroying old) */
/* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */
/* { */
/* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, */
/* 0, 1 ); */
/* if ( error ) // `glyph' unchanged */
/* ... */
/* } */
/* */
/* // access bitmap content by typecasting */
/* glyph_bitmap = (FT_BitmapGlyph)glyph; */
/* */
/* // do funny stuff with it, like blitting/drawing */
/* ... */
/* */
/* // discard glyph image (bitmap or not) */
/* FT_Done_Glyph( glyph ); */
/* } */
/* */
/* */
/* Here another example, again without error handling: */
/* */
/* */
/* { */
/* FT_Glyph glyphs[MAX_GLYPHS] */
/* */
/* */
/* ... */
/* */
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
/* error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || */
/* FT_Get_Glyph ( face->glyph, &glyph[idx] ); */
/* */
/* ... */
/* */
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
/* { */
/* FT_Glyph bitmap = glyphs[idx]; */
/* */
/* */
/* ... */
/* */
/* // after this call, `bitmap' no longer points into */
/* // the `glyphs' array (and the old value isn't destroyed) */
/* FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); */
/* */
/* ... */
/* */
/* FT_Done_Glyph( bitmap ); */
/* } */
/* */
/* ... */
/* */
/* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
/* FT_Done_Glyph( glyphs[idx] ); */
/* } */
/* */
FT_EXPORT( FT_Error )
FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
FT_Render_Mode render_mode,
FT_Vector* origin,
FT_Bool destroy );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Done_Glyph */
/* */
/* <Description> */
/* Destroy a given glyph. */
/* */
/* <Input> */
/* glyph :: A handle to the target glyph object. */
/* */
FT_EXPORT( void )
FT_Done_Glyph( FT_Glyph glyph );
/* */
/* other helpful functions */
/*************************************************************************/
/* */
/* <Section> */
/* computations */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_Matrix_Multiply */
/* */
/* <Description> */
/* Perform the matrix operation `b = a*b'. */
/* */
/* <Input> */
/* a :: A pointer to matrix `a'. */
/* */
/* <InOut> */
/* b :: A pointer to matrix `b'. */
/* */
/* <Note> */
/* The result is undefined if either `a' or `b' is zero. */
/* */
FT_EXPORT( void )
FT_Matrix_Multiply( const FT_Matrix* a,
FT_Matrix* b );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Matrix_Invert */
/* */
/* <Description> */
/* Invert a 2x2 matrix. Return an error if it can't be inverted. */
/* */
/* <InOut> */
/* matrix :: A pointer to the target matrix. Remains untouched in */
/* case of error. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix );
/* */
FT_END_HEADER
#endif /* FTGLYPH_H_ */
/* END */
/* Local Variables: */
/* coding: utf-8 */
/* End: */

View File

@@ -1,357 +0,0 @@
/***************************************************************************/
/* */
/* ftgxval.h */
/* */
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
/* */
/* Copyright 2004-2016 by */
/* Masatake YAMATO, Redhat K.K, */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* gxvalid is derived from both gxlayout module and otvalid module. */
/* Development of gxlayout is supported by the Information-technology */
/* Promotion Agency(IPA), Japan. */
/* */
/***************************************************************************/
#ifndef FTGXVAL_H_
#define FTGXVAL_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* gx_validation */
/* */
/* <Title> */
/* TrueTypeGX/AAT Validation */
/* */
/* <Abstract> */
/* An API to validate TrueTypeGX/AAT tables. */
/* */
/* <Description> */
/* This section contains the declaration of functions to validate */
/* some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, */
/* trak, prop, lcar). */
/* */
/* <Order> */
/* FT_TrueTypeGX_Validate */
/* FT_TrueTypeGX_Free */
/* */
/* FT_ClassicKern_Validate */
/* FT_ClassicKern_Free */
/* */
/* FT_VALIDATE_GX_LENGTH */
/* FT_VALIDATE_GXXXX */
/* FT_VALIDATE_CKERNXXX */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* */
/* Warning: Use FT_VALIDATE_XXX to validate a table. */
/* Following definitions are for gxvalid developers. */
/* */
/* */
/*************************************************************************/
#define FT_VALIDATE_feat_INDEX 0
#define FT_VALIDATE_mort_INDEX 1
#define FT_VALIDATE_morx_INDEX 2
#define FT_VALIDATE_bsln_INDEX 3
#define FT_VALIDATE_just_INDEX 4
#define FT_VALIDATE_kern_INDEX 5
#define FT_VALIDATE_opbd_INDEX 6
#define FT_VALIDATE_trak_INDEX 7
#define FT_VALIDATE_prop_INDEX 8
#define FT_VALIDATE_lcar_INDEX 9
#define FT_VALIDATE_GX_LAST_INDEX FT_VALIDATE_lcar_INDEX
/*************************************************************************
*
* @macro:
* FT_VALIDATE_GX_LENGTH
*
* @description:
* The number of tables checked in this module. Use it as a parameter
* for the `table-length' argument of function @FT_TrueTypeGX_Validate.
*/
#define FT_VALIDATE_GX_LENGTH (FT_VALIDATE_GX_LAST_INDEX + 1)
/* */
/* Up to 0x1000 is used by otvalid.
Ox2xxx is reserved for feature OT extension. */
#define FT_VALIDATE_GX_START 0x4000
#define FT_VALIDATE_GX_BITFIELD( tag ) \
( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX )
/**********************************************************************
*
* @enum:
* FT_VALIDATE_GXXXX
*
* @description:
* A list of bit-field constants used with @FT_TrueTypeGX_Validate to
* indicate which TrueTypeGX/AAT Type tables should be validated.
*
* @values:
* FT_VALIDATE_feat ::
* Validate `feat' table.
*
* FT_VALIDATE_mort ::
* Validate `mort' table.
*
* FT_VALIDATE_morx ::
* Validate `morx' table.
*
* FT_VALIDATE_bsln ::
* Validate `bsln' table.
*
* FT_VALIDATE_just ::
* Validate `just' table.
*
* FT_VALIDATE_kern ::
* Validate `kern' table.
*
* FT_VALIDATE_opbd ::
* Validate `opbd' table.
*
* FT_VALIDATE_trak ::
* Validate `trak' table.
*
* FT_VALIDATE_prop ::
* Validate `prop' table.
*
* FT_VALIDATE_lcar ::
* Validate `lcar' table.
*
* FT_VALIDATE_GX ::
* Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern,
* opbd, trak, prop and lcar).
*
*/
#define FT_VALIDATE_feat FT_VALIDATE_GX_BITFIELD( feat )
#define FT_VALIDATE_mort FT_VALIDATE_GX_BITFIELD( mort )
#define FT_VALIDATE_morx FT_VALIDATE_GX_BITFIELD( morx )
#define FT_VALIDATE_bsln FT_VALIDATE_GX_BITFIELD( bsln )
#define FT_VALIDATE_just FT_VALIDATE_GX_BITFIELD( just )
#define FT_VALIDATE_kern FT_VALIDATE_GX_BITFIELD( kern )
#define FT_VALIDATE_opbd FT_VALIDATE_GX_BITFIELD( opbd )
#define FT_VALIDATE_trak FT_VALIDATE_GX_BITFIELD( trak )
#define FT_VALIDATE_prop FT_VALIDATE_GX_BITFIELD( prop )
#define FT_VALIDATE_lcar FT_VALIDATE_GX_BITFIELD( lcar )
#define FT_VALIDATE_GX ( FT_VALIDATE_feat | \
FT_VALIDATE_mort | \
FT_VALIDATE_morx | \
FT_VALIDATE_bsln | \
FT_VALIDATE_just | \
FT_VALIDATE_kern | \
FT_VALIDATE_opbd | \
FT_VALIDATE_trak | \
FT_VALIDATE_prop | \
FT_VALIDATE_lcar )
/**********************************************************************
*
* @function:
* FT_TrueTypeGX_Validate
*
* @description:
* Validate various TrueTypeGX tables to assure that all offsets and
* indices are valid. The idea is that a higher-level library that
* actually does the text layout can access those tables without
* error checking (which can be quite time consuming).
*
* @input:
* face ::
* A handle to the input face.
*
* validation_flags ::
* A bit field that specifies the tables to be validated. See
* @FT_VALIDATE_GXXXX for possible values.
*
* table_length ::
* The size of the `tables' array. Normally, @FT_VALIDATE_GX_LENGTH
* should be passed.
*
* @output:
* tables ::
* The array where all validated sfnt tables are stored.
* The array itself must be allocated by a client.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function only works with TrueTypeGX fonts, returning an error
* otherwise.
*
* After use, the application should deallocate the buffers pointed to by
* each `tables' element, by calling @FT_TrueTypeGX_Free. A NULL value
* indicates that the table either doesn't exist in the font, the
* application hasn't asked for validation, or the validator doesn't have
* the ability to validate the sfnt table.
*/
FT_EXPORT( FT_Error )
FT_TrueTypeGX_Validate( FT_Face face,
FT_UInt validation_flags,
FT_Bytes tables[FT_VALIDATE_GX_LENGTH],
FT_UInt table_length );
/**********************************************************************
*
* @function:
* FT_TrueTypeGX_Free
*
* @description:
* Free the buffer allocated by TrueTypeGX validator.
*
* @input:
* face ::
* A handle to the input face.
*
* table ::
* The pointer to the buffer allocated by
* @FT_TrueTypeGX_Validate.
*
* @note:
* This function must be used to free the buffer allocated by
* @FT_TrueTypeGX_Validate only.
*/
FT_EXPORT( void )
FT_TrueTypeGX_Free( FT_Face face,
FT_Bytes table );
/**********************************************************************
*
* @enum:
* FT_VALIDATE_CKERNXXX
*
* @description:
* A list of bit-field constants used with @FT_ClassicKern_Validate
* to indicate the classic kern dialect or dialects. If the selected
* type doesn't fit, @FT_ClassicKern_Validate regards the table as
* invalid.
*
* @values:
* FT_VALIDATE_MS ::
* Handle the `kern' table as a classic Microsoft kern table.
*
* FT_VALIDATE_APPLE ::
* Handle the `kern' table as a classic Apple kern table.
*
* FT_VALIDATE_CKERN ::
* Handle the `kern' as either classic Apple or Microsoft kern table.
*/
#define FT_VALIDATE_MS ( FT_VALIDATE_GX_START << 0 )
#define FT_VALIDATE_APPLE ( FT_VALIDATE_GX_START << 1 )
#define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
/**********************************************************************
*
* @function:
* FT_ClassicKern_Validate
*
* @description:
* Validate classic (16-bit format) kern table to assure that the offsets
* and indices are valid. The idea is that a higher-level library that
* actually does the text layout can access those tables without error
* checking (which can be quite time consuming).
*
* The `kern' table validator in @FT_TrueTypeGX_Validate deals with both
* the new 32-bit format and the classic 16-bit format, while
* FT_ClassicKern_Validate only supports the classic 16-bit format.
*
* @input:
* face ::
* A handle to the input face.
*
* validation_flags ::
* A bit field that specifies the dialect to be validated. See
* @FT_VALIDATE_CKERNXXX for possible values.
*
* @output:
* ckern_table ::
* A pointer to the kern table.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* After use, the application should deallocate the buffers pointed to by
* `ckern_table', by calling @FT_ClassicKern_Free. A NULL value
* indicates that the table doesn't exist in the font.
*/
FT_EXPORT( FT_Error )
FT_ClassicKern_Validate( FT_Face face,
FT_UInt validation_flags,
FT_Bytes *ckern_table );
/**********************************************************************
*
* @function:
* FT_ClassicKern_Free
*
* @description:
* Free the buffer allocated by classic Kern validator.
*
* @input:
* face ::
* A handle to the input face.
*
* table ::
* The pointer to the buffer that is allocated by
* @FT_ClassicKern_Validate.
*
* @note:
* This function must be used to free the buffer allocated by
* @FT_ClassicKern_Validate only.
*/
FT_EXPORT( void )
FT_ClassicKern_Free( FT_Face face,
FT_Bytes table );
/* */
FT_END_HEADER
#endif /* FTGXVAL_H_ */
/* END */

View File

@@ -1,148 +0,0 @@
/***************************************************************************/
/* */
/* ftgzip.h */
/* */
/* Gzip-compressed stream support. */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTGZIP_H_
#define FTGZIP_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* gzip */
/* */
/* <Title> */
/* GZIP Streams */
/* */
/* <Abstract> */
/* Using gzip-compressed font files. */
/* */
/* <Description> */
/* This section contains the declaration of Gzip-specific functions. */
/* */
/*************************************************************************/
/************************************************************************
*
* @function:
* FT_Stream_OpenGzip
*
* @description:
* Open a new stream to parse gzip-compressed font files. This is
* mainly used to support the compressed `*.pcf.gz' fonts that come
* with XFree86.
*
* @input:
* stream ::
* The target embedding stream.
*
* source ::
* The source stream.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* The source stream must be opened _before_ calling this function.
*
* Calling the internal function `FT_Stream_Close' on the new stream will
* *not* call `FT_Stream_Close' on the source stream. None of the stream
* objects will be released to the heap.
*
* The stream implementation is very basic and resets the decompression
* process each time seeking backwards is needed within the stream.
*
* In certain builds of the library, gzip compression recognition is
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
* This means that if no font driver is capable of handling the raw
* compressed file, the library will try to open a gzipped stream from
* it and re-open the face with it.
*
* This function may return `FT_Err_Unimplemented_Feature' if your build
* of FreeType was not compiled with zlib support.
*/
FT_EXPORT( FT_Error )
FT_Stream_OpenGzip( FT_Stream stream,
FT_Stream source );
/************************************************************************
*
* @function:
* FT_Gzip_Uncompress
*
* @description:
* Decompress a zipped input buffer into an output buffer. This function
* is modeled after zlib's `uncompress' function.
*
* @input:
* memory ::
* A FreeType memory handle.
*
* input ::
* The input buffer.
*
* input_len ::
* The length of the input buffer.
*
* @output:
* output::
* The output buffer.
*
* @inout:
* output_len ::
* Before calling the function, this is the total size of the output
* buffer, which must be large enough to hold the entire uncompressed
* data (so the size of the uncompressed data must be known in
* advance). After calling the function, `output_len' is the size of
* the used data in `output'.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This function may return `FT_Err_Unimplemented_Feature' if your build
* of FreeType was not compiled with zlib support.
*/
FT_EXPORT( FT_Error )
FT_Gzip_Uncompress( FT_Memory memory,
FT_Byte* output,
FT_ULong* output_len,
const FT_Byte* input,
FT_ULong input_len );
/* */
FT_END_HEADER
#endif /* FTGZIP_H_ */
/* END */

File diff suppressed because it is too large Load Diff

View File

@@ -1,354 +0,0 @@
/***************************************************************************/
/* */
/* ftincrem.h */
/* */
/* FreeType incremental loading (specification). */
/* */
/* Copyright 2002-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTINCREM_H_
#define FTINCREM_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/***************************************************************************
*
* @section:
* incremental
*
* @title:
* Incremental Loading
*
* @abstract:
* Custom Glyph Loading.
*
* @description:
* This section contains various functions used to perform so-called
* `incremental' glyph loading. This is a mode where all glyphs loaded
* from a given @FT_Face are provided by the client application.
*
* Apart from that, all other tables are loaded normally from the font
* file. This mode is useful when FreeType is used within another
* engine, e.g., a PostScript Imaging Processor.
*
* To enable this mode, you must use @FT_Open_Face, passing an
* @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
* @FT_Incremental_Interface value. See the comments for
* @FT_Incremental_InterfaceRec for an example.
*
*/
/***************************************************************************
*
* @type:
* FT_Incremental
*
* @description:
* An opaque type describing a user-provided object used to implement
* `incremental' glyph loading within FreeType. This is used to support
* embedded fonts in certain environments (e.g., PostScript interpreters),
* where the glyph data isn't in the font file, or must be overridden by
* different values.
*
* @note:
* It is up to client applications to create and implement @FT_Incremental
* objects, as long as they provide implementations for the methods
* @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc
* and @FT_Incremental_GetGlyphMetricsFunc.
*
* See the description of @FT_Incremental_InterfaceRec to understand how
* to use incremental objects with FreeType.
*
*/
typedef struct FT_IncrementalRec_* FT_Incremental;
/***************************************************************************
*
* @struct:
* FT_Incremental_MetricsRec
*
* @description:
* A small structure used to contain the basic glyph metrics returned
* by the @FT_Incremental_GetGlyphMetricsFunc method.
*
* @fields:
* bearing_x ::
* Left bearing, in font units.
*
* bearing_y ::
* Top bearing, in font units.
*
* advance ::
* Horizontal component of glyph advance, in font units.
*
* advance_v ::
* Vertical component of glyph advance, in font units.
*
* @note:
* These correspond to horizontal or vertical metrics depending on the
* value of the `vertical' argument to the function
* @FT_Incremental_GetGlyphMetricsFunc.
*
*/
typedef struct FT_Incremental_MetricsRec_
{
FT_Long bearing_x;
FT_Long bearing_y;
FT_Long advance;
FT_Long advance_v; /* since 2.3.12 */
} FT_Incremental_MetricsRec;
/***************************************************************************
*
* @struct:
* FT_Incremental_Metrics
*
* @description:
* A handle to an @FT_Incremental_MetricsRec structure.
*
*/
typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics;
/***************************************************************************
*
* @type:
* FT_Incremental_GetGlyphDataFunc
*
* @description:
* A function called by FreeType to access a given glyph's data bytes
* during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
* enabled.
*
* Note that the format of the glyph's data bytes depends on the font
* file format. For TrueType, it must correspond to the raw bytes within
* the `glyf' table. For PostScript formats, it must correspond to the
* *unencrypted* charstring bytes, without any `lenIV' header. It is
* undefined for any other format.
*
* @input:
* incremental ::
* Handle to an opaque @FT_Incremental handle provided by the client
* application.
*
* glyph_index ::
* Index of relevant glyph.
*
* @output:
* adata ::
* A structure describing the returned glyph data bytes (which will be
* accessed as a read-only byte block).
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* If this function returns successfully the method
* @FT_Incremental_FreeGlyphDataFunc will be called later to release
* the data bytes.
*
* Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
* compound glyphs.
*
*/
typedef FT_Error
(*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Data* adata );
/***************************************************************************
*
* @type:
* FT_Incremental_FreeGlyphDataFunc
*
* @description:
* A function used to release the glyph data bytes returned by a
* successful call to @FT_Incremental_GetGlyphDataFunc.
*
* @input:
* incremental ::
* A handle to an opaque @FT_Incremental handle provided by the client
* application.
*
* data ::
* A structure describing the glyph data bytes (which will be accessed
* as a read-only byte block).
*
*/
typedef void
(*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental,
FT_Data* data );
/***************************************************************************
*
* @type:
* FT_Incremental_GetGlyphMetricsFunc
*
* @description:
* A function used to retrieve the basic metrics of a given glyph index
* before accessing its data. This is necessary because, in certain
* formats like TrueType, the metrics are stored in a different place from
* the glyph images proper.
*
* @input:
* incremental ::
* A handle to an opaque @FT_Incremental handle provided by the client
* application.
*
* glyph_index ::
* Index of relevant glyph.
*
* vertical ::
* If true, return vertical metrics.
*
* ametrics ::
* This parameter is used for both input and output.
* The original glyph metrics, if any, in font units. If metrics are
* not available all the values must be set to zero.
*
* @output:
* ametrics ::
* The replacement glyph metrics in font units.
*
*/
typedef FT_Error
(*FT_Incremental_GetGlyphMetricsFunc)
( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Bool vertical,
FT_Incremental_MetricsRec *ametrics );
/**************************************************************************
*
* @struct:
* FT_Incremental_FuncsRec
*
* @description:
* A table of functions for accessing fonts that load data
* incrementally. Used in @FT_Incremental_InterfaceRec.
*
* @fields:
* get_glyph_data ::
* The function to get glyph data. Must not be null.
*
* free_glyph_data ::
* The function to release glyph data. Must not be null.
*
* get_glyph_metrics ::
* The function to get glyph metrics. May be null if the font does
* not provide overriding glyph metrics.
*
*/
typedef struct FT_Incremental_FuncsRec_
{
FT_Incremental_GetGlyphDataFunc get_glyph_data;
FT_Incremental_FreeGlyphDataFunc free_glyph_data;
FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics;
} FT_Incremental_FuncsRec;
/***************************************************************************
*
* @struct:
* FT_Incremental_InterfaceRec
*
* @description:
* A structure to be used with @FT_Open_Face to indicate that the user
* wants to support incremental glyph loading. You should use it with
* @FT_PARAM_TAG_INCREMENTAL as in the following example:
*
* {
* FT_Incremental_InterfaceRec inc_int;
* FT_Parameter parameter;
* FT_Open_Args open_args;
*
*
* // set up incremental descriptor
* inc_int.funcs = my_funcs;
* inc_int.object = my_object;
*
* // set up optional parameter
* parameter.tag = FT_PARAM_TAG_INCREMENTAL;
* parameter.data = &inc_int;
*
* // set up FT_Open_Args structure
* open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
* open_args.pathname = my_font_pathname;
* open_args.num_params = 1;
* open_args.params = &parameter; // we use one optional argument
*
* // open the font
* error = FT_Open_Face( library, &open_args, index, &face );
* ...
* }
*
*/
typedef struct FT_Incremental_InterfaceRec_
{
const FT_Incremental_FuncsRec* funcs;
FT_Incremental object;
} FT_Incremental_InterfaceRec;
/***************************************************************************
*
* @type:
* FT_Incremental_Interface
*
* @description:
* A pointer to an @FT_Incremental_InterfaceRec structure.
*
*/
typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface;
/***************************************************************************
*
* @constant:
* FT_PARAM_TAG_INCREMENTAL
*
* @description:
* A constant used as the tag of @FT_Parameter structures to indicate
* an incremental loading object to be used by FreeType.
*
*/
#define FT_PARAM_TAG_INCREMENTAL FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
/* */
FT_END_HEADER
#endif /* FTINCREM_H_ */
/* END */

View File

@@ -1,286 +0,0 @@
/***************************************************************************/
/* */
/* ftlcdfil.h */
/* */
/* FreeType API for color filtering of subpixel bitmap glyphs */
/* (specification). */
/* */
/* Copyright 2006-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTLCDFIL_H_
#define FTLCDFIL_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/***************************************************************************
*
* @section:
* lcd_filtering
*
* @title:
* LCD Filtering
*
* @abstract:
* Reduce color fringes of subpixel-rendered bitmaps.
*
* @description:
* Subpixel rendering exploits the color-striped structure of LCD
* pixels, increasing the available resolution in the direction of the
* stripe (usually horizontal RGB) by a factor of~3. Since these
* subpixels are color pixels, using them unfiltered creates severe
* color fringes. Use the @FT_Library_SetLcdFilter API to specify a
* low-pass filter, which is then applied to subpixel-rendered bitmaps
* generated through @FT_Render_Glyph. The filter sacrifices some of
* the higher resolution to reduce color fringes, making the glyph image
* slightly blurrier. Positional improvements will remain.
*
* Note that no filter is active by default, and that this function is
* *not* implemented in default builds of the library. You need to
* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your `ftoption.h' file
* in order to activate it and explicitly call @FT_Library_SetLcdFilter
* to enable it.
*
* A filter should have two properties:
*
* 1) It should be normalized, meaning the sum of the 5~components
* should be 256 (0x100). It is possible to go above or under this
* target sum, however: going under means tossing out contrast, going
* over means invoking clamping and thereby non-linearities that
* increase contrast somewhat at the expense of greater distortion
* and color-fringing. Contrast is better enhanced through stem
* darkening.
*
* 2) It should be color-balanced, meaning a filter `{~a, b, c, b, a~}'
* where a~+ b~=~c. It distributes the computed coverage for one
* subpixel to all subpixels equally, sacrificing some won resolution
* but drastically reducing color-fringing. Positioning improvements
* remain! Note that color-fringing can only really be minimized
* when using a color-balanced filter and alpha-blending the glyph
* onto a surface in linear space; see @FT_Render_Glyph.
*
* Regarding the form, a filter can be a `boxy' filter or a `beveled'
* filter. Boxy filters are sharper but are less forgiving of non-ideal
* gamma curves of a screen (viewing angles!), beveled filters are
* fuzzier but more tolerant.
*
* Examples:
*
* - [0x10 0x40 0x70 0x40 0x10] is beveled and neither balanced nor
* normalized.
*
* - [0x1A 0x33 0x4D 0x33 0x1A] is beveled and balanced but not
* normalized.
*
* - [0x19 0x33 0x66 0x4c 0x19] is beveled and normalized but not
* balanced.
*
* - [0x00 0x4c 0x66 0x4c 0x00] is boxily beveled and normalized but not
* balanced.
*
* - [0x00 0x55 0x56 0x55 0x00] is boxy, normalized, and almost
* balanced.
*
* - [0x08 0x4D 0x56 0x4D 0x08] is beveled, normalized and, almost
* balanced.
*
* The filter affects glyph bitmaps rendered through @FT_Render_Glyph,
* @FT_Load_Glyph, and @FT_Load_Char. It does _not_ affect the output
* of @FT_Outline_Render and @FT_Outline_Get_Bitmap.
*
* If this feature is activated, the dimensions of LCD glyph bitmaps are
* either wider or taller than the dimensions of the corresponding
* outline with regard to the pixel grid. For example, for
* @FT_RENDER_MODE_LCD, the filter adds 3~subpixels to the left, and
* 3~subpixels to the right. The bitmap offset values are adjusted
* accordingly, so clients shouldn't need to modify their layout and
* glyph positioning code when enabling the filter.
*
* It is important to understand that linear alpha blending and gamma
* correction is critical for correctly rendering glyphs onto surfaces
* without artifacts and even more critical when subpixel rendering is
* involved.
*
* Each of the 3~alpha values (subpixels) is independently used to blend
* one color channel. That is, red alpha blends the red channel of the
* text color with the red channel of the background pixel. The
* distribution of density values by the color-balanced filter assumes
* alpha blending is done in linear space; only then color artifacts
* cancel out.
*/
/****************************************************************************
*
* @enum:
* FT_LcdFilter
*
* @description:
* A list of values to identify various types of LCD filters.
*
* @values:
* FT_LCD_FILTER_NONE ::
* Do not perform filtering. When used with subpixel rendering, this
* results in sometimes severe color fringes.
*
* FT_LCD_FILTER_DEFAULT ::
* The default filter reduces color fringes considerably, at the cost
* of a slight blurriness in the output.
*
* It is a beveled, normalized, and color-balanced five-tap filter
* that is more forgiving to screens with non-ideal gamma curves and
* viewing angles. Note that while color-fringing is reduced, it can
* only be minimized by using linear alpha blending and gamma
* correction to render glyphs onto surfaces. The default filter
* weights are [0x08 0x4D 0x56 0x4D 0x08].
*
* FT_LCD_FILTER_LIGHT ::
* The light filter is a variant that is sharper at the cost of
* slightly more color fringes than the default one.
*
* It is a boxy, normalized, and color-balanced three-tap filter that
* is less forgiving to screens with non-ideal gamma curves and
* viewing angles. This filter works best when the rendering system
* uses linear alpha blending and gamma correction to render glyphs
* onto surfaces. The light filter weights are
* [0x00 0x55 0x56 0x55 0x00].
*
* FT_LCD_FILTER_LEGACY ::
* This filter corresponds to the original libXft color filter. It
* provides high contrast output but can exhibit really bad color
* fringes if glyphs are not extremely well hinted to the pixel grid.
* In other words, it only works well if the TrueType bytecode
* interpreter is enabled *and* high-quality hinted fonts are used.
*
* This filter is only provided for comparison purposes, and might be
* disabled or stay unsupported in the future.
*
* FT_LCD_FILTER_LEGACY1 ::
* For historical reasons, the FontConfig library returns a different
* enumeration value for legacy LCD filtering. To make code work that
* (incorrectly) forwards FontConfig's enumeration value to
* @FT_Library_SetLcdFilter without proper mapping, it is thus easiest
* to have another enumeration value, which is completely equal to
* `FT_LCD_FILTER_LEGACY'.
*
* @since:
* 2.3.0 (`FT_LCD_FILTER_LEGACY1' since 2.6.2)
*/
typedef enum FT_LcdFilter_
{
FT_LCD_FILTER_NONE = 0,
FT_LCD_FILTER_DEFAULT = 1,
FT_LCD_FILTER_LIGHT = 2,
FT_LCD_FILTER_LEGACY1 = 3,
FT_LCD_FILTER_LEGACY = 16,
FT_LCD_FILTER_MAX /* do not remove */
} FT_LcdFilter;
/**************************************************************************
*
* @func:
* FT_Library_SetLcdFilter
*
* @description:
* This function is used to apply color filtering to LCD decimated
* bitmaps, like the ones used when calling @FT_Render_Glyph with
* @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V.
*
* @input:
* library ::
* A handle to the target library instance.
*
* filter ::
* The filter type.
*
* You can use @FT_LCD_FILTER_NONE here to disable this feature, or
* @FT_LCD_FILTER_DEFAULT to use a default filter that should work
* well on most LCD screens.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* This feature is always disabled by default. Clients must make an
* explicit call to this function with a `filter' value other than
* @FT_LCD_FILTER_NONE in order to enable it.
*
* Due to *PATENTS* covering subpixel rendering, this function doesn't
* do anything except returning `FT_Err_Unimplemented_Feature' if the
* configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
* defined in your build of the library, which should correspond to all
* default builds of FreeType.
*
* @since:
* 2.3.0
*/
FT_EXPORT( FT_Error )
FT_Library_SetLcdFilter( FT_Library library,
FT_LcdFilter filter );
/**************************************************************************
*
* @func:
* FT_Library_SetLcdFilterWeights
*
* @description:
* This function can be used to enable LCD filter with custom weights,
* instead of using presets in @FT_Library_SetLcdFilter.
*
* @input:
* library ::
* A handle to the target library instance.
*
* weights ::
* A pointer to an array; the function copies the first five bytes and
* uses them to specify the filter weights.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* Due to *PATENTS* covering subpixel rendering, this function doesn't
* do anything except returning `FT_Err_Unimplemented_Feature' if the
* configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
* defined in your build of the library, which should correspond to all
* default builds of FreeType.
*
* @since:
* 2.4.0
*/
FT_EXPORT( FT_Error )
FT_Library_SetLcdFilterWeights( FT_Library library,
unsigned char *weights );
/* */
FT_END_HEADER
#endif /* FTLCDFIL_H_ */
/* END */

View File

@@ -1,276 +0,0 @@
/***************************************************************************/
/* */
/* ftlist.h */
/* */
/* Generic list support for FreeType (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file implements functions relative to list processing. Its */
/* data structures are defined in `freetype.h'. */
/* */
/*************************************************************************/
#ifndef FTLIST_H_
#define FTLIST_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* list_processing */
/* */
/* <Title> */
/* List Processing */
/* */
/* <Abstract> */
/* Simple management of lists. */
/* */
/* <Description> */
/* This section contains various definitions related to list */
/* processing using doubly-linked nodes. */
/* */
/* <Order> */
/* FT_List */
/* FT_ListNode */
/* FT_ListRec */
/* FT_ListNodeRec */
/* */
/* FT_List_Add */
/* FT_List_Insert */
/* FT_List_Find */
/* FT_List_Remove */
/* FT_List_Up */
/* FT_List_Iterate */
/* FT_List_Iterator */
/* FT_List_Finalize */
/* FT_List_Destructor */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Find */
/* */
/* <Description> */
/* Find the list node for a given listed object. */
/* */
/* <Input> */
/* list :: A pointer to the parent list. */
/* data :: The address of the listed object. */
/* */
/* <Return> */
/* List node. NULL if it wasn't found. */
/* */
FT_EXPORT( FT_ListNode )
FT_List_Find( FT_List list,
void* data );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Add */
/* */
/* <Description> */
/* Append an element to the end of a list. */
/* */
/* <InOut> */
/* list :: A pointer to the parent list. */
/* node :: The node to append. */
/* */
FT_EXPORT( void )
FT_List_Add( FT_List list,
FT_ListNode node );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Insert */
/* */
/* <Description> */
/* Insert an element at the head of a list. */
/* */
/* <InOut> */
/* list :: A pointer to parent list. */
/* node :: The node to insert. */
/* */
FT_EXPORT( void )
FT_List_Insert( FT_List list,
FT_ListNode node );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Remove */
/* */
/* <Description> */
/* Remove a node from a list. This function doesn't check whether */
/* the node is in the list! */
/* */
/* <Input> */
/* node :: The node to remove. */
/* */
/* <InOut> */
/* list :: A pointer to the parent list. */
/* */
FT_EXPORT( void )
FT_List_Remove( FT_List list,
FT_ListNode node );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Up */
/* */
/* <Description> */
/* Move a node to the head/top of a list. Used to maintain LRU */
/* lists. */
/* */
/* <InOut> */
/* list :: A pointer to the parent list. */
/* node :: The node to move. */
/* */
FT_EXPORT( void )
FT_List_Up( FT_List list,
FT_ListNode node );
/*************************************************************************/
/* */
/* <FuncType> */
/* FT_List_Iterator */
/* */
/* <Description> */
/* An FT_List iterator function that is called during a list parse */
/* by @FT_List_Iterate. */
/* */
/* <Input> */
/* node :: The current iteration list node. */
/* */
/* user :: A typeless pointer passed to @FT_List_Iterate. */
/* Can be used to point to the iteration's state. */
/* */
typedef FT_Error
(*FT_List_Iterator)( FT_ListNode node,
void* user );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Iterate */
/* */
/* <Description> */
/* Parse a list and calls a given iterator function on each element. */
/* Note that parsing is stopped as soon as one of the iterator calls */
/* returns a non-zero value. */
/* */
/* <Input> */
/* list :: A handle to the list. */
/* iterator :: An iterator function, called on each node of the list. */
/* user :: A user-supplied field that is passed as the second */
/* argument to the iterator. */
/* */
/* <Return> */
/* The result (a FreeType error code) of the last iterator call. */
/* */
FT_EXPORT( FT_Error )
FT_List_Iterate( FT_List list,
FT_List_Iterator iterator,
void* user );
/*************************************************************************/
/* */
/* <FuncType> */
/* FT_List_Destructor */
/* */
/* <Description> */
/* An @FT_List iterator function that is called during a list */
/* finalization by @FT_List_Finalize to destroy all elements in a */
/* given list. */
/* */
/* <Input> */
/* system :: The current system object. */
/* */
/* data :: The current object to destroy. */
/* */
/* user :: A typeless pointer passed to @FT_List_Iterate. It can */
/* be used to point to the iteration's state. */
/* */
typedef void
(*FT_List_Destructor)( FT_Memory memory,
void* data,
void* user );
/*************************************************************************/
/* */
/* <Function> */
/* FT_List_Finalize */
/* */
/* <Description> */
/* Destroy all elements in the list as well as the list itself. */
/* */
/* <Input> */
/* list :: A handle to the list. */
/* */
/* destroy :: A list destructor that will be applied to each element */
/* of the list. Set this to NULL if not needed. */
/* */
/* memory :: The current memory object that handles deallocation. */
/* */
/* user :: A user-supplied field that is passed as the last */
/* argument to the destructor. */
/* */
/* <Note> */
/* This function expects that all nodes added by @FT_List_Add or */
/* @FT_List_Insert have been dynamically allocated. */
/* */
FT_EXPORT( void )
FT_List_Finalize( FT_List list,
FT_List_Destructor destroy,
FT_Memory memory,
void* user );
/* */
FT_END_HEADER
#endif /* FTLIST_H_ */
/* END */

View File

@@ -1,99 +0,0 @@
/***************************************************************************/
/* */
/* ftlzw.h */
/* */
/* LZW-compressed stream support. */
/* */
/* Copyright 2004-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTLZW_H_
#define FTLZW_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* lzw */
/* */
/* <Title> */
/* LZW Streams */
/* */
/* <Abstract> */
/* Using LZW-compressed font files. */
/* */
/* <Description> */
/* This section contains the declaration of LZW-specific functions. */
/* */
/*************************************************************************/
/************************************************************************
*
* @function:
* FT_Stream_OpenLZW
*
* @description:
* Open a new stream to parse LZW-compressed font files. This is
* mainly used to support the compressed `*.pcf.Z' fonts that come
* with XFree86.
*
* @input:
* stream :: The target embedding stream.
*
* source :: The source stream.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* The source stream must be opened _before_ calling this function.
*
* Calling the internal function `FT_Stream_Close' on the new stream will
* *not* call `FT_Stream_Close' on the source stream. None of the stream
* objects will be released to the heap.
*
* The stream implementation is very basic and resets the decompression
* process each time seeking backwards is needed within the stream
*
* In certain builds of the library, LZW compression recognition is
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
* This means that if no font driver is capable of handling the raw
* compressed file, the library will try to open a LZW stream from it
* and re-open the face with it.
*
* This function may return `FT_Err_Unimplemented_Feature' if your build
* of FreeType was not compiled with LZW support.
*/
FT_EXPORT( FT_Error )
FT_Stream_OpenLZW( FT_Stream stream,
FT_Stream source );
/* */
FT_END_HEADER
#endif /* FTLZW_H_ */
/* END */

View File

@@ -1,274 +0,0 @@
/***************************************************************************/
/* */
/* ftmac.h */
/* */
/* Additional Mac-specific API. */
/* */
/* Copyright 1996-2016 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/***************************************************************************/
/* */
/* NOTE: Include this file after FT_FREETYPE_H and after any */
/* Mac-specific headers (because this header uses Mac types such as */
/* Handle, FSSpec, FSRef, etc.) */
/* */
/***************************************************************************/
#ifndef FTMAC_H_
#define FTMAC_H_
#include <ft2build.h>
FT_BEGIN_HEADER
/* gcc-3.4.1 and later can warn about functions tagged as deprecated */
#ifndef FT_DEPRECATED_ATTRIBUTE
#if defined(__GNUC__) && \
((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
#define FT_DEPRECATED_ATTRIBUTE __attribute__((deprecated))
#else
#define FT_DEPRECATED_ATTRIBUTE
#endif
#endif
/*************************************************************************/
/* */
/* <Section> */
/* mac_specific */
/* */
/* <Title> */
/* Mac Specific Interface */
/* */
/* <Abstract> */
/* Only available on the Macintosh. */
/* */
/* <Description> */
/* The following definitions are only available if FreeType is */
/* compiled on a Macintosh. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
/* FT_New_Face_From_FOND */
/* */
/* <Description> */
/* Create a new face object from a FOND resource. */
/* */
/* <InOut> */
/* library :: A handle to the library resource. */
/* */
/* <Input> */
/* fond :: A FOND resource. */
/* */
/* face_index :: Only supported for the -1 `sanity check' special */
/* case. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Notes> */
/* This function can be used to create @FT_Face objects from fonts */
/* that are installed in the system as follows. */
/* */
/* { */
/* fond = GetResource( 'FOND', fontName ); */
/* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */
/* } */
/* */
FT_EXPORT( FT_Error )
FT_New_Face_From_FOND( FT_Library library,
Handle fond,
FT_Long face_index,
FT_Face *aface )
FT_DEPRECATED_ATTRIBUTE;
/*************************************************************************/
/* */
/* <Function> */
/* FT_GetFile_From_Mac_Name */
/* */
/* <Description> */
/* Return an FSSpec for the disk file containing the named font. */
/* */
/* <Input> */
/* fontName :: Mac OS name of the font (e.g., Times New Roman */
/* Bold). */
/* */
/* <Output> */
/* pathSpec :: FSSpec to the file. For passing to */
/* @FT_New_Face_From_FSSpec. */
/* */
/* face_index :: Index of the face. For passing to */
/* @FT_New_Face_From_FSSpec. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_Name( const char* fontName,
FSSpec* pathSpec,
FT_Long* face_index )
FT_DEPRECATED_ATTRIBUTE;
/*************************************************************************/
/* */
/* <Function> */
/* FT_GetFile_From_Mac_ATS_Name */
/* */
/* <Description> */
/* Return an FSSpec for the disk file containing the named font. */
/* */
/* <Input> */
/* fontName :: Mac OS name of the font in ATS framework. */
/* */
/* <Output> */
/* pathSpec :: FSSpec to the file. For passing to */
/* @FT_New_Face_From_FSSpec. */
/* */
/* face_index :: Index of the face. For passing to */
/* @FT_New_Face_From_FSSpec. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_ATS_Name( const char* fontName,
FSSpec* pathSpec,
FT_Long* face_index )
FT_DEPRECATED_ATTRIBUTE;
/*************************************************************************/
/* */
/* <Function> */
/* FT_GetFilePath_From_Mac_ATS_Name */
/* */
/* <Description> */
/* Return a pathname of the disk file and face index for given font */
/* name that is handled by ATS framework. */
/* */
/* <Input> */
/* fontName :: Mac OS name of the font in ATS framework. */
/* */
/* <Output> */
/* path :: Buffer to store pathname of the file. For passing */
/* to @FT_New_Face. The client must allocate this */
/* buffer before calling this function. */
/* */
/* maxPathSize :: Lengths of the buffer `path' that client allocated. */
/* */
/* face_index :: Index of the face. For passing to @FT_New_Face. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFilePath_From_Mac_ATS_Name( const char* fontName,
UInt8* path,
UInt32 maxPathSize,
FT_Long* face_index )
FT_DEPRECATED_ATTRIBUTE;
/*************************************************************************/
/* */
/* <Function> */
/* FT_New_Face_From_FSSpec */
/* */
/* <Description> */
/* Create a new face object from a given resource and typeface index */
/* using an FSSpec to the font file. */
/* */
/* <InOut> */
/* library :: A handle to the library resource. */
/* */
/* <Input> */
/* spec :: FSSpec to the font file. */
/* */
/* face_index :: The index of the face within the resource. The */
/* first face has index~0. */
/* <Output> */
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */
/* it accepts an FSSpec instead of a path. */
/* */
FT_EXPORT( FT_Error )
FT_New_Face_From_FSSpec( FT_Library library,
const FSSpec *spec,
FT_Long face_index,
FT_Face *aface )
FT_DEPRECATED_ATTRIBUTE;
/*************************************************************************/
/* */
/* <Function> */
/* FT_New_Face_From_FSRef */
/* */
/* <Description> */
/* Create a new face object from a given resource and typeface index */
/* using an FSRef to the font file. */
/* */
/* <InOut> */
/* library :: A handle to the library resource. */
/* */
/* <Input> */
/* spec :: FSRef to the font file. */
/* */
/* face_index :: The index of the face within the resource. The */
/* first face has index~0. */
/* <Output> */
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */
/* it accepts an FSRef instead of a path. */
/* */
FT_EXPORT( FT_Error )
FT_New_Face_From_FSRef( FT_Library library,
const FSRef *ref,
FT_Long face_index,
FT_Face *aface )
FT_DEPRECATED_ATTRIBUTE;
/* */
FT_END_HEADER
#endif /* FTMAC_H_ */
/* END */

View File

@@ -1,388 +0,0 @@
/***************************************************************************/
/* */
/* ftmm.h */
/* */
/* FreeType Multiple Master font interface (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTMM_H_
#define FTMM_H_
#include <ft2build.h>
#include FT_TYPE1_TABLES_H
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* multiple_masters */
/* */
/* <Title> */
/* Multiple Masters */
/* */
/* <Abstract> */
/* How to manage Multiple Masters fonts. */
/* */
/* <Description> */
/* The following types and functions are used to manage Multiple */
/* Master fonts, i.e., the selection of specific design instances by */
/* setting design axis coordinates. */
/* */
/* George Williams has extended this interface to make it work with */
/* both Type~1 Multiple Masters fonts and GX distortable (var) */
/* fonts. Some of these routines only work with MM fonts, others */
/* will work with both types. They are similar enough that a */
/* consistent interface makes sense. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Struct> */
/* FT_MM_Axis */
/* */
/* <Description> */
/* A simple structure used to model a given axis in design space for */
/* Multiple Masters fonts. */
/* */
/* This structure can't be used for GX var fonts. */
/* */
/* <Fields> */
/* name :: The axis's name. */
/* */
/* minimum :: The axis's minimum design coordinate. */
/* */
/* maximum :: The axis's maximum design coordinate. */
/* */
typedef struct FT_MM_Axis_
{
FT_String* name;
FT_Long minimum;
FT_Long maximum;
} FT_MM_Axis;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_Multi_Master */
/* */
/* <Description> */
/* A structure used to model the axes and space of a Multiple Masters */
/* font. */
/* */
/* This structure can't be used for GX var fonts. */
/* */
/* <Fields> */
/* num_axis :: Number of axes. Cannot exceed~4. */
/* */
/* num_designs :: Number of designs; should be normally 2^num_axis */
/* even though the Type~1 specification strangely */
/* allows for intermediate designs to be present. */
/* This number cannot exceed~16. */
/* */
/* axis :: A table of axis descriptors. */
/* */
typedef struct FT_Multi_Master_
{
FT_UInt num_axis;
FT_UInt num_designs;
FT_MM_Axis axis[T1_MAX_MM_AXIS];
} FT_Multi_Master;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_Var_Axis */
/* */
/* <Description> */
/* A simple structure used to model a given axis in design space for */
/* Multiple Masters and GX var fonts. */
/* */
/* <Fields> */
/* name :: The axis's name. */
/* Not always meaningful for GX. */
/* */
/* minimum :: The axis's minimum design coordinate. */
/* */
/* def :: The axis's default design coordinate. */
/* FreeType computes meaningful default values for MM; it */
/* is then an integer value, not in 16.16 format. */
/* */
/* maximum :: The axis's maximum design coordinate. */
/* */
/* tag :: The axis's tag (the GX equivalent to `name'). */
/* FreeType provides default values for MM if possible. */
/* */
/* strid :: The entry in `name' table (another GX version of */
/* `name'). */
/* Not meaningful for MM. */
/* */
typedef struct FT_Var_Axis_
{
FT_String* name;
FT_Fixed minimum;
FT_Fixed def;
FT_Fixed maximum;
FT_ULong tag;
FT_UInt strid;
} FT_Var_Axis;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_Var_Named_Style */
/* */
/* <Description> */
/* A simple structure used to model a named style in a GX var font. */
/* */
/* This structure can't be used for MM fonts. */
/* */
/* <Fields> */
/* coords :: The design coordinates for this style. */
/* This is an array with one entry for each axis. */
/* */
/* strid :: The entry in `name' table identifying this style. */
/* */
typedef struct FT_Var_Named_Style_
{
FT_Fixed* coords;
FT_UInt strid;
} FT_Var_Named_Style;
/*************************************************************************/
/* */
/* <Struct> */
/* FT_MM_Var */
/* */
/* <Description> */
/* A structure used to model the axes and space of a Multiple Masters */
/* or GX var distortable font. */
/* */
/* Some fields are specific to one format and not to the other. */
/* */
/* <Fields> */
/* num_axis :: The number of axes. The maximum value is~4 for */
/* MM; no limit in GX. */
/* */
/* num_designs :: The number of designs; should be normally */
/* 2^num_axis for MM fonts. Not meaningful for GX */
/* (where every glyph could have a different */
/* number of designs). */
/* */
/* num_namedstyles :: The number of named styles; a `named style' is */
/* a tuple of design coordinates that has a string */
/* ID (in the `name' table) associated with it. */
/* The font can tell the user that, for example, */
/* [Weight=1.5,Width=1.1] is `Bold'. */
/* */
/* For Type 1 Multiple Masters fonts, this value */
/* is always zero because the format does not */
/* support named styles. */
/* */
/* axis :: An axis descriptor table. */
/* GX fonts contain slightly more data than MM. */
/* Memory management of this pointer is done */
/* internally by FreeType. */
/* */
/* namedstyle :: A named style table. */
/* Only meaningful with GX. */
/* Memory management of this pointer is done */
/* internally by FreeType. */
/* */
typedef struct FT_MM_Var_
{
FT_UInt num_axis;
FT_UInt num_designs;
FT_UInt num_namedstyles;
FT_Var_Axis* axis;
FT_Var_Named_Style* namedstyle;
} FT_MM_Var;
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Multi_Master */
/* */
/* <Description> */
/* Retrieve the Multiple Master descriptor of a given font. */
/* */
/* This function can't be used with GX fonts. */
/* */
/* <Input> */
/* face :: A handle to the source face. */
/* */
/* <Output> */
/* amaster :: The Multiple Masters descriptor. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Multi_Master( FT_Face face,
FT_Multi_Master *amaster );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_MM_Var */
/* */
/* <Description> */
/* Retrieve the Multiple Master/GX var descriptor of a given font. */
/* */
/* <Input> */
/* face :: A handle to the source face. */
/* */
/* <Output> */
/* amaster :: The Multiple Masters/GX var descriptor. */
/* Allocates a data structure, which the user must */
/* deallocate with `free' after use. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_MM_Var( FT_Face face,
FT_MM_Var* *amaster );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Set_MM_Design_Coordinates */
/* */
/* <Description> */
/* For Multiple Masters fonts, choose an interpolated font design */
/* through design coordinates. */
/* */
/* This function can't be used with GX fonts. */
/* */
/* <InOut> */
/* face :: A handle to the source face. */
/* */
/* <Input> */
/* num_coords :: The number of available design coordinates. If it */
/* is larger than the number of axes, ignore the excess */
/* values. If it is smaller than the number of axes, */
/* use default values for the remaining axes. */
/* */
/* coords :: An array of design coordinates. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Design_Coordinates( FT_Face face,
FT_UInt num_coords,
FT_Long* coords );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Set_Var_Design_Coordinates */
/* */
/* <Description> */
/* For Multiple Master or GX Var fonts, choose an interpolated font */
/* design through design coordinates. */
/* */
/* <InOut> */
/* face :: A handle to the source face. */
/* */
/* <Input> */
/* num_coords :: The number of available design coordinates. If it */
/* is larger than the number of axes, ignore the excess */
/* values. If it is smaller than the number of axes, */
/* use default values for the remaining axes. */
/* */
/* coords :: An array of design coordinates. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Var_Design_Coordinates( FT_Face face,
FT_UInt num_coords,
FT_Fixed* coords );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Set_MM_Blend_Coordinates */
/* */
/* <Description> */
/* For Multiple Masters and GX var fonts, choose an interpolated font */
/* design through normalized blend coordinates. */
/* */
/* <InOut> */
/* face :: A handle to the source face. */
/* */
/* <Input> */
/* num_coords :: The number of available design coordinates. If it */
/* is larger than the number of axes, ignore the excess */
/* values. If it is smaller than the number of axes, */
/* use default values for the remaining axes. */
/* */
/* coords :: The design coordinates array (each element must be */
/* between 0 and 1.0). */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Blend_Coordinates( FT_Face face,
FT_UInt num_coords,
FT_Fixed* coords );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Set_Var_Blend_Coordinates */
/* */
/* <Description> */
/* This is another name of @FT_Set_MM_Blend_Coordinates. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Var_Blend_Coordinates( FT_Face face,
FT_UInt num_coords,
FT_Fixed* coords );
/* */
FT_END_HEADER
#endif /* FTMM_H_ */
/* END */

View File

@@ -1,667 +0,0 @@
/***************************************************************************/
/* */
/* ftmodapi.h */
/* */
/* FreeType modules public interface (specification). */
/* */
/* Copyright 1996-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef FTMODAPI_H_
#define FTMODAPI_H_
#include <ft2build.h>
#include FT_FREETYPE_H
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */
/* module_management */
/* */
/* <Title> */
/* Module Management */
/* */
/* <Abstract> */
/* How to add, upgrade, remove, and control modules from FreeType. */
/* */
/* <Description> */
/* The definitions below are used to manage modules within FreeType. */
/* Modules can be added, upgraded, and removed at runtime. */
/* Additionally, some module properties can be controlled also. */
/* */
/* Here is a list of possible values of the `module_name' field in */
/* the @FT_Module_Class structure. */
/* */
/* { */
/* autofitter */
/* bdf */
/* cff */
/* gxvalid */
/* otvalid */
/* pcf */
/* pfr */
/* psaux */
/* pshinter */
/* psnames */
/* raster1 */
/* sfnt */
/* smooth, smooth-lcd, smooth-lcdv */
/* truetype */
/* type1 */
/* type42 */
/* t1cid */
/* winfonts */
/* } */
/* */
/* Note that the FreeType Cache sub-system is not a FreeType module. */
/* */
/* <Order> */
/* FT_Module */
/* FT_Module_Constructor */
/* FT_Module_Destructor */
/* FT_Module_Requester */
/* FT_Module_Class */
/* */
/* FT_Add_Module */
/* FT_Get_Module */
/* FT_Remove_Module */
/* FT_Add_Default_Modules */
/* */
/* FT_Property_Set */
/* FT_Property_Get */
/* */
/* FT_New_Library */
/* FT_Done_Library */
/* FT_Reference_Library */
/* */
/* FT_Renderer */
/* FT_Renderer_Class */
/* */
/* FT_Get_Renderer */
/* FT_Set_Renderer */
/* */
/* FT_Set_Debug_Hook */
/* */
/*************************************************************************/
/* module bit flags */
#define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */
#define FT_MODULE_RENDERER 2 /* this module is a renderer */
#define FT_MODULE_HINTER 4 /* this module is a glyph hinter */
#define FT_MODULE_STYLER 8 /* this module is a styler */
#define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */
/* scalable fonts */
#define FT_MODULE_DRIVER_NO_OUTLINES 0x200 /* the driver does not */
/* support vector outlines */
#define FT_MODULE_DRIVER_HAS_HINTER 0x400 /* the driver provides its */
/* own hinter */
#define FT_MODULE_DRIVER_HINTS_LIGHTLY 0x800 /* the driver's hinter */
/* produces LIGHT hints */
/* deprecated values */
#define ft_module_font_driver FT_MODULE_FONT_DRIVER
#define ft_module_renderer FT_MODULE_RENDERER
#define ft_module_hinter FT_MODULE_HINTER
#define ft_module_styler FT_MODULE_STYLER
#define ft_module_driver_scalable FT_MODULE_DRIVER_SCALABLE
#define ft_module_driver_no_outlines FT_MODULE_DRIVER_NO_OUTLINES
#define ft_module_driver_has_hinter FT_MODULE_DRIVER_HAS_HINTER
#define ft_module_driver_hints_lightly FT_MODULE_DRIVER_HINTS_LIGHTLY
typedef FT_Pointer FT_Module_Interface;
/*************************************************************************/
/* */
/* <FuncType> */
/* FT_Module_Constructor */
/* */
/* <Description> */
/* A function used to initialize (not create) a new module object. */
/* */
/* <Input> */
/* module :: The module to initialize. */
/* */
typedef FT_Error
(*FT_Module_Constructor)( FT_Module module );
/*************************************************************************/
/* */
/* <FuncType> */
/* FT_Module_Destructor */
/* */
/* <Description> */
/* A function used to finalize (not destroy) a given module object. */
/* */
/* <Input> */
/* module :: The module to finalize. */
/* */
typedef void
(*FT_Module_Destructor)( FT_Module module );
/*************************************************************************/
/* */
/* <FuncType> */
/* FT_Module_Requester */
/* */
/* <Description> */
/* A function used to query a given module for a specific interface. */
/* */
/* <Input> */
/* module :: The module to be searched. */
/* */
/* name :: The name of the interface in the module. */
/* */
typedef FT_Module_Interface
(*FT_Module_Requester)( FT_Module module,
const char* name );
/*************************************************************************/
/* */
/* <Struct> */
/* FT_Module_Class */
/* */
/* <Description> */
/* The module class descriptor. */
/* */
/* <Fields> */
/* module_flags :: Bit flags describing the module. */
/* */
/* module_size :: The size of one module object/instance in */
/* bytes. */
/* */
/* module_name :: The name of the module. */
/* */
/* module_version :: The version, as a 16.16 fixed number */
/* (major.minor). */
/* */
/* module_requires :: The version of FreeType this module requires, */
/* as a 16.16 fixed number (major.minor). Starts */
/* at version 2.0, i.e., 0x20000. */
/* */
/* module_init :: The initializing function. */
/* */
/* module_done :: The finalizing function. */
/* */
/* get_interface :: The interface requesting function. */
/* */
typedef struct FT_Module_Class_
{
FT_ULong module_flags;
FT_Long module_size;
const FT_String* module_name;
FT_Fixed module_version;
FT_Fixed module_requires;
const void* module_interface;
FT_Module_Constructor module_init;
FT_Module_Destructor module_done;
FT_Module_Requester get_interface;
} FT_Module_Class;
/*************************************************************************/
/* */
/* <Function> */
/* FT_Add_Module */
/* */
/* <Description> */
/* Add a new module to a given library instance. */
/* */
/* <InOut> */
/* library :: A handle to the library object. */
/* */
/* <Input> */
/* clazz :: A pointer to class descriptor for the module. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* An error will be returned if a module already exists by that name, */
/* or if the module requires a version of FreeType that is too great. */
/* */
FT_EXPORT( FT_Error )
FT_Add_Module( FT_Library library,
const FT_Module_Class* clazz );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Module */
/* */
/* <Description> */
/* Find a module by its name. */
/* */
/* <Input> */
/* library :: A handle to the library object. */
/* */
/* module_name :: The module's name (as an ASCII string). */
/* */
/* <Return> */
/* A module handle. 0~if none was found. */
/* */
/* <Note> */
/* FreeType's internal modules aren't documented very well, and you */
/* should look up the source code for details. */
/* */
FT_EXPORT( FT_Module )
FT_Get_Module( FT_Library library,
const char* module_name );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Remove_Module */
/* */
/* <Description> */
/* Remove a given module from a library instance. */
/* */
/* <InOut> */
/* library :: A handle to a library object. */
/* */
/* <Input> */
/* module :: A handle to a module object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The module object is destroyed by the function in case of success. */
/* */
FT_EXPORT( FT_Error )
FT_Remove_Module( FT_Library library,
FT_Module module );
/**********************************************************************
*
* @function:
* FT_Property_Set
*
* @description:
* Set a property for a given module.
*
* @input:
* library ::
* A handle to the library the module is part of.
*
* module_name ::
* The module name.
*
* property_name ::
* The property name. Properties are described in the `Synopsis'
* subsection of the module's documentation.
*
* Note that only a few modules have properties.
*
* value ::
* A generic pointer to a variable or structure that gives the new
* value of the property. The exact definition of `value' is
* dependent on the property; see the `Synopsis' subsection of the
* module's documentation.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* If `module_name' isn't a valid module name, or `property_name'
* doesn't specify a valid property, or if `value' doesn't represent a
* valid value for the given property, an error is returned.
*
* The following example sets property `bar' (a simple integer) in
* module `foo' to value~1.
*
* {
* FT_UInt bar;
*
*
* bar = 1;
* FT_Property_Set( library, "foo", "bar", &bar );
* }
*
* Note that the FreeType Cache sub-system doesn't recognize module
* property changes. To avoid glyph lookup confusion within the cache
* you should call @FTC_Manager_Reset to completely flush the cache if
* a module property gets changed after @FTC_Manager_New has been
* called.
*
* It is not possible to set properties of the FreeType Cache
* sub-system itself with FT_Property_Set; use @FTC_Property_Set
* instead.
*
* @since:
* 2.4.11
*
*/
FT_EXPORT( FT_Error )
FT_Property_Set( FT_Library library,
const FT_String* module_name,
const FT_String* property_name,
const void* value );
/**********************************************************************
*
* @function:
* FT_Property_Get
*
* @description:
* Get a module's property value.
*
* @input:
* library ::
* A handle to the library the module is part of.
*
* module_name ::
* The module name.
*
* property_name ::
* The property name. Properties are described in the `Synopsis'
* subsection of the module's documentation.
*
* @inout:
* value ::
* A generic pointer to a variable or structure that gives the
* value of the property. The exact definition of `value' is
* dependent on the property; see the `Synopsis' subsection of the
* module's documentation.
*
* @return:
* FreeType error code. 0~means success.
*
* @note:
* If `module_name' isn't a valid module name, or `property_name'
* doesn't specify a valid property, or if `value' doesn't represent a
* valid value for the given property, an error is returned.
*
* The following example gets property `baz' (a range) in module `foo'.
*
* {
* typedef range_
* {
* FT_Int32 min;
* FT_Int32 max;
*
* } range;
*
* range baz;
*
*
* FT_Property_Get( library, "foo", "baz", &baz );
* }
*
* It is not possible to retrieve properties of the FreeType Cache
* sub-system with FT_Property_Get; use @FTC_Property_Get instead.
*
* @since:
* 2.4.11
*
*/
FT_EXPORT( FT_Error )
FT_Property_Get( FT_Library library,
const FT_String* module_name,
const FT_String* property_name,
void* value );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Reference_Library */
/* */
/* <Description> */
/* A counter gets initialized to~1 at the time an @FT_Library */
/* structure is created. This function increments the counter. */
/* @FT_Done_Library then only destroys a library if the counter is~1, */
/* otherwise it simply decrements the counter. */
/* */
/* This function helps in managing life-cycles of structures that */
/* reference @FT_Library objects. */
/* */
/* <Input> */
/* library :: A handle to a target library object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Since> */
/* 2.4.2 */
/* */
FT_EXPORT( FT_Error )
FT_Reference_Library( FT_Library library );
/*************************************************************************/
/* */
/* <Function> */
/* FT_New_Library */
/* */
/* <Description> */
/* This function is used to create a new FreeType library instance */
/* from a given memory object. It is thus possible to use libraries */
/* with distinct memory allocators within the same program. Note, */
/* however, that the used @FT_Memory structure is expected to remain */
/* valid for the life of the @FT_Library object. */
/* */
/* Normally, you would call this function (followed by a call to */
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */
/* instead of @FT_Init_FreeType to initialize the FreeType library. */
/* */
/* Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a */
/* library instance. */
/* */
/* <Input> */
/* memory :: A handle to the original memory object. */
/* */
/* <Output> */
/* alibrary :: A pointer to handle of a new library object. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* See the discussion of reference counters in the description of */
/* @FT_Reference_Library. */
/* */
FT_EXPORT( FT_Error )
FT_New_Library( FT_Memory memory,
FT_Library *alibrary );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Done_Library */
/* */
/* <Description> */
/* Discard a given library object. This closes all drivers and */
/* discards all resource objects. */
/* */
/* <Input> */
/* library :: A handle to the target library. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* See the discussion of reference counters in the description of */
/* @FT_Reference_Library. */
/* */
FT_EXPORT( FT_Error )
FT_Done_Library( FT_Library library );
/* */
typedef void
(*FT_DebugHook_Func)( void* arg );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Set_Debug_Hook */
/* */
/* <Description> */
/* Set a debug hook function for debugging the interpreter of a font */
/* format. */
/* */
/* <InOut> */
/* library :: A handle to the library object. */
/* */
/* <Input> */
/* hook_index :: The index of the debug hook. You should use the */
/* values defined in `ftobjs.h', e.g., */
/* `FT_DEBUG_HOOK_TRUETYPE'. */
/* */
/* debug_hook :: The function used to debug the interpreter. */
/* */
/* <Note> */
/* Currently, four debug hook slots are available, but only two (for */
/* the TrueType and the Type~1 interpreter) are defined. */
/* */
/* Since the internal headers of FreeType are no longer installed, */
/* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */
/* This is a bug and will be fixed in a forthcoming release. */
/* */
FT_EXPORT( void )
FT_Set_Debug_Hook( FT_Library library,
FT_UInt hook_index,
FT_DebugHook_Func debug_hook );
/*************************************************************************/
/* */
/* <Function> */
/* FT_Add_Default_Modules */
/* */
/* <Description> */
/* Add the set of default drivers to a given library object. */
/* This is only useful when you create a library object with */
/* @FT_New_Library (usually to plug a custom memory manager). */
/* */
/* <InOut> */
/* library :: A handle to a new library object. */
/* */
FT_EXPORT( void )
FT_Add_Default_Modules( FT_Library library );
/**************************************************************************
*
* @section:
* truetype_engine
*
* @title:
* The TrueType Engine
*
* @abstract:
* TrueType bytecode support.
*
* @description:
* This section contains a function used to query the level of TrueType
* bytecode support compiled in this version of the library.
*
*/
/**************************************************************************
*
* @enum:
* FT_TrueTypeEngineType
*
* @description:
* A list of values describing which kind of TrueType bytecode
* engine is implemented in a given FT_Library instance. It is used
* by the @FT_Get_TrueType_Engine_Type function.
*
* @values:
* FT_TRUETYPE_ENGINE_TYPE_NONE ::
* The library doesn't implement any kind of bytecode interpreter.
*
* FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
* Deprecated and removed.
*
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
* The library implements a bytecode interpreter that covers
* the full instruction set of the TrueType virtual machine (this
* was governed by patents until May 2010, hence the name).
*
* @since:
* 2.2
*
*/
typedef enum FT_TrueTypeEngineType_
{
FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
FT_TRUETYPE_ENGINE_TYPE_PATENTED
} FT_TrueTypeEngineType;
/**************************************************************************
*
* @func:
* FT_Get_TrueType_Engine_Type
*
* @description:
* Return an @FT_TrueTypeEngineType value to indicate which level of
* the TrueType virtual machine a given library instance supports.
*
* @input:
* library ::
* A library instance.
*
* @return:
* A value indicating which level is supported.
*
* @since:
* 2.2
*
*/
FT_EXPORT( FT_TrueTypeEngineType )
FT_Get_TrueType_Engine_Type( FT_Library library );
/* */
FT_END_HEADER
#endif /* FTMODAPI_H_ */
/* END */

View File

@@ -1,194 +0,0 @@
/***************************************************************************/
/* */
/* ftmoderr.h */
/* */
/* FreeType module error offsets (specification). */
/* */
/* Copyright 2001-2016 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file is used to define the FreeType module error codes. */
/* */
/* If the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in `ftoption.h' is */
/* set, the lower byte of an error value identifies the error code as */
/* usual. In addition, the higher byte identifies the module. For */
/* example, the error `FT_Err_Invalid_File_Format' has value 0x0003, the */
/* error `TT_Err_Invalid_File_Format' has value 0x1303, the error */
/* `T1_Err_Invalid_File_Format' has value 0x1403, etc. */
/* */
/* Note that `FT_Err_Ok', `TT_Err_Ok', etc. are always equal to zero, */
/* including the high byte. */
/* */
/* If FT_CONFIG_OPTION_USE_MODULE_ERRORS isn't set, the higher byte of */
/* an error value is set to zero. */
/* */
/* To hide the various `XXX_Err_' prefixes in the source code, FreeType */
/* provides some macros in `fttypes.h'. */
/* */
/* FT_ERR( err ) */
/* Add current error module prefix (as defined with the */
/* `FT_ERR_PREFIX' macro) to `err'. For example, in the BDF module */
/* the line */
/* */
/* error = FT_ERR( Invalid_Outline ); */
/* */
/* expands to */
/* */
/* error = BDF_Err_Invalid_Outline; */
/* */
/* For simplicity, you can always use `FT_Err_Ok' directly instead */
/* of `FT_ERR( Ok )'. */
/* */
/* FT_ERR_EQ( errcode, err ) */
/* FT_ERR_NEQ( errcode, err ) */
/* Compare error code `errcode' with the error `err' for equality */
/* and inequality, respectively. Example: */
/* */
/* if ( FT_ERR_EQ( error, Invalid_Outline ) ) */
/* ... */
/* */
/* Using this macro you don't have to think about error prefixes. */
/* Of course, if module errors are not active, the above example is */
/* the same as */
/* */
/* if ( error == FT_Err_Invalid_Outline ) */
/* ... */
/* */
/* FT_ERROR_BASE( errcode ) */
/* FT_ERROR_MODULE( errcode ) */
/* Get base error and module error code, respectively. */
/* */
/* */
/* It can also be used to create a module error message table easily */
/* with something like */
/* */
/* { */
/* #undef FTMODERR_H_ */
/* #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s }, */
/* #define FT_MODERR_START_LIST { */
/* #define FT_MODERR_END_LIST { 0, 0 } }; */
/* */
/* const struct */
/* { */
/* int mod_err_offset; */
/* const char* mod_err_msg */
/* } ft_mod_errors[] = */
/* */
/* #include FT_MODULE_ERRORS_H */
/* } */
/* */
/*************************************************************************/
#ifndef FTMODERR_H_
#define FTMODERR_H_
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** SETUP MACROS *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#undef FT_NEED_EXTERN_C
#ifndef FT_MODERRDEF
#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v,
#else
#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0,
#endif
#define FT_MODERR_START_LIST enum {
#define FT_MODERR_END_LIST FT_Mod_Err_Max };
#ifdef __cplusplus
#define FT_NEED_EXTERN_C
extern "C" {
#endif
#endif /* !FT_MODERRDEF */
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** LIST MODULE ERROR BASES *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#ifdef FT_MODERR_START_LIST
FT_MODERR_START_LIST
#endif
FT_MODERRDEF( Base, 0x000, "base module" )
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
FT_MODERRDEF( BDF, 0x200, "BDF module" )
FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
FT_MODERRDEF( Cache, 0x400, "cache module" )
FT_MODERRDEF( CFF, 0x500, "CFF module" )
FT_MODERRDEF( CID, 0x600, "CID module" )
FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
FT_MODERRDEF( LZW, 0x800, "LZW module" )
FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
FT_MODERRDEF( PCF, 0xA00, "PCF module" )
FT_MODERRDEF( PFR, 0xB00, "PFR module" )
FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
FT_MODERRDEF( Raster, 0xF00, "raster module" )
FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
FT_MODERRDEF( GXvalid, 0x1600, "GX validation module" )
#ifdef FT_MODERR_END_LIST
FT_MODERR_END_LIST
#endif
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** CLEANUP *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#ifdef FT_NEED_EXTERN_C
}
#endif
#undef FT_MODERR_START_LIST
#undef FT_MODERR_END_LIST
#undef FT_MODERRDEF
#undef FT_NEED_EXTERN_C
#endif /* FTMODERR_H_ */
/* END */

Some files were not shown because too many files have changed in this diff Show More