blob: 98ad030117d408136d302766e87829b8fa6f16dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
;;; Catbird Game Engine
;;; Copyright © 2022 David Thompson <davet@gnu.org>
;;;
;;; Licensed under the Apache License, Version 2.0 (the "License");
;;; you may not use this file except in compliance with the License.
;;; You may obtain a copy of the License at
;;;
;;; http://www.apache.org/licenses/LICENSE-2.0
;;;
;;; Unless required by applicable law or agreed to in writing, software
;;; distributed under the License is distributed on an "AS IS" BASIS,
;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;;; See the License for the specific language governing permissions and
;;; limitations under the License.
;;; Commentary:
;;
;; Engine-wide global configuration.
;;
;;; Code:
(define-module (catbird config)
#:use-module (oop goops)
#:export (developer-mode?
<catbird-metaclass>
define-root-class))
(define developer-mode?
(equal? (getenv "CATBIRD_DEV_MODE") "1"))
(define <catbird-metaclass>
(if developer-mode? <redefinable-class> <class>))
(define-syntax-rule (define-root-class name (supers ...) args ...)
(define-class name (supers ...)
args ...
#:metaclass <catbird-metaclass>))
|