Closed Die4Ever closed 2 years ago
Blood shareware http://files.deathmask.net/shareware/blood_sw_1.11.exe
https://github.com/thomasrogers03/bloom/blob/master/bloom/resources/sprite_types.yaml
blood = {'swappableItems':{}, 'swappableEnemies':{}, 'keyItems':{}, 'traps':{}, 'switches':{}}
import json
blood_sprites = json.load(open('blood_sprites.json'))
def add_sprite(k, spritenum, v):
d = dict(name=v['name'], category=v['category'], lowtag=k)
if 'repeats' in v:
d.update(xrepeat=v['repeats']['x'], yrepeat=v['repeats']['y'])
if d['category'] in ['weapons', 'ammo', 'items']:
blood['swappableItems'][spritenum] = d
elif d['category'] == 'keys':
blood['keyItems'][spritenum] = d
elif d['category'] == 'monsters':
blood['swappableEnemies'][spritenum] = d
elif d['category'] == 'traps':
blood['traps'][spritenum] = d
elif d['category'] == 'switches':
blood['switches'][spritenum] = d
for k,v in blood_sprites.items():
if 'tile_config' not in v:
continue
if 'tile' in v['tile_config']:
spritenum = v['tile_config']['tile']
add_sprite(k, spritenum, v)
elif 'tiles' in v['tile_config']:
for t in v['tile_config']['tiles']:
spritenum = t
add_sprite(k, spritenum, v)
for k in blood:
print('\n', k)
sprites = list(blood[k].keys())
sprites.sort()
for i in sprites:
s = blood[k][i]
data = 'SpriteInfo(\'' + s['name'] + '\', \'' + s['category'] + '\', lowtag=' + str(s['lowtag'])
if 'xrepeat' in s:
data += ', xrepeat=' + str(s['xrepeat']) + ', yrepeat=' + str(s['yrepeat'])
data += '),'
print(str(i) +': ', data, sep='')
print('')
Blood doesn't use a GRP file, it uses RFF https://moddingwiki.shikadi.net/wiki/RFF_Format
but Cryptic Passage uses plain MAP files
neither one seems to use CON files
https://github.com/nukeykt/NBlood/blob/master/source/blood/src/resource.h
https://github.com/nukeykt/NBlood/blob/master/source/blood/src/resource.cpp#L85