Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/html/home.php on line 18
小熊工作室
Stark Wong 的個人開發網站
 


 此頁面:更新於 2012 年 6 月 27 日 13 時 57 分 06 秒,頁面處理需時 0.0002 秒
 網站內容版權所有(C)Stark Wong。頁面(不包括檔案)可自由連結。網站系統版本 1.90-AngularJSBase (2015/9/27)
 
網站地圖

AR Madness 2

AR Madness 2 程式開發介面可讓有興趣的朋友使用 C++ 語言開發供 AR Madness 2 使用的插件,另外也讓按鍵插件的自訂更靈活化。
AR Madness 2 使用了插件系統,各插件之間通過「服務」及「事件」彼此通訊。
為使非開發人員也能應用此插件系統,按鍵插件 (ARM-BGKey) 在設計時就設定為使用服務作為動作,也就是說當按下某一個按鈕時,其實就是在直接呼叫某個服務。

例子:
當按下並放開 P 鍵時,開啟報站機電源。

在 settings.ini 的相應寫法:bgkey.80.release=BSAS\Command:0
- "80" 是 P 鍵的虛擬按鍵號碼,虛擬按鍵的號碼對應表可參閱這裡 (將號碼轉成 10 進制即為應使用的號碼)
- 虛擬按鍵號碼支援連續鍵,只需將對應的號碼加到虛擬按鍵號碼即可。CTRL 加 1024,SHIFT 加 2048,ALT 加 4096。
- "release" 是按鍵狀態,可以是 press (按下),release (放開) 及 3sec (按著 3 秒不放),當觸發 3sec 事件後會忽略 release 事件。
- "BSAS\Command" 是服務名稱,下面將會列出每一個插件所定義的服務
- ":0" 是參數,若為數字時直接填上,若為字串是先加 @ 再填上,例如 ARMDisplay\ShowText:0:@STRING
- 第一個冒號後面的是 wParam,第二個冒號後面的是 lParam,若不需要使用 lParam 時可直接省略冒號及後面的部份
服務及事件函數共用同一個定義:
int MyFunc(WPARAM wParam, LPARAM lParam);
wParam 及 lParam 的值都是根據不同服務及事件而不同,而傳回值對於服務而言可以自訂,對於事件時則請傳回 0。
當編寫插件時,您需要使用下列的輔助函數與核心及其他插件進行通訊:
AR Madness 2 本體定義了一些基本的服務。

服務清單:
事件清單:
ARM-BGDisplay 是給 Midtown Madness 2 遊戲裡顯示報站機畫面所用的插件。它並沒有提供任何服務及事件,但有提供基於 Windows Message 的控制功能給 ARM2 以外的程式使用。

Windows Message 相關參數:
ARM 1.2.0.1 開始此插件亦同時負責 DirectInput Hooking
視窗標題:ARMBGDISPMSGWND,視窗類別:ARMBGDISPMSGCLASS
ARM-BGKEY 是為報站機視窗及 Midtown Madness 2 遊戲裡提供按鍵回應的插件。
關於自訂方法請參閱上面「對於非開發人員的用處」部份。

服務清單:
ARM-BSASConsole 是報站機主控台插件。

服務清單:
事件清單:
ARM-BSASLT 是報站機核心插件。

服務清單:
事件清單:
ARM-Display 是報站機 LED 大顯示屏插件。

服務清單:
事件清單:
ARM-ErrorCheck 是偵測 Midtown Madness 2 不正常關閉的插件。

服務清單:
ARM-SOUND 是用來播放音效檔案的插件。

服務清單: