Raised This Month: $ Target: $400
 0% 

The Future of Zombie Plugins


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
rhelgeby
Veteran Member
Join Date: Oct 2008
Location: 0x4E6F72776179
Old 03-31-2015 , 12:59   Re: The Future of Zombie Plugins
Reply With Quote #1

Status Update

My progress on the API and the implementation is on a halt due to issues after the transitional SourcePawn syntax was released.

Objects
I depend on the ability to make dynamic "objects" (that are not enum arrays, but more like a key/value store). My object library handled that, but it's broken on 1.7. I think it's manageable if I just use hash maps for objects with getter and setter functions for predefined keys. It's just that my object library did a lot more with constraints and validation, instead of having to duplicate very similar logic everywhere.

Function References
In addition there's an issue with dynamic function calls (used for events and callbacks). I need to store function references in an array or a hash map, but there's no way to do that anymore. Storing function names as strings works, but the disadvantages are too big: no signature validation, and renaming is error prone (the string won't be checked by the compiler).

So, in short there are two major issues blocking progress on the modular API: ability to make dynamic objects and store function references.

Cleanup in ZR
Instead I've been working on improving the code in ZR 3.1. While experimenting with ZTele I've updated it to the 1.7 syntax and cleaned the code. I'm trying to set a new code style standard to use in ZR. Trusted developers can get direct access to the repository, and others are very welcome to do pull requests.

ZR 3.1 is not that bad if we can decouple internal modules. Modules are somewhat decoupled already. Then they will be prepared to be extracted to individual plugins when it's time. I hope to be able to integrate a game adapter to make it easier to implement multimod support (don't ask when, because I don't know).

There are many good reasons to keep working on ZR 3.1. The code is mature and stable, many bugs have been fixed, lots of features are implemented. Rewriting all this in new plugins is a huge task with high risk of never being released (and introducing new bugs). Greyscale and I failed to do that in 2010-2012. That's two years of work that was never released. Though, we've solved a lot of concepts and problems that will be useful now.

The key to this transition is small steps, smaller than I initially thought. This means that ZR will probably stay as a monolith plugin for a while. It's more important that the code is clean, decoupled and well structured (then it's easier to handle new requests). So, I want to keep good old ZR and work on that.
__________________
Richard Helgeby

Zombie:Reloaded | PawnUnit | Object Library
(Please don't send private messages for support, they will be ignored. Use the forum.)
rhelgeby is offline
Send a message via MSN to rhelgeby
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 12:42.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode