kichikuou
50d05e5b56
font: Replace stateful font_select() with explicit parameter
...
The font module kept a global "currently selected font" set by
font_select() and implicitly used when drawing. Make it stateless by
introducing a FontSpec {type, weight, size} that font_render_text() /
font_draw_text() and gfx_drawString() take directly.
Make FontWeight a two-valued enum and normalize the 1-9 weight to it
in commandZB().
Removes font_select(), ags_setFont() and ags_setFontWithWeight().
2026-06-24 16:11:49 +09:00
kichikuou
c7c0f69ec4
Split sdl_core.h to event.h and editor.h
...
And rename sdl_event.c to event.c, sdl_input.c to editor.c.
2025-06-11 10:12:25 +09:00
kichikuou
f38a3eda5c
Merge sdl_cursor.c to cursor.c
2025-06-11 10:12:22 +09:00
kichikuou
dc17b78365
Move miscellaneous low-level functions to system.[ch]
2025-06-11 09:23:44 +09:00
kichikuou
adf362ea57
Rename sdl_effect_* to effect_*
2025-06-11 09:23:44 +09:00
kichikuou
b5bf439b8e
Remove graphics.h
2025-06-11 09:23:42 +09:00
kichikuou
9a01d28075
Move gfx_* functions from sdl_core.h to gfx.h
2025-06-11 09:22:36 +09:00
kichikuou
945dbd7722
Rename graphics functions from sdl_* to gfx_*
...
And rename sdl_{video,draw,image}.c to gfx_{video,draw,image}.c.
2025-06-10 15:00:27 +09:00
kichikuou
c1018d9e0f
Replace Color struct with SDL_Color
2025-03-09 13:16:02 +09:00
kichikuou
aab63adac2
Refactor image drawing functions
2025-02-21 09:10:55 +09:00
kichikuou
a8f46453d8
Remove redundant fields from surface_t
2025-02-19 14:03:01 +09:00
kichikuou
8328b93227
Rename agsurface_t to surface_t
2025-02-19 13:24:56 +09:00
kichikuou
9c6423bf99
drawtext: Remove 8-bit text rendering function
2025-02-19 09:59:22 +09:00
kichikuou
dec1649882
SACT: Make sprites have SDL_Surface instead of surface_t
2025-02-18 21:58:06 +09:00
kichikuou
d551cdbb70
Refactor text rendering functions in modules/
2025-02-16 13:13:16 +09:00
kichikuou
bf26f1b0c0
Refactor clipping functions
2025-02-11 12:36:21 +09:00
kichikuou
fb77b229ea
Apply text decoration to selection menus too
2025-02-07 10:52:58 +09:00
kichikuou
886d55057a
ZZ13 command should also affect menu font
...
This fixes the problem of menus always being displayed in Gothic font.
The font type at the time the `]` command is executed should be used.
2025-02-07 09:29:30 +09:00
kichikuou
d14b42c146
Replace boolean/TRUE/FALSE with bool/true/false
2025-02-02 10:02:08 +09:00
kichikuou
86068b0ab9
Prefer single precision float
2024-09-01 08:25:34 +09:00
kichikuou
de4f3ebb0d
sdl_effect: Implement EFFECT_RASTER_BLEND (CD 5)
...
Used in Mugen Houyou's title logo.
2024-08-31 22:00:07 +09:00
kichikuou
058789b435
Fix fade-in when screen refresh is disabled
...
Fade-in by `PF` or `PW` command was updating sdl_display even if screen
update was disabled by the `WZ 0` command.
In Rance 3, this caused a screen artifact immediately after selecting
"Game Start".
This was a regression introduced by commit 605de28 .
2024-08-31 10:27:09 +09:00
kichikuou
47e2fcaec0
Add enable_zb option for enabling ZB command
...
By default it is disabled and normal weight is always used.
Issue: https://github.com/kichikuou/xsystem35-sdl2/issues/44
2024-01-18 08:27:46 +09:00
kichikuou
183ceb614a
Implement ZB command
...
Although undocumented, it also affects the font weight of selection
window.
Issue: https://github.com/kichikuou/xsystem35-sdl2/issues/44
2024-01-17 14:32:32 +09:00
kichikuou
7b535b371a
Fix initial palette values
...
These match the System3.9 default colors that came from the default
system colors in Windows 256-color mode [1].
[1] https://en.wikipedia.org/wiki/List_of_software_palettes#Microsoft_Windows_default_20-color_palette
2024-01-01 12:25:43 +09:00
kichikuou
c0dbae8202
Refactor palette data structure
2024-01-01 11:47:11 +09:00
kichikuou
4b15f45897
debugger: Add custom DAP messages for communicating palette changes
...
This implements "xsystem35.palette" custom request and
"xsystem35.paletteChanged" custom event.
The "xsystem35.palette" request retrieves the color values of the AGS
palette.
interface PaletteRequest extends Request {
command: 'xsystem35.palette';
}
interface PaletteResponse extends Response {
body: {
/**
* A number that increases each time the palette changes.
*/
version: number;
/**
* 256 element array containing color values in 0xRRGGBB format.
*/
palette: number[];
};
}
The "xsystem35.paletteChanged" event indicates that the AGS palette has
changed.
interface PaletteChangedEvent extends Event {
event: 'xsystem35.paletteChanged';
body: {
/**
* A number that increases each time the palette changes.
*/
version: number;
};
}
DAP clients can know if the received value is up to date by comparing
the `version` values of paletteChanged and PaletteResponse.
2023-12-08 08:35:45 +09:00
kichikuou
a4c1dd1acf
Remove unused MOUSE_WARP_DIRECT mode
2023-09-04 17:14:17 +09:00
kichikuou
09086ccc85
IZ command: add delay even if mouse movement is disabled
...
Without it, it's hard to exit camp mode in TT2.
2023-09-04 17:03:06 +09:00
kichikuou
53e39b7c11
emscripten: Call xsystem35.shell.showMouseMoveEffect()
...
See kichikuou/web@07a6118 for details.
2023-09-04 13:32:04 +09:00
kichikuou
f0ccfee40f
Update internal mouse coordinates even if cursor movement is disabled
...
In TT2, keyboard/gamepad navigation is implemented by moving the mouse
cursor using IZ command. It did not work in browsers where mouse cursor
could not be moved or when mouse movement was disabled from the menu.
Now IZ command updates the internal mouse coordinates even when the
cursor cannot be moved.
2023-09-04 13:32:00 +09:00
kichikuou
5ef949ae14
Refactor ags_setWindowTitle()
2023-02-11 21:40:14 +09:00
kichikuou
83fa5db82c
Windows: Add a menu command to control automatic mouse movement
2022-12-29 21:57:53 +09:00
kichikuou
29a139c8a1
Use the standard integer types
...
This replaces BYTE, WORD and DWORD types with uint8_t, uint16_t and
uint32_t respectively.
2022-10-29 09:34:21 +09:00
kichikuou
d1712ab7b4
Remove newline character from debug print macro calls
...
Now "\n" is appended by the macros.
2022-09-02 20:37:26 +09:00
kichikuou
cee18a572e
Implement palette shift effect (CD 1001)
...
Used in Toushin Toshi 2.
2022-07-31 12:44:30 +09:00
kichikuou
b15690d9b7
Windows: Add "Restart" menu command
...
It resets all VM states and restart the game.
2022-06-26 17:25:39 +09:00
kichikuou
6184e93965
Refactoring: Explicitly pass color-key / blending params to ags_drawCg
2022-04-02 22:13:25 +09:00
kichikuou
3377441caf
Simplify CG drawing functions
...
This removes extra buffer copy in some cases.
2022-04-02 22:13:25 +09:00
kichikuou
d243358b48
Use SDL_GetSurfaceColorMod to display CG with custom brightness
2022-04-02 22:13:25 +09:00
kichikuou
9e82445ace
Refactoring: Add depth field to struct cgdata
2022-04-02 22:13:25 +09:00
kichikuou
a6109b6210
Do not convert to 16bpp when decoding JPEG
2022-04-02 22:13:25 +09:00
kichikuou
76db37756b
Rename -devvideo option to -renderer
...
And use SDL_HINT_RENDER_DRIVER under the hood.
2022-02-15 17:57:18 +09:00
kichikuou
4c022cf505
Add -devvideo option which specifies SDL rendering driver name
2022-02-15 14:55:18 +09:00
kichikuou
141b754340
Remove view_x and view_y fields from sdl_private_data
2022-02-05 17:27:39 +09:00
kichikuou
45612feb79
Move some fields from nact to ags
2022-02-05 15:41:52 +09:00
kichikuou
605de284e9
sdl_effect: PF (fade in/out) and PW (white in/out) commands
...
In 256-color games, it uses alpha-blending instead of palette animation.
2022-02-05 14:49:00 +09:00
kichikuou
933cf5b6a3
Remove old ags_fader()
...
And rename ags_fade2() to ags_runEffect().
2022-01-31 21:44:29 +09:00
kichikuou
c15e7233b4
sdl_effect: Implement CE 43 (NACT_EFFECT_MAGNIFY)
2022-01-31 17:13:22 +09:00
kichikuou
debabaf686
Remove ags_copyArea_whiteLevel()
2022-01-16 22:35:49 +09:00