• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

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

Violet Vreath is Shooter Game for Windows XP+(個人制作シューティングゲーム)


Commit MetaInfo

Revision8f05e812e07fb7db2064b6f55559e86866079b41 (tree)
Time2019-03-19 22:11:12
Authorgecchi <gecchi@XPS8...>
Commitergecchi

Log Message

平行曲線の奇跡

Change Summary

Incremental Difference

--- a/GgafDx/src/jp/ggaf/dx/actor/supporter/Kuroko.cpp
+++ b/GgafDx/src/jp/ggaf/dx/actor/supporter/Kuroko.cpp
@@ -665,8 +665,8 @@ void Kuroko::forceRzMvAngVeloRange(angvelo prm_angvelo_rz_mv01,
665665 }
666666
667667 void Kuroko::setStopTargetRzMvAng(angle prm_target_rz_mv,
668- int prm_allow_way,
669- angvelo prm_allow_angvelo) {
668+ int prm_allow_way,
669+ angvelo prm_allow_angvelo) {
670670 _is_targeting_rz_mv = true;
671671 _rz_mv_targeting_stop_flg = true;
672672 _target_rz_mv = UTIL::simplifyAng(prm_target_rz_mv);
@@ -1071,8 +1071,8 @@ void Kuroko::turnRzRyFaceAngTo(angle prm_rz_target, angle prm_ry_target,
10711071 }
10721072
10731073 void Kuroko::turnFaceAngTwd(coord prm_tx, coord prm_ty, coord prm_tz,
1074- angvelo prm_angvelo, angacce prm_angacce,
1075- int prm_way, bool prm_optimize_ang) {
1074+ angvelo prm_angvelo, angacce prm_angacce,
1075+ int prm_way, bool prm_optimize_ang) {
10761076 coord vx = prm_tx - _pActor->_x;
10771077 coord vy = prm_ty - _pActor->_y;
10781078 coord vz = prm_tz - _pActor->_z;
@@ -1092,8 +1092,8 @@ void Kuroko::turnFaceAngTwd(coord prm_tx, coord prm_ty, coord prm_tz,
10921092
10931093
10941094 void Kuroko::turnFaceAng(axis prm_axis,
1095- angle prm_distance,
1096- angvelo prm_angvelo, angacce prm_angacce) {
1095+ angle prm_distance,
1096+ angvelo prm_angvelo, angacce prm_angacce) {
10971097 int s = SGN(prm_distance);
10981098 setFaceAngVelo(prm_axis, ABS(prm_angvelo)*s);
10991099 setFaceAngAcce(prm_axis, ABS(prm_angacce)*s);
@@ -1104,8 +1104,8 @@ void Kuroko::turnFaceAng(axis prm_axis,
11041104
11051105
11061106 void Kuroko::turnRzFaceAngTo(angle prm_rz_target,
1107- angvelo prm_angvelo, angacce prm_angacce,
1108- int prm_way) {
1107+ angvelo prm_angvelo, angacce prm_angacce,
1108+ int prm_way) {
11091109 if (getFaceAngDistance(AXIS_Z, prm_rz_target, prm_way) > 0) {
11101110 setFaceAngVelo(AXIS_Z, prm_angvelo);
11111111 setFaceAngAcce(AXIS_Z, prm_angacce);
@@ -1134,8 +1134,8 @@ void Kuroko::turnRyFaceAngTo(angle prm_ry_target,
11341134 }
11351135
11361136 void Kuroko::rollFaceAngTo(angle prm_rx_target,
1137- angvelo prm_angvelo, angacce prm_angacce,
1138- int prm_way) {
1137+ angvelo prm_angvelo, angacce prm_angacce,
1138+ int prm_way) {
11391139 if (getFaceAngDistance(AXIS_X, prm_rx_target, prm_way) > 0) {
11401140 setFaceAngVelo(AXIS_X, prm_angvelo);
11411141 setFaceAngAcce(AXIS_X, prm_angacce);
@@ -1147,8 +1147,8 @@ void Kuroko::rollFaceAngTo(angle prm_rx_target,
11471147 }
11481148
11491149 void Kuroko::turnRzRyMvAngTo(angle prm_rz_target, angle prm_ry_target,
1150- angvelo prm_angvelo, angacce prm_angacce,
1151- int prm_way, bool prm_optimize_ang) {
1150+ angvelo prm_angvelo, angacce prm_angacce,
1151+ int prm_way, bool prm_optimize_ang) {
11521152 angle out_d_rz;
11531153 angle out_d_ry;
11541154 if (prm_optimize_ang) {
@@ -1236,8 +1236,8 @@ void Kuroko::turnRzRyMvAngTo(angle prm_rz_target, angle prm_ry_target,
12361236 }
12371237
12381238 void Kuroko::turnMvAngTwd(coord prm_tx, coord prm_ty, coord prm_tz,
1239- angvelo prm_angvelo, angacce prm_angacce,
1240- int prm_way, bool prm_optimize_ang) {
1239+ angvelo prm_angvelo, angacce prm_angacce,
1240+ int prm_way, bool prm_optimize_ang) {
12411241 coord vx = prm_tx - _pActor->_x;
12421242 coord vy = prm_ty - _pActor->_y;
12431243 coord vz = prm_tz - _pActor->_z;
@@ -1256,7 +1256,7 @@ void Kuroko::turnMvAngTwd(coord prm_tx, coord prm_ty, coord prm_tz,
12561256 }
12571257
12581258 void Kuroko::turnRzMvAng(angle prm_rz_distance,
1259- angvelo prm_angvelo, angacce prm_angacce) {
1259+ angvelo prm_angvelo, angacce prm_angacce) {
12601260 int s = SGN(prm_rz_distance);
12611261 setRzMvAngVelo(ABS(prm_angvelo) * s);
12621262 setRzMvAngAcce(ABS(prm_angacce) * s);
@@ -1264,7 +1264,7 @@ void Kuroko::turnRzMvAng(angle prm_rz_distance,
12641264 }
12651265
12661266 void Kuroko::turnRyMvAng(angle prm_ry_distance,
1267- angvelo prm_angvelo, angacce prm_angacce) {
1267+ angvelo prm_angvelo, angacce prm_angacce) {
12681268 int s = SGN(prm_ry_distance);
12691269 setRyMvAngVelo(ABS(prm_angvelo) * s);
12701270 setRyMvAngAcce(ABS(prm_angacce) * s);
@@ -1272,8 +1272,8 @@ void Kuroko::turnRyMvAng(angle prm_ry_distance,
12721272 }
12731273
12741274 void Kuroko::turnRzMvAngTo(angle prm_rz_target,
1275- angvelo prm_angvelo, angacce prm_angacce,
1276- int prm_way) {
1275+ angvelo prm_angvelo, angacce prm_angacce,
1276+ int prm_way) {
12771277 if (getRzMvAngDistance(prm_rz_target, prm_way) > 0) {
12781278 setRzMvAngVelo(prm_angvelo);
12791279 setRzMvAngAcce(prm_angacce);
@@ -1285,8 +1285,8 @@ void Kuroko::turnRzMvAngTo(angle prm_rz_target,
12851285 }
12861286
12871287 void Kuroko::turnRyMvAngTo(angle prm_ry_target,
1288- angvelo prm_angvelo, angacce prm_angacce,
1289- int prm_way) {
1288+ angvelo prm_angvelo, angacce prm_angacce,
1289+ int prm_way) {
12901290 if (getRyMvAngDistance(prm_ry_target, prm_way) > 0) {
12911291 setRyMvAngVelo(prm_angvelo);
12921292 setRyMvAngAcce(prm_angacce);
--- a/GgafDx/src/jp/ggaf/dx/actor/supporter/KurokoMvAngAssistant.cpp
+++ b/GgafDx/src/jp/ggaf/dx/actor/supporter/KurokoMvAngAssistant.cpp
@@ -144,16 +144,16 @@ void KurokoMvAngAssistant::turnRyByVd(
144144
145145
146146 void KurokoMvAngAssistant::turnRzByDtTo(angle prm_rz_target, int prm_way, int prm_target_frames,
147- float prm_p1, float prm_p2, angvelo prm_end_angvelo,
148- bool prm_zero_acc_end_flg) {
147+ float prm_p1, float prm_p2, angvelo prm_end_angvelo,
148+ bool prm_zero_acc_end_flg) {
149149 angle distance = _pMaster->getRzMvAngDistance(prm_rz_target, prm_way);
150150 turnRzByDt(distance, prm_target_frames,
151- prm_p1, prm_p2, prm_end_angvelo,
152- prm_zero_acc_end_flg);
151+ prm_p1, prm_p2, prm_end_angvelo,
152+ prm_zero_acc_end_flg);
153153 }
154154 void KurokoMvAngAssistant::turnRyByDtTo(angle prm_ry_target, int prm_way, int prm_target_frames,
155- float prm_p1, float prm_p2, angvelo prm_end_angvelo,
156- bool prm_zero_acc_end_flg) {
155+ float prm_p1, float prm_p2, angvelo prm_end_angvelo,
156+ bool prm_zero_acc_end_flg) {
157157 angle distance = _pMaster->getRyMvAngDistance(prm_ry_target, prm_way);
158158 turnRyByDt(distance, prm_target_frames,
159159 prm_p1, prm_p2, prm_end_angvelo,
@@ -177,11 +177,11 @@ void KurokoMvAngAssistant::turnRzRyByDtTo(
177177 }
178178
179179 turnRzByDt(out_rz_distance, prm_target_frames,
180- prm_p1, prm_p2, prm_end_angvelo,
181- prm_zero_acc_end_flg);
180+ prm_p1, prm_p2, prm_end_angvelo,
181+ prm_zero_acc_end_flg);
182182 turnRyByDt(out_ry_distance, prm_target_frames,
183- prm_p1, prm_p2, prm_end_angvelo,
184- prm_zero_acc_end_flg);
183+ prm_p1, prm_p2, prm_end_angvelo,
184+ prm_zero_acc_end_flg);
185185 }
186186
187187 void KurokoMvAngAssistant::turnByDtTwd(
--- a/GgafLib/include/jp/ggaf/lib/util/spline/FixedVelocitySplineKurokoLeader.h
+++ b/GgafLib/include/jp/ggaf/lib/util/spline/FixedVelocitySplineKurokoLeader.h
@@ -18,7 +18,6 @@ namespace GgafLib {
1818 */
1919 class FixedVelocitySplineKurokoLeader : public SplineLeader {
2020
21-
2221 public:
2322 GgafDx::Kuroko* _pKuroko_target;
2423 /** [r]スプライン情報セット(splファイルの情報に相当) */
--- a/GgafLib/include/jp/ggaf/lib/util/spline/SplineLeader.h
+++ b/GgafLib/include/jp/ggaf/lib/util/spline/SplineLeader.h
@@ -70,6 +70,8 @@ public:
7070 float _sinRy_begin;
7171 float _cosRy_begin;
7272
73+ bool _turn_smooth;
74+
7375 public:
7476 /**
7577 * コンストラクタ .
--- a/GgafLib/src/jp/ggaf/lib/util/spline/FixedVelocitySplineKurokoLeader.cpp
+++ b/GgafLib/src/jp/ggaf/lib/util/spline/FixedVelocitySplineKurokoLeader.cpp
@@ -2,6 +2,7 @@
22
33 #include "jp/ggaf/dx/exception/CriticalException.h"
44 #include "jp/ggaf/dx/actor/supporter/Kuroko.h"
5+#include "jp/ggaf/dx/actor/supporter/KurokoMvAngAssistant.h"
56 #include "jp/ggaf/lib/util/StgUtil.h"
67 #include "jp/ggaf/lib/util/spline/SplineSource.h"
78 #include "jp/ggaf/lib/util/spline/FixedVelocitySplineManufacture.h"
@@ -56,17 +57,25 @@ again:
5657 _float_frame_of_next = (1.0*_distance_to_begin / _pFixedVeloSplManuf->_velo_mvUnit) +
5758 _pFixedVeloSplManuf->_paFrame_need_at[_point_index];
5859 }
60+ if (_leadning_float_frames >= _float_frame_of_next) {
61+ //_float_frame_of_nextを次に進めても足りない場合、もう一つ_point_indexを進める
62+ goto again;
63+ }
64+ coord x, y, z;
65+ getPointCoord(_point_index, x, y, z);
66+ if (_turn_smooth) {
67+ pKuroko_target->asstMvAng()->turnByVdTwd(
68+ _pFixedVeloSplManuf->_angvelo_rzry_mv,
69+ x, y, z, _pFixedVeloSplManuf->_turn_way, _pFixedVeloSplManuf->_turn_optimize,
70+ 0.3, 0.7, 0,
71+ true);
72+ } else {
73+ pKuroko_target->turnMvAngTwd(x, y, z,
74+ _pFixedVeloSplManuf->_angvelo_rzry_mv, 0,
75+ _pFixedVeloSplManuf->_turn_way,
76+ _pFixedVeloSplManuf->_turn_optimize);
77+ }
5978 }
60- if (_leadning_float_frames >= _float_frame_of_next) {
61- //_float_frame_of_nextを次に進めても足りない場合、もう一つ_point_indexを進める
62- goto again;
63- }
64- coord x, y, z;
65- getPointCoord(_point_index, x, y, z);
66- pKuroko_target->turnMvAngTwd(x, y, z,
67- _pFixedVeloSplManuf->_angvelo_rzry_mv, 0,
68- _pFixedVeloSplManuf->_turn_way,
69- _pFixedVeloSplManuf->_turn_optimize);
7079 //キャラの速度が1000ならば、_leadning_float_frames ++;
7180 //キャラの速度が2000ならば _leadning_float_frames += 2.0;
7281 //キャラの速度が500ならば、 _leadning_float_frames += 0.5
--- a/GgafLib/src/jp/ggaf/lib/util/spline/SplineLeader.cpp
+++ b/GgafLib/src/jp/ggaf/lib/util/spline/SplineLeader.cpp
@@ -42,6 +42,7 @@ SplineLeader::SplineLeader(SplineManufacture* prm_pManufacture, GgafDx::Geometri
4242 _is_fix_pos = false;
4343 _is_force_start_ang = false;
4444 // _is_loop_ang_by_face = true;
45+ _turn_smooth = false;
4546 }
4647
4748 void SplineLeader::getPointCoord(int prm_point_index, coord& out_x, coord& out_y, coord& out_z) {
--- a/Mogera/MgrRs/spline/FormationZako001_STEP.spl
+++ b/Mogera/MgrRs/spline/FormationZako001_STEP.spl
@@ -1,12 +1,12 @@
11 SPLINE=Hilbert4_STEP.dat
2-MAG_X=2500000
3-MAG_Y=2500000
4-MAG_Z=2500000
5-CLASS=SteppedCoordSpline
2+MAG_X=1000000
3+MAG_Y=1000000
4+MAG_Z=1000000
5+CLASS=FixedVelocitySpline
66 #SPENT_FRAME=7200
7-#ANGLE_VELOCITY=10000
8-#TURN_WAY=TURN_CLOSE_TO
9-#TURN_OPTIMIZE=false
7+ANGLE_VELOCITY=100000
8+TURN_WAY=TURN_CLOSE_TO
9+TURN_OPTIMIZE=false
1010
1111 #SteppedCoordSpline
1212 #FixedVelocitySpline
--- a/Mogera/MgrRs/spline/ParallelCurve.spl
+++ b/Mogera/MgrRs/spline/ParallelCurve.spl
@@ -1,10 +1,10 @@
11 SPLINE=ParallelCurve.dat
2-MAG_X=800000
3-MAG_Y=800000
4-MAG_Z=800000
2+MAG_X=1000
3+MAG_Y=1000
4+MAG_Z=1000
55 CLASS=FixedVelocitySpline
66 #SPENT_FRAME=7200
7-ANGLE_VELOCITY=1000
7+ANGLE_VELOCITY=2000
88 TURN_WAY=TURN_CLOSE_TO
99 TURN_OPTIMIZE=false
1010
--- a/Mogera/src/actor/EnemyIdaBase.cpp
+++ b/Mogera/src/actor/EnemyIdaBase.cpp
@@ -7,6 +7,7 @@
77 #include "jp/ggaf/lib/util/spline/SplineLeader.h"
88 #include "jp/ggaf/lib/manager/SplineManufactureConnection.h"
99 #include "jp/ggaf/lib/util/spline/SplineManufacture.h"
10+#include "jp/ggaf/dx/util/Input.h"
1011
1112 using namespace GgafLib;
1213 using namespace Mogera;
@@ -19,14 +20,15 @@ enum {
1920
2021 EnemyIdaBase::EnemyIdaBase(const char* prm_name) :
2122 DefaultMeshSetActor(prm_name, "Ida") {
22- pConn_pSplManuf_ = connectToSplineManufactureManager("ParallelCurve");
23+// pConn_pSplManuf_ = connectToSplineManufactureManager("ParallelCurve");
24+ pConn_pSplManuf_ = connectToSplineManufactureManager("FormationZako001_STEP");
2325 pKurokoLeader_ = pConn_pSplManuf_->peek()->createKurokoLeader(getKuroko());
26+ pKurokoLeader_->_turn_smooth = true;
2427 int n = 4;
2528 coord D = PX_C(20);
2629 for (int i = 0; i < n; i++) {
2730 EnemyIda* p1 = NEW EnemyIda("ida");
2831 appendGroupChildAsFk(p1, 0, D*(i + 1), 0, 0, 0, 0);
29-
3032 EnemyIda* p2 = NEW EnemyIda("ida");
3133 appendGroupChildAsFk(p2, 0, -D*(i + 1), 0, 0, 0, 0);
3234 }
@@ -38,7 +40,7 @@ void EnemyIdaBase::initialize() {
3840 }
3941
4042 void EnemyIdaBase::onActive() {
41- setPosition(0, 0, 0);
43+ setPosition(PX_C(-300), PX_C(-200), 0);
4244 getProgress()->reset(PROG_INIT);
4345 }
4446
@@ -47,13 +49,15 @@ void EnemyIdaBase::processBehavior() {
4749 GgafCore::Progress* const pProg = getProgress();
4850 switch (pProg->get()) {
4951 case PROG_INIT: {
50- pProg->changeNext();
52+ if (GgafDx::Input::isPushedDownKey(DIK_RETURN)) {
53+ pProg->changeNext();
54+ }
5155 break;
5256 }
5357 case PROG_MOVE: {
5458 if (pProg->hasJustChanged()) {
5559 pKurokoLeader_->start(RELATIVE_COORD);
56- pKuroko->setMvVelo(PX_C(1));
60+ pKuroko->setMvVelo(PX_C(2));
5761 }
5862 pKurokoLeader_->behave();
5963
@@ -72,10 +76,10 @@ void EnemyIdaBase::processBehavior() {
7276 void EnemyIdaBase::processJudgement() {
7377 }
7478
79+
7580 void EnemyIdaBase::onInactive() {
7681 }
7782
7883 EnemyIdaBase::~EnemyIdaBase() {
7984 }
8085
81-
--- a/VioletVreath/Version.h
+++ b/VioletVreath/Version.h
@@ -1 +1 @@
1-#define VERSION "VER 0.30.6604"
1+#define VERSION "VER 0.30.6607"
--- a/VioletVreath/tool/kiseki/kiseki.html
+++ b/VioletVreath/tool/kiseki/kiseki.html
@@ -21,6 +21,7 @@
2121 <br>
2222 <textarea id="mogera"></textarea>
2323 <div style="font-size:10px;text-align:center;"></div>
24-<script type="text/javascript" src="kiseki.js"></script>
24+<script type="text/javascript" src="./kiseki.js"></script>
2525 </body>
2626 </html>
27+
--- a/VioletVreath/tool/kiseki/kiseki.js
+++ b/VioletVreath/tool/kiseki/kiseki.js
@@ -25,7 +25,7 @@ function msOpInit()// 初期設定
2525 document.onmousedown = function(){ mouse_down=true };
2626 document.onmouseup = function(){
2727 mouse_down=false;
28- out_put "-------------------\n" += out_put;
28+ out_put = "-------------------\n" + out_put;
2929 var mogera = document.getElementById("mogera");
3030 mogera.value=out_put;
3131 mogera.select();
@@ -49,7 +49,7 @@ function msOpMove(e)// マウスが動くとここが実行されます
4949 my=document.body.scrollTop+event.clientY;
5050 msWx=window.document.body.clientWidth+document.body.scrollLeft;
5151 msWy=window.document.body.clientHeight+document.body.scrollTop;
52- out_put += mx+","+my+"\n";
52+ out_put += mx+" "+my+"\n";
5353 msOMx[msOw]=mx;// マウスの座標を履歴に書き込み
5454 msOMy[msOw]=my;
5555 msOw++;// 書き込む位置の設定