@Luigifan2010, please, fix the scores list:
0 - 13:
[0 10 100 200 400 800 1000 2000 4000 8000 1up 2up 3up 5up] - Forgotten 3up, I probbed in the SMBX and have proof of this.
Also SMBX's RTF file talking about them.
If I will add new npc.txt options, will write here:
http://engine.wohlnet.ru/docs/_sources/ ... c_txt.html
Also, take better animator, you can made similar on the C#:
https://github.com/Wohlhabend-Networks/ ... em_npc.cpp
this animator allows change frame size, image size, global NPC settings dynamically which giving possible to dynamically edit NPC's settings and display changes of them instantly.
Structures:
localProps - is a local copy of global NPC config, which merged with NPC.txt options.
npcData - contains the indifivual NPC settings which defined on the level map.
Functions:
setNpcData(LevelNPC inD)
Acceptor of level NPC's settings
setMainPixmap(const QPixmap &pixmap)
adding of image sprite into NPC item and auto-define of the offset by localProps structure.
changeDirection(int dir)
Switch direction image to left/right/randod (this function recreating animator for display new direction of NPC)
setAnimation(int frames, int framespeed, int framestyle, int direct,
bool customAni, int frFL, int frEL, int frFR, int frER, bool edit)
frames - frames number
framespeed - in milliseconds
direct - direction of NPC (-1 left, 0 - random, 1 - right)
customAni - set custom animation
frFL - First frame for left direction
frEL - Last frame for left direction (if -1 - animation will fetch all exist frames)
frFR - First frame for right direction
frER - Last frame for right direction (if -1 - animation will fetch all exist frames)
Note: "Last frame" value can be as "frame step" if defined algorithm "frame jump".
edit - flag must be false on first initialisation and true when you recreating animator of same NPC (change direction, redefine animator, etc)
createAnimationFrames()
Crop whole sprite into array of images which will be as frames
AnimationStart() / AnimationStop()
Start / stop animation of this NPC
setFrame(int y)
set frame with number (0 ... Last frame)
nextFrame()
This function calling by animation timer which switching frames by its animation algorithms
P.S. global and npc.txt's options must be merged by special formulas in the:
https://github.com/Wohlhabend-Networks/ ... xt.cpp#L67
obj_npc FileFormats::mergeNPCConfigs(obj_npc &global, NPCConfigFile &local, QSize captured)
this functions return the structure of global NPC's settings with applied the NPC.txt's settings
global - settings structure from global config
local - settings structore from npc.txt file
captured - image size (Height and Width) which gotten from user's folder