如何使用Xash3d引擎开发游戏一
如何使用Xash3d引擎开发游戏
无论使用任何框架或者任何引擎,第一件事就是要搞明白在哪里写代码、如何输出hello world。
1. 引擎的架构
开发Xash3d引擎的游戏需要开发三个dll:
- client.dll (client_amd64.dll)
游戏客户端,必要。
存放目录: 引擎目录/游戏名称/cl_dlls/client.dll - mp.dll (mp_amd64.dll)
游戏服务端,必要。
存放目录: 引擎目录/游戏名称/cl_dlls/mp.dll - menu.dll (menu_amd64.dll)
进入游戏前的界面,不必要。
存放目录: 引擎目录/游戏名称/cl_dlls/menu.dll, 或者: 引擎目录/menu.dll。
2. 导出函数
各个DLL需要导出的函数(具体函数的作用待更新)
- client.dll
void Initialize( cl_enginefuncs_t *pfuncs, int version ); void HUD_Init( void ); void HUD_VidInit( void ); void HUD_Shutdown( void ); void HUD_Redraw( void ); void HUD_UpdateClientData( void ); void HUD_Reset( void ); void HUD_PlayerMove( void ); void HUD_PlayerMoveInit( void ); void HUD_PlayerMoveTexture( void ); void HUD_ConnectionlessPacket( void ); void HUD_GetHullBounds( void ); void HUD_Frame( void ); void HUD_PostRunCmd( void ); int HUD_Key_Event( int down, int key, const char *binding ); int HUD_AddEntity( void ); void HUD_CreateEntities( void ); void HUD_StudioEvent( void ); void HUD_TxferLocalOverrides( void ); void HUD_ProcessPlayerState( void ); void HUD_TxferPredictionData( void ); void HUD_TempEntUpdate( void ); void HUD_DrawNormalTriangles( void ); void HUD_DrawTransparentTriangles( void ); void HUD_GetUserEntity( void ); void Demo_ReadBuffer( void ); void CAM_Think( void ); void CL_IsThirdPerson( void ); void CL_CameraOffset( void ); void CL_CreateMove( float frametime, usercmd_t *cmd, int active ); void IN_ActivateMouse( void ); void IN_DeactivateMouse( void ); void IN_MouseEvent( void ); void IN_Accumulate( void ); void IN_ClearStates( void ); void V_CalcRefdef( ref_params_t *rp );; void IN_ClientMoveEvent( float forwardmove, float sidemove ); void IN_ClientLookEvent( float relyaw, float relpitch );
- mp.dll
void GetEntityAPI2( serverfuncs_t *serverfuncs, int *version ); void GiveFnptrsToDll( engineapi_t *pengfuncs, globalvars_t *globals ); void player( entvars_t *vars ); void worldspawn( entvars_t *vars ); void grenade( entvars_t *vars );
- menu.dll
int GetMenuAPI(UI_FUNCTIONS * pFunctionTable, ui_enginefuncs_t * pEngfuncsFromEngine, ui_globalvars_t * pGlobals); void AddTouchButtonToList(const char* name, const char* texture, const char* command, unsigned char* color, int flags); void SetImGuiContext(void *ctx);
3.构建项目
这不必多说,用自己最擅长的构建工具创建共享库即可。
如何使用Xash3d引擎开发游戏一相关推荐
- 基于引擎开发HTML5游戏实战(二)---游戏剧本
STEP2 设计游戏情节 体验基于引擎开发游戏之后,让我深切感受到,游戏=情节+美工+引擎,编程技术在里面不是决定性因素.一个游戏成功与否很关键的一点是导演和编剧,这和电影电视很类似.当然,两个小时之 ...
- 使用 Unity 3D 开发游戏的几个架构设计难点
Unity 3D 引擎对于开发者来说,入手非常快,因为它采用的是 C# 作为开发语言,这也大大降低了开发者的门槛.但凡只要懂一门编程语言的人都能使用 Unity 3D 引擎开发,另外 Unity 3 ...
- 使用 Unity 3D 开发游戏的架构设计难点
作者:姜雪伟,网名:海阳,CSDN 博客专家,资深 3D 游戏引擎,IT 高级讲师,畅销书作者,从事 IT 行业 15 年,主导或参与了 18 款大型游戏的研发:国家专利发明人:已出版书籍:<手 ...
- 打开iPhone自拍,就能用虚幻引擎开发3A游戏大作!新应用无门槛创造超逼真游戏角色...
贾浩楠 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 3D游戏人物建模,虚幻引擎可以算标杆了吧? 要是我告诉你,只要会自拍,就能用虚幻引擎开发出和3A游戏一样逼真的3D角色呢? 表情.毛 ...
- 如何用虚幻引擎4和C++开发游戏?斯坦福相关课程上线
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如何用虚幻引擎4开发游戏? 现在,斯坦福的相关课程上线啦. 代码.视频.PPT.课后作业一应俱全,还会教你如何在游戏中设置基于行为树的AI, ...
- 游戏引擎开发和物理引擎_视频游戏开发的最佳游戏引擎
游戏引擎开发和物理引擎 In this article, we'll look at some of the most popular game engines for video game deve ...
- 虚幻引擎 js开发游戏_通过编码3游戏学习虚幻引擎4-5小时免费游戏开发视频课程
虚幻引擎 js开发游戏 One of the most widely used game engines is Unreal Engine by Epic Games. On the freeCode ...
- 【转载】浅析游戏引擎开发
浅析游戏引擎开发 1 引言 电脑游戏作为一种娱乐方式越来越为人们所接受.即时通讯开发对于电脑游戏来说, 游戏引擎是用于控制游戏功能的 主程序, 如接受玩家控制信息的输入, 选择合适的声音以合适的音量播 ...
- 手把手教你架构3d游戏引擎pdf_游戏开发中的算法
游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...
最新文章
- @SupperssWarnings注解
- Swift2.0语言教程之下标脚本
- windows(64位)下使用curl命令
- 最让人头疼的清洗数据过程----选择合适的方式快速命中所需的数据
- 每日小记2017.2.22
- Android之Camera拍照
- 2022美赛备赛资料大全
- NSA 将向公众开源逆向工程工具 GHIDRA
- 网页的背景颜色变化效果
- Micro LED 巨量转移技术
- linux强制连接蓝牙键盘,Thinkpad 蓝牙键盘 Fn 键处于锁定状态的解决方法
- ubuntu的不同版本
- (9)数据分析-相关性分析
- 控制/ 状态寄存器(RCC_CSR) 复位
- pycharm异常问题之Unable to save settings: Failed to save settings. Please restart PyCharm
- 猿创征文|我在人间编程那些年
- LSTM和GRU的对比和分析
- Pytorch快速搭建Alexnet实现手写英文字母识别+PyQt实现鼠标绘图
- 发了两个月传单,转行做了程序员
- 发动机控制器集成测试系统