EFZ Revivalとは?

「Eternal Fighter ZERO -MEMORIAL- version4.02」を快適に動作させる外部ツールです。
Fireseal氏によって開発され、各国のテストプレイヤーたちの入念な調整を経てリリースされました。

同人格闘ゲームではおなじみの、オンライン対戦時に導入するキャスターのようなものですが
Revivalはオフラインの改善点が多く、これまでの常識を覆す良質なプレイ環境を構築できます。

1.02eにてEfzRevival.exeのアイコンが変わりました!
ニワトリのイラストが目印です(^o^)

非公式ツールとなりますので、 黄昏フロンティア様 には決して問い合わせないようご協力をお願いします。

[20200503] 1.02eの公開に伴い、文章を大幅改変しました。旧情報を参照したい方は以下に。
EFZ Revivalについて(旧)









推奨環境

  • WindowsXP以上
  • DirectX9.0c以上
  • DirectX9.0cに対応したビデオカード(オンボードの方は注意。後述)
  • それなりに高いPC性能(core2duo程度)

 EFZ Revivalの推奨スペックは通常のEFZ本体よりもやや高めに設定されています。
 core2duo未満の性能であっても動作はしますが、安心はできません。
 98SEのメモリ256MBですら平気で動作していたことを考えると、かなりの差があります。



導入するメリット

 Q.これは一体なんですか?

 A.EFZを最新のOSで不具合なく動作させ、数々の便利機能を追加する外部ツールです。

 EFZは、ふつうにWindows10にインストールしただけでは遊べません
 「主サーフェイスの生成に失敗」が起きてしまうと、ゲームそのものが立ち上がりませんし
 そうでなくても、画面全体が色化けしてプレイフィーリングに大きな支障をもたらしてしまいます。
 2020年現在、EFZをスマートに楽しもうと考えるならば、EFZ Revivalの導入は絶対といえます。

 当記事は、1.02e以降のバージョンを前提として書いていきます。
 少しでもRevivalのハードルが下がれば幸いです(*´∀`*)



ダウンロードはこちら




最新版!
ver1.02h!!! Windows7以降はこちら

ver1.02e  WindowsXP以前はこちら

旧版
ver1.02d  2020/04/28更新
ver1.02c  2020/03/28更新
ver1.02b だいぶ前のver。どこに落ちてるん??(´・ω・`)
ver1.02a  だいぶ前のver。この時点でほぼ全ての機能を実装済み

 最新版(現ver1.02h!!!)は従来の機能をすべて内包していますが
 古いOSを使用する際は、ver1.02eを選択すると動作が安定してオススメです。
 Windows10で起動する場合は最新バージョンを選択しましょう。



導入の手引き

1.EFZ本体をインストール

 ver4.02にアップデートします。
 ver4.02へのアップデート方法は、以下の記事を参考にしましょう。

2.EFZ Revivalのデータをインストール

 さきほどダウンロードした.zipを解凍し、その中身を
 EFZ.exeと同じ階層(フォルダ)にすべてコピーします。

3. VisualStudio2012の更新プログラム をインストール

 かならずx86(32bit版)を選択して下さい。
 64bitのOSを使用している場合も同様です。

4.環境の設定

 Config.exeにて、環境の設定を行います。

 描画周期:60FPS
 ダメージ:100%
 エフェクト:通常
 勝利本数:2
 解像度を640×480にして起動 に✓(チェック)を入れる

 以上のように設定したら、次はコントローラーのセッティングを行います。
 EFZは方向キーを含め、8つのキーがあるコントローラーで遊べます。(↑↓←→、弱中強、特殊)
 ひとまず動作確認を優先しましょう。キーボードに8つのキーをそれぞれ割り当てます。

 例
 UP:↑
 Down:↓
 LEFT:←
 RIGHT:→
 Atacck1:A
 Atacck2:S
 Atacck3:D
 Atacck4:F

5.実行

 EfzRevival.exeを実行すると、コマンドプロンプトのようなメニュー画面に移行します。

 基本的な操作は、画像の通りです。
 1~4番はオンライン対戦。6番はオフライントーナメントとなっています。
 ここでは動作確認を行いたいので、ローカルプレイの 5 を押しましょう。

