?? readme.txt
字號:
********************************************************************************************
* ___ _______ TM
* /\_ \ /\_ __ \
* \//\ \ \//\ \ \ \
* \ \ \ \ \ \ \ \
* \_\ \____ \_\ -- \
* /\_______\/\_______\
* \/_______/\/______/
*
* 作者:林偉 :-)
* 無名鳥工作室:http://newbird.126.com
* 云南省昆明市關上關興路萬興花園 F18. 現就讀成都電子科大
* TEL: (0871)7167710, mail:lwwind@yeah.net
*
* LDraw v2.21 Game SDK for Watcom C++ 10.0 or above
* 以前總習慣于 Borland C++后當我處理到大圖片時碰到了難題,內存處理一直是個大難題,后來寫了一個
* Borland C++下的保護模式庫,尋址空間雖然達到了4G,但1MB以上的內存訪問必須通過匯編來完成,
* Borland C++所有的工作還是只能在常規內存中進行,況且這套功能會跟Windows沖突。一段時間后我終于
* 放棄了 Borland C++.直到兩年前,我得到了心愛的 Watcom C++10.0情況有了轉機 Watcom C++一向是DOS
* 游戲的最高境界,經過一年半年的努力終于寫出了 LDraw.
安 裝
1.自動:在LDRAW的目錄中執行 LDRAW.BAT就行
2.手動:將所有.H文件copy到你Watcom目錄中的H\子目錄。將所有.LIB文件copy到你
Watcom目錄中的LIB386\子目錄
2.用wcl386 /cc++ /4r /s filename編譯
在源文件頭加入下面幾句:
#include <lsys.h>
#include <ldraw.h>
#include <lkey.h>
#pragma library("lsys.lib")
#pragma library("ldraw.lib")
#pragma library("lkey.lib")
就可以使用了
3.執行 LDRAW.BAT后在子目錄 examples\中有幾個實列,
playmidi.exe 播放 .MID
playvoc.exe 播放 .VOC
vpic.exe 顯示256的GIF,PCX,BMP
demo.exe 模擬空戰
examples\demo.mid demo.voc demo.pcx demo2.mid 資料 自己看看吧 :-)
4.你可以到http://newbird.126.com尋找最新版本。
5.你有權修改源代碼,本人不負任何法律責任,如果你有好的想發,請與我聯系:lwwind@yeah.net
介 紹
1.什么是 LDraw?
它是本人為 Watcom C++寫的游戲開發包,DOS下Watcom C++的開發包實在挺貴,Djgpp下的 Allegro
的確很COOL,但用別人的東西我心中挺不自在,況且掌握Allegro還需要一定的時間,而且我對沒有 DPMI
就不能運行的Djgpp實在沒好感,最重要的還是我想自己寫一個開發包。
LDraw v1.2只提供256圖形模式:320x200, 640x480, 800x600等,還有著名的ModeX 320x240x256c。
和DirectX一樣采用表面(Surface)作圖,采用圖層方式實現,所有作圖相對圖層(Surface Layer)進行,
因此有了很大的靈活性。頁面翻轉是一項落后的技術,因此我沒有采用。
作圖功能有基本點,線,圓,多邊形處理。位圖(bitmap)顯示,多層卷軸,圖形縮放,漢字輸出,調
色板處理包括:位圖的明暗顯示,兩個不同調色板圖形的色彩匹配,調色板流動等。
支持中英文字庫,如 HZK16。能夠讀取/保存 BMP,PCX,GIF幾種圖形格式,但在游戲中,所有圖形用以
上兩種格式來儲存是中笨拙的方法,因此我提出LPC格式,將圖形按序號分頁儲存,將一個類型的圖形放在
一頁中,在由這樣的許多頁組成LPC文件。方便讀取。
支持所有與 Sound Blaster兼容的聲卡,MIDI播放采用《仙劍》中的FM Synth方式支持.MID和.XMI
(extend midiformat擴展MIDI)兩種格式. 音頻播放目前只支持.SND和.VOC。我打算在以后的版本中提供軟
播表(softwave table),立體聲,提供Wave和CD音軌支持。
提供后臺處理,能同時將16個void proc()類型的函數掛到后臺,并以不同的速度執行。提供了一個新
的鍵盤中斷服務程序,處理多鍵同時按下。支持鼠標,
2.模塊介紹 LSYS LSYS 時鐘,模擬多任務,基本表面操作,DMA
__________|__________ LDRAW 常規作圖,圖形文件操作,鼠標
| | | LKEY 鍵盤,聲卡FM,DSP,MIDI,WAVE的播放
LDRAW LKEY LUTILS LUTILS實用程序,包括縮放,物體遠近顯示等特效
____|___ ___|___ |
| | | | Extend Functions
Ordinary Graph Mouse Sound Keyboard
3.LDraw和游戲開發:
以上的說的都是游戲開發的基本函數,畢備功能。而寫出來又太費精力,因此LDraw的目的也在于想讓游
戲開發者專心于高層設計,寫出高質量的游戲。畢竟LDraw!=游戲,寫出一個完整游戲還需要開發者的努力。
我寫了一半天才發現這只是一些很低級的函數,但也算盡了一方力。
我 的 開 發 日 志
1999年底:完成了大部分基本功能
2000年一月16日: 開發出了320x240x256c的ModeX !
2000年一月17日: 將大部分核心匯編代碼進行了486優化,我還在用486 :-(
2000年二月 7日: 從一星期前到此時,我一直在開發MIDI播放函數。終于成功了!
2000年二月13日: 由原來的圖層功能增加了圖層環境,見struct lenvironment!
2000年二月19日: 通過鏈表排序,增加了位圖遠近顯示功能!
2000年二月25日: 修正了一個時間后臺功能的大BUG, 提出了LPC圖形格式,見新增 函數: lLoadLpcImage
(TLpcImage *lpc,char *fname); 增加了LUTILS部件它通過調用 LDraw基本函數完成許多常見、有用的功能。
2000年五月COOL: 將 Time,Surface二功能獨立出來, 組成 LSYS這一最基本的模塊。系統升級到 2.0。
2000年七月 9日: 我改善了MIDI播放,增加了對特殊線性的顯存的支持 (VBE2.0以上)的 ModeX的 320 x 240模式運行再線性顯存中,增加近一倍的速度。
2000年八月29日: 完成了幾個實例。
林偉,于2000年八月30日
lwwind@yeah.net
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -