'---------------------------------------------------------- '概 要:各関数呼出 (総合関数) 他モジュール依存 '---------------------------------------------------------- '関数一覧 '機 能:初期起動設定 '機 能:イベントINIファイル読み込み '機 能:イベントTXTファイル読み込み '機 能:音楽の再生 '機 能:効果音の再生 '機 能:背景描画 '機 能:画像エフェクト設定 '機 能:セーブ処理 '機 能:ロード処理 '機 能:セーブデータ情報表示 '機 能:文字列表示(ピンポイント描画) '機 能:画像転送 '機 能:背景色反転 '---------------------------------------------------------- Option Explicit '---------------------------------------------------------- 'オブジェクト設定 '---------------------------------------------------------- Private mObjForm As Form '描画フォーム Private mObjPic As PictureBox '退避ピクチャーボックス '---------------------------------------------------------- 'G_modWave設定 サウンド再生関連 '---------------------------------------------------------- Private Const MSTR_DIR_Sound As String = "sound\" '指定フォルダ名 Private Const MSTR_INI_Sound As String = "sound.ini" '効果音設定INIファイル名 Private Const MSTR_SECTION_S_Sound As String = "SOUND" '効果音設定INIファイル名 Private Const MSTR_SECTION_M_Sound As String = "MID" '効果音設定INIファイル名 '---------------------------------------------------------- 'G_modBitBltEff設定 画像関連 '---------------------------------------------------------- Private Const MSTR_DIR_PIC As String = "pic\" '指定フォルダ名 Private Const MSTR_INI_PIC As String = "pic.ini" '効果音設定INIファイル名 Private Const MSTR_SECTION_PIC As String = "PIC" '効果音設定INIファイル名 '---------------------------------------------------------- 'セーブファイル関連 '---------------------------------------------------------- Private Const MSTR_DIR_SAVE As String = "save" Private Const MSTR_INI_SAVE As String = "save.ini" Private Const MSTR_SECTION_SAVE As String = "SAVE" Private Const MSTR_SAVEFILE_NAME As String = ".dat" '---------------------------------------------------------- 'イベントファイル関連 '---------------------------------------------------------- Private Const MSTR_DIR_EVE As String = "eve\" Private Const MSTR_INI_EVE As String = ".ini" '---------------------------------------------------------- '画像エフェクト処理 '---------------------------------------------------------- Private mclsG As New clsGraficEff '画像エフェクト Private mblnInitEffFlg As Boolean 'エフェクト初期起動フラグ '---------------------------------------------------------- 'メッセージ処理 '---------------------------------------------------------- '4角変数 Private nRECT As RECT '******************************************************************************************************************** ' 初期化・終了処理 '******************************************************************************************************************** '---------------------------------------------------------- '機 能:初期起動設定 '---------------------------------------------------------- Public Sub Init_MG() 'オブジェクト設定 Set mObjForm = frmMain Set mObjPic = frmMain.Pic End Sub '******************************************************************************************************************** ' 呼び出し関数 PUBLIC '******************************************************************************************************************** '---------------------------------------------------------- '機 能:イベントINIファイル読み込み '---------------------------------------------------------- Public Function Read_EveINI_MG(ByVal In_FileStr As String, _ ByVal In_Section As String, _ ByVal In_Entry As String, _ Optional ByVal In_blnTrim As Boolean = True) 'イベント情報取得 Read_EveINI_MG = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_EVE & In_FileStr & MSTR_INI_EVE, In_Section, In_Entry, In_blnTrim) End Function '---------------------------------------------------------- '機 能:イベントTXTファイル読み込み '---------------------------------------------------------- Public Function Read_EveTXT_MG(ByVal In_FileStr As String) As String() 'イベント情報取得 Read_EveTXT_MG = COM_LoadDict_FileIo(gstrDataDir & MSTR_DIR_EVE & In_FileStr) End Function '---------------------------------------------------------- '機 能:音楽の再生 '引 数:[I]音楽の管理番号 '備 考:当関数実行前に一度下記を行う '---------------------------------------------------------- Public Sub Play_Mid_MG(ByVal In_No As Integer) Dim strSoundName As String On Error Resume Next '音楽ファイル名の取得・設定 strSoundName = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_Sound & MSTR_INI_Sound, MSTR_SECTION_M_Sound, CStr(In_No)) strSoundName = gstrDataDir & MSTR_DIR_Sound & Trim$(strSoundName) '音楽再生 Call C_modSound.COM_PlayMid_Sound(strSoundName) On Error GoTo 0 End Sub '---------------------------------------------------------- '機 能:音楽の再生(何でも再生) '引 数:[I]音楽の管理番号 '備 考:当関数実行前に一度下記を行う '---------------------------------------------------------- Public Sub Play_Mci_MG(ByVal In_No As Integer) Dim strSoundName As String On Error Resume Next '音楽ファイル名の取得・設定 strSoundName = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_Sound & MSTR_INI_Sound, MSTR_SECTION_S_Sound, CStr(In_No)) strSoundName = gstrDataDir & MSTR_DIR_Sound & Trim$(strSoundName) '音楽再生 Call C_modSound.COM_PlayMci_Sound(strSoundName) On Error GoTo 0 End Sub '---------------------------------------------------------- '機 能:効果音の再生 '引 数:[I]効果音の管理番号 '備 考:当関数実行前に一度下記を行う '---------------------------------------------------------- Public Sub Play_Wave_MG(ByVal In_No As Integer) Dim strSoundName As String On Error Resume Next ' 効果音ファイル名の取得・設定 strSoundName = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_Sound & MSTR_INI_Sound, MSTR_SECTION_S_Sound, CStr(In_No)) strSoundName = gstrDataDir & MSTR_DIR_Sound & Trim$(strSoundName) ' 効果音再生 Call C_modSound.COM_PlayWave_Sound(strSoundName) On Error GoTo 0 End Sub '---------------------------------------------------------- '機 能:背景描画 '引 数:[I]背景の管理番号 '備 考:※フォームリフレッシュが必要 '   :※LEFT,TOPが-1、-1のときINIファイル指定座標を始点に描画 '7697664=RGB(0,117,117) '---------------------------------------------------------- Public Sub Play_BMP_MG(ByVal In_No As Integer, _ Optional ByVal In_Left As Single = -1, _ Optional ByVal In_Top As Single = -1, _ Optional ByVal In_ColorPt As OLE_COLOR = 7697664) Dim strFileName As String Dim strReadData() As String Dim strReadIni As String '画像情報取得 strReadIni = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_PIC & MSTR_INI_PIC, MSTR_SECTION_PIC, CStr(In_No)) strReadData = Split(strReadIni, ":") strFileName = gstrDataDir & MSTR_DIR_PIC & Trim$(strReadData(0)) '透過色(白はBackColorが白なので) 'BITBLTはPictureBoxを使用しないとできないため、使用していない If In_Left = -1 And In_Top = -1 Then Call C_modBlt.COM_Trans_Blt(mObjForm.hdc, Val(strReadData(1)), Val(strReadData(2)), Val(strReadData(3)), Val(strReadData(4)), LoadPicture(strFileName), 0, 0, In_ColorPt) Else Call C_modBlt.COM_Trans_Blt(mObjForm.hdc, In_Left, In_Top, Val(strReadData(3)), Val(strReadData(4)), LoadPicture(strFileName), 0, 0, In_ColorPt) End If End Sub '---------------------------------------------------------- '機 能:背景描画 '引 数:[I]背景の管理番号 '備 考:※フォームリフレッシュが必要 '   :※LEFT,TOPが-1、-1のときINIファイル指定座標を始点に描画 '---------------------------------------------------------- Public Sub Play_BK_MG(ByVal In_No As Integer) Dim strFileName As String Dim strReadData() As String Dim strReadIni As String '画像情報取得 strReadIni = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_PIC & MSTR_INI_PIC, MSTR_SECTION_PIC, CStr(In_No)) strReadData = Split(strReadIni, ":") strFileName = gstrDataDir & MSTR_DIR_PIC & Trim$(strReadData(0)) mObjForm.Picture = LoadPicture(strFileName) End Sub '---------------------------------------------------------- '機 能:画像エフェクト設定 '返却値:[I]画像エフェクト番号 '引 数: '説 明: '---------------------------------------------------------- Public Function Play_Eff_MG(ByVal In_No As Integer) As Boolean If mblnInitEffFlg = False Then mblnInitEffFlg = True Set mclsG.mObjForm = mObjForm End If mclsG.glngTime = glngActTime Call mclsG.COM_Play_GlaficEff(In_No) End Function '---------------------------------------------------------- '機 能:セーブ処理 '返却値:[I]セーブ番号 '---------------------------------------------------------- Public Function Play_Save_MG(ByVal In_No As Integer) As Boolean Dim strFileName As String Play_Save_MG = True 'ディレストリ作成 Call C_modFileIO.MakeDir_FileIo(gstrDataDir & MSTR_DIR_SAVE) 'ファイル作成 Call G_modDataFile.SetT_All_DataFile(GT_All) strFileName = gstrDataDir & MSTR_DIR_SAVE & "\" & In_No & MSTR_SAVEFILE_NAME If G_modDataFile.BinaryWrite_DataFile(strFileName) = False Then Call MsgBox("セーブ失敗", vbCritical, "ERR") Play_Save_MG = False End If Call C_modFileIO.COM_WriteINI_FileIo(gstrDataDir & MSTR_DIR_SAVE & "\" & MSTR_INI_SAVE, MSTR_SECTION_SAVE, CStr(In_No), "[" & Format(Now, "YY年MM月DD日 HH時MM分") & "] " & GT_All.tEvent.ToDay & "日目 " & GT_All.tEvent.HavePoint & "Point") End Function '---------------------------------------------------------- '機 能:ロード処理 '返却値:[I]セーブ番号 '---------------------------------------------------------- Public Function Play_Load_MG(ByVal In_No As Integer) As Boolean Dim strFileName As String Play_Load_MG = True 'ファイル作成 strFileName = gstrDataDir & MSTR_DIR_SAVE & "\" & In_No & MSTR_SAVEFILE_NAME If G_modDataFile.BinaryReadAll_DataFile(strFileName) = True Then GT_All = G_modDataFile.GetT_All_DataFile Else ' Call MsgBox("ロード失敗", vbCritical, "ERR") Play_Load_MG = False End If End Function '---------------------------------------------------------- '機 能:セーブデータ情報表示 '返却値:[I]セーブ番号 '---------------------------------------------------------- Public Function Show_SaveData_MG(ByVal In_No As Integer) As String Show_SaveData_MG = COM_ReadINI_FileIo(gstrDataDir & MSTR_DIR_SAVE & "\" & MSTR_INI_SAVE, MSTR_SECTION_SAVE, In_No) End Function '---------------------------------------------------------- '機 能:文字列表示(ピンポイント描画) '---------------------------------------------------------- Public Sub Drow_Msg_MG(ByVal In_Str As String, _ ByVal In_Left As Single, _ ByVal In_Top As Single, _ ByVal In_Right As Single, _ ByVal In_Bottom As Single, _ Optional ByVal In_FontSize As Integer = 16, _ Optional ByVal In_ForeColor As OLE_COLOR = &H40&, _ Optional ByVal In_Format_L0R1C2 As Integer = 0) nRECT.Left = In_Left nRECT.Top = In_Top nRECT.Bottom = In_Bottom nRECT.Right = In_Right mObjForm.FontSize = In_FontSize mObjForm.ForeColor = In_ForeColor '中央寄せにするか否か If In_Format_L0R1C2 = 0 Then '左よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H10) ElseIf In_Format_L0R1C2 = 1 Then '右よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H12) Else '真ん中よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H4 Or &H1 Or &H20) End If mObjForm.Refresh End Sub '---------------------------------------------------------- '機 能:文字列表示(ピンポイント描画) '---------------------------------------------------------- Public Sub Drow_MsgW_MG(ByVal In_Str As String, _ ByVal In_Left As Single, _ ByVal In_Top As Single, _ ByVal In_Width As Single, _ ByVal In_Height As Single, _ Optional ByVal In_FontSize As Integer = 16, _ Optional ByVal In_ForeColor As OLE_COLOR = &H40&, _ Optional ByVal In_Format_L0R1C2 As Integer = 0) nRECT.Left = In_Left nRECT.Top = In_Top nRECT.Bottom = In_Top + In_Height nRECT.Right = In_Left + In_Width mObjForm.FontSize = In_FontSize mObjForm.ForeColor = In_ForeColor '中央寄せにするか否か If In_Format_L0R1C2 = 0 Then '左よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H10) ElseIf In_Format_L0R1C2 = 1 Then '右よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H12) Else '真ん中よせ Call DrawText(mObjForm.hdc, Replace(In_Str, "\n", vbCrLf), -1, nRECT, &H4 Or &H1 Or &H20) End If mObjForm.Refresh End Sub '---------------------------------------------------------- '機 能:画像転送 '---------------------------------------------------------- Public Sub F_To_P_MG(ByVal In_Type As Boolean) '[TRUE] フォーム画面をテンプ画面へ If In_Type = True Then Call C_modBlt.BitBlt(mObjPic.hdc, 0, 0, 640, 480, mObjForm.hdc, 0, 0, &HCC0020) mObjPic.Refresh '[FALSE] テンプ画面をフォーム画面へ Else Call C_modBlt.BitBlt(mObjForm.hdc, 0, 0, 640, 480, mObjPic.hdc, 0, 0, &HCC0020) End If End Sub '---------------------------------------------------------- '機 能:背景色反転 '---------------------------------------------------------- Public Sub ColorTarn_MG(ByVal In_Left As Single, _ ByVal In_Top As Single, _ ByVal In_Width As Single, _ ByVal In_Height As Single) Call C_modBlt.BitBlt(mObjForm.hdc, In_Left, In_Top, In_Width, In_Height, mObjForm.hdc, In_Left, In_Top, vbDstInvert) End Sub