pyjarrett / calendon Goto Github PK
View Code? Open in Web Editor NEWA simple 2D C99 Game Engine
License: MIT License
A simple 2D C99 Game Engine
License: MIT License
Extend the logging system to allow logging which doesn't trigger on every line hit.
Extend the logging system to include conditional logging variations of the existing CN_ERROR
, CN_WARN
and CN_TRACE
macros to include these variations:
*_IF(condition, msg, ...)
- only log if the given condition is met*_EVERY(num, msg, ...)
- only log every num
times this log line is encountered*_ONCE(msg, ...)
- only log the first time this log line is encounteredImprove logging by allowing output to be redirected to a named file.
--log-file PATH
to the command line parameters.--log-console
is also specified.Prevent from having to update Crank whenver driver command line options change, and bring crank back up to date.
Remove no longer needed options and forward options after --
in crank directly to the driver.
Be able to identify when log messages are written to the log.
Provide a "current runtime" timestamp in the log output:
Maybe something like:
// log.h
cnLog_Print(system, verbosity, \
"%15s %c: %40s:%i %15s SYS_%-10s: " msg " \n", \
formattedTimeStamp, \
LogVerbosityChar[verbosity], \
__FILE__, __LINE__, \
LogSystemsRegistered[system], \
##__VA_ARGS__ \
);
cnTime_Init
should initialize the reference timeCrank's new
command template uses the old function names for demos. Update these to use the new function names.
Reduce the number of header files exported to only those required for library usage.
CN_API
to detect headers which should be exported, but are not.For public header files which should be exported:
#define CN_EXPORT_HEADER
For header files which should not be exported:
#define CN_PRIVATE_HEADER
crank
should issue an error during export and abort if CN_API
exists in a private header.
export
command in crank
to only copy public headers to the exported library location.Perform checks during header file export to ensure header files can be properly used.
Crank should perform checks of header files contents when the export
command is used:
Verfiy usage of this block:
#ifdef __cplusplus
extern "C" {
#endif
First lines should be:
#pragma once
#ifndef <FILE>_H
#define <FILE>_H
Last line should be:
#endif /* <FILE>_H */
See #1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.