読者です 読者をやめる 読者になる 読者になる

めいくりぷとのブログ

技術的なことやゲームのことやら・・・

久しぶりにCSO

なぜ今更こんな糞ゲーについての記事を書くと言いますと...

いつのアップデートかは知りませんが、OpenGLでのプレイヤーの描画方法に少し変更があったそうな。

何のためにかはハッキリ分かりませんが、jacky14, delayzero? などのOpenGLをベースにしたチート対策でもあるのかな?..
処理速度云々も考えられなくもないですが、おそらく前者でしょう。

で、何がどう変更したかって言いますと、今まではプレイヤーを描画(プレイヤーに限らず)する際にglVertex3fで描画していましたが、変更後はプレイヤーの無敵時間時は今まで通りglVertex3fで描画して、通常時(ダメージが通る時)はglVertex3fvで描画されるようになりました。

この変更で、jacky14, delayzeroは試していませんが使えなくなったのではないでしょうか..(?)
(根拠はありませんが、自作してる物が使えなくなったので...)

解決策

コードにもよりますが、オブジェクトを描画するのは基本的にはglVertex3fが使われているため、オブジェクトの座標を取得するのもそれをフックすればいいだけです。

なので、glVertex3fvも同じようにフックして取得するだけです。

gluProjectで3D座標から2D座標へ変換して、足場の座標、体、頭、、と取得しますが、glVertex3fが全く使われなくなった訳ではないため、VertexCount(頂点数)は関数別で分けて処理させたほうが良いでしょう。

gyazo.com

Have fun! XD