• R/O
  • SSH

hyakutyping: コミット

ゲーム用のソースコード


コミットメタ情報

リビジョン70c36996906ab280268afc3fbd85aee26dae1af9 (tree)
日時2011-07-21 06:07:58
作者satofumi
コミッターsatofumi

ログメッセージ

オプション操作まわりを実装した

変更サマリ

差分

diff -r c2a075a2be96 -r 70c36996906a .hgignore
--- a/.hgignore Wed Jul 20 07:57:48 2011 +0900
+++ b/.hgignore Thu Jul 21 06:07:58 2011 +0900
@@ -8,6 +8,7 @@
88 pc_server_log.txt
99 savedata/local.sqlite3
1010 savedata/account.txt
11+savedata/option_data.lua
1112 flow.png
1213 flow.dot
1314 Makefile.in
diff -r c2a075a2be96 -r 70c36996906a hyakutyping.cpp
--- a/hyakutyping.cpp Wed Jul 20 07:57:48 2011 +0900
+++ b/hyakutyping.cpp Thu Jul 21 06:07:58 2011 +0900
@@ -4,7 +4,7 @@
44
55 \author Satofumi KAMIMURA
66
7- $Id$
7+ $Id: hyakutyping.cpp,v ea1a3e6caa29 2011/01/12 18:05:27 Satofumi $
88 */
99
1010 #include "hyakutyping.h"
@@ -143,7 +143,7 @@
143143
144144 // 設定の読み出し
145145 const char* load_files[] = {
146- "savedata/option_config.lua",
146+ "savedata/option_data.lua",
147147 "savedata/client_id.lua",
148148 };
149149 size_t n = sizeof(load_files) / sizeof(load_files[0]);
diff -r c2a075a2be96 -r 70c36996906a scripts/first_menu.lua
--- a/scripts/first_menu.lua Wed Jul 20 07:57:48 2011 +0900
+++ b/scripts/first_menu.lua Thu Jul 21 06:07:58 2011 +0900
@@ -126,10 +126,10 @@
126126 end
127127
128128 -- メニューで選択された状態へ遷移させる
129- --if menu_:isClicked() then
130- if true then
131- --selected_index_ = menu_:clickedId()
132- selected_index_ = 3
129+ if menu_:isClicked() then
130+ --if true then
131+ selected_index_ = menu_:clickedId()
132+ --selected_index_ = 3
133133
134134 if selected_index_ == 1 then
135135 require("practice_menu")
diff -r c2a075a2be96 -r 70c36996906a scripts/option_config.lua
--- a/scripts/option_config.lua Wed Jul 20 07:57:48 2011 +0900
+++ b/scripts/option_config.lua Thu Jul 21 06:07:58 2011 +0900
@@ -4,6 +4,7 @@
44 -- $Id: option_config.lua,v 4d0ba6dde175 2011/05/15 22:27:49 satofumi $
55
66 require("menu_utils")
7+require("option_save")
78
89
910 -- state: オプション
@@ -53,6 +54,59 @@
5354 local back_message_ = nil
5455 local back_message_label_ = nil
5556
57+local is_roman_index_ = 0
58+local is_fullscreen_index_ = 0
59+
60+
61+function load_option_data()
62+
63+ is_roman_index_ = _G.is_roman_ and 0 or 1
64+ option_input_:setIndex(is_roman_index_)
65+ option_input_:press(is_roman_index_ + 1)
66+
67+ is_fullscreen_index_ = _G.is_fullscreen_ and 0 or 1
68+ option_screen_:setIndex(is_fullscreen_index_)
69+ option_screen_:press(is_fullscreen_index_ + 1)
70+
71+ volume_music_:setIndex(_G.volume_music_)
72+ volume_music_:press(_G.volume_music_ + 1)
73+ volume_se_:setIndex(_G.volume_se_)
74+ volume_se_:press(_G.volume_se_ + 1)
75+end
76+
77+
78+function update_option_variable()
79+
80+ if option_input_:clickedIndex() ~= is_roman_index_ then
81+ is_roman_index_ = option_input_:clickedIndex()
82+ _G.is_roman_ = is_roman_index_ == 0 and true or false
83+ end
84+
85+ if option_screen_:clickedIndex() ~= is_fullscreen_index_ then
86+ is_fullscreen_index_ = option_screen_:clickedIndex()
87+ _G.is_fullscreen_ = is_fullscreen_index_ == 0 and true or false
88+
89+ -- ウィンドウ設定を反映させる
90+ if screen_:isFullscreen() ~= _G.is_fullscreen_ then
91+ screen_:toggleScreen()
92+ end
93+ end
94+
95+ if volume_music_:clickedIndex() ~= _G.volume_music_ then
96+ _G.volume_music_ = volume_music_:clickedIndex()
97+
98+ -- 音量の設定を反映させる
99+ -- !!!
100+ end
101+
102+ if volume_se_:clickedIndex() ~= _G.volume_se_ then
103+ _G.volume_se_ = volume_se_:clickedIndex()
104+
105+ -- 音量の設定を反映させる
106+ -- !!!
107+ end
108+end
109+
56110
57111 option_config["Enter"] =
58112 function(state)
@@ -229,33 +283,26 @@
229283
230284
231285 -- 保存されている設定を読み出して反映させる
232- -- !!! 実際にファイルから反映させる
233- option_input_:setIndex(0)
234- option_screen_:setIndex(1)
235- volume_music_:setIndex(3)
236- volume_se_:setIndex(4)
237-
238- option_input_:press(1)
239- option_screen_:press(2)
240- volume_music_:press(4)
241- volume_se_:press(4)
286+ load_option_data()
242287 end
243288
244289
245290 option_config["Execute"] =
246291 function(state)
292+ update_option_variable()
247293 redraw()
248294
249295 if escape_event_:isActive() then
250296 state:stateMachine():changePreviousState()
251297 end
252-
253- -- !!! 変更があれば option_save() を呼び出して設定を保存する
254298 end
255299
256300
257301 option_config["Exit"] =
258302 function(state)
303+ -- 変更内容の保存
304+ option_save()
305+
259306 layer_:remove(option_)
260307
261308 layer_:remove(title_label_)
diff -r c2a075a2be96 -r 70c36996906a scripts/option_default.lua
--- a/scripts/option_default.lua Wed Jul 20 07:57:48 2011 +0900
+++ b/scripts/option_default.lua Thu Jul 21 06:07:58 2011 +0900
@@ -1,11 +1,10 @@
11 -- オプションのデフォルト値の読み出し
22 --
33 -- Satofumi KAMIMURA
4--- $Id$
4+-- $Id: option_default.lua,v e604d36a482a 2011/05/07 08:22:27 satofumi $
55
66
7---_G.is_roman_ = true -- 入力方法がローマ字変換かどうか
8-_G.is_roman_ = false -- 入力方法がローマ字変換かどうか
7+_G.is_roman_ = true -- 入力方法がローマ字変換かどうか
98 _G.is_fullscreen_ = false -- ウィンドウ設定
10-_G.sound_volume_ = 75 -- 音量ボリュームの [%] 値
11-_G.is_send_server_ = true -- データをサーバに送信するかどうか
9+_G.volume_music_ = 3 -- 曲ボリューム [0, 10]
10+_G.volume_se_ = 3 -- 効果音ボリューム [0, 10]
diff -r c2a075a2be96 -r 70c36996906a scripts/option_save.lua
--- a/scripts/option_save.lua Wed Jul 20 07:57:48 2011 +0900
+++ b/scripts/option_save.lua Thu Jul 21 06:07:58 2011 +0900
@@ -1,6 +1,6 @@
11 -- オプション設定の保存
22 -- Satofumi KAMIMURA
3--- $Id$
3+-- $Id: option_save.lua,v dfd459a213c3 2010/05/06 16:39:10 Satofumi $
44
55 require("save")
66
@@ -10,8 +10,8 @@
1010
1111 buffer = buffer .. save_item("_G.is_roman_")
1212 buffer = buffer .. save_item("_G.is_fullscreen_")
13- buffer = buffer .. save_item("_G.sound_volume_")
14- buffer = buffer .. save_item("_G.is_send_server_")
13+ buffer = buffer .. save_item("_G.volume_music_")
14+ buffer = buffer .. save_item("_G.volume_se_")
1515
16- save("savedata/option_saved.lua", buffer)
16+ save("savedata/option_data.lua", buffer)
1717 end
diff -r c2a075a2be96 -r 70c36996906a scripts/startup.lua
--- a/scripts/startup.lua Wed Jul 20 07:57:48 2011 +0900
+++ b/scripts/startup.lua Thu Jul 21 06:07:58 2011 +0900
@@ -1,7 +1,7 @@
11 -- 初期化
22 --
33 -- Satofumi KAMIMURA
4--- $Id$
4+-- $Id: startup.lua,v e604d36a482a 2011/05/07 08:22:27 satofumi $
55 --
66 -- \todo 画像、フォントのリソースが読み込めないときは、エラーログを表示して終了するようにする
77 -- \todo 左クリックが Enter イベントとして登録されないのを修正する
@@ -134,7 +134,7 @@
134134
135135 -- スクリーン設定を反映
136136 screen_ = Screen()
137- if (not screen_:isFullscreen()) and is_fullscreen_ then
137+ if (not screen_:isFullscreen()) and _G.is_fullscreen_ then
138138 screen_:toggleScreen()
139139 end
140140
旧リポジトリブラウザで表示