標籤:
【編譯運行】
下載Quake3中的資源,
安裝Q3Ademo、Quake III Arena,
拷貝Q3Ademo中demoq3目錄下的pak0.pk3到Quake III Arena的對應目錄中,
使用VS開啟quake3-1.32b中code目錄下的quake3.sln,
注釋files.c中下列行,
// if we can‘t find default.cfg, assume that the paths are // busted and error out now, rather than getting an unreadable // graphics screen when the font fails to load if ( FS_ReadFile( "default.cfg", NULL ) <= 0 ) { Com_Error( ERR_FATAL, "Couldn‘t load default.cfg" ); // bk001208 - SafeMode see below, FIXME? }
由於資源裡沒有default.cfg,如果不注釋程式沒法運行。
注釋files.c中函數FS_SetRestrictions的所有內容,如果你觀察了該函數,並單純地以為只需要解注PRE_RELEASE_DEMO,那麼你運行地時候,恐怕會白屏,具體怎麼白,你可以自己去體驗。
將解決方案配置由Debug_TA改為Debug,
將cgame、game、q3_ui的組建目錄改為Quake III Arena的目錄,工作目錄也改為Quake III Arena的目錄,然後產生解決方案,此時就可以進入遊戲了。
註:我在VS2008上,直接修改的上面三個項目的輸出檔案,而不修改組建目錄,是可以進入遊戲的。但是在VS2012上,只修改輸出檔案,啟動並執行還是Debug目錄下的exe,即使exe已經產生到Quake III Arena的目錄下了,沒辦法只好直接改組建目錄了。
Quake3源碼分析