@@ -30,12 +30,8 @@ along with RALibretro. If not, see <http://www.gnu.org/licenses/>.
30
30
31
31
#define TAG " [VID] "
32
32
33
- bool Video::init (libretro::LoggerComponent* logger, libretro::VideoContextComponent *ctx, Config* config )
33
+ Video::Video ( )
34
34
{
35
- _logger = logger;
36
- _ctx = ctx;
37
- _config = config;
38
-
39
35
_enabled = true ;
40
36
41
37
_pixelFormat = RETRO_PIXEL_FORMAT_UNKNOWN;
@@ -51,11 +47,21 @@ bool Video::init(libretro::LoggerComponent* logger, libretro::VideoContextCompon
51
47
_preserveAspect = false ;
52
48
_linearFilter = false ;
53
49
54
- _program = createProgram (&_posAttribute, &_uvAttribute, &_texUniform);
55
-
56
50
_hw.enabled = false ;
57
51
_hw.frameBuffer = _hw.renderBuffer = 0 ;
58
52
_hw.callback = nullptr ;
53
+ }
54
+
55
+ bool Video::init (libretro::LoggerComponent* logger, libretro::VideoContextComponent *ctx, Config* config)
56
+ {
57
+ _logger = logger;
58
+ _ctx = ctx;
59
+ _config = config;
60
+
61
+ // NOTE: Video::init is called after Video::deserializeSettings. Make sure not to overwrite anyting
62
+ // stored in the .cfg file.
63
+
64
+ _program = createProgram (&_posAttribute, &_uvAttribute, &_texUniform);
59
65
60
66
if (!Gl::ok ())
61
67
{
@@ -414,11 +420,11 @@ std::string Video::serializeSettings()
414
420
{
415
421
std::string json (" {" );
416
422
417
- json.append (" \" _preserveAspect \" :" );
423
+ json.append (" \" preserveAspect \" :" );
418
424
json.append (_preserveAspect ? " true" : " false" );
419
425
json.append (" ," );
420
426
421
- json.append (" \" _linearFilter \" :" );
427
+ json.append (" \" linearFilter \" :" );
422
428
json.append (_linearFilter ? " true" : " false" );
423
429
424
430
json.append (" }" );
@@ -446,11 +452,11 @@ bool Video::deserializeSettings(const char* json)
446
452
}
447
453
else if (event == JSONSAX_BOOLEAN)
448
454
{
449
- if (ud->key == " _preserveAspect" )
455
+ if (ud->key == " preserveAspect " || ud-> key == " _preserveAspect" )
450
456
{
451
457
ud->self ->_preserveAspect = num != 0 ;
452
458
}
453
- if (ud->key == " _linearFilter" )
459
+ if (ud->key == " linearFilter " || ud-> key == " _linearFilter" )
454
460
{
455
461
ud->self ->_linearFilter = num != 0 ;
456
462
}
0 commit comments