This commit is contained in:
kin fuyuki 2026-02-22 03:57:10 -03:00
commit 78868f5b52
No known key found for this signature in database
GPG key ID: 0E4E8E519FB71401
13 changed files with 267 additions and 10 deletions

View file

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_FLAGS "-std=c++26 -Wno-error -Oz -w -g")
set(CMAKE_CXX_FLAGS "-std=c++26 -Wno-error -Oz -w -g -mavx2")
file(GLOB_RECURSE FORESPEND_SOURCES CONFIGURE_DEPENDS "src/*.cpp")
add_executable(forespend ${FORESPEND_SOURCES})
if(NOT DEFINED ${ARCH})

View file

@ -1,7 +1,80 @@
# kin, if ur seeing this, please me of future.. complete the colors ;w;
# please look in the reference for the image result while reading this on res/npcs/canidmonstertutorial.png
# and canidmonster/*.png to see how it works on the spritesheet
# how to use this file
# here is the entity name:
" type canidmonster
{ proccol
i r 255
i g 0
i b 255
# color ranges have the colors per color mask, from min to max during
# noise generation
{ sprite
# emote definition (yes, defines can have space :3c)
stare around
look down
breathe
# folder where the sprites will be
" folder canidmonster
# fb: front back | lr: left right | ud: up down
i fb-framew 32
i fb-frameh 128
# note: i recommend 2x width on the side view in case of the running animation being wide
# well this is mostly for vertically standing beings, for horizontal then do whatever
i lr-framew 64
i lr-frameh 128
i ud-framew 64
i ud-frameh 32
# frame count, not defined animations wont be loaded
i idle 4
i walk 8
i run 8
i swim 8
}
{ colorranges
# define range names
1
2
3
shiny
# if generate a shiny one, all colors must be the same
{ forcedequals
shiny
}
# the class name will be the color used as mask, if you use a color range, then the color generated
# will be a tint over the existing texture instead of full replacement. it will overlay one another
# ex color range:
#{ aaaaaa-ffffff
# in this example, the color ffffff is the belly
{ ffffff
# here we set which noise, this is an optional setting since it wont do noise if you dont set
# it will just use the first color for the range
" noise random
# here you set if you want it to repeat, if yes then it will use the 4d torus technique to seamlessly repeat
# 20 here is horizontal, 10 is vertical
#" param repeat 20 10
i frequency 1
i amplitude 1
i octave 1
# now we finally define the ranges, the name is the range between 1.0 and 0.0
# this have a 2d range format.
# x_y.y
# x is the name of the range, since you could have multiple color ranges
# this range for example is good for gray fur with brown spots
h 1_0.35 777777
h 1_0.3 bbbbbb
h 1_0.29 6b4422
h ezra_0.0 ffffff
# also you can make ranges glow! (not be affected by ambient light)
{ glow
3
}
}
# end of range ffffff
}