It's new release time everyone! I'm not going to list every single one of the changes here, because I have a much, MUCH bigger release around the corner, but here are a few new goodies to tide you over.
Update, rev 4334
Download replaced. Includes following updates:
Update, rev 4321
Download replaced. Includes following updates:
Note on debug options - as the name implies they are meant for debugging, and are CPU intensive while active. There's no getting around this, so don't expect good performance on consoles or even some PCs. That's why you have the option of enabling them piecemeal instead of all at once.
Bug Fixes & Technical
New Features & Updates
Animation Script Upgrade
[quote author=White Dragon]
Now you can use animationscript event in file or in entity.txt and between animations and @cmd SIMULTANEOUSLY!!
Example now this script works and is VALID:
because now all animationscript will be unified into ONE!
so like in that example:
animationscript data/scripts/animationscript.c
+
@script
void self = getlocalvar("self");
int frame = getlocalvar("frame");
if ( frame > 3 ) {
changeentityproperty(self,"animpos",0);
}
@end_script
+
@cmd changeentityproperty getlocalvar("self") "animpos" 0
it will be unified into ONE animationscript event.
It's fantastic because now you can choose to use script between animations (@script ... @end_script or @cmd) and script into an imported file (animationscript data/scripts/animationscript.c) SIMULTANEOUSLY!!
In previous builds you were forced to choose a way...
[/quote]
Debug Demo
This little video shows some of the new debug options in action.
https://www.youtube.com/watch?v=_al2LLThrCs
Download
Update, rev 4334
Download replaced. Includes following updates:
- All previous updates (see thread)
- The pointless total system memory display when Debug Performance option is enabled has been replaced with sprite que readout. If the number looks high to you, remember that text characters are also sprites.
- I have confirmed sprite que is dynamically allocated, and increased the maximum allowed sprites to 5000.
Update, rev 4321
Download replaced. Includes following updates:
- Debug menu looping issue fixed. Previously patched by White Dragon while I worked on a permanent fix - the long term version is now in place.
- Position readouts now round to integer values for ease of reading and less sprite consumption (all on screen text characters are technically sprites).
- Position readout now includes Base position.
- Position readout now adapts to the font height.
Note on debug options - as the name implies they are meant for debugging, and are CPU intensive while active. There's no getting around this, so don't expect good performance on consoles or even some PCs. That's why you have the option of enabling them piecemeal instead of all at once.
Bug Fixes & Technical
- Lots of cleanup in the menu code. Plenty more to do, but it's a start. This will let me fill requests like disabling Sound adjustments and other module specific customization. I've also rearranged the menu items so text no longer overlaps or flies out of the screen.
- Some memory optimizations. Replaced several static substructures with pointers to the substructure, and only allocate memory for the entire substructure on use. Non tech folks: Basically, it means certain features aren't eating memory unless you actually use them.
- A lot of code cleanup in general. I'm making a point to leverage more pointers (no pun intended). This has major implications, many you will see soon.
New Features & Updates
- It's now possible to combine inline scripts with animation script libraries. Details are below.
- New script operators:
<<=
>>=
|=
&=
^=
~
(nice one White Dragon) - As above, the menu has been rearranged to look more professional. All options remain the same save one. The old Debug option now opens a sub menu with the following items:
- Performance: Identical to the old old Debug option. When enabled, FPS and memory use are displayed in a black box at bottom of screen.
- Position: Displays all on screen entities' offsets as a white dot, along with X,Y, and Z positions directly below. Text display uses font 0.
- Collision Attack: Displays attack collision for all on screen entities as a red overlay.
- Collision Body: Same as above, but for body boxes as a blue overlay.
- Range: Same as above, but for for range (X and Y only). Overlay is green. Note that default ranges for most animations are quite large, especially on the vertical axis - so don't be shocked if you enable this and find your display coated in a sea of green.
Animation Script Upgrade
[quote author=White Dragon]
Now you can use animationscript event in file or in entity.txt and between animations and @cmd SIMULTANEOUSLY!!
Example now this script works and is VALID:
Code:
name XXX
type player
animationscript data/scripts/animationscript.c
anim WALK
@script
void self = getlocalvar("self");
int frame = getlocalvar("frame");
if ( frame > 3 ) {
changeentityproperty(self,"animpos",0);
}
@end_script
loop 1 0 8
offset 14 61
bbox 7 6 18 54
delay 10
frame data/chars/leo/012.gif
sound data/sounds/step1.wav
frame data/chars/leo/013.gif
frame data/chars/leo/014.gif
frame data/chars/leo/015.gif
frame data/chars/leo/016.gif
sound data/sounds/step1.wav
frame data/chars/leo/017.gif
frame data/chars/leo/018.gif
@cmd changeentityproperty getlocalvar("self") "animpos" 0
frame data/chars/leo/019.gif
frame data/chars/leo/019.gif
delay 10
offset 14 48
bbox 14 2 30 41
frame data/chars/leo/rise05.gif
frame data/chars/leo/rise05.gif
because now all animationscript will be unified into ONE!
so like in that example:
animationscript data/scripts/animationscript.c
+
@script
void self = getlocalvar("self");
int frame = getlocalvar("frame");
if ( frame > 3 ) {
changeentityproperty(self,"animpos",0);
}
@end_script
+
@cmd changeentityproperty getlocalvar("self") "animpos" 0
it will be unified into ONE animationscript event.
It's fantastic because now you can choose to use script between animations (@script ... @end_script or @cmd) and script into an imported file (animationscript data/scripts/animationscript.c) SIMULTANEOUSLY!!
In previous builds you were forced to choose a way...
[/quote]
Debug Demo
This little video shows some of the new debug options in action.
https://www.youtube.com/watch?v=_al2LLThrCs
Download