Commit Graph
463 Commits
Author SHA1 Message Date
kichikuou 10b414fb4e sdl_effect: Implement mosaic and crossfade-mosaic 2022-01-23 14:08:23 +09:00
kichikuou d35a24f142 sdl_effect: Implement linear blur effects
Now Gpx and NIGHTDLL are fully migrated to sdl_effect.
2022-01-17 17:41:13 +09:00
kichikuou d945dfe77d sdl_effect: Implement EFFECT_CROSSFADE_{DOWN,UP,LR,RL} 2022-01-17 11:23:22 +09:00
kichikuou a224d89233 Rename sdl_fader to sdl_effect 2022-01-17 09:47:39 +09:00
kichikuou debabaf686 Remove ags_copyArea_whiteLevel() 2022-01-16 22:35:49 +09:00
kichikuou bc97e4c826 sdl_fader: Implement blind effects 2022-01-16 22:05:53 +09:00
kichikuou c4d74d659a sdl_fader: Add fade in/out and white in/out effects
This replaces the existing three separate implementations (CE command,
Gpx, and NIGHTDLL) of these effects with the new one implemented in
sdl_fader.
2022-01-16 15:48:58 +09:00
kichikuou 4daaa5ede5 Use sdl_fader in Gpx.EffectCopy 2022-01-16 11:04:25 +09:00
kichikuou 9ea1a81cc1 Allow more than 256 steps in sdl_fader
Now sdl_fader_step() takes a real number between 0 and 1.
2022-01-15 16:53:32 +09:00
kichikuou 0a1d0a5a76 Refactor sdl_fader.c
Restructured the code in an object-oriented style to make it easier to
add new kinds of faders.
2022-01-04 17:21:01 +09:00
kichikuou 5fefd74d4a Rewrite SACT's rotation effects using sdl_fader
This is much faster since it uses (possibly hardware accelarated) SDL
rendering functions.
2022-01-04 17:20:16 +09:00
kichikuou d03568c3ff Refactor effect enums
Since not all SACT effects can be mapped to CE effects, a third enum
type is needed.
2022-01-04 12:32:10 +09:00
kichikuou 8dc49fee71 Handle SDL_JOYDEVICEADDED event 2022-01-04 10:28:40 +09:00
kichikuou 1b907e904f Enable joystick in all platforms 2022-01-04 10:27:36 +09:00
kichikuou 3ccf59a94e debugger_dap: Foreground xsystem35 window on "continue" request 2022-01-02 08:56:00 +09:00
kichikuou 2f9ce8cec8 debugger_dap: Fix SEGV when deleting breakpoints 2022-01-02 08:56:00 +09:00
kichikuou 3ff022c73e debugger_dap: Ask frontend to restart xsystem35 on sysReset command 2022-01-01 21:47:14 +09:00
kichikuou 2d026c6122 Handle SDL_JOYHATMOTION event 2021-12-30 09:16:52 +09:00
kichikuou e1e1e5cacc Use sdl_fader in SACT 2021-12-12 22:21:20 +09:00
kichikuou d7dd98a8ca Implement polygon mask effects
This implements the hexagram, pentagram, and windmill effects of the CE
command. These were implemented in the (removed) X11 backend, but not in
the SDL backend.

This implementation uses SDL_RenderGeometry() which is added in SDL
2.0.18. If it is not available, these effects will fall back to
crossfade.
2021-12-12 21:39:13 +09:00
kichikuou f11dbc7400 Explicitly set pixel format of sdl_display
This shouldn't have any behavioral changes.
2021-12-12 12:08:07 +09:00
kichikuou 3b52efb752 Remove unused fields in sdl_private_data 2021-12-11 13:53:31 +09:00
kichikuou 91fa4284c4 Use zero-based indexing for string variables
Surprisingly, 0 is a valid index of the string variables (used only in
Ouji-sama Lv1 as far as I know).

