1 #include "pch.h"
2 #include "../ogre/common/Def_Str.h"
3 #include "settings.h"
4 #include "../vdrift/tracksurface.h"
5
6
Load(std::string sfile)7 void SETTINGS::Load(std::string sfile)
8 {
9 CONFIGFILE c; c.Load(sfile);
10 Serialize(false, c);
11 }
Save(std::string sfile)12 void SETTINGS::Save(std::string sfile)
13 {
14 CONFIGFILE c; c.Load(sfile); version = SET_VER;
15 Serialize(true, c); c.Write();
16 }
17
18
Serialize(bool w,CONFIGFILE & c)19 void SETTINGS::Serialize(bool w, CONFIGFILE & c)
20 {
21 c.bFltFull = false;
22
23 SerializeCommon(w,c);
24
25 // game common
26 Param(c,w, "game.track", gui.track); Param(c,w, "game.track_user", gui.track_user);
27 Param(c,w, "graph_veget.trees", gui.trees);
28
29
30 Param(c,w, "hud_show.trackmap", trackmap); Param(c,w, "hud_size.minimap", size_minimap);
31 Param(c,w, "hud_show.mini_num", num_mini); Param(c,w, "hud_show.brushpreview", brush_prv);
32
33 Param(c,w, "misc.allow_save", allow_save);
34 Param(c,w, "misc.inputBar", inputBar); Param(c,w, "misc.camPos", camPos);
35 Param(c,w, "misc.version", version);
36 Param(c,w, "misc.check_load", check_load); Param(c,w, "misc.check_save", check_save);
37
38 Param(c,w, "set_cam.px",cam_x); Param(c,w, "set_cam.py",cam_y); Param(c,w, "set_cam.pz",cam_z);
39 Param(c,w, "set_cam.dx",cam_dx); Param(c,w, "set_cam.dy",cam_dy); Param(c,w, "set_cam.dz",cam_dz);
40
41 Param(c,w, "set.fog", bFog); Param(c,w, "set.trees", bTrees);
42 Param(c,w, "set.weather", bWeather);
43 Param(c,w, "set.cam_speed", cam_speed); Param(c,w, "set.cam_inert", cam_inert);
44 Param(c,w, "set.ter_skip", ter_skip); Param(c,w, "set.road_sphr", road_sphr);
45 Param(c,w, "set.mini_skip", mini_skip);
46
47 Param(c,w, "ter_gen.scale", gen_scale);
48 Param(c,w, "ter_gen.ofsx", gen_ofsx); Param(c,w, "ter_gen.ofsy", gen_ofsy);
49 Param(c,w, "ter_gen.freq", gen_freq); Param(c,w, "ter_gen.persist", gen_persist);
50 Param(c,w, "ter_gen.pow", gen_pow); Param(c,w, "ter_gen.oct", gen_oct);
51 Param(c,w, "ter_gen.mul", gen_mul); Param(c,w, "ter_gen.ofsh", gen_ofsh);
52 Param(c,w, "ter_gen.roadsm", gen_roadsm);
53 Param(c,w, "ter_gen.terMinA", gen_terMinA); Param(c,w, "ter_gen.terMaxA",gen_terMaxA);
54 Param(c,w, "ter_gen.terSmA", gen_terSmA); Param(c,w, "ter_gen.terSmH",gen_terSmH);
55 Param(c,w, "ter_gen.terMinH", gen_terMinH); Param(c,w, "ter_gen.terMaxH",gen_terMaxH);
56
57 Param(c,w, "teralign.w_mul", al_w_mul); Param(c,w, "teralign.smooth", al_smooth);
58 Param(c,w, "teralign.w_add", al_w_add);
59
60 Param(c,w, "pacenotes.show", pace_show); Param(c,w, "pacenotes.dist", pace_dist);
61 Param(c,w, "pacenotes.size", pace_size);
62 Param(c,w, "pacenotes.near", pace_near); Param(c,w, "pacenotes.alpha", pace_alpha);
63 Param(c,w, "pacenotes.trk_reverse", trk_reverse);
64
65 Param(c,w, "tweak.mtr", tweak_mtr);
66 Param(c,w, "pick.set_par", pick_setpar);
67 }
68
SETTINGS()69 SETTINGS::SETTINGS() /// Defaults
70 :version(100) // old
71 // show
72 ,trackmap(1), size_minimap(0.5), num_mini(0), brush_prv(1)
73 // misc
74 ,allow_save(0)
75 ,check_load(0), check_save(1)
76 ,inputBar(0), camPos(0)
77 // settings
78 ,cam_x(0), cam_y(50),cam_z(-120), cam_dx(0), cam_dy(0), cam_dz(1)
79 ,bFog(0), bTrees(0), bWeather(0)
80 ,cam_speed(1.f), cam_inert(1.f)
81 ,ter_skip(4), road_sphr(2.f), mini_skip(4)
82 // ter gen
83 ,gen_scale(20.f), gen_freq(0.73f), gen_oct(4), gen_persist(0.4f)
84 ,gen_pow(1.0f), gen_ofsx(0.f), gen_ofsy(0.f)
85 ,gen_mul(1.f), gen_ofsh(0.f), gen_roadsm(0.f)
86 ,gen_terMinA(0.f),gen_terMaxA(90.f),gen_terSmA(10.f)
87 ,gen_terMinH(-300.f),gen_terMaxH(300.f),gen_terSmH(10.f)
88 // align ter
89 ,al_w_mul(1.f), al_w_add(8.f), al_smooth(2.f)
90 // pacenotes
91 ,pace_show(3), pace_dist(1000.f), pace_size(1.f)
92 ,pace_near(1.f), pace_alpha(1.f)
93 ,trk_reverse(0), show_mph(0)
94 // tweak
95 ,tweak_mtr("")
96 // pick
97 ,pick_setpar(1)
98 {
99
100 // track common
101 gui.track = "Isl6-Flooded"; gui.track_user = false;
102 gui.trees = 1.f;
103 }
104