13号避难所

标题: sfall更新資訊與說明 [打印本页]

作者: novarain    时间: 2013-3-30 21:13
标题: sfall更新資訊與說明
前言與廢話:
一開始純粹只是我想自己動手編譯源碼來試一些還沒適用在正式版本內的修正與新增功能,除了修改version.h與version.rc來顯示SVN版號之外,其他源碼都沒特別更動過,不過現在我已經變成sfall版本發佈人員了。

一些大概沒啥人會想看的細節:

更新列表:(EDIT 2020-10-19:因列表過長,3.7以前的全部刪除)
2015-10-28 (3.7):

2015-12-15 (3.7a):

2016-04-20 (3.7b):

2016-08-15 (3.7.3)

2016-10-11 (3.7.4)

2016-11-09 (3.8)

2016-11-14 (3.8.1)

2017-02-27 (3.8.2)

2017-03-25 (3.8.3)

2017-05-08 (3.8.4)

2017-10-16 (4.0/3.8.5)

2017-10-16 (4.0.1/3.8.6)

2017-12-24 (4.0.2/3.8.7)

2018-02-13 (4.0.3/3.8.8)

2018-05-11 (4.0.4/3.8.9)

2018-06-12 (4.0.5/3.8.10)

2018-06-24 (4.0.6)

2018-07-16 (4.0.7)

2018-09-06 (4.1)

2018-10-01 (4.1.1)

2018-11-01 (4.1.2)

2018-12-05 (4.1.3)

2019-01-09 (4.1.4)

2019-01-14 (4.1.4.1)

2019-02-12 (4.1.5)

2019-03-18 (4.1.6)

2019-04-24 (4.1.7)

2019-05-31 (4.1.8)

2019-06-03 (4.1.8.1)

2019-07-12 (4.1.9)

2019-07-18 (4.1.9.1)

2019-09-15 (4.2)

2019-11-05 (4.2.1)

2019-11-19 (4.2.1.1)

2019-12-25 (4.2.2)

2020-02-08 (4.2.3)

2020-04-05 (4.2.4)

2020-05-11 (4.2.5)

2020-05-21 (4.2.5.1)

2020-07-03 (4.2.6)

2020-08-22 (4.2.7)

2020-10-18 (4.2.8)

2020-10-26 (4.2.8.1)

2021-02-04 (4.2.9)

2021-06-01 (4.3)

2021-06-10 (4.3.0.1)

2021-06-27 (4.3.0.2)

2021-10-15 (4.3.1)

2021-11-10 (4.3.2)

2022-01-20 (4.3.3)

2022-02-17 (4.3.3.1)

2022-04-07 (4.3.4)

2022-05-30 (4.3.5)

2022-07-08 (4.3.6)

2022-08-27 (4.3.7)

2023-03-31 (4.3.8)

2023-08-22 (4.4)

2023-08-24 (4.4.0.1)

2023-11-20 (4.4.1)

2024-02-12 (4.4.2)

2024-04-05 (4.4.3)

2024-04-19 (4.4.3.1)

檔案內容:
sfall請至SourceForge下載。

備註:
相關說明請參考『FO2引擎mod - sfall』這一篇。
作者: qsxxing    时间: 2013-3-30 23:43
很好很强大。
作者: wrhunter    时间: 2013-3-31 09:11
即使不用360,可能也有必要将游戏文件夹设为信任
作者: kingmp1    时间: 2013-3-31 09:54
是汉化么
作者: novarain    时间: 2013-4-23 12:42
本帖最后由 novarain 于 2014-2-8 22:00 编辑

http://www.nma-fallout.com/forum/viewtopic.php?p=1011454#1011454
今天更新到r237,Timeslip加上了能在ini內自訂各技能等級的點數花費量的功能。
要調整技能表,需要先在ddraw.ini內找到這段:
  1. ;Allows you to edit the skill tables
  2. ;Point the next line at an ini file containing the replacement skill data
  3. ;SkillsFile=skills.ini
复制代码

SkillsFile前面註解用的分號拿掉,skills.ini可以從modders pack取得範本放到FO2主文件夾內。

skills.ini內容默認是這樣:
  1. ;This file lets you set the formula for calculating skills
  2. [skills]
  3. Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
  4. SkillBase1=50     ;Big guns has a base of 50
  5. SkillMulti2=10
  6. SkillImage1=72
复制代码


在r237新增的設定有二:

作者: gvx    时间: 2013-5-4 09:47
也可以只使用DirectX SDK 2010年6月版本
將 C++ Express-->屬性-->連結--->輸入--->其他相依性
裡面尋找dinput.lib改名為dinput8.lib

將 C++ Express-->屬性-->連結--->輸入--->延遲載入 DLL
ws2_32.dll;d3d9.dll;D3DX9_42.dll;%(DelayLoadDLLs)
拿掉D3DX9_42.dll;
改為ws2_32.dll;d3d9.dll;%(DelayLoadDLLs)

這樣編譯就不需要2007年8月版本
但會形成D3DX9_43.dll相依性,不再需要D3DX9_42.dll
作者: runx    时间: 2013-5-7 13:49
最近感觉自己越来越懒了.
斑竹这篇差点就漏了过去.
找时间在RP2.1.2b上再弄个自娱自乐的东西看看...
只是,英文RP现在还有多少人在玩?
作者: wrhunter    时间: 2013-5-7 14:29
标题: 回 6楼(runx) 的帖子
我在玩公测版rp2.2
作者: runx    时间: 2013-5-7 16:34
原来想等RP2.2,再折腾一下的...
作者: wrhunter    时间: 2013-5-7 20:27
标题: 回 8楼(runx) 的帖子
那你可以联系他们,能不能给个最新的测试版嘛
作者: novarain    时间: 2013-7-13 19:59
本帖最后由 novarain 于 2014-2-8 22:02 编辑