6.導入完了!

 メインタイトルの画面を呼び出せましたか?
 タイトル画面が映ったら、すぐに操作可能です。導入に成功しています。
 お疲れさまでした。Configでキー設定を行い、手持ちのコントローラーでEFZを楽しみましょう!

6-1.おまけ①

 EFZの方向キー設定はPOV非対応です。
 X/Yもしくはボタン扱いにして認識させましょう。
 Windows側の設定、もしくはjoytokeyを使用して認識させるなどして下さい。
 (分からない部分は各自ググって下さい)

 また、EFZは3つ目以降のデバイスを認識できません。
 コントローラーを3つ以上接続されている方は、不要なデバイスの接続を解除して下さい。

6-2.おまけ②

 付属のEfzRevival.iniは、ダブルクリックで中身のデータを読めるようになっています。
 判定表示機能やアタックレコードの使用方法については、この.ini内に説明があり
 このデータを閲覧、修正することによって、Revivalは初めてその真価を発揮します。


 日本語化を利用する場合は、上記のデータをEFZ.exeと同じ階層にコピーしましょう。
※誤字脱字がありましたら各自修正、もしくは報告をお願いします。






先生!エラーが発生しました!

1.必要なDLLが不足しているかもしれません。

   エラー文に◯◯.dllというファイル名が記載されておりませんか?
   その場合は、足りないDLLをダウンロードしましょう。
   system32に放り込まず、EFZ.exeと同じ階層にコピーすれば問題ありません。

   現在確認されているDLL要求
   d3dx9_43 kernel32 msvcp110 msvcr110 msvfw32

   特に多いのは、d3dx9_43.dllを要求されるケースです。
   この問題は DirectX9.0cを最新バージョンに更新 することで解決しますが、うまく適用できない場合もあります。
   そんなときは、必要なデータだけを手動でコピーする方法があります。
   詳しくは下記のサイトを参照。再起動を忘れがちなので注意してください。



2.ビデオカードのドライバがdirectX9.0cに対応していない可能性があります。

   あなたはひょっとして、古いPCでEFZを楽しもうと考えている歴戦の猛者ではありませんか?
   EFZの推奨スペックは、公式によればdirectX7以降とされておりますが(実際は6以降で可能)
   あまりにもPCが古いと、ビデオカードがdirectX9.0cに対応していない場合があります。
   古いPCのオンボードでVGA接続をしようと考えている人は注意して下さい。
   つまり、古いゲーム用に古めのPCを保管している人がハマるパターンですね。
   今では少数派ですが、CRT(ブラウン管)に映したい人ほどこうなる傾向にあるといえます。

   解決手段としては、XP対応のグラボをヤフオクで入手して増設する方法もありますが
   やはり新しいゲーミングPCを買ってしまうのが一番だと思われます。






おもな仕様

  • 色化け現象の解消
  • FPSをXP準拠の64に統一
  • ウィンドウで動作(全画面表示はAlt+Enter)
  • セーブ&ロードによる状況再現が可能
  • レコード再生機能の実装
  • ヒットボックスの表示機能
  • キーディスプレイの表示機能
  • 倍速モードの実装(5段階変速で最高速度はx2)
  • GGPOを用いたネット対戦(ポート開放不要。初期設定のポート指定はUDP10800)
  • 観戦機能の実装(ホストがポート開放していない場合は不具合あり)
  • リプレイの自動保存(ネット対戦およびトーナメントモード)
  • 対戦勝利数の記録・プレイヤー名の記載(ネット対戦およびトーナメントモード)
  • 対戦履歴をテキストデータに出力(ネット対戦およびトーナメントモード)
  • 対戦時にBGMフォルダ以外を指定すると、mp3などのデータを再生可能に




その他の仕様

  • 両ガード機能の廃止(左右同時押し入力は左入力として扱われる)
  • ネット対戦でキャラ選択時にカラーを変更すると、対戦終了後にカーソルの位置が保存される
  • ネット対戦でエディットカラーを使用すると双方に反映される
 →リプレイ作成時はデフォルトカラーとして保存される
  • Revivalを導入した状態でEFZ.exeを実行すると、正規版EFZに似た挙動で窓化したままプレイできる
 →リプレイ再生の安定性に優れるため、たまに使用機会がある
  • タイトル画面のまま無操作で放置しても、CPU同士のデモ対戦が流れない
  • コントローラが抜けてしまっても、挿し直せば再認識する(例外あり。回しプレイなどに優れる)
  • ループ処理を行っていないWAVEファイルをBGMに適用すると1ループで曲が流れなくなる
 →不可解なループが起きない。何気に改善されていた箇所




特殊な機能

 1.02cより、数多くの新要素が追加されましたが
 その中でも特に目立った新機能を、3つピックアップして紹介します。

ヒットボックス表示機能

 新たに追加されました。(復活(ΦωΦ))
  • ヒットボックス(攻撃判定) 対応ボタン:PageUp
  • ハートボックス(やられ判定) 対応ボタン:PageDown
  • コリジョンボックス(衝突判定および中心線) 対応ボタン:Home
 計3種類を表示可能となります。
 ヒットさせて攻撃判定がなくなった技の判定は、以後は点描パターンで表示されます。


 判定表示機能は、プレイヤーがずっと求めていた夢機能の一つといえます。
 特定のキャラクター同士の技相性を調べる際にたいへん役に立ちます。

キーディスプレイ表示機能

 新たに追加されました。左端に表示されます。
 トレモをしやすくする為の機能なのか、片側のコンパネ側のみの表示となります。

 なお、オフライン対戦時にはおそらく邪魔になるので
 その際はEnterキーでまるごと非表示にしましょう。


 ニュートラル状態。赤線の枠内に表示されます。
 セーブ&ロードを使用するととても便利です。
 (デフォルト設定では、セーブ→G、ロード→B)
 ロードするとキーディスプレイの表示がまっさらになり、画像の状態になります。


 脳天鞄割り→赤IC→Bスラッシュ&プロローグを決めて着地した際の表示。
 古い入力はどんどん下にいきますので、この場合は下から追っていきます。
 単位はフレームです。15行分と少なめですが、表示領域を考えるとこの辺りが限界なのかもしれません。
 なお、スペースキーでポーズをかけたり、Pでコマ送りをするとキーディスプレイも静止します。

  • VS HUMAN:常に1P側のコンパネのキーディスプレイを表示する
  • PRACTICE:プラクティス開始時のコンパネ側のキーディスプレイを表示する

 VS HUMANでは、Num0キーで操作キャラクターのコンパネを逆転させることが可能です。
 その際は2Pキャラのキーディスプレイが表示されるので、ここは便利な点といえます。

BGMフォルダ参照機能

 EFZプレイヤーの中には、BGMフォルダを空っぽにして
 バックグラウンドで音楽プレーヤーを使用しながらプレイする人が多くみられましたが
 この機能は、そういった層が長年待ち望んでいたものものであるといえます。
  • Waveだけでなくmp3も再生したい!
  • MusicFighterZero?ループ設定?なにそれ!知らない!
  • 対戦時にEFZフォルダと別の音楽データを参照できないの!?
 このような不満、要望を解決してくれます。
 revival.ini内にて、任意のアドレスを指定することで
 自分好みのBGMを再生することができます。

音楽は最後まで再生すると自動的にループする設定になっているので
フェードアウト処理をしておくだけで、ゲームプレイにすんなり馴染みます。

 ※BGMを編集できるのはあくまで対戦中のBGMのみとなります。
  対戦が終わってキャラクターセレクトに戻ると、再びBGMフォルダを参照することに注意してください。






ローカルプレイを楽しもう

 新機能がたくさん追加されたRevival。
 具体的に、何がどう便利になったのかをモード別に書いていきます。

プラクティスモード

 セーブ&ロード機能が追加され、状況再現が手間いらずになりました。
 七瀬の爆裂フルスイング、みさきのダウンバースト拾いなど
 難易度が高いコンボの反復練習が圧倒的にやりやすくなっています。
 また、郁未のジェノサイドゲージも再現できるので
 宴の予兆始動コンボを練習するときなどにありがちな、血の過剰摂取による暴走を防げます。

 その刹那に賭けろ。



 基本的な操作は以下となります。詳しくは.iniを参照して下さい。
 なお、これらの操作はすべてポーズ中も常に受け付けています。
 セーブする際は、いったんポーズしてからセーブの判断をするのがおすすめです。

 文字の非表示:return(enter)
 ポーズ:space
 コマ送り:P(押すたびに1Fずつ進む)
 セーブ:G
 ロード:B

