ah ok.
is it still being updated? whats the latest on zcode?
ZDCode [2.13.0] - The high-level DECORATE wrapper
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 373
- Joined: Wed Oct 09, 2019 3:39 am
- Graphics Processor: nVidia with Vulkan support
- Location: The Shores of Hell
-
- Posts: 138
- Joined: Sat May 13, 2017 3:11 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Arch Linux
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Porto Alegre, Brazil
Re: ZDCode II - The pretty language that compiles to DECORAT
I think there are some new features planned for the near future? Then again maybe not. I am somewhat satisfied with the current status quo of ZDCode. Apart from mixins I'm not entirely sure what else to add yet.
-
- Posts: 138
- Joined: Sat May 13, 2017 3:11 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Arch Linux
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Porto Alegre, Brazil
Re: ZDCode [2.13.0] - The high-level DECORATE wrapper
The new Zake build system and project configuration format, as well as the many new features ZDCode has received over time, mean that ZDCode is now even closer than ever to being a proper release.
Here's an example of a Zake file. For more info, please see the Zake template project where this Zake.ini example comes from.
Here's an example of a Zake file. For more info, please see the Zake template project where this Zake.ini example comes from.
Code: Select all
# General project configuration.
[General]
# Your project's name
Name = my-project
# Your project's version
Version = 0.1.0
# The build targets of your project. Debug and Release are fine
Targets = dbg rel
# The partitions of your project. Each build target will build
# one of each partition below.
#
# Partitions are helpful, because they allow distributing changes
# separately; changes in the code will not require updating a
# possibly quite large list of sprites, sounds, and other whathaveya,
# from the net.
#Partitions = asset code
# Partition configuration.
[Partition]
# What kind of files should be in the Code partition.
#
# "DECORATE" includes the DECORATE generated from
# ZDCode lumps.
#
# Do note that more "matchers" can be defined for
# other partitions (Matchers.my_targert)
Matchers.Code = *.o DECORATE DECORATE*
# What files should be excluded from every partition.
#
# Use the dot syntax (akin to Matchers.Code above)
# to specify a partition.
Excluders = .gitignore
# Excludes patterns only for the Asset partition.
#
# Note that this is not restricted to the debug build
# (in a Partition.dbg section), as there is already an
# Injects entry for it.
Excluders.Asset = DEBUG
# Important project file locations.
[Paths]
# The path of the output Asset partition package.
Output.Asset = pkg/${name}-${version}-${target}-asset.pk3
# Same as above, but for the Code partition.
Output.Code = pkg/${name}-${version}-${target}-code.pk3
# Where to walk for inputs to be included.
#
# More inputs can be added separated by spaces.
# Also see Matchers and Excluders in [Partition] above.
Inputs = content
# Sections of configuration can be defined for specific
# targets. For instance below, Paths.dbg.
[Paths.dbg]
# Inputs to be inserted in specific locations.
# In this case, it places the "contents/DEBUG"
# file tree within the root of the package.
#
# Other use cases include adding ACS objects
# in "bin/${target}/" into "acs/", to differentiate
# between debug and release ACS modules.
#
# Note that injected inputs do not need to be
# listed by an Inputs entry.
Injects = "content/DEBUG":"."
# Preprocessor definitions, used in ZDCode.
[Definitions]
TARGET = ${target}
VERSION = ${version}
# Preprocessor definitions. In this case, for the debug build.
[Definitions.dbg]
# No need to specify a value for the DEBUG definition.
# Empty definitions are allowed, and "#ifdef" will merely
# check for a definition's existence, even if it is, in
# fact, empty.
DEBUG =