Water ... that adapts itself to the flow, that breaks everything like a sword
Commit comments
Get link
Facebook
Twitter
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 <> struct
This time light topic of UI designing :] But before this let's discuss how the hierarchy in the engine works. So it was easier to understand these, let's look at the tooling of it: We have there: World (ID:0) Loaded Stream (Citadel Island) Loaded SubStream (CI.Citadel) Unloaded SubStream (CI.Logic) Folders (f.ex. Park) Entities (f.ex. Ferry) If you are curious what a Stream is, you can think about it as a scene or a level. Now that we know all of this let's look a little bit closer at what we have. Streams and SubStreams are exactly the same I change the name based on their position in the hierarchy. The Folders may look different than Entities but they are exactly the same. They are Entities with a folder component. If we go this way streams are also just Entities with a Stream Component. This leaves us with a bunch of the entities under the World . Which as you can suspect is just an Entity with ID equal to 0. If everything is an entity, what was the reason I
Singleton pattern ... People love it or hate it. There are also group of people who don't mind them. I'm still try figure out which I'm :] I'm for sure not the one who love them. I'm also cannot say that I rally hate them because I still use them in code (It is like with my Facebook account. After I created one I try not complain about fb. ). So probably I'm best fit to don't mind group. But my past experience showing me that I have bigger tendency to removing them from code than adding new one. And probably some colleagues from work will be happy about this because we spend a lot of time discussing about problem. I remove them because I put even more effort in good design of systems. In a lot of cases thanks to changes I just don't need global objects. Which is good. It allow me to better utilize multithreading thanks to encapsulation. Today sadly I had problem where I still don't know cleaner solution than global state: ////////
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