Compare commits

...
Author SHA1 Message Date
kichikuou 23667b3e39 Fix screen redraws during effects
Normal redraws can overwrite effect frames with gfx_texture, causing
brief flashes during fade-out. Suppress redraws while an effect is
running and clear pending redraws at effect boundaries.
2026-09-30 13:12:16 +09:00
kichikuou 1918350b19 Update censor lists for Rance 1-4 2026-09-21 14:26:11 +09:00
kichikuou 9504ee7b65 Add censor lists for Rance 1-4
Contributed by @RottenBlock and Vivvers (x.com/VivversX).
2026-09-21 13:17:23 +09:00
8 changed files with 392 additions and 3 deletions
+2 -2
View File
@@ -12,8 +12,8 @@ or in your `.xsys35rc` file. For example:
xsystem35 -censor misc/censor/kichikuou.txt
```
The list files contain image numbers (integers), one per line. Lines starting
with `#` are treated as comments.
The list files contain image numbers (integers), one per line. A `#` starts a
comment that continues to the end of the line.
## Contributing
+30
View File
@@ -0,0 +1,30 @@
# Censor list for ランス -光をもとめて- (Rance: The Quest for Hikari)
# Images marked with a * might be allowed in an 18+ stream.
5
6
8
22
26
27
29
32
39
40
41
51
56
57
75
76
77
78 # *
80
82
89
91
96 # *
97 # *
98
99
101
208
+59
View File
@@ -0,0 +1,59 @@
# Censor list for ランスII (Rance II)
# Images marked with a * might be allowed in an 18+ stream.
26
39 # *
40
41
77
78
86
98
103
104
121
122
123
124
130
131
132
133
134
140
141
142
148
156
157
158
159
161
166
171
172
185
187
191
195
197
200
201
234
236
245
246
247
272
274
275
276
278
280
281
282
284
289
292
299
300
302
+121
View File
@@ -0,0 +1,121 @@
# Censor list for Rance 3
# Images marked with a * might be allowed in an 18+ stream.
1 # *
2 # *
3
6
8
9
32 # *
53 # *
54
70
71
72
73
75
77 # *
78
79
112 # *
113
114
115
116
117
118 # *
150
151
152
153
154
155
166
167
180
181
183
184
185
186
187
188
189
190
195
196
208
209
210
211
212
213
215
216
217
218
219
231
232
233
234
235
236
238
239
260
261
263
264
265
266
268
269
330
331
332
334
335
336
337
338
339
420
421
422
423
424
425
426
427
428
429
440
441
442
443
444
445
447
473
474
475
476
477
479
519 # *
521 # *
523
524
525
526
530
533 # *
534
535
536
537
570
571
572
581
+168
View File
@@ -0,0 +1,168 @@
# Censor list for Rance IV
# Images marked with a * might be allowed in an 18+ stream.
1
2
10
20
26
28
29
30 # *
31
32
33
34
35
36
37
38
39 # *
40
41
42
43
44
45
46
48
49
75
76
77
78
79
122
126
140
142
148
149
162 # *
163
164
165 # *
166
167
168
169 # *
170
171
172
176
177
178
185
186
188
189
205
207
217 # *
220
221
222
223
228
241
242
251
252
253
254
260
261
262 # *
264 # *
265
266
267
268
269
280
281
283
284
285
286 # *
287
288
292
294
299
370
371
372
373
376
378
382
384
385 # *
386
387
388
389
414 # *
416
428 # *
531 # *
532
533
534 # *
535
550
551
552
553
554
555
562 # *
565
615
625
626
711
723
1055
1056
1057
1058
1059
1060
1061
1062
1545 # *
1546 # *
1547 # *
1548 # *
1549 # *
1653 # *
1654 # *
1655 # *
1656 # *
1657 # *
1658 # *
1659 # *
1660 # *
1661 # *
1662 # *
1663 # *
1664 # *
1665 # *
1728
1729
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
+2
View File
@@ -191,6 +191,7 @@ static void eff_init(struct effect *eff, SDL_Rect *rect, EffectTexture *old, Eff
if (!eff->is_fullscreen)
gfx_updateScreen(); // Flush pending display changes.
gfx_setEffectRunning(true);
}
static void eff_finish(struct effect *eff, bool present) {
@@ -1912,4 +1913,5 @@ void effect_step(struct effect *eff, float progress) {
void effect_finish(struct effect *eff) {
eff->finish(eff);
gfx_setEffectRunning(false);
}
+8 -1
View File
@@ -45,6 +45,7 @@
#include "debugger.h"
static bool gfx_dirty;
static bool gfx_effect_running;
static void gfx_pal_check(void) {
if (nact->ags.pal_changed) {
@@ -64,7 +65,7 @@ SDL_Color gfx_getPaletteColor(uint8_t color) {
}
void gfx_updateScreen(void) {
if (!gfx_dirty)
if (!gfx_dirty || gfx_effect_running)
return;
SDL_RenderClear(gfx_renderer);
SDL_RenderCopy(gfx_renderer, gfx_texture, NULL, NULL);
@@ -73,6 +74,12 @@ void gfx_updateScreen(void) {
gfx_dirty = false;
}
void gfx_setEffectRunning(bool running) {
gfx_effect_running = running;
// Effects present directly. Do not replay pending redraws over their frames.
gfx_dirty = false;
}
void gfx_requestRedraw(void) {
gfx_dirty = true;
}
+2
View File
@@ -37,6 +37,8 @@ extern surface_t *gfx_dibinfo;
extern int view_w;
extern int view_h;
void gfx_setEffectRunning(bool running);
SDL_Surface *gfx_dib_to_surface_with_alpha(int x, int y, int w, int h);
SDL_Surface *gfx_dib_to_surface_colorkey(int x, int y, int w, int h, int col);