DOOM engine linedefs, vertexes解析筆記

更新於 發佈於 閱讀時間約 3 分鐘
Vertexes和linedefs是構成doom關卡地圖的主要參數,所以放同一篇,(另外blockmap也很重要,沒啟用會造成穿牆)。在WAD的每個地圖區塊都會存放屬於該地圖的vertexes和linedefs。
Vertexes很單純就是頂點座標,用來決定line (LINEDEFS)和segment (SEGS)的起點終點,以(x0, y0, x1, y1, .......xn, yn)的順序排列資料,每個資料2 byte。
Linedefs lump用來紀錄每條線的設定資料,每條線由兩個頂點組成,渲染成3D地形時會在這條線前後貼材質變成一個或兩個牆面,每個牆面又分成最多三個貼圖區域(參照sidedefs)。如果想變更下列三項就必須把line設成雙面:改變地板和天花板的高度或貼圖,光線亮度,sector tag和sector type。
在doom1 doom2每個linedef占14byte,每個參數都是int16_t各2byte。七個參數簡述如下:
  • Start Vertex: 起點座標
  • End Vertex: 終點座標
  • Flags: 16個bit,控制這條線的某些屬性,可同時開啟複數flag。
  • Special Type: 門、電梯、傳送點等等依附在line(牆)上的可觸發特效設定。
  • Sector Tag: 大概是type的特效會影響到哪個sector,像E1M1的line308和sector59都一樣是tag1,line195和sector70都一樣是tag2。
  • Front Sidedef: 正面貼圖要用的sidedef編號,-1代表不貼圖。正面是在起點面向終點的右手邊那一面。
  • Back Sidedef: 背面貼圖要用的sidedef編號,-1代表不貼圖。
#Linedef type (或special type)種類繁多近千種,需要查表才知道細節。觸發效果的方法有三種(1)推-push(2)通過線-walkover(3)用武器攻擊-gun shoot,第一種依作用方式再分為manual和switched,manual只影響線對面的sector,switched影響和這條線有一樣tag的sector (待細查)。四種觸發方式各有一個英文字母為代號,又根據可否重複觸發給予1或R的代號,所以觸發代號總共有P1 PR S1 SR W1 WR G1 GR。
#要讀取Flag內容在labview還要把int16_t轉換成boolean array,doom1用到的flags列出如下
  • Bit 0  怪物和玩家都不能通過
  • Bit 1 僅怪物不能通過
  • Bit 2 雙面貼圖(在小地圖顯示的顏色跟單面不一樣)
  • Bit 3 上1/3貼圖材質unpegged (要再研究關於貼圖的說明)
  • Bit 4 下1/3貼圖材質unpegged
  • Bit 5 祕密地點(在小地圖顯示單面),如果special_type是1(即門)則怪物不能通過
  • Bit 6 blocks sound
  • Bit 7 永遠不在小地圖顯示
  • Bit 8 總是在小地圖顯示
Reference:
為什麼會看到廣告
avatar-img
6會員
64內容數
ktest
留言
avatar-img
留言分享你的想法!
hls Ding的沙龍 的其他內容
Reject是附屬在map data裡面的一個表格,用來設定放在某個sector的怪物的視線有機會看到哪幾個sector的玩家。觸發使用查表的條件尚待確認。
blockmap是附屬在map data裡面的一個資料結構,說明blockmap的結構
兩種在windows系統用win32 api關閉輸入法的作法
在樹莓派安裝OpenCV的紀錄。板子是樹莓派3B(沒有+),系統raspbian bullseye 32bit灌到USB隨身碟。
Reject是附屬在map data裡面的一個表格,用來設定放在某個sector的怪物的視線有機會看到哪幾個sector的玩家。觸發使用查表的條件尚待確認。
blockmap是附屬在map data裡面的一個資料結構,說明blockmap的結構
兩種在windows系統用win32 api關閉輸入法的作法
在樹莓派安裝OpenCV的紀錄。板子是樹莓派3B(沒有+),系統raspbian bullseye 32bit灌到USB隨身碟。
你可能也想看
Google News 追蹤
Thumbnail
全方位分析脫離繼承戰的方法,大膽猜測誰會成為卡丁國下一任國王。
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 應用 由於其靈活和模組化的性質,Prompt Composite 在各種情況下都具有相關性,讓我們深入
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 別稱 Decomposed Prompting、Prompt Pipelining
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 定義 提示複合是一種提示技術,可將複雜的使用者查詢分解為更簡單的提示,整合自訂指令和系統提示以提供上下
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 利用這項研究的概念,我們可以開發適合多種場景的強大的細化系統,例如,考慮範例部分中顯示的程式碼最佳化情況
Thumbnail
Garnter 預測到2026年,傳統搜尋引擎流量將大幅下滑,AI技術的發展使得「零點擊搜尋」變得更加普及。Google 也推出了AI Overview功能來應趨勢。這種變化可能會帶來新的商業模式,如Perplexity計劃推出的廣告分潤機制,為創作者提供新的收入
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
Minimum Path Sum 給定一個矩陣,每個格子點代表經過的對應成本。 每回合可以往右移動一格或往下移動一格。 請問從起點左上角 走到 終點右下角的最小路徑成本總和是多少?
Thumbnail
這篇文章,會帶大家快速回顧DFS+回溯法框架(還沒看過或想複習的可以點連結進去)。 用DFS+回溯法框架,解開 直線排列Permutations 的全系列題目。 幫助讀者鞏固DFS+回溯法框架這個重要的知識點。 回顧 DFS+回溯法框架 白話的意思 # 列舉所有可能的情況,遞迴展開所有分
Thumbnail
這篇文章,會帶著大家複習以前學過的二進位DP框架, 並且以0~N的整數有幾個bit1,有幾個bit0的概念為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 常見的考法 請問整數k有幾個bit1? 有幾個bit0? 請問整數0到整數N分別各有幾個bit1? 有幾個
Thumbnail
這篇文章,會帶著大家複習以前學過的 區間DP框架, 並且以回文子字串、回文子序列的應用題與概念為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 回文字串的基本定義 s = s[::-1] 也就是說字串s的正序 和 逆序完全相同。 回文字串的基本結構 空字串"
Thumbnail
全方位分析脫離繼承戰的方法,大膽猜測誰會成為卡丁國下一任國王。
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 應用 由於其靈活和模組化的性質,Prompt Composite 在各種情況下都具有相關性,讓我們深入
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 別稱 Decomposed Prompting、Prompt Pipelining
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 定義 提示複合是一種提示技術,可將複雜的使用者查詢分解為更簡單的提示,整合自訂指令和系統提示以提供上下
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 利用這項研究的概念,我們可以開發適合多種場景的強大的細化系統,例如,考慮範例部分中顯示的程式碼最佳化情況
Thumbnail
Garnter 預測到2026年,傳統搜尋引擎流量將大幅下滑,AI技術的發展使得「零點擊搜尋」變得更加普及。Google 也推出了AI Overview功能來應趨勢。這種變化可能會帶來新的商業模式,如Perplexity計劃推出的廣告分潤機制,為創作者提供新的收入
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
Minimum Path Sum 給定一個矩陣,每個格子點代表經過的對應成本。 每回合可以往右移動一格或往下移動一格。 請問從起點左上角 走到 終點右下角的最小路徑成本總和是多少?
Thumbnail
這篇文章,會帶大家快速回顧DFS+回溯法框架(還沒看過或想複習的可以點連結進去)。 用DFS+回溯法框架,解開 直線排列Permutations 的全系列題目。 幫助讀者鞏固DFS+回溯法框架這個重要的知識點。 回顧 DFS+回溯法框架 白話的意思 # 列舉所有可能的情況,遞迴展開所有分
Thumbnail
這篇文章,會帶著大家複習以前學過的二進位DP框架, 並且以0~N的整數有幾個bit1,有幾個bit0的概念為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 常見的考法 請問整數k有幾個bit1? 有幾個bit0? 請問整數0到整數N分別各有幾個bit1? 有幾個
Thumbnail
這篇文章,會帶著大家複習以前學過的 區間DP框架, 並且以回文子字串、回文子序列的應用題與概念為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 回文字串的基本定義 s = s[::-1] 也就是說字串s的正序 和 逆序完全相同。 回文字串的基本結構 空字串"