The original System 3.x saves str[0] in save files, but we continue to
save from str[1] for save data compatibility.
2021-12-03 10:57:09 +09:00
kichikuou b6cdba145f ags: Initialize alpha plane with 255 (opaque)
This fixes an issue in Ouji-sama Lv1 where the background of the map
was not drawn.
2021-12-03 10:57:09 +09:00
kichikuou d29a764de2 Fix issues with reading DOS-ish playlist file
- Replace backslashes with slashes
- Strip '\r'
2021-11-27 22:43:12 +09:00
kichikuou 0d74454355 Clean up ags.c 2021-11-23 12:56:06 +09:00
kichikuou 1a248ea897 debugger_dap: Add support for warning breakpoints
This adds "warning" exception breakpoint filter type. If it is enabled,
execution stops on WARNING() calls.
2021-11-23 12:49:41 +09:00
kichikuou 8c963f4dcf Simplify fade in/out code 2021-11-20 09:23:48 +09:00
kichikuou 87316495e8 debugger_dap: Respect noDebug Launch parameter
When noDebug: true is set, xsystem35 does not load debug symbols and
does not emit Initialized event.
2021-11-17 20:40:04 +09:00
kichikuou 45b50fe78a ZT counter: wrap around on 16-bit overflow
This behavior matches System 3.9.
2021-11-16 21:37:14 +09:00
kichikuou c31da0fe10 Merge counter.c into cmdz.c 2021-11-16 09:10:07 +09:00
kichikuou 0d376a3d35 Simplify counter.c
This also fixes a compatibility issue of ZT1 and ZT10 when the last
argument isn't zero.
2021-11-15 22:11:04 +09:00
kichikuou ff9710426f Remove internal time counters 2021-11-14 22:12:11 +09:00
kichikuou aa537687c4 Emscripten: Ensure functions in asyncify addlist are not optimized out
Also update emscripten version to 2.0.34.
2021-11-14 17:12:47 +09:00
kichikuou fc3d66195f portmidi: Fix SEGV by accessing flags 2021-11-13 14:09:09 +09:00
kichikuou f7ca54104b portmidi: Use SDL's thread primitives 2021-11-13 13:54:14 +09:00
kichikuou d8513d78e4 rawmidi: Use a background thread rather than a subprocess
This removes the last usage of fork() in xystem35.
2021-11-13 12:51:14 +09:00
kichikuou d0ad06e7c5 Move message-queue functions to msgqueue.[ch] 2021-11-13 12:50:34 +09:00
kichikuou cae31a72d1 Use standard int / bool types in portab.h 2021-11-13 08:16:47 +09:00
kichikuou 1405c8693b Do not use bool as variable name 2021-11-13 07:43:58 +09:00
kichikuou 5c5a71237c debugger_dap: Respect stopOnEntry Launch parameter 2021-11-10 21:34:23 +09:00
kichikuou 0bbb6fbeae Add support for conditional breakpoints 2021-11-07 21:23:40 +09:00
kichikuou f9d753d46a debugger: Implement cali expression evaluator
Now "print" command (CUI) and "evaluate" request (DAP) can use
expressions like "VAR123[VAR12 + VAR23]".
2021-11-07 21:23:35 +09:00
kichikuou 117b81bf86 debugger_dap: Add source location to Output events
So that the user can see where in the scenario the warning occurred.
2021-11-06 15:10:01 +09:00
kichikuou f311ccb15e webp: Skip 'NULL' chunk
When an image is exactly the same as its base image, it has a 4-byte
'NULL' chunk at the end of the file. We simply skip this chunk, without
optimizing the load.
2021-11-06 12:07:07 +09:00
kichikuou fd4c8fb4d3 debugger_dap: Fail to Initialize if debug symbol file is not available 2021-11-06 12:06:57 +09:00
kichikuou 4832b0ab84 debugger_dap: Emit Output event on sys_message 2021-11-06 09:30:45 +09:00
kichikuou 7cb8896685 bgm.sdlmixer.c: Allow non-WAV audio formats
Ogg is used in the MangaGamer version of Rance 5D.
2021-11-03 21:09:07 +09:00
kichikuou 0ecc4edb43 Add webp CG support
Used in the MangaGamer version of Rance 5D.

The logic for the OVER chunk was taken from libsys4.
2021-11-03 21:09:02 +09:00
kichikuou 162bf8dc25 Fix SACT version detection for Rance 5D English version 2021-11-03 12:09:14 +09:00