2P対戦モード

 プラクティスモードで説明した機能はすべて使用可能です。
 こちらでは新たにレコード再生機能が追加されています。
 被起き攻め状況の再現が容易になったほか、コンボの受け身ポイントを探るのにも使えます。

 記録の開始/終了:H。そのつど押す
 再生の開始/終了:N。そのつど押す

 これとは別に、起き上がりと同時に自動実行するプログラムも内包しておりますが
 この仕様はたいへん癖があるので、最初は意識しなくても問題ありません。
 もちろん、正しく活用できれば便利な機能です。詳しくは.iniを参照して下さい。

リプレイモード

 キーディスプレイが表示されるようになりました。
 Insert / Deleteでリプレイの再生速度を変更できます。

 大事なシーンをもう一度見直したい場合には、前後スキップが便利です。
 テンキーの+/-で前後スキップできます。(+は一度観た箇所に限ります)

 Revival上で収録したリプレイに限り、1Pもしくは2Pのキャラクターを途中から操作可能です。
 脱出が困難な長森のフォルテ起き攻めを収録し、その固めから逃れる糸口を見つけたり
 受身狩りを内包したコンボリプレイを収録し、その受身狩りをすり抜ける僅かなタイミングを模索するなど
 主に対策面の研究で役に立つ機能となっています。
 ヒットボックスを表示しながら練習できるため、気になる方はやってみては如何でしょうか。
 特定の連携に対処する為だけの対策リプレイを、公に配布しても面白いかもしれません。






オンラインプレイを堪能しよう

 オンライン対戦機能および、観戦機能が新たに実装されました。
 1.02c以降であれば、ホールパンチング機能が働くのでポート開放は不要です。

ホストとして部屋を立てる際は、1を選ぶ

 ホストするのに必要な下準備はなにもありません。ただ1を選ぶだけでOK!


 最近のパッチにより、2を押すとホストをキャンセルできるようになったので便利です。

クライアントとして参加する際は、2もしくは3を選ぶ

 2を選び、グローバルIP、UDPポート番号の両方を指定しましょう。

 例 XXX.XXX.XXX.XXX:10800 などと入力
 ただし、2は手入力となるので面倒であり、あまりおすすめしません。
 3を選ぶと、クリップボードから貼り付けて対戦を申し込めるのでこちらを使いましょう。
 (メモ帳に打ってから貼り付けたり、生放送のコメント欄からコピーして貼り付けたり)

観戦をする場合は4を選ぶ

 観戦はクリップボードからのコピーのみとなっています。
 なので、まずは観戦したいホストのIPを対戦募集中の生放送などからコピーしましょう。

 4を選んでIPを貼り付けると、対戦中である場合は即観戦が開始されます。
 一試合目から順々にすべての試合を再生する仕様となっているため
 そのまま観戦しているだけでは、最新の試合に追いつくことはありませんが
 テンキーの+/-により、観戦速度を1~9倍まで調整することができます。
 ライブ感を味わいたい場合は、9倍速にしてサクッと追いついてしまいましょう。

 なお、速度を早めると画面表示がガタガタになってしまい視聴しにくいです。
 最新の試合に追いついたならば、快適に視聴するために倍速を等倍に戻すのをおすすめします。

 クライアントが入る前に観戦しようとした場合は、以下のような画面が表示されます。

 英文だけでも雰囲気で伝わりそうですが、日本語訳は画像のとおりです。
 空いている場合は、そのまま対戦してしまうことも可能!
 あくまで観戦したい場合は、3を選んで延々と待つことも可能です。
 どちらも望まない場合は2を選び、元の画面に戻ります。


 マッチングが完了すると、インプットディレイを決める画面に移行します。
 国内対戦をする場合は、ディレイを0にしてご利用下さい。
 ディレイ値の目安は以下を参考にお願いします。
 0:国内対戦(光回線)
 1:国内対戦(光回線。九州vs北海道などの遠方の場合)
 3:都内のWiMAXでそこそこの対戦ができる。あくまで都内限定
 4:海外のプレイヤーとそこそこな対戦ができる


ロールバックとインプットディレイの仕組み

 (ここの項目は、正確性に欠けます。また、日本国内同士で対戦する分には全く不必要な知識です。)

 どちらもネット対戦での通信遅延を誤魔化すためのバッファとして使われます。
 インプットディレイは入力遅延のことです。ゲーム中常に働きます。(ネット対戦だとディレイ0設定でも僅かにディレイがあるように感じる。)
 ロールバックは文字通り巻き戻り。これはゲーム中常に働くわけではありません。

 何らかの原因で通信に遅延が起きた場合、フレームレートとインプットディレイはそのままにロールバックを使って整合性を保ちます。
 例えば、インプットディレイよりもさらに1F(15.625ms)の通信遅延が起きた場合、
 同期ズレが起こらなければそのままゲームは進行しますが、この1Fで同期がズレてしまった場合は1F巻き戻ります。

 同様に、ロールバックが2F分必要な通信遅延が起きた場合は、2F巻き戻ります。
 ロールバックは常に使われるわけではなく、このように必要に応じて使われます。
 iniファイルのMaxRollbackの値とは、このロールバックのバッファを最大何F取るか? という設定です。

 iniファイルのMaxRollback+インプットディレイが ゲーム中に使えるバッファの総数です。
 例えば、MaxRollBackの値を初期設定の4に設定している場合、
 誤解を承知で簡単に言えば、インプットディレイ+最大4Fの通信遅延に対応します。
 これよりも通信が遅延した場合は、両者ゲームの動作FPSが落ちます。

 上記の例で言うと、インプットディレイを0に設定した場合は、初期設定ならば
 片道62.5ms 往復125ms(リバイバルのpingは往復。)の通信遅延まではロールバックで対応されます。

 EFZrevivalでは他の巻戻りを使ったネット対戦ツールとは異なり、動作FPSが落ちることを第一に避けるため、
 平均pingに対してMaxRollback+インプットディレイを極端に少なくすることは出来ません。(これはツール作者の意向のようです)

 逆にMaxRollbackの値を高くすると、同じpingでもインプットディレイを低く設定できます。
 iniファイルの>Higher values allow for lower input delay, but the rollbacks become more apparent.
 とはこのような動きのことです。

 どれくらいのpingでどのような設定になるのかというと、
 (ping/2)/(1000/64) < MaxRollBack+インプットディレイ という計算式になっているようで、
 試しに計算してみるとわかりますが、日本国内同士の対戦では初期設定で必ずディレイ0が入力出来るはずです。
 RollBackは必要に応じて使われるものであり、MaxRollBackとはバッファの入れ物の大きさなので、敢えて変更する必要はありません。

 大きく巻き戻って対戦がやり辛い場合は、素直にインプットディレイを上げる必要があります。
 ここで物凄く巻き戻るからと、MaxRollBackの値を下げると、ゲームのFPSが落ちます。
 対戦相手にも迷惑がかかるので、無闇に小さい値にするのは控えて下さい。
 (巻き戻るよりも止まってくれたほうが、ラグで負けても対戦中にモヤッっとしない。という気持ちはわかりますが)

 国内の光回線同士であれば、MaxRollBackを2くらいにしても問題はでないとは思います。
 ただ、何度も申し上げますが、ロールバックは必要に応じて使われます。
 MaxRollBackを上げても、バッファの入れ物がデカくなるだけで、お互いの回線がマトモなら結果は変わりません。
 逆に不必要に下げると、バッファの入れ物の大きさが小さくなるので、ちょっとしたスパイク等で容易にフレームレートが落ちるようになります。

 pingが悪く、大きく巻き戻る場合は回線を見直してみて下さい。
 (余談:MaxRollBackを10とかに設定しておいた方が、単純に選択肢が増えます。海外勢と対戦したい人は弄ってみて下さい。)






オンラインプレイを始める前に知っておきたいこと

トレモしながら対戦を募集可能

 トレモしながら対戦を募集できます。
 多重起動ができるのでとても簡単。やり方は以下のとおり。

 1.EfzRevival.exeを起動する
 2.1を押す
 3.そのまま、新たにEfzRevival.exeを起動する
 4.5を押してローカルプレイを開始する

同期ずれについて

 格ゲーあるあるの同期ずれ話。
 EFZRevivalにおいても、件数は少なめですが報告されています。

 描画エフェクトが簡易設定になっていませんか?
 コンフィグ画面でエフェクトを簡易⇒通常になっていることを確認しましょう。

 同期ずれが起こると、ランダム要素を含んだ行動をする毎に正常な対戦が成立しなくなり
 最終的には、キャラクターセレクトの時点でお互いの使用キャラが食い違う事態に陥ります。
 PC環境は個人によって様々ですから、こういった不具合が出ることは仕方ありません。
 相性が悪いプレイヤーとあたった場合は、素直に諦めましょう(´・ω・`)

 ランダム技の一例
 ・みさきのハイスピードランチ
 ・七瀬のRF爆砕鉄拳
 ・茜のレインオブティア
 ・澪の長くない靴を履いた猫
 ・郁未のブラッドの出現パターン など

リプレイの取得方法について

 リプレイフォルダ内に「netplay」のフォルダを自作しましょう。
 これだけで、リプレイを無制限で自動的に取得するようになります。
 ただ、何でもかんでも保存されるとすぐゴミが一杯になるので困る!という方もいると思うので
 そんな人はリプレイを後撮り設定に変える手もあります。

 .iniの数値を1→0に修正し、自動取得を解除すれば
 試合終了後にSキーを押すことで、任意で保存できます。

オンライン対戦のときだけコントローラが認識されない

 PCがセカンドデバイスと認識しているコントローラを1Pコンパネとして使用した場合
 オンライン対戦のときのみ認識しなくなることがあります。
 原因は不明ですが、コントローラを1つだけ差してプレイすることで問題は解決します。

観戦を拒否したい

 1.02以降では観戦を任意で拒否できるようになりました。
 初期設定ではオフに設定されています。詳しくはrevival.iniを御覧ください。
 いまのところ、特定の人数のみ観戦を受け付けるといった機能はないようです。

UDPホールパンチング機能って、昔は無かったの?

 はい。1.02bまでは対戦募集する際にポート開放が必須でした。
 多重ルーター等の条件が重なると、できないケースもありますが
 引っ越し先や旅行先であってもホストができる場合があります。
 もうクラ専で肩身が狭い思いをしなくていいんだ(*´艸`*)

 ただし問題点もあるようで、この機能を備えたが故に
 Revival.exeそのものをウイルスと誤認してしまうケースが増えました。
 .exeを隔離されてしまうと、管理者権限なしでの復旧が難しくなったりします。
 (AVGアンチウイルスの悪口はそこまでだ(;´Д`))
 また、ファイアウォールで防がれてしまっては元も子もないので
 取り扱いには十分注意をお願いします。

 こうした点も踏まえて、旧verで問題なく対戦できていた人については
 あえて旧verの環境を残しておくことをオススメします。






従来のオンライン対戦ツールを使用するメリット

 Revival以前も、 EFZネット対戦のススメ 様のツールでオンライン対戦が行われておりました。

 結論から申しますと、今ではほとんど使う意味がありません。
 従来のツールと比べて、RevivalはFPSの安定性入力遅延の小ささが段違いで優れています。

 厳密にいうと、現RevivalとXP環境下における純正EFZはゲームスピードが僅かに違うのですが
 その差は0.3F単位でみてもほとんど判別がつかず、誤差の範囲に収まっています。
 現在はほぼ全てのプレイヤーがRevivalの機能を利用して対戦しています。
 また、TCPは画面描写が強制的に簡易になるといった不都合(?)があったので
 話がややこしくならないよう、今後のネット対戦はRevivalの機能を活用するといいでしょう。






最後に

 Revivalのネット対戦は、通信速度がきわめて早く
 オフラインとほぼ遜色のない対戦品質を実現しています。
 リコイルガードが重要な本作においても、ガチ対戦に耐えられる仕様なので
 この為だけに、光回線を契約するだけの価値はあるといえます。遠征より安い!

 ホールパンチング機能により、気軽に対戦相手を募集できるようになりましたが
 仕様上、観戦人数が限られてしまうケースがあるので
 人気のあるストリーマーは、みんなが観られるようにポート開放をしましょう(*´ω`*)

 解説は以上です。
 情報量が膨大なため、全てを書ききることはできませんでしたが
 いずれ時間をみて追記していきます。
 各要素の利用方法は、readmeおよびrevival.iniを参照して下さい。











.

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年01月08日 23:59