Water ... that adapts itself to the flow, that breaks everything like a sword
Commit comments
Get link
Facebook
X
Pinterest
Email
Other Apps
-
Now that I thought about this is interesting topic:
How your comments for commits look like?
In my case you probably think that they are poor because I do project myself. But here I will surprise you (and myself to) because most of the time I do full summary what I done in given change list. So bellow you will find few of my comments from different commits across last 3 years (I use not modified git logs) :
* 13/11/2012
3 fix: not working chest with animation, not working dropping items from chest and terrain crash on ci_exterior.
* 25/02/2013
Some cleanups and changes in material mgr, added some mechanic to secure engine use, begin of Gui Editor, render script function support changed, added better tips to console. [0] At last renamed files with implementation of materials (moved them to "src/Material" and removed "Impl" from name).[1] Added removing of unused materials from manager.[2] Better management of materials (they split on permanent and independent)[3] Added security so implementation of managers wouldn't be use outside of engine.[4] Created some begin of gui editor but it don't work (I didn't have today to good mood on such a project).[5] I moved name of function that need to be call by render script from CRenderScript to CView. It's more intuitive this way and allow on a lot more than earlier.[6] Right now tips find begin part that fit to all result and set is as tip (earlier if there were more than 1 result there were no tips).[7] Fixed bug where materials were loaded in MeshInstance and never release.
* 30/12/2013
Another pack of changes: - Work on AI: * recovered behaviors + follow path, + walk, + attack (with bare hand and white weapons). * AI from now on use searching on navigation mesh as task. - Fixed problem when task inform which flags was showing that task is finished even if it was in progress. - Fixed problem with wrong updating animations times and because of that weird updates and skipping some of animations events. - Added to core and navigation mesh manager functions for submitting tasks. - Added to character objects debug visualization. - Fixed Object tools: * support for new map convention (*.xmap extension). * fix to not working time line * fix to manual changing of time (sometimes happened that time for animations were set few times).
* 05/09/2014
[!] Wip: can be unstable[-] Switching from images to resources in gui[-] Added releasing of resources[-] Changed code to adding of new resources.[-] Recovered ID in resource for better debugging and simplifying of resource system.
* 21/09/2015
[-] Smart pointers * Extracted smart pointer to separate class * Added Swap function and move constructor * Added macro for smart pointer data (with typedef for simple use T::Ptr == wrSmartpointer) * Switched wrSmartPointer to GPUBuffer::Ptr [-] Editor Handles * Using smart pointers for editor handles * Secured releasing button for other event than the one you use press down [-] Game Objects * Added information if component is already attached * Secured for GOMesh and GORig sending dummies Attach/Detach events only when they are not attached * Added PreAttach Event send only to attached components. Useful for initial processing before informing other components that it's attaching (Used in GORig to load initial rig from mesh if there is no rig set).
I really like my current form because its simple and easy to understand. Especially with my tendency to submit multi issue change lists. I need to do something about this because this may save me a lot of troubles later. But sometimes you just starting one thing which require something else and before you notice you have overlapping changes.
Similar to your last one, I tend to use lists to clearly explain each change. On my personal projects I have the bad habit of "forgetting" to check in for a while, and then check in a bunch of unrelated changes all at once. I'll have to be careful about that if a personal project ever becomes something I want to release...
I do sometimes exactly the same thing. This is really bad habit especially when you started something different and want roll back your changes (Were there, done that, paid the price) :D Right now my build system helps me a to remember to submit changes. But still sometimes I still forgot.
So like always start with problem description: I have some pool of command represented as enumerator. Each of command can have unique data that size can be different. I wanted to create system that allow me in easy way iterate over them and execute. After some time I created this implementation: template<ECommands::enum cmd> bool execCommandTemp(ECommands::ENUM a_cmd, void* a_data) { if (a_cmd == cmd) { SCommand<cmd>::execute((SCommand ::SData*)a_data); return false; } return execCommandTemp<(ECommands::ENUM)(cmd+1)>(a_cmd, a_data); } template<> bool execCommandTemp<ECommands::WRAP>(ECommands::ENUM a_cmd, void* a_data) { return true; } bool execCommand( ECommands::ENUM a_cmd, void* a_data ) { return execCommandTemp<(ECommands::ENUM)0>(a_cmd, a_data); } where SCommand look in example such a way: template <> st...
And as I said last time new preview is available: As you can see a lot has changed. Right now I mostly focus on gameplay so I do test of AI (some of them you can see on end of movie), changes in fight, items managing, fix some problem with physics and many other things. To say truth I don't remember them all :P So I'm going back to work and till next week.
If you try to find answer what good/bad code is, you won't find it in this post. I don't try to sell my beliefs and I'm sure you wouldn't like them anyway. To show you that, check this simple pieces of code: ////////////////////////////////////////////////////////////////////////// void CAnimationResource :: release ( void ) { SAFE_DELETE ( m_privateData ); } I use void when function don't use any arguments. I know this useless and do nothing but I just like look of it (Personal preference). Other example: ////////////////////////////////////////////////////////////////////////// CAnimationResource :: CAnimationResource ( const wrResourceID & a_id , IResourceManager * a_manager ) : CResource ( a_id ) , m_manager ( a_manager ) { } I using prefix a_ for arguments of functions and use this style of organizing initialization...
Similar to your last one, I tend to use lists to clearly explain each change.
ReplyDeleteOn my personal projects I have the bad habit of "forgetting" to check in for a while, and then check in a bunch of unrelated changes all at once. I'll have to be careful about that if a personal project ever becomes something I want to release...
I do sometimes exactly the same thing. This is really bad habit especially when you started something different and want roll back your changes (Were there, done that, paid the price) :D Right now my build system helps me a to remember to submit changes. But still sometimes I still forgot.
Delete