View Single Post
Author Message
rhelgeby
Veteran Member
Join Date: Oct 2008
Location: 0x4E6F72776179
Old 07-20-2013 , 07:54   Zombie:Reloaded 4.0 Technical Overview
Reply With Quote #1

This is a collection of documents for developers who want to study the source code of ZR 4.0. I'm not going to explain details of every feature, but cover essential stuff to make it easier to understand how ZR 4.0 works. I'm writing these documents to be more open about the development of ZR 4.0 and receive comments about our choices and ideas.

Note: This doesn't mean that ZR 4.0 is finished, just that most of the technical stuff are figured out and implemented. There are still major features remaining to be finished (classes, models, sound profiles, etc).

Important: Comments should only stick to technical discussions and questions regarding the documents below. I'm going to be somewhat strict on moderation in this thread, to keep it clean and not let discussion drown in unrelated stuff.

Zombie:Reloaded 4.0 Architecture
Document: https://docs.google.com/document/d/1...it?usp=sharing

Note: Obsolete, but many ideas in this architecture will be reused.

This document describes first version of the core architecture in Zombie:Reloaded 4.0, and how essential parts of the plugin works. It describes technical details and is intended for people with programming experience.

Once you understand this, it's much easier to study individual feature modules.

Object Library
General overview: http://projectcomponents.smprojectba.../objectlib.txt
Technical overview: http://projectcomponents.smprojectba...ctlib_tech.txt
Main thread: https://forums.alliedmods.net/showthread.php?t=210698

A general library I made to help manage internal data structures in the plugin. It's quite big since it covers everything from parsing a KeyValue file to storing it in objects and make sure data is valid.

In the ZR 3.x branch and older we have a lot of duplicated logic for code that handles loading, storage and validation of models, classes, weapons and hit groups. This library should help us avoid that duplicated code and instead focus on using the data rather than details regarding storage. There's going to be some new features that would benefit from this library and save us some work implementing them.

It's still experimental and I don't know how optimized it is due to runtime checks, so we will probably need to use some caches for some busy features.
__________________
Richard Helgeby

Zombie:Reloaded | PawnUnit | Object Library
(Please don't send private messages for support, they will be ignored. Use the forum.)

Last edited by rhelgeby; 07-26-2014 at 11:59.
rhelgeby is offline
Send a message via MSN to rhelgeby