http://www.nma-fallout.com/forum/viewtopic.php?p=1021467#1021467
今天sfall更新到3.1(包括Win2k版與Modder's Pack),SVN版號為r243,Timeslip說這算是小改版,不過實際上倒是修正了一個萬年老問題。

目前還剩下超級治療針暗殺的死機問題沒解決(觸發方式是對NPC使用差不多五個以上的超級治療針之後,不在原地等到損血的效果發作就離開地圖),Timeslip本來想檢查這部份的問題原因和把其他一些人希望加上的新功能完成,不過她最近太忙沒時間,加上killap也希望能快點釋出RP 2.2正式版,所以就有了這個3.1的小改版。

對,RP 2.2實際上已經好了,只是killap想等sfall更新(至少要有萬年炸藥bug的修正),沒意外的話下週一或二就會釋出了,killap先前給的日期是7/15(以美國時間為準)。
作者: cattell    时间: 2013-7-14 13:26
终于再次看到killap的消息了。。。希望这次不会再跳票了,另外我其实很好奇这些炸弹和超级治疗针导致游戏死机的原因是什么
作者: wrhunter    时间: 2013-7-14 16:31
炸药能破坏场景中的一些物品,也许bug是在这过程中发生的吧

治疗针的bug倒是没见过,一般都会等目标死亡……
作者: novarain    时间: 2013-7-14 18:54
引用第11楼cattell于2013-07-14 13:26发表的  :
终于再次看到killap的消息了。。。希望这次不会再跳票了,另外我其实很好奇这些炸弹和超级治疗针导致游戏死机的原因是什么
前者是炸彈爆炸時執行的report_explosion函式在呼叫apply_damage時,本來目標相關值該指定為0的變成-1,遊戲就死機了,後者Timeslip還沒分析出哪邊出問題。
作者: gvx    时间: 2013-7-15 11:32
希望Timeslip的Sfall功能越完美
請問在Sfall的Wikia請求內容中
http://falloutmods.wikia.com/wiki/Sfall_Requests#New_Requests

提到的
Is it possible to dynamically create roof tiles?
是指啥?

對了這些請求功能Timeslip會去看嗎?
作者: novarain    时间: 2013-7-15 11:40
那是killap看完我的建議提出來的,原本SAD第一層在RP 2.x用了Pixote的簍空屋頂讓你可以一眼看出牆內有藏著機器人,他問我是否該用回原本的實心屋頂,讓玩家不會在一開始就看到有隱藏機器人,但他又不太想放棄新的簍空屋頂。我就說有沒有可能在觸發警報牆壁放下放出機器人時,把實心屋頂換成簍空的,結果他試了一下發現roof tiles不能直接用script更動,只有floor層級的可以,所以才有那個請求。

另外Timeslip會去看,只是她不一定會回應,也不一定會採用。
作者: wrhunter    时间: 2013-7-16 09:23
标题: 回 10楼(novarain) 的帖子
果然又出现了老情况
killap
Posted: Tue Jul 16, 2013 0:36   
Heh, so you know this always happens because of the following situations:

1. I plan to work on it during the weekend or some set days and when the time comes I'm either not in the mood to code, too overloaded by work, or something else has pulled me away.

2. I finish everything and then need to wait on a task from someone. I then end up back in situation 1.

3. Somebody finds something that I need to dig back into, which adds more work that needs to be done. I could ignore this for a future version, but I treat every version like the last one. Wink

So yeah, it's a vicious cycle.

Anyway, everything is essentially in place and I need to copy over the latest sfall stuff. Then maybe look into something Darek brought up recently via pm. Then... Hey, see what I mean. Wink

I also need to go through all the doc files and make sure everthing is in order. Then I need to cleanup the wiki page and have it ready for future reports.

There's a lot that goes into a release and one man can only do so much.

It's after 7:30pm here, so I'm doubtful this will all occur today, but let's say the week of the 15th. Very Happy
作者: abb    时间: 2013-7-16 19:29
没关系,我等伸手党继续等待大家努力的成果。
作者: fanasilver    时间: 2013-7-21 22:01
如果能够完全解决炸药当机问题,版主确实是造福整个Fallout圈。
作者: gvx    时间: 2013-7-22 06:34
RP 2.2 出來了
作者: gvx    时间: 2013-7-28 19:21
sFall 3.1 編譯引擎改為 VC++ 2012 看來 Timeslip 也投入WIN8中
這次編譯不在需要
D3DX9_42.dll;
改為
D3DX9_43.dll;
作者: novarain    时间: 2013-7-30 21:18
Win2k支援也被拿掉了,我寫了訊息問他現在的編輯環境與函式庫版本是怎樣的,有可能是整個砍掉重練了。

EDIT: 他還是用Win7,只是整個編譯環境重建了,現在是VS2012 + Windows SDK + 最後一版獨立的DX SDK(2010六月) + DX 9.0b SDK(為了使用舊的DX1-7 headers)

EDIT 2: 直接用手動修改的sln和vcxproj硬上,VS2012一樣可以呼叫2008 compiler來編譯Win2k版本,現在只剩下在Win2k環境下測試,也寄了PM和他談這件事。
作者: novarain    时间: 2013-8-3 14:59
更新到r246,我另外加了一個舊版號的“243+”版,plus版的DX9 DLL相依性還是在D3DX9_42.dll上,新版本則是換到D3DX9_43.dll。
之後從3.2版開始Timeslip不會再編譯Win2K版sfall,因為她新電腦的SSD空間不夠,也不想只為了編個Win2K版去裝VS2008與VS2010兩者。看來Win2K沒啥人會特別想到,Mash沒在Win2K下測試過hi-res(我在VMWare Player用4.0.2跑不起來,3.0.6可以,至於在VirtualBox下則是全死,Mash自己是用VirtualBox測Win98/XP),他說接下來也會測Win2K。

唉,當年我也是Win2K撐了好一陣子才終於跳去XP SP1....所以多少有點額外感情在
作者: novarain    时间: 2013-8-21 18:04
本帖最后由 novarain 于 2014-2-8 22:05 编辑

更新到r248,其實我上週剛搬完公司就編譯完了,只是由於在忙工作也還沒把目前可用的設定測試出結果,所以一直沒發。
Timeslip重新加回了很多人都想用的控制隊友戰鬥的設定,這功能本來是屬於多人連線部份內的,在3.0刪減多餘功能時就跟著多人連線一起被刪了,但他大概是忘了這件事,3.0之後的ini還是有ControlPartyMembers這項設定,讓一些人誤以為該功能還在。

現在來說ini的新增設定有3個:ControlCombatControlCombatPIDCountCombatControlPIDList,說明如下:

隊友PID的16進位數值如下(其他非正式隊友NPC的請自己動手查,另外非RP 2.2的mod我也不管):
Sulik - 61
Vic - 3E
Davin - A3
Miria - A4
Cassidy - 59
Lenny - 6B
Marcus - A1
Myron - A0
Skynet(生化腦) - 4F
Skynet(人腦) - 17D
Skynet(猩猩腦) - 17B
Skynet(異常腦) - 17C
Cyberdog - 88
Goris - 98
K9 - 1D7
Dogmeat - 156
Kitsune - 1F6
Dex - 1F7
Cat Jules - 1F8

以我的ddraw.ini設定當例子:
  1. ControlCombat=1
  2. ControlCombatPIDCount=3
  3. CombatControlPIDList=61,3E,59,A1,1F6
复制代码


CombatControlPIDList列出我最後帶上鑽油平台的5個隊友,依順序是Sulik、Vic、Cassidy、Marcus、Kitsune,但由於ControlCombatPIDCount設定為3,所以我能控制的實際上只有前三人,也就是Sulik、Vic、Cassidy。

這功能目前只是半成品,有不少問題存在,例如控制其他人時會和你同用一部份的perk效果,像是Bonus Rate of Fire之類的。另外NPC裝備武器會放在第二格,所以你使用第一格的武器然後換到其他人時會發現怎麼變成空手了,那是很正常的。
作者: novarain    时间: 2013-8-26 15:32
更新到r249,再次修正r247想修正的bug。目前正式版本內都沒有該bug,因為Timeslip是3.1之後才換VS2012。

bug是這樣:只要在ddraw.ini內把PerksFile項目啟動了(拿掉註解就好,就算沒有perks.ini也行),由VS2012編譯出來的sfall在r247之前會讓角色性別被所選的特徵數量鎖死,只選一個特徵就是女性,選兩個則是男性,什麼特徵都沒選就一切正常。不論是在角色創建畫面或是讀取既有存檔都會受影響,像是你舊存檔角色是男性有選一個特徵,讀檔之後你就會變成女性。r247之後變成影響角色的抗毒,只選一個特徵就鎖死在95%,選兩個就變成0%,不受角色耐力與額外能力干擾。
這個bug在源碼內其實已經存在很久了(在Perks.cpp從ddraw2.cpp分離出來之前就有),只是先前運\氣好在VS2010下編譯出來的sfall沒問題,在VS2012時就沒那麼好運\了,而Timeslip自己沒特別測試到該部份。

另外ControlCombat各模式在完成的情況下,模式1就是現在這樣用特定PID列表決定戰鬥中可操控的NPC,2是直接操控全部隊友,3則是戰鬥中所有人,目前只有1和3的運\作方式有效而已。
作者: novarain    时间: 2013-8-27 18:39
更新到r250,和Timeslip聊了一下測試結果才發現戰鬥控制功能的模式設定其實有bug,不是因為半成品才只有1與3的運\作方式可用。

所以現在ControlCombat三種模式都可以照原先預定的方式運\作了,模式1一樣照上面所說的要搭配其他兩個設定,模式2是控制所有隊友(“隊友”只限那些你可以設定戰鬥偏好、武器、裝甲的人,不是所有綠色的友方都算),模式3是戰鬥中所有人,除非你想作弊(例如操控Horrigan然後把武器丟在地上),不然我個人不建議用模式3,人數一多你的戰鬥過程會變得很冗長。另外我在編譯時先把ControlCombat默認值改成0(Timeslip說之後默認值會改成0,現在的3只是測試用),以防一些不必要的意外。
作者: novarain    时间: 2013-10-30 00:42
更新到r252,其實從一個多月前就該動手了,只是原本拿來編譯的工作PC陣亡,加上太忙沒時間讓我把備用的XP機器換下來,就拖到這兩天才有空閒重新把工作PC整理好上線運\作。
作者: novarain    时间: 2013-11-11 14:12
為了接下來的RP 2.3(2.2玩到一半的別太擔心,沒加什麼新東西也沒大改啥),Timeslip前幾天把sfall正式版號更新到3.2,本質上就是r252。
由於Timeslip不會再編譯Win2k版本(理由見22樓),目前我丟了一份在NMA上給killap包在RP 2.3內。首篇的檔案也更新,因為普通版本去抓sfall官方的就好,我這回只包了Win2k與Trace版本。

Timeslip預計把NPC操控功能的選項簡化,省去ControlCombatPIDCount,因為沒什麼人會在PID列表放了五項,結果只會想用前三項這種無聊事,簡化之後會變成PID列表有幾項就全用上。
作者: novarain    时间: 2013-11-25 12:04
更新到r254,修正一個從2.15加上自訂技能設定(skills.ini)開始就存在的bug,那是前兩天我測RP 2.3閒著沒事想調整技能點數花費時注意到的。

在ddraw.ini內啟用SkillsFile之後,sfall內建的默認技能等級計算公式(該和原本遊戲一樣)不會把力量列入計算,而技能中就只有近戰和徒手會用上力量。
所以如果你沒有在skills.ini內去特別調整近戰/徒手公式的話,它們會變成:
Melee = 20+[2*(AG+ST)] ------> Melee = 20+(2*AG)
Unarmed = 30+[2*(AG+ST)] --> Unarmed = 30+(2*AG)

在用舊版本sfall情況下,要是你沒打算特別調整近戰/徒手技能,你還是需要在skills.ini內加上這兩行以修正公式:
  1. Skill3=s2|a2 ;Unarmed formula fix
  2. Skill4=s2|a2 ;Melee formula fix
复制代码

作者: cattell    时间: 2013-11-26 11:25
原来还有2.3,以为2.2已经是最终版了
作者: novarain    时间: 2014-2-8 21:36
本帖最后由 novarain 于 2014-2-8 21:52 编辑

Timeslip在沉寂了兩個多月之後,於兩天前更新了sfall一口氣跳到r263,主要是新增一些其他人要求的功能。
新增兩個和戰鬥中開物品欄的AP花費有關的設定,一個是InventoryApCost,就是修改戰鬥中開物品欄的耗用AP,默認為4。另一個是QuickPocketsApCostReduction,顧名思義是調整Quick Pockets減少耗用AP的效果,默認為2。
當然你高興的話可以把開物品欄設成完全不花AP的作弊等級。

另外因為有新增一些腳本函式,Modder's Pack提前更新到3.3版,其實就是更新了編譯器和函式文件。

作者: novarain    时间: 2014-6-23 11:04
本帖最后由 novarain 于 2014-7-7 14:09 编辑

正式版號更新至3.3,離上次隔了四個月。
因為Timeslip提到他暫時沒打算繼續開發sfall,所以我寫了短信問他能否至少把SVN上的源碼更新到最新版,於是他就順便修正了幾個之前有人回報的bug再一次更新。
首篇附檔也更新,只包含了一般版、win2k、win2k+debugging三個版本,給較新系統用的一般debugging版本去抓Timeslip的官方Modders Pack就好。

EDIT: 更新到r271,有更動的只有Credits,加上了幾個人與移除掉先前關於Interplay的部份,因為現在版權商已經換成Bethesda,而且他們也和Timeslip聯絡過了(還送了一組Steam舊三作序號給他)
作者: novarain    时间: 2014-7-7 14:17
本帖最后由 novarain 于 2014-7-7 14:23 编辑

首篇附檔再次更新,但這回和sfall本體無關。
前兩天killap發現modders pack裡面的sslc腳本編譯器不能在WinXP SP3下運行,我翻了一下源碼發現Timeslip忘了把編譯sslc時呼叫的工具組換成支援WinXP SP3/Win2003 SP2的v110_xp,而是直接用v110(僅支援Vista以上),所以今天上班有環境可用之後就編譯了支援WinXP SP3的版本,同時在WinXP SP3舊機器上測試確定一切正常。另外也順手編譯了給Win2000與XP SP2以前用的版本,不過沒完整測試過。

照這樣下去我乾脆整套玩意兒一起發佈算了....幾乎什麼都編譯了XD

作者: novarain    时间: 2014-8-28 11:22
Timeslip結婚了,以後大概很難看到他更新什麼,不過最近NMA上有一個俄國佬phobos2077也在反組譯看遊戲內部怎麼運作,同時也新增一些功能/函式給sfall,目前我和他兩人向Timeslip要到了提交源碼到sfall SVN的權限,所以接下來會和他合作居多。

目前最有意思的新功能是修改掃射時的子彈分組比例,原本遊戲內的運算邏輯是(所有除法碰到的小數皆捨去):

所以右邊群組在一些情況下會多一兩發子彈,畢竟在前兩個除法小數都捨去了,它是撿剩的。

既然都知道邏輯怎麼跑和內存位址,當然就可以動手介入了,新功能是讓你能直接在ddraw.ini內設定中間群組占總彈數的比例,和其中分出多少比例是直接朝主要目標攻擊(剩下的看中間路徑上有沒有其他目標,沒有也一樣跑去找主目標),左右兩側是總彈數減掉中間群組之後平分(除不盡的情況下右側會多1)。所以可以做到就算你槍口前面就站了個路人,掃射時全部子彈也只向他身後主目標飛去的作弊攻擊,不過源碼還沒放上SVN,目前只在私底下測試而已。
作者: novarain    时间: 2014-9-4 13:49
更新到r278,Timeslip給了我和phobos2077更新SVN源碼的權限,另外我也有sfall的發佈權限,之後正式版本發佈多半會由我進行(其實就是編譯檔案打包而已,最麻煩的是寫文件)
phobos2077住在西伯利亞地區的克拉斯諾亞爾斯克,時區正好也是UTC+8,所以和他在Skype上交換意見還挺方便的,至少沒什麼時差問題。

從r271到r278之中新增了一些設定,解說如下:

ObjCanSeeObj_ShootThru_Fix(r273)
Mash加上的設定,讓一些有“可射穿”旗標的物件也同時能讓人看穿進行視線判定。原本情況是你可射穿它們去打敵人,但敵人視線無法穿透物件看不到你,就沒辦法隔著同一物件直接回擊,而是會試著移動到能真正看到你的地方才攻擊。
默認是關閉,因為Mash自己也不確定這是否會對遊戲中某些場合造成負面影響。

ComputeSprayModComputeSpray_CenterMultComputeSpray_CenterDivComputeSpray_TargetMultComputeSpray_TargetDiv(r274)
phobos2077加上的mod,讓你可以修改掃射攻擊時的子彈分組比例,原本的分組計算方式請見上篇。


例如:
ComputeSpray_CenterMult=1
ComputeSpray_CenterDiv=2
ComputeSpray_TargetMult=2
ComputeSpray_TargetDiv=3
這代表掃射時有50%(1/2)的子彈會走中間,25%各走左右兩邊。
走中間路徑的50%會再分成兩組,其中的2/3會直接對主目標進行命中判定,1/3則會去找路徑上其他目標。

當然如果你這樣設定:
ComputeSpray_CenterMult=1
ComputeSpray_CenterDiv=1
ComputeSpray_TargetMult=1
ComputeSpray_TargetDiv=1
就表示所有子彈都直接向主目標進行命中判定,就算你槍口正前方就站了個路人甲,他也挨不到任何一槍。

ExplosionsEmitLight(r274)
默認是關閉,讓炸藥爆炸與能量武器的射出物會發光照亮附近區域,當然前提是地圖環境要暗一些才看得到發光效果,大白天時看不到。
能量武器的射出物是沒啥問題,不過炸藥爆炸的發光效果在炸完之後不會恢復正常,不是留下殘光就是把附近區域本來自有的發光“吃掉”,要換地圖之後才會變回原貌。

Dynamite_DmgMaxDynamite_DmgMinPlasticExplosive_DmgMaxPlasticExplosive_DmgMin(r275)
要修改的話記得把各行前面的分號註解拿掉。設定炸藥與塑膠炸藥的傷害值,最大值(DmgMax)上限到9999,最小值(DmgMin)的上限是到和最大值相等。

MovieTimer_artimer1MovieTimer_artimer2MovieTimer_artimer3MovieTimer_artimer4(r277)
要修改的話記得把各行前面的分號註解拿掉。設定遊戲中過了幾天就會撥放Hakunin的夢境影片,一共有四段,默認是過90、180、270、360天各放一段。
要注意的是第四段播完就會強制進入村人被擄走的後段劇情(和你進入V13之後一樣)。

作者: novarain    时间: 2014-9-16 16:49
正式版號更新至3.4(SVN r295),從r274開始全是phobos2077負責,很多部份是他在製作自己的Economy and Combat Rebalance mod時發現沒有或是本來的太難用而動手改進的。

從上一篇r278之後到r295(3.4)的變更:

3.4所有檔案請至SourceForge下載,如果SourceForge被牆了那我再把檔案用附件上傳。
作者: novarain    时间: 2015-2-16 17:07
上個月正式版號更新至3.5(SVN r317),和先前一樣更新全是phobos2077負責。
不過現在3.6已經快接近完工了,應該在二月底會釋出。

因為他的更新幾乎著重在數組和腳本相關部份,我不打算把那些太技術性的內容詳細列出來,只提比較重要或明顯的項目:

新增設定的解說:
CombatPanelAnimDelay
控制戰鬥面板(介面右下角那方塊區域)的開啟/關閉動畫速度,默認值1000,數值愈低速度愈快,數值愈高則愈慢,可用數值範圍是0~65535。
如果設到65535的話,開啟與結束戰鬥會等上差不多快一分鐘....

DialogPanelAnimDelay
控制對話視窗面板切換(要切換到交易或戰鬥設定時的下降與升起)的動畫速度,默認值33,數值愈低速度愈快,數值愈高則愈慢,可用數值範圍是0~255。
設到255會等上個十幾秒才切換完。
作者: novarain    时间: 2015-2-16 23:44
首篇檔案更新到r342,中間更新也幾乎都是新增腳本函式或擴充既有功能,不然就是腳本編輯器的介面強化(和舊版超陽春的樣子比起來挺像正式的IDE了)

值得一提的是phobos2077把NPC戰鬥控制整個重寫了,用較多的C++較少的ASM,至少源碼比較像是給人類讀的了,同時也修正許多原本的問題:

另外INI內相關選項也調整了一下,phobos2077把Timeslip本來留下的待修改項目完成,現在只剩ControlCombat與ControlCombatPIDList,但功用有些變化:

ControlCombat(默認為0)
0 - 關閉戰鬥控制功能
1 - 控制所有角色(強烈建議要配合PIDList使用)
2 - 控制目前在隊伍中的隊友
模式1和2會受到下面PIDList的影響。

ControlCombatPIDList(默認空白)
現在功用變成模式1和2的額外限制清單,如果空白就代表控制所有角色(模式1)或全部隊友(模式2),要是有PID就只能控制PID對應的角色,配合模式1就是對方為敵人或不在隊伍中也都可以控制,配合模式2就是該角色必須同時也在隊伍中才能控制。
另外PID現在接受普通的ID數值,不再需要用前面舊文列的16進位值。例如Sulik的ID是97(從檔名可以看得出來,00000097.pro),當然你也可以用完整版的PID數值16777313(等於ID+16777216),你要用舊的16進位值的話,得在原本61(97的16進位)前面加上“0x”變成0x61。
我在之後INI內會給的默認清單是ControlCombatPIDList=62,89,97,107,160,161,也就是Vic、Sulik、Cassidy、Lenny、Myron、Marcus這六個人型隊友。
作者: novarain    时间: 2015-3-3 21:36
今天正式版號更新至3.6(SVN r346),一些比較重要的變更項目:

CorpseLineOfFireFix(默認值0)
現在只剩0(關閉)和1(開啟),運作邏輯也和我在版上原本寫的不一樣,現在開啟是直接在引擎呼叫obj_shoot_blocking_at函式來確認阻擋射擊線的物件時就檢查目標是否死亡,死的就直接視為像地上雜草那種不會阻擋攻擊的物件。

ReloadWeaponKey(默認值0)
接受的值是DirectInput鍵盤掃描碼,各鍵對應的值可以參考這網頁,設定值可以用10進位或16進位,例如你想用分號(;)鍵那就是39或0x27。
作者: novarain    时间: 2015-7-21 00:11
最近sfall又開始更新,而且移到GitHub上。目前重點是回頭把引擎舊有bug一個一個抓出來修。一些比較有趣值得提的:

新增的小功能:

目前都還在測試與繼續新增更多修正當中,我暫時不會放編譯檔案出來。
作者: cattell    时间: 2015-7-26 18:10
多了個新設定讓你除了高亮地上物品之外,還能高亮所有“容器”,目前顏色是用淺灰,不過我提了建議應該要加上能自訂高亮顏色的選項
这个功能很不错啊
作者: novarain    时间: 2015-8-4 12:10
容器高亮的部份現在是兩個顏色可選,一個是和物品高亮一樣的黃色(我想以外型來看應該不會搞混),一個是紫色。
一開始測試一下之後發現可選擇的顏色太少,戰鬥中用來標記人物的紅、綠、黃(較暗)去除,淺灰在一些情況下的可辨識度太低,例如在白色房子內或淺灰鐵皮屋頂下的容器高亮幾乎看不見,所以只剩亮黃和紫色可用了。
最後可能會直接取消只剩一種顏色給容器高亮,紫色是目前不知道到底哪個數值才真的是它,因為只要數值不是上面其他顏色的就一律顯示紫色,可能是“不在規定中”數值的暫代顏色。
作者: novarain    时间: 2015-8-16 14:24
源碼新增部份差不多測完了,首篇放上編譯好的檔案(版號3.6.999.7,3.7 alpha7)給有興趣的人試試,詳細一點的更新清單也在首篇。

StackEmptyWeapons(默認值0)
遊戲在武器彈蘗空了之後,仍會記得它先前裝的彈種,如JHP或AP,但這樣會讓用過不同彈種的同一種空武器無法在物品欄內疊一起。最明顯的例子是在宰光奴隸公會時,一些奴隸販子的10mm手槍是裝AP彈的,子彈全退出來搜刮完之後,你身上會有兩疊10mm手槍。這設定功能是在退彈或武器進入物品欄時檢查彈藥為0,就把先前裝填彈種重設為默認彈種,這樣就能讓空武器都疊在一起了。另外手上的槍打光子彈時不會直接就重設彈種。

HighlightContainers(默認值0)
在高亮地上物品同時也高亮地圖中所有“容器”,設定為1是和物品一樣用亮黃色,2是紫色。

DialogOptions9Lines(默認值0)
讓對話能正常顯示出最多九個(九行)的選項。對話選項在一代最多顯示九個(對應鍵盤上的1~9),但在二代縮減到八個。基本上對FO2既有內容來說沒啥用,因為沒有超過八個選項的對話,這設定主要是給FO1內容移植到FO2上的mod或其他modder用的。

TooManyItemsBugFix(默認值1)
預防帶太多附掛腳本的物品在身上時會讓地圖存檔毀損的bug。這個修正只能“預防”bug發生,如果舊存檔已經碰到bug就沒辦法了,只能用其他工具手動修復存檔
非官方修正與RP正常情況不會有這個bug,因為已經用其他方式避免。

InventoryDragIssuesFix(默認值1)
修正一個顯示上的小bug:如果物品欄最下面一項是多個為一疊的物品,在“拿起”(手型鼠標按下去別放開)最上面只有單個的物品時,物品圖像還是會留一份在底層,而不是正常該變空位的情況。另外這設定也讓你可以正確使用拖拉彈藥的方式來裝填在物品欄(不是拿在手上)的武器。

NPCDrugAddictionFix(默認值1)
補完遊戲引擎對NPC藥物上癮部份的檢查方式,原本只檢查相關的全域變數而已。這也讓你對隊友使用Jet解毒劑能發揮正常功效,不然Jet上癮的隊友會永遠無法解除上癮狀況。

ArmorCorruptsNPCStatsFix(默認值1)
修正給隊友數件相同的裝甲叫他穿上後會發生的bug,首先是在對話時你能一直叫他脫下裝甲,脫幾件裝甲屬性就會被多扣幾倍;而升級時會變成隊友明明穿著裝甲,但裝甲屬性已經歸零了,叫他脫下裝甲時也一樣會被多扣相關屬性。

NPCTurnsIntoContainerFix(默認值1)
修正當隊友發生致命失誤喪失下一回合的同時你離開地圖會造成的bug,隊友會變成無法對話只會呆呆跟著,鼠標移上去就只能進行如同對容器一樣的操作,這種情況在你有Jinxed特徵時特別容易發生。
手動修正方式是開啟戰鬥、按空白鍵跳過回合、再結束戰鬥,隊友就會恢復正常了。

上面的引擎bug修正過一兩個版號之後可能會從INI內拿掉變成永久啟用,因為也沒什麼理由要關掉它們。
作者: novarain    时间: 2015-10-6 14:05
首篇檔案更新,版號3.6.999.8,3.7 alpha8。
修正一個從2.8開始就存在的bug,啟用PerksFile項目後,特徵選擇Heavy Handed會變成AC和近戰傷害力都+2,而不是原本該有的近戰傷害力+4。

另外加了一個新設定:
DisplayBonusDamage(默認值0)
原本Bonus Ranged Damage與啟用BonusHtHDamageFix後的Bonus HtH Damage所增加的攻擊傷害值只有在遊戲計算時才會套用上去,物品欄內的武器傷害值仍舊是武器本來的數值。
這設定功能會把兩個perk的攻擊傷害值加到物品欄的顯示上,例如10mm手槍本來攻擊值是5-12,選了兩級Bonus Ranged Damage就會顯示為9-16。同理啟用BonusHtHDamageFix之後,徒手與近戰武器的最大最小攻擊值顯示上也一樣會加上Bonus HtH Damage的值。
作者: novarain    时间: 2015-10-29 11:49
http://www.nma-fallout.com/showthread.php?178390-FO2-Engine-Tweaks&p=4084039#post4084039
sfall昨天正式放出3.7版,請至SourceForge下載。

比較大的更動處是把原本在2.6時分離出去的debugging功能重新整合回一般版本,這樣就不需要額外的debug版sfall了。
新增的hook script主要目標是打算以單一的全域腳本取代現在分散在各隊友腳本內的裝甲外觀mod,這樣可以很容易就相容於各種不同的mod。

另外加了一個新設定:
CarChargingFix(默認值1)
修正兩個和汽車充電有關的小問題,一個是如果你對場景物件(例如垃圾桶)或隨便一個路人“使用”電池時,會變成給汽車充電;另一個是汽車已經充滿電的情況下再試著對它充電,遊戲會冒訊息提醒你說電已經滿了,但你使用的那個電池還是莫名奇妙被消耗掉了。


作者: novarain    时间: 2015-12-16 15:06
http://www.nma-fallout.com/showthread.php?178390-FO2-Engine-Tweaks&p=4107754#post4107754
sfall昨天更新至3.7a版,請至SourceForge下載。

因為只有加些小東西就不跳3.8了,雖然實際上源碼更動的地方比過去還多,源碼重構真是件累人的事....

另外新增的設定項目:
CanSellUsedGeiger(默認值1)
修正不能賣掉使用過的蓋格計數器或Stealth Boy的問題,另外附帶小功能是啟動狀態的蓋格計數器或Stealth Boy在交易後會自動關閉。

TownMapHotkeysFix(默認值1)
讓你不能在城鎮地圖畫面按數字鍵就進入未去過的地圖,避免投機取巧繞過本來該觸發的事件,或是不小心跳到未完成的地圖出不來。

EnableMusicInDialogue(默認值0)
這設定讓你和有頭像與語音的角色對話時,背景音樂不會完全關掉,而是和一般沒有頭像的角色對話時一樣減低音量持續撥放。

ReloadReserve(默認值-1)
原本在物品欄內拖拉彈藥裝填武器時,都會冒個計數器問你要“移動”多少數量,對一些人來說可能會覺得多此一舉。設成0的話就是直接有多少彈藥就都用上,設成1以上數字則是叫遊戲保留該數字的彈藥份量,剩下的再全部用來裝填。
如果彈藥份量小於等於設定數值,那一次就只會用一份進行裝填。設成-1當然就是關閉此功能了。

另外我把TooManyItemsBugFix、InventoryDragIssuesFix、NPCDrugAddictionFix、ArmorCorruptsNPCStatsFix、NPCTurnsIntoContainerFix、CarChargingFix、NPCWeightFix(只有在3.7a測試時加上的設定)這些純粹修正引擎bug的設定從ddraw.ini內移除,因為基本上沒有關閉它們的必要。
作者: novarain    时间: 2016-4-20 13:39
http://www.nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/page-125#post-4141249
sfall今天更新至3.7b版,請至SourceForge下載。

因為phobos2077最近在忙,短時間不會顧sfall,我就把這段時間加上的修正和一些小功能包一包釋出了。

新增或變動的設定項目:
SpeedInterfaceCounterAnims
現在多了2的設定值,在計數器數字為正數之前都是瞬間更新數值,但如果玩家HP掉到負數的話,從0開始往下的計數部份只會快速變動不會瞬間更新。

PipboyTimeAnimDelay(默認值50)
控制在Pipboy介面休息時,鬧鐘數字的動畫速度,默認值50,數值愈低速度愈快,數值愈高則愈慢,可用數值範圍是0~127。不過就算設成0也不會馬上就把時間跳完。

InstantWeaponEquip(默認值0)
這設定會把所有裝備/換下武器的動畫跳掉,不管是更換使用物品、開啟容器或執行其他動作,都不會再看到你角色把槍收起來、執行該做的動作、再把槍拿出來的情況。

CarryWeightLimit(默認值999)
原本負重最大值是999,這設定可以讓你自由調整負重最大值,上限是INT_MAX,也就是2147483647。記得把設定前的註解分號拿掉就是了,那是我刻意加上的。

另外我把3.7a拿掉的CarChargingFix設定加回來了,因為啟用它的話會造成Megamod之類有新增車輛的mod沒辦法幫那些車充電。
作者: novarain    时间: 2016-8-16 13:58
http://www.nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/page-125#post-4141249
sfall昨天更新至3.7.3版,請至SourceForge下載,詳細更新請參考首篇。

新增的設定項目:
ExtraGameMsgFileList
Mutants Rising的Vennor幫忙寫了可以在game文件夾增加新文稿的功能,這對一般玩家來說沒啥用就是了,有興趣的人可以參考modderspack裡面的sfall function notes文件。

NumbersInDialogue(默認值0)
這設定會把對話選項前面的圓點換成數字編號。

CreditsAtBottom(默認值0)
這設定會把sfall內建的參與人員名單移至遊戲製作人員名單之後。

作者: novarain    时间: 2016-8-20 00:38
我覺得有必要稍微說明一下如何設定自訂CRC值給sfall 3.7之後的版本。
這個範例是把Fallout2.exe用16進位編輯器在最後加1 byte的00,檔案大小變成1,189,889 bytes,所以要先在ddraw.ini內最下面[Debugging]區塊,把EnableSkipSizeCheck設為1以取消檔案大小檢查。

接下來試著啟動遊戲會跳出錯誤訊息:
[attach]39266[/attach]

sfall會和你說它發現這個Fallout2.exe的CRC值不是預想的0xe1680293,而是紅線標明的0xedfd904d,所以要把本來被註解掉的ExtraCRC拿掉前面的分號取消註解並設定ExtraCRC=0xedfd904d,這樣就可以啟動遊戲載入sfall了。

幾點要注意的:

作者: novarain    时间: 2016-10-11 23:44
http://www.nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/page-128#post-4189096
sfall今天更新至3.7.4版,請至SourceForge下載。

新增或變動的設定項目:
PipBoyAvailableAtGameStart(默認值0)
現在多了2的設定值,直接跳過開PipBoy時對“取得避難所衣服”的影片是否播放過的檢查,而不是把遊戲內部變數設定成影片已經播放過,主要是因為Resurrection製作者的要求所加上的。

MultiPatches(默認值0)
它取代了舊有的NumberPatchLoop,現在只有0(關閉)或1(啟用)的狀態,開啟時最多可以一次載入一千個.dat補丁檔。

DataLoadOrderPatch(默認值0)
這設定會修改引擎對遊戲資料載入的優先順序,一些細節可以參考我寫的這篇
原本順位:patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
修改後是:master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat


作者: ccdragon    时间: 2016-10-12 08:06
那么sfall的新版下载之后怎么更新呢?
作者: novarain    时间: 2016-10-12 08:40
ccdragon 发表于 2016-10-12 08:06
那么sfall的新版下载之后怎么更新呢?

覆蓋ddraw.dll就好,如果要用什麼新增設定,比對ddraw.ini內容再看要添加啥在自己既有的ddraw.ini之中。
作者: novarain    时间: 2016-11-10 15:16
http://www.nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/page-130#post-4198707
sfall昨天更新至3.8版,請至SourceForge下載。

版號跳比較大是因為背後源碼進行的修改工作量大,phobos2077最近有空了開始回頭解一些別人提的問題。

NPC戰鬥控制的部份大修,把之前那些像主角技能和perk會套到其他NPC身上等問題修掉了,目前只剩一些和人物圖像相關的小bug而已。

3.8最大的一項新增功能是通用操作碼(opcode)函式sfall_funcX,雖然這對一般玩家來說沒啥用處,但對有興趣動sfall源碼的人來說是很方便的事。
以往要新增腳本函式得先自己用ASM寫新操作碼再套函式名稱與定義之類的給它,然後還得同樣修改腳本編譯/反編譯器源碼,不然它們兩個認不得新函式。先別提維護三個不同玩意兒的源碼,光是ASM就可以讓人頭疼好一陣子,而且易讀性相當糟(除非你要加一堆註解給它)
現在有了sfall_funcX可以用比較多人懂、易讀性也較高的C++,照源碼內的範本套上sfall_funcX就能添加新函式,而且由於是透過sfall_funcX實現,不用再去修改腳本編譯/反編譯器源碼(它們認得sfall_funcX,剩下的完全只是字串和數值資料定義而已)

接下來不會有3.9而是直接跳4.0,phobos2077正在把sfall整個架構大改,用更多C++的實現方式,減少需要和ASM打交道的場合,希望這樣能讓之後有興趣的人能比較容易且清楚了解sfall到底怎樣運作的。
編譯環境也將三級跳直接到VS2015(他打算用較新C++標準的語法和功能),所以4.0可能就沒有支援原生Win2000的版本,雖然我希望繼續維持它就是了。
作者: novarain    时间: 2016-11-14 10:47
http://www.nma-fallout.com/threads/fo2-engine-tweaks-sfall.178390/page-131#post-4200879
sfall今天更新至3.8.1版,請至SourceForge下載。

沒幾天就出小改版的原因是有個很明顯的bug:按F6本來會開快速存檔畫面的變成一般存檔,等於快速存檔功能廢掉了。
其實這bug從2.14版有SaveInCombatFix設定開始就存在了,但之前都只有在戰鬥中才會發生,多數人很難注意到,而3.8的某個修正讓這bug變得更明顯,在一般非戰鬥時也會發生。
作者: delete1204    时间: 2016-12-24 10:59
novarain 发表于 2013-8-21 18:04
更新到r248,其實我上週剛搬完公司就編譯完了,只是由於在忙工作也還沒把目前可用的設定測試出結果,所以一 ...

这个东西貌似问题挺严重的,2.3貌似是默认不开这个的,因为它的原理貌似是所有人和主角共用一个模型,会产生共用特征,perk,打拳npc消失bug

作者: novarain    时间: 2016-12-24 11:05
回三年前的舊訊息沒啥意義,共用perk等問題在新版sfall已經修掉了,然後打拳前把控制關掉。
作者: delete1204    时间: 2016-12-24 11:30
novarain 发表于 2016-12-24 11:05
回三年前的舊訊息沒啥意義,共用perk等問題在新版sfall已經修掉了,然後打拳前把控制關掉。

现在我想知道的是怎么下载新的sfall啊,要先注册么,我找不到下载的选项
作者: novarain    时间: 2016-12-24 11:49
delete1204 发表于 2016-12-24 11:30
现在我想知道的是怎么下载新的sfall啊,要先注册么,我找不到下载的选项

SourceForge頁面一進去不就有個大大的綠色按鈕寫著Download(下載)了?
作者: delete1204    时间: 2016-12-24 12:03
novarain 发表于 2016-12-24 11:49
SourceForge頁面一進去不就有個大大的綠色按鈕寫著Download(下載)了?

然而并没有,如果我注册帐号就会各种system出错

国内邮箱和hotmail都不行
作者: novarain    时间: 2016-12-24 12:39
delete1204 发表于 2016-12-24 12:03
然而并没有,如果我注册帐号就会各种system出错

国内邮箱和hotmail都不行

如果你開的頁面不是這樣,那我就不知道怎麼回事了。
[attach]39409[/attach]

作者: delete1204    时间: 2016-12-24 13:47
novarain 发表于 2016-12-24 12:39
如果你開的頁面不是這樣,那我就不知道怎麼回事了。

````````````````````````````````完全不一样········可能要先注册

·······他对注册邮箱有什么要求吗········还是有什么其它要求········
作者: novarain    时间: 2016-12-24 14:06
你SourceForge頁面到底長得怎樣?
從十多年前開始它就不需要任何註冊就能下載東西。
作者: delete1204    时间: 2016-12-24 14:28
novarain 发表于 2016-12-24 12:39
如果你開的頁面不是這樣,那我就不知道怎麼回事了。

[attach]39410[/attach][attach]39411[/attach]

·····直接点你贴子里面的连接打开的················

作者: novarain    时间: 2016-12-24 15:31
我帖子內的連結已經是直接進檔案列表(現在修掉變回主頁面連結),點那些檔名就會自動去下載了。
如果不會下載我想不是我能解決的問題。

作者: delete1204    时间: 2016-12-24 15:44
novarain 发表于 2016-12-24 12:39
如果你開的頁面不是這樣,那我就不知道怎麼回事了。

总算下到了····感谢,现在队友没有bug了
作者: delete1204    时间: 2016-12-24 17:59
本帖最后由 delete1204 于 2016-12-24 18:49 编辑
novarain 发表于 2016-12-24 15:31
我帖子內的連結已經是直接進檔案列表(現在修掉變回主頁面連結),點那些檔名就會自動去下載了。
如果不會 ...

··········冒红字这个问题除了重装2.33外还有没有其它办法········屏蔽可以吗········
另外我想问一下,如果

ddraw.ini里面没有写入的选项,是会按默认选择运行,还是直接该组件无效?


另外想请教一下,rp2.33是不是调高了夜晚和室内的黑暗度········感觉好黑,能否调回·······,还是说是高清补丁的问题

作者: novarain    时间: 2016-12-24 21:53
我在第一篇已經寫得很清楚了不要直接蓋掉ddraw.ini,是我寫的讓人看不懂嗎....?
官方版的ddraw.ini裡面已經有幾乎所有可以設定的項目了,只有四五個是一般情況用不到的我沒特別加上,ddraw.ini內沒有寫入的選項就是用默認值去跑。

RP 2.3.3地圖那亮度是地圖腳本的設定,你想改亮一點就去改腳本。
作者: delete1204    时间: 2016-12-24 22:45
novarain 发表于 2016-12-24 21:53
我在第一篇已經寫得很清楚了不要直接蓋掉ddraw.ini,是我寫的讓人看不懂嗎....?
官方版的ddraw.ini裡面已 ...

是我原来的ini太老,想用新下载这个盖过去,但盖过去就红字了,不盖就没红字

这样只要没写的按默认跑就行了,不想管了

另外你说的脚本是sfall么?还是ini里,ini里我找了一遍,讲道理找不着相关的选项········
作者: novarain    时间: 2016-12-24 22:53
腳本當然是RP自己那堆.int的腳本。不是什麼玩意兒都可以在sfall內就搞定的,它從來就不是萬靈丹。
作者: novarain    时间: 2017-2-15 13:29
最近在做的事有兩項:一是把ddraw.ini內容翻譯成中文,二是慢慢測試要含在3.8.2的牛皮袋/背包相關修正。
前者差不多進行50%了,英文寫起來很順的要重新用中文敘述一遍反而變難了,或是該說在盡量別用太多字數又要讀起來通順的前提下。
後者是這週才開始進行的,牛皮袋/背包這種“容器”物品在一代時是明確說了可用,說明書也特別寫了一段相關介紹。但大概是因為相關bug太多,二代開發時程吃緊加上它們又不重要,沒多餘力氣花在它們身上,所以二代就直接從遊戲內拿掉了,除了Modoc地下那個漏網之魚之外。目前加了一兩個功能和修正讓它們能像一代一樣運作(例如打開袋子時,把物品直接拖到角色圖片上就等於拿出來放回主物品欄中),接下來就是要修一些東西會消失或造成遊戲卡死的問題。
作者: novarain    时间: 2017-3-27 23:34
sfall上個月底更新3.8.2,前幾天則是3.8.3,這兩個版本基本上沒加新選項,更新內容著重在sfall既有功能改進、sfall自身bug修正和更多遊戲引擎修正,其中最主要的是牛皮袋/背包相關的bug和漏洞。
例如:
在負重過重情況下,把物品拖拉到牛皮袋/背包上想放進去會讓該物品直接消失(一代就有的bug)
把牛皮袋/背包放在交易台上,試著打開它們會讓遊戲當機(二代才有的bug,一代會不讓你開)
物品欄處在牛皮袋/背包“之下”的物品無法被腳本函式移除,因為遊戲引擎內部負責計算物品欄內某物品數量的item_count函式在碰到容器類物品時會回傳錯誤的值,造成判定提前結束,這就是讓你可以保留任務物品的漏洞的原理。

另外有個我以前就有注意到的bug:把人物資料輸出成文字檔時,行動順序(Sequence)數值一直是錯的。前陣子想到就查了一下引擎內部運作,結果發現在輸出過程取數值時實際上不是看行動順序,而是重覆取到力量的值,現在有些相關知識之後就在sfall中自己動手修掉它了。
這個bug從一代就有了,到二代也沒修掉,就這樣存在了近二十年....我想大概是後來沒啥人會有興趣把自己人物資料輸出成文字檔吧,以前剛出那時一些BBS或古早論壇的討論還有人會分享自己人物的文字檔呢,這時就會發現自己老了。

如果沒什麼大意外,3.8.3會是3.x最後一版,下一次更新就直接跳到4.0了。
4.0把一大部份源碼都用C++的實行方式重寫(標準採用C++11),原本ASM的部份用wrapper包起來,減少在表面出現的場合,調用相關函式比較方便也增加易讀性,畢竟懂C++的人一定比懂ASM的多,這樣以後有其他人想了解sfall怎麼運作或要加新功能也容易一些。
另外原本一些用ASM寫死的選項/功能會被踢出sfall,改成用腳本函式接手本來的功能。像高亮物品功能在4.0就是從sfall內部拿掉,變成用一個全域腳本來實行,這樣誰想怎麼改(例如我想加上標記屍體)都可以不用動到sfall源碼本身。

最後我把sfall的ddraw.ini設定檔內容全翻譯成繁中了,放在首篇附件內,檔案編碼是UTF-8無BOM,所以sfall一樣可以吃,這樣至少一些選項內容會比較好懂一些,有人有興趣改成簡中的請自便。
再提醒一次:不要直接用那個ddraw.ini覆蓋掉你RP或其他mod既有的ddraw.ini。
翻譯ddraw.ini其實挺有意義的,因為會逼著自己把絕大多數選項都確認一遍,有些地方由於這樣發現一些可能造成bug或運作和敘述不合的情況就順便修掉了。
作者: novarain    时间: 2017-5-8 11:36
sfall今天更新至3.8.4,修正了兩個3.8.3的嚴重bug,其中一個會導致一些任務無法完成(交出某些任務物品就會讓遊戲當掉)。原因其實很蠢,出在VS2008/2010對某些code寫法的處理方式和VS2015不一樣,但那情況它們也不會報錯....
另外加上了一個4.0才有的設定。

OutlineColor(默認值0x10,即為16)
可以調整高亮物品/容器時的框線顏色,可用的顏色數值有:

而只要不是上述的數值就一律為紫色,例如你設個75給它也會顯示紫色,這是遊戲引擎本身的處理方式。我在sfall源碼內只有針對零與負數也用同樣方式處理。
首篇附件也更新了ddraw.ini的繁中翻譯。

作者: dan125gh    时间: 2017-6-3 10:50
真的很好,很强大啊。。
作者: freelancerw    时间: 2020-6-17 22:27
我现在玩的版本是sfall4.1.3,貌似ddraw.ini搜不到ControlCombat这个了,队友手动控制取消了吗,还是我的版本有问题了?
作者: novarain    时间: 2020-6-18 05:01
sfall 4.x時相關設定移到sfall-mods.ini內了。
作者: freelancerw    时间: 2020-6-25 18:38
目前有小更新:sfall_4.2.5.1.7z

Scanned by: Bitdefender
作者: 橡胶灵魂    时间: 2024-2-19 11:37
前几天442出来了




欢迎光临 13号避难所 (https://bn13.net/) Powered by Discuz! X3.2