• R/O
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。


Commit MetaInfo

修订版7 (tree)
时间2015-01-12 18:22:26
作者xops-mikan

Log Message

ウィンドウスタイルと各画面表示を改善

更改概述

差异

--- trunk/gamemain.cpp (revision 6)
+++ trunk/gamemain.cpp (revision 7)
@@ -170,6 +170,7 @@
170170 return 0;
171171 }
172172
173+//! @todo カメラの移動を滑らかにする
173174 void opening::Process()
174175 {
175176 //オブジェクトマネージャーを実行
@@ -182,11 +183,11 @@
182183
183184 //カメラワークを求める
184185 if( framecnt < 3*((int)GAMEFPS) ){
185- camera_x = -4.0f;
186+ camera_x = -5.0f;
186187 camera_y = 58.0f;
187- camera_z = 28.0f;
188- camera_rx = (float)M_PI/180*205;
189- camera_ry = (float)M_PI/180*13;
188+ camera_z = 29.0f;
189+ camera_rx = (float)M_PI/180*206;
190+ camera_ry = (float)M_PI/180*12;
190191 }
191192 else if( framecnt < 5*((int)GAMEFPS) ){
192193 camera_rx += (float)M_PI/180*1.1f;
@@ -193,7 +194,7 @@
193194 camera_ry -= (float)M_PI/180*0.7f;
194195 }
195196 else if( framecnt < 17*((int)GAMEFPS) ){
196- camera_z += 0.1f;
197+ camera_z += 0.08f;
197198 camera_y -= 0.05f;
198199 }
199200 else {
@@ -608,7 +609,12 @@
608609 d3dg->Draw2DTextureFontText(522, 75, GAMEVERSION, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f), 18, 22);
609610
610611 //メニューエリア描画
611- d3dg->Draw2DBox(MAINMENU_X-1, MAINMENU_Y, MAINMENU_X+360, MAINMENU_Y+MAINMENU_H, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.5f));
612+ if( GameAddon.GetTotaldatas() > 0 ){ //addonがあれば
613+ d3dg->Draw2DBox(MAINMENU_X-1, MAINMENU_Y, MAINMENU_X+360, MAINMENU_Y+MAINMENU_H+1, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.5f));
614+ }
615+ else{
616+ d3dg->Draw2DBox(MAINMENU_X-1, MAINMENU_Y, MAINMENU_X+360, MAINMENU_Y+MAINMENU_H-24, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.5f));
617+ }
612618 d3dg->Draw2DBox(MAINMENU_X+341, MAINMENU_Y+1, MAINMENU_X+360, MAINMENU_Y+MAINMENU_H-24, D3DCOLOR_COLORVALUE(0.5f,0.5f,0.5f,0.5f));
613619
614620 //スクロールバー描画
@@ -633,8 +639,9 @@
633639 }
634640
635641 //'< UP >'描画
636- d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+1, "< UP >", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 20, 26);
637642 if( scrollitems > 0 ){
643+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+1, "< UP >", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 25, 26);
644+
638645 //文字の色を設定
639646 if( (MAINMENU_X < mainmenu_mouseX)&&(mainmenu_mouseX < (MAINMENU_X+340))&&(MAINMENU_Y < mainmenu_mouseY)&&(mainmenu_mouseY < MAINMENU_Y+30) ){
640647 color = D3DCOLOR_COLORVALUE(0.0f,1.0f,1.0f,1.0f);
@@ -644,12 +651,16 @@
644651 }
645652
646653 //文字を描画
647- d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y, "< UP >", color, 20, 26);
654+ d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y, "< UP >", color, 25, 26);
648655 }
656+ else{
657+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+1, "< UP >", D3DCOLOR_COLORVALUE(0.6f,0.6f,0.6f,1.0f), 25, 26);
658+ }
649659
650660 //'< DOWN >'描画
651- d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-55+1, "< DOWN >", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 20, 26);
652661 if( scrollitems < (totalmission - TOTAL_MENUITEMS) ){
662+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-55+1, "< DOWN >", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 25, 26);
663+
653664 //文字の色を設定
654665 if( (MAINMENU_X < mainmenu_mouseX)&&(mainmenu_mouseX < (MAINMENU_X+340))&&((MAINMENU_Y+MAINMENU_H-55) < mainmenu_mouseY)&&(mainmenu_mouseY < (MAINMENU_Y+MAINMENU_H-55+30)) ){
655666 color = D3DCOLOR_COLORVALUE(0.0f,1.0f,1.0f,1.0f);
@@ -659,14 +670,14 @@
659670 }
660671
661672 //文字を描画
662- d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-55, "< DOWN >", color, 20, 26);
673+ d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-55, "< DOWN >", color, 25, 26);
663674 }
675+ else{
676+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-55+1, "< DOWN >", D3DCOLOR_COLORVALUE(0.6f,0.6f,0.6f,1.0f), 25, 26);
677+ }
664678
665679 //標準ミッションとaddon切り替え
666680 if( GameInfoData.selectaddon == false ){
667- //下地の文字を描画
668- d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-25+1, "ADD-ON MISSIONS >>", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 16, 23);
669-
670681 //addonがあれば
671682 if( GameAddon.GetTotaldatas() > 0 ){
672683 //文字の色を設定
@@ -678,21 +689,25 @@
678689 }
679690
680691 //文字を描画
681- d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-25, "ADD-ON MISSIONS >>", color, 16, 23);
692+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-25+1, "ADD-ON MISSIONS >>", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 17, 22);
693+ d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-25, "ADD-ON MISSIONS >>", color, 17, 22);
682694 }
683695 }
684696 else{
685- //文字の色を設定
686- if( (MAINMENU_X < mainmenu_mouseX)&&(mainmenu_mouseX < (MAINMENU_X+340))&&((MAINMENU_Y+MAINMENU_H-25) < mainmenu_mouseY)&&(mainmenu_mouseY < (MAINMENU_Y+MAINMENU_H-2)) ){
687- color = D3DCOLOR_COLORVALUE(0.0f,1.0f,1.0f,1.0f);
688- }
689- else{
690- color = D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f);
691- }
697+ //addonがあれば
698+ //if( GameAddon.GetTotaldatas() > 0 ){
699+ //文字の色を設定
700+ if( (MAINMENU_X < mainmenu_mouseX)&&(mainmenu_mouseX < (MAINMENU_X+340))&&((MAINMENU_Y+MAINMENU_H-25) < mainmenu_mouseY)&&(mainmenu_mouseY < (MAINMENU_Y+MAINMENU_H-2)) ){
701+ color = D3DCOLOR_COLORVALUE(0.0f,1.0f,1.0f,1.0f);
702+ }
703+ else{
704+ color = D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f);
705+ }
692706
693- //文字を描画
694- d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-25+1, "<< STANDARD MISSIONS", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 16, 23);
695- d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-25, "<< STANDARD MISSIONS", color, 16, 23);
707+ //文字を描画
708+ d3dg->Draw2DTextureFontText(MAINMENU_X+1, MAINMENU_Y+MAINMENU_H-25+1, "<< STANDARD MISSIONS", D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 17, 22);
709+ d3dg->Draw2DTextureFontText(MAINMENU_X, MAINMENU_Y+MAINMENU_H-25, "<< STANDARD MISSIONS", color, 17, 22);
710+ //}
696711 }
697712
698713 //ミッション名を描画
@@ -819,15 +834,15 @@
819834 float effectA = 1.0f - 0.8f/((int)(GAMEFPS*0.7f))*(framecnt%((int)(GAMEFPS*0.7f)));
820835 float effectB = 1.0f - 0.8f/((int)(GAMEFPS*0.8f))*(framecnt%((int)(GAMEFPS*1.0f)));
821836 int effectB_sizeW = (int)( (float)(framecnt%((int)(GAMEFPS*1.0f))) * 0.2f + 18 );
822- int effectB_sizeH = (int)( (float)(framecnt%((int)(GAMEFPS*1.0f))) * 1.0f + 25 );
837+ int effectB_sizeH = (int)( (float)(framecnt%((int)(GAMEFPS*1.0f))) * 1.0f + 26 );
823838
824839 //メモ:背景画像の描画は、自動的に行われる。
825840
826841 //固定文字描画
827842 d3dg->Draw2DTextureFontText(SCREEN_WIDTH/2 - 60*4, 30, "BRIEFING", D3DCOLOR_COLORVALUE(1.0f,1.0f,0.0f,effectA), 60, 42);
828- d3dg->Draw2DTextureFontText(SCREEN_WIDTH - 220 - effectB_sizeW*9 - effectB_sizeW/2, SCREEN_HEIGTH - 37 - effectB_sizeH/2,
843+ d3dg->Draw2DTextureFontText(SCREEN_WIDTH - 210 - effectB_sizeW*20/2, SCREEN_HEIGTH - 37 - effectB_sizeH/2,
829844 "LEFT CLICK TO BEGIN", D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,effectB), effectB_sizeW, effectB_sizeH);
830- d3dg->Draw2DTextureFontText(SCREEN_WIDTH - 390, SCREEN_HEIGTH - 50, "LEFT CLICK TO BEGIN", D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f), 18, 25);
845+ d3dg->Draw2DTextureFontText(SCREEN_WIDTH - 210 - 18*20/2, SCREEN_HEIGTH - 37 - 26/2, "LEFT CLICK TO BEGIN", D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f), 18, 26);
831846
832847 //ブリーフィング画像描画
833848 if( TwoTexture == false ){
@@ -1933,7 +1948,7 @@
19331948 str[5] = (signed char)0xB4; str[6] = (signed char)0xB4; str[7] = (signed char)0xB5; str[8] = (signed char)0x00;
19341949 d3dg->Draw2DTextureFontText(15, SCREEN_HEIGTH - 105, str, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,0.5f), 32, 32);
19351950 //"テトトトトトトナ"
1936- for(int i=0; i<9; i++){ str[i] += (signed char)0x10; }
1951+ for(int i=0; str[i] != 0x00; i++){ str[i] += (signed char)0x10; }
19371952 d3dg->Draw2DTextureFontText(15, SCREEN_HEIGTH - 105 +32, str, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,0.5f), 32, 32);
19381953 //"ウエエカキキキクケ"
19391954 str[0] = (signed char)0xB3; str[1] = (signed char)0xB4; str[2] = (signed char)0xB4; str[3] = (signed char)0xB6; str[4] = (signed char)0xB7;
@@ -1940,7 +1955,7 @@
19401955 str[5] = (signed char)0xB7; str[6] = (signed char)0xB7; str[7] = (signed char)0xB8; str[8] = (signed char)0xB9; str[9] = (signed char)0x00;
19411956 d3dg->Draw2DTextureFontText(15, SCREEN_HEIGTH - 55, str, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,0.5f), 32, 32);
19421957 //"テトトニヌヌヌネノ"
1943- for(int i=0; i<10; i++){ str[i] += (signed char)0x10; }
1958+ for(int i=0; str[i] != 0x00; i++){ str[i] += (signed char)0x10; }
19441959 d3dg->Draw2DTextureFontText(15, SCREEN_HEIGTH - 55 +32, str, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,0.5f), 32, 32);
19451960
19461961 //右下エリア用文字コード設定
@@ -2044,13 +2059,17 @@
20442059 //照準表示
20452060 if( (Camera_F1mode == false)&&(weapon[selectweapon] != NULL)&&(end_framecnt == 0)&&(myHuman->GetScopeMode() == 0)&&(param_scopemode != 2) ){
20462061 if( GameConfig.GetAnotherGunsightFlag() ){ //オプション型
2062+ //照準の透明度
2063+ float alpha = 1.0f - (float)ErrorRange/40.0f;
2064+ if( alpha < 0.0f ){ alpha = 0.0f; }
2065+
20472066 d3dg->Draw2DLine(SCREEN_WIDTH/2, SCREEN_HEIGTH/2, SCREEN_WIDTH/2, SCREEN_HEIGTH/2+4, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,0.5f));
20482067 d3dg->Draw2DLine(SCREEN_WIDTH/2-15, SCREEN_HEIGTH/2+15, SCREEN_WIDTH/2-19, SCREEN_HEIGTH/2+19, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,0.5f));
20492068 d3dg->Draw2DLine(SCREEN_WIDTH/2+15, SCREEN_HEIGTH/2+15, SCREEN_WIDTH/2+19, SCREEN_HEIGTH/2+19, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,0.5f));
20502069 d3dg->Draw2DLine(SCREEN_WIDTH/2-4, SCREEN_HEIGTH/2+4, SCREEN_WIDTH/2+4, SCREEN_HEIGTH/2+4, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,1.0f));
20512070
2052- d3dg->Draw2DLine(SCREEN_WIDTH/2-4 - ErrorRange, SCREEN_HEIGTH/2-4 - ErrorRange, SCREEN_WIDTH/2-4 - ErrorRange, SCREEN_HEIGTH/2+4 + ErrorRange, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,1.0f));
2053- d3dg->Draw2DLine(SCREEN_WIDTH/2+4 + ErrorRange, SCREEN_HEIGTH/2-4 - ErrorRange, SCREEN_WIDTH/2+4 + ErrorRange, SCREEN_HEIGTH/2+4 + ErrorRange, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,1.0f));
2071+ d3dg->Draw2DLine(SCREEN_WIDTH/2-4 - ErrorRange, SCREEN_HEIGTH/2-4 - ErrorRange/2, SCREEN_WIDTH/2-4 - ErrorRange, SCREEN_HEIGTH/2+4 + ErrorRange/2, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,alpha));
2072+ d3dg->Draw2DLine(SCREEN_WIDTH/2+4 + ErrorRange, SCREEN_HEIGTH/2-4 - ErrorRange/2, SCREEN_WIDTH/2+4 + ErrorRange, SCREEN_HEIGTH/2+4 + ErrorRange/2, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,alpha));
20542073 }
20552074 else{ //標準型
20562075 d3dg->Draw2DLine(SCREEN_WIDTH/2-13, SCREEN_HEIGTH/2, SCREEN_WIDTH/2-3, SCREEN_HEIGTH/2, D3DCOLOR_COLORVALUE(1.0f,0.0f,0.0f,1.0f));
--- trunk/scene.cpp (revision 6)
+++ trunk/scene.cpp (revision 7)
@@ -128,8 +128,8 @@
128128 {
129129 if( d3dg->StartRender() ){ return; }
130130
131- d3dg->Draw2DTexture(0, 0, gametitle, SCREEN_WIDTH, SCREEN_HEIGTH, 1.0f);
132- d3dg->Draw2DBox(11, 11, SCREEN_WIDTH - 10, SCREEN_HEIGTH - 10, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.9f));
131+ d3dg->Draw2DTexture(0, 0, gametitle, SCREEN_WIDTH, SCREEN_HEIGTH, 0.4f);
132+ d3dg->Draw2DBox(11, 11, SCREEN_WIDTH - 10, SCREEN_HEIGTH - 10, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.75f));
133133
134134 Render2D();
135135
--- trunk/window.cpp (revision 6)
+++ trunk/window.cpp (revision 7)
@@ -44,8 +44,7 @@
4444 HWND InitWindow(HINSTANCE hInstance, char* title, int width, int height, int nCmdShow, bool fullscreen)
4545 {
4646 WNDCLASS wc;
47- //int x, y;
48- //int w, h;
47+ int x, y;
4948 RECT Rect;
5049 DWORD dwStyle;
5150 HWND hWnd;
@@ -66,7 +65,7 @@
6665 }
6766
6867 if( fullscreen == false ){
69- dwStyle = WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION;
68+ dwStyle = WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX;
7069 }
7170 else{
7271 dwStyle = WS_POPUP;
@@ -81,8 +80,21 @@
8180 width = Rect.right - Rect.left;
8281 height = Rect.bottom - Rect.top;
8382
83+ //表示位置
84+ x = 0;
85+ y = 0;
86+
87+ /*
88+ //ウインドウモードなら、ウインドウを画面の中心に配置する
89+ if( fullscreen == false ){
90+ SystemParametersInfo(SPI_GETWORKAREA, 0, &Rect, 0);
91+ x = (Rect.right - width)/2;
92+ y = (Rect.bottom - height)/2;
93+ }
94+ */
95+
8496 //ウィンドウ作成
85- hWnd = CreateWindow( "MainWindow", title, dwStyle, 0, 0, width, height, NULL, NULL, hInstance, NULL );
97+ hWnd = CreateWindow( "MainWindow", title, dwStyle, x, y, width, height, NULL, NULL, hInstance, NULL );
8698 if( hWnd == NULL ){
8799 return NULL;
88100 }