Development status update (September 2015)

Monthly status updates about Source.Python development.
User avatar
Ayuto
Project Leader
Posts: 2195
Joined: Sat Jul 07, 2012 8:17 am
Location: Germany

Development status update (September 2015)

Postby Ayuto » Thu Oct 01, 2015 6:14 pm

Another month has passed! We have pushed 27 commits to the master and were working on several other branches, which we haven't merged with the master yet. Some of those changes will be applied in the next few days and will be part of the next development status update.

  • Updated the engines.precache classes to have a preload argument
  • Fixed not being able to use NULL bytes (00) in signatures
  • Added __repr__ to the Vector class. You can now simply do this to print the x, y and z values:

    Syntax: Select all

    from mathlib import Vector

    vec = Vector(1.123, 2.345, 3.345)
    print(vec) # Output: (1.1230000257492065, 2.3450000286102295, 3.3450000286102295)
  • Added some L4D2 weapon data
  • Say and client command callback updates
  • Updated signatures, vtable indexes and offsets
  • Added CFogController entity data
  • Added a Command object parser
  • Fixed issue #69
  • Fixed issue #71
  • Fixed RecipientFilter not working correctly when the classname of a player has been changed
  • Automatic version update notes (enabled by default). You will now get a notification when a new Source.Python version is available. The notification message can be disabled by setting sp_notify_on_update to 0. The whole version check can be disabled by setting sp_check_for_update to 0. With this update we have also added a few new functions (checkout core.version) and a new listener:

    Syntax: Select all

    from listeners import VersionUpdate

    @VersionUpdate
    def on_update_available(current_version, new_version, is_unversioned):
    """Called when a new Source.Python version is available."""
    print(current_version, new_version, is_unversioned)
The full changelog can be found here:
https://github.com/Source-Python-Dev-Team/Source.Python/compare/master@%7B2015-09-01%7D...master@%7B2015-10-01%7D
User avatar
Ayuto
Project Leader
Posts: 2195
Joined: Sat Jul 07, 2012 8:17 am
Location: Germany

Postby Ayuto » Thu Oct 01, 2015 8:33 pm

We have finished one of the other branches earlier than expected and merged it with the master branch. So, I will add some additional information here. The branch we have merged was a complete rewrite of the whole messages module. The rewrite fixed issue #65 and issue #4 and pushed the number of commits to the master to 67.

What does the rewrite mean to you?
First of all, it might break some of your plugins. Previously, you were able to define the receivers and tokens for translation strings in the constructor of each message class. Now, you need to define them in the send() method of each message class.

We also introduced an argument order, so you don't need to specify the field names anymore. Example:

Syntax: Select all

# Previous version
test_msg = SayText2(message='test')

Syntax: Select all

# New version
test_msg = SayText2('test')

All in all the rewrite fixed a few issues and made the code much cleaner.

Return to “Development Status Updates”

Who is online

Users browsing this forum: No registered users and 5 guests