@@ -52,39 +52,39 @@ u32 GetCI4IA_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
52
52
const u8 color4B = Get4BitPaletteColor (offset, x, i);
53
53
54
54
if (x & 1 )
55
- return IA88_RGBA4444 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ]);
55
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ] & 0xFFFF ) );
56
56
else
57
- return IA88_RGBA4444 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ]);
57
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ] & 0xFFFF ) );
58
58
}
59
59
60
60
u32 GetCI4IA_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
61
61
{
62
62
const u8 color4B = Get4BitPaletteColor (offset, x, i);
63
63
64
64
if (x & 1 )
65
- return IA88_RGBA8888 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ]);
65
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ] & 0xFFFF ) );
66
66
else
67
- return IA88_RGBA8888 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ]);
67
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ] & 0xFFFF ) );
68
68
}
69
69
70
70
u32 GetCI4RGBA_RGBA5551 (u16 offset, u16 x, u16 i, u8 palette)
71
71
{
72
72
const u8 color4B = Get4BitPaletteColor (offset, x, i);
73
73
74
74
if (x & 1 )
75
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ]);
75
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ] & 0xFFFF ) );
76
76
else
77
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ]);
77
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ] & 0xFFFF ) );
78
78
}
79
79
80
80
u32 GetCI4RGBA_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
81
81
{
82
82
const u8 color4B = Get4BitPaletteColor (offset, x, i);
83
83
84
84
if (x & 1 )
85
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ]);
85
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B & 0x0F )) & 0x1FF ] & 0xFFFF ) );
86
86
else
87
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ]);
87
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[(0x100 + (palette << 4 ) + (color4B >> 4 )) & 0x1FF ] & 0xFFFF ) );
88
88
}
89
89
90
90
u32 GetIA31_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
@@ -120,25 +120,25 @@ inline u8 Get8BitPaletteColor(u16 offset, u16 x, u16 i)
120
120
u32 GetCI8IA_RGBA4444 (u16 offset, u16 x, u16 i, u8 palette)
121
121
{
122
122
const u8 color = Get8BitPaletteColor (offset, x, i);
123
- return IA88_RGBA4444 (*( u16*)& TMEM[(0x100 + color) & 0x1FF ]);
123
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[(0x100 + color) & 0x1FF ] & 0xFFFF ) );
124
124
}
125
125
126
126
u32 GetCI8IA_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
127
127
{
128
128
const u8 color = Get8BitPaletteColor (offset, x, i);
129
- return IA88_RGBA8888 (*( u16*)& TMEM[(0x100 + color) & 0x1FF ]);
129
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[(0x100 + color) & 0x1FF ] & 0xFFFF ) );
130
130
}
131
131
132
132
u32 GetCI8RGBA_RGBA5551 (u16 offset, u16 x, u16 i, u8 palette)
133
133
{
134
134
const u8 color = Get8BitPaletteColor (offset, x, i);
135
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[(0x100 + color) & 0x1FF ]);
135
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[(0x100 + color) & 0x1FF ] & 0xFFFF ) );
136
136
}
137
137
138
138
u32 GetCI8RGBA_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
139
139
{
140
140
const u8 color = Get8BitPaletteColor (offset, x, i);
141
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[(0x100 + color) & 0x1FF ]);
141
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[(0x100 + color) & 0x1FF ] & 0xFFFF ) );
142
142
}
143
143
144
144
u32 GetIA44_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
@@ -193,7 +193,7 @@ u32 GetI16_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
193
193
u32 GetCI16IA_RGBA8888 (u16 offset, u16 x, u16 i, u8 palette)
194
194
{
195
195
const u16 tex = Get16BitColor (offset, x, i);
196
- const u16 col = (*( u16*)& TMEM[0x100 + (tex & 0xFF )]);
196
+ const u16 col = (static_cast < u16>( TMEM[0x100 + (tex & 0xFF )] & 0xFFFF ) );
197
197
const u16 c = col >> 8 ;
198
198
const u16 a = col & 0xFF ;
199
199
return (a << 24 ) | (c << 16 ) | (c << 8 ) | c;
@@ -202,7 +202,7 @@ u32 GetCI16IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
202
202
u32 GetCI16IA_RGBA4444 (u16 offset, u16 x, u16 i, u8 palette)
203
203
{
204
204
const u16 tex = Get16BitColor (offset, x, i);
205
- const u16 col = (*( u16*)& TMEM[0x100 + (tex & 0xFF )]);
205
+ const u16 col = (static_cast < u16>( TMEM[0x100 + (tex & 0xFF )] & 0xFFFF ) );
206
206
const u16 c = col >> 12 ;
207
207
const u16 a = col & 0x0F ;
208
208
return (a << 12 ) | (c << 8 ) | (c << 4 ) | c;
@@ -303,39 +303,39 @@ u32 GetCI4IA_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
303
303
u8 color4B = ((u8*)src)[(x >> 1 ) ^ (i << 1 )];
304
304
305
305
if (x & 1 )
306
- return IA88_RGBA4444 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B & 0x0F )]);
306
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B & 0x0F )] & 0xFFFF ) );
307
307
else
308
- return IA88_RGBA4444 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B >> 4 )]);
308
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B >> 4 )] & 0xFFFF ) );
309
309
}
310
310
311
311
u32 GetCI4IA_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
312
312
{
313
313
u8 color4B = ((u8*)src)[(x >> 1 ) ^ (i << 1 )];
314
314
315
315
if (x & 1 )
316
- return IA88_RGBA8888 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B & 0x0F )]);
316
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B & 0x0F )] & 0xFFFF ) );
317
317
else
318
- return IA88_RGBA8888 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B >> 4 )]);
318
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B >> 4 )] & 0xFFFF ) );
319
319
}
320
320
321
321
u32 GetCI4RGBA_RGBA5551_BG (u64 *src, u16 x, u16 i, u8 palette)
322
322
{
323
323
u8 color4B = ((u8*)src)[(x >> 1 ) ^ (i << 1 )];
324
324
325
325
if (x & 1 )
326
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B & 0x0F )]);
326
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B & 0x0F )] & 0xFFFF ) );
327
327
else
328
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B >> 4 )]);
328
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B >> 4 )] & 0xFFFF ) );
329
329
}
330
330
331
331
u32 GetCI4RGBA_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
332
332
{
333
333
u8 color4B = ((u8*)src)[(x >> 1 ) ^ (i << 1 )];
334
334
335
335
if (x & 1 )
336
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B & 0x0F )]);
336
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B & 0x0F )] & 0xFFFF ) );
337
337
else
338
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[256 + (palette << 4 ) + (color4B >> 4 )]);
338
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[256 + (palette << 4 ) + (color4B >> 4 )] & 0xFFFF ) );
339
339
}
340
340
341
341
u32 GetIA31_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
@@ -368,22 +368,22 @@ u32 GetI4_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
368
368
369
369
u32 GetCI8IA_RGBA4444_BG (u64 *src, u16 x, u16 i, u8 palette)
370
370
{
371
- return IA88_RGBA4444 (*( u16*)& TMEM[256 + ((u8*)src)[x ^ (i << 1 )]]);
371
+ return IA88_RGBA4444 (static_cast < u16>( TMEM[256 + ((u8*)src)[x ^ (i << 1 )]] & 0xFFFF ) );
372
372
}
373
373
374
374
u32 GetCI8IA_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
375
375
{
376
- return IA88_RGBA8888 (*( u16*)& TMEM[256 + ((u8*)src)[x ^ (i << 1 )]]);
376
+ return IA88_RGBA8888 (static_cast < u16>( TMEM[256 + ((u8*)src)[x ^ (i << 1 )]] & 0xFFFF ) );
377
377
}
378
378
379
379
u32 GetCI8RGBA_RGBA5551_BG (u64 *src, u16 x, u16 i, u8 palette)
380
380
{
381
- return RGBA5551_RGBA5551 (*( u16*)& TMEM[256 + ((u8*)src)[x ^ (i << 1 )]]);
381
+ return RGBA5551_RGBA5551 (static_cast < u16>( TMEM[256 + ((u8*)src)[x ^ (i << 1 )]] & 0xFFFF ) );
382
382
}
383
383
384
384
u32 GetCI8RGBA_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
385
385
{
386
- return RGBA5551_RGBA8888 (*( u16*)& TMEM[256 + ((u8*)src)[x ^ (i << 1 )]]);
386
+ return RGBA5551_RGBA8888 (static_cast < u16>( TMEM[256 + ((u8*)src)[x ^ (i << 1 )]] & 0xFFFF ) );
387
387
}
388
388
389
389
u32 GetIA44_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
@@ -429,7 +429,7 @@ u32 GetI16_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
429
429
u32 GetCI16IA_RGBA8888_BG (u64 *src, u16 x, u16 i, u8 palette)
430
430
{
431
431
const u16 tex = ((u16*)src)[x^i];
432
- const u16 col = (*( u16*)& TMEM[256 + (tex & 0xFF )]);
432
+ const u16 col = (static_cast < u16>( TMEM[256 + (tex & 0xFF )] & 0xFFFF ) );
433
433
const u16 c = col >> 8 ;
434
434
const u16 a = col & 0xFF ;
435
435
return (a << 24 ) | (c << 16 ) | (c << 8 ) | c;
@@ -438,7 +438,7 @@ u32 GetCI16IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
438
438
u32 GetCI16IA_RGBA4444_BG (u64 *src, u16 x, u16 i, u8 palette)
439
439
{
440
440
const u16 tex = ((u16*)src)[x^i];
441
- const u16 col = (*( u16*)& TMEM[256 + (tex & 0xFF )]);
441
+ const u16 col = (static_cast < u16>( TMEM[256 + (tex & 0xFF )] & 0xFFFF ) );
442
442
const u16 c = col >> 12 ;
443
443
const u16 a = col & 0x0F ;
444
444
return (a << 12 ) | (c << 8 ) | (c << 4 ) | c;
0 commit comments