-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dirty flag and integrate #1725
base: master
Are you sure you want to change the base?
Conversation
A few questions I have for this: Also, would it be good practice to include non-time based overrides for Lastly, how do I run with debugging using Visual Studio Code? I make changes to a file and run, but it ignores my breakpoints. |
Where would you need to pass the clock? You very likely only need to pass the time value but the clock is not necessary IMO.
That would kind of counteract introducing dirty flags, so I'm not sure if this is a good idea. In fact, I'm not really sure why we should just always pass a time. Initialization does not always happen at time zero.
It should just work out of the box. What is your start configuration and output? |
Perhaps that's a better question. How to get the time (or any time) into the Map subsystem. |
Co-authored-by: Christoph Heine <[email protected]>
Co-authored-by: Christoph Heine <[email protected]>
Co-authored-by: Christoph Heine <[email protected]>
The update time comes from events in the event system that will trigger a map update. However, I wouldn't worry about that right now, since it is not implemented yet. |
If you are talking about the configurations in launch.json, it says: That's probably my problem lol. What should it say? |
Something like this should work as a configuration:
|
So to clarify, I should put this in launch.json? I am used to Visual Studio with C#. |
You should put it in the |
[workspace]/bin/run does not exist |
Well, you need to build the project before running :D |
https://github.com/SFTtech/openage/blob/master/doc/building.md has info on the build procedure. |
/** | ||
* Cleans the dirty flag by setting it to time_MAX. | ||
*/ | ||
void clean(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method should be called clear_dirty
/** | ||
* Time the cost field was last changed. | ||
*/ | ||
time::time_t &valid_until; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This member should not be a reference
time::time_t &valid_until; | |
time::time_t valid_until; |
if (evict_cache) { | ||
this->field_cache->evict(cache_key); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eviction should not be triggered by a parameter but by using a check of cost_field->is_dirty()
if (evict_cache) { | ||
this->field_cache->evict(cache_key); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here
fixes #1679. First time working with c++. Been struggling to update a test and getting it to build. Any advice will be helpful. I am using Visual Studio Code.
Please offer much critique. Complain with vigor. Correct with fervor.