All official builds of OpenBOR 3.0 from 3769.
Android (debug version):
Add a hidden screenshot button in the center of the screen.
The build is currently armv7 only, so some devices may not install it.
Easter egg feature, sort of: Hold start button (one pak only) or start the pak using start button instead of A1 to force using 32bit mode for 16bit mods.
Fix game mode menu paging issue.
Android:
Rework button picture.
Move screen to upper border if it's small enough.
New:
Plombo's new #import feature available, check it here: ChronoCrash
Android touch button layout can be customized now using touch.txt, which can be placed in 3 different locations:
button {name} {x} {y} {radius} {corner}
{name} is same as its counterpart in menu.txt.
{x} {y} {radius}, coordinations and radius. They should be decimal values, and the actual size is sizexwidthx0.6, see below.
{corner} defines one of the 4 corners your coordinations start from.
An example:
Assume your screen resolution is 800x480, the button (center of it) is at (0.6x800x0.6, 0.25x800x0.6)=(288, 120), radius is 38. Because corner is 2(see above), actual position is at (800-288, 480-120)=(512, 360). There is no direct way to center a button though.
To hide a button, just move it out of the screen.
Usually you don't need to change the picture, if you really want to, use texture command:
texture {path}
Only 32 bit png is supported. An example can be found here: SourceForge.net: Log In to SourceForge.net
Fix:
Better screen fade under 32/16bit SDL mode (the old logic fades too fast and shows a bit reddish).
Work around:
Entity header command icon now has a second parameter, 0 means the icon doesn't use remap (default), 1 means it uses remap from the entity. This should fix some old mods which were made when icon remap feature is absent.
Example:
Example:
Usually this only works on PC in window mode. But anyway it is your business again.
Warn missing remap file instead of shutting down. (old mod compatible)
Use respawn animation if spawn is not present for enemies. (old mod compatible)
New command screendocking in anroid touch.txt, parameters can be 0 (means center), left, top, right and bottom.
For example:
Will make the screen stay in the upper left corner if it is not stretched.
Add spawnhealth and spawnmp to script player property list for better weapon model handling.
New feature: switch statements
If you check script log, you will see @cmd are parsed differently.
For example:
Before:
Now
However, I just find some old mod, for example, Night Slashers X relies on an animation change bug ( if f1 changes current animation or frame, f2 and f3 could be skipped). So I consider to make a switch for this change next time.
Fix sleep timer.
Add nocmdcompatible switch in script.txt, when nocmdcompatible 1 is set, @cmd within the same frame will be wrapped in a single if statement instead of individual ones.
Fix bugs from 3829.
Optimize script engine speed.
New script function exit() to exit current script. That can be used in @cmd functions, in which return only quit currect function.
If you are using nocmdcompatible in script.txt to optimize your animationscript, you'll want this sometimes.
Sometime in the last 2 weeks, I added support for the >>, <<, &, |, and ^ operators to the script engine. They work the same way that they do in C. All shifts are unsigned, not arithmetic.
A non-script feature that I committed a few minutes ago is support for alpha masks for fonts. The naming convention is data/scripts/fontmask, data/scripts/fontmask2, etc. for font, font2, etc. The masks themselves work the same way as they do for frames of entity animations.
Bug fix: attack with dot hitting biker crashes game.
Note: This means many older modules will not play - along with any newer modules still attempting to use the remap model attribute.
Note - Android port is NOT discontinued, but this release does not include an android port as I am still setting up a development environment on my new equipment. I will be releasing an Android port as well in the near future, assuming another dev does not do so first.
DC
Acceptable range is 0-99. Any value exceeding range in either direction will be overwritten to nearest acceptable value on the next engine cycle.
Checked all NULL ptr and used calloc instead malloc to prevent some invalid NULL check.
Added normalize_anim_models() func for future (commented for now into set_model_ex())
Read only entityprop "die_on_landing" to know if the entity is dying for DOL.
Fixed home -> pause and resume.
Remains last issue: app close on power button.
Now required API >= 19
Remove period date.
After some tests (especially on android) the latest SDLs are unstable.
New preview update for Wii port just take a screen shot on your favorite game and next time you load the pak menu that screen shot will be displayed as the preview. Added new Linux AppImage that should be compatible with almost any distro.
3769
Android (debug version):
Add a hidden screenshot button in the center of the screen.
The build is currently armv7 only, so some devices may not install it.
Easter egg feature, sort of: Hold start button (one pak only) or start the pak using start button instead of A1 to force using 32bit mode for 16bit mods.
3773
Fix game mode menu paging issue.
Android:
Rework button picture.
Move screen to upper border if it's small enough.
3780
New:
Plombo's new #import feature available, check it here: ChronoCrash
Android touch button layout can be customized now using touch.txt, which can be placed in 3 different locations:
- /mnt/sdcard/OpenBOR/Saves/pakname/touch.txt
- data/touch.txt
- /mnt/sdcard/OpenBOR/Saves/touch.txt
- overrides 2), 2) overrides 3), so 3) can be used as a global setting if you don't want the default layout. The commands:
button {name} {x} {y} {radius} {corner}
{name} is same as its counterpart in menu.txt.
{x} {y} {radius}, coordinations and radius. They should be decimal values, and the actual size is sizexwidthx0.6, see below.
{corner} defines one of the 4 corners your coordinations start from.
Code:
0 1
3 2
An example:
Code:
button attack 0.6 0.25 0.08 2
Assume your screen resolution is 800x480, the button (center of it) is at (0.6x800x0.6, 0.25x800x0.6)=(288, 120), radius is 38. Because corner is 2(see above), actual position is at (800-288, 480-120)=(512, 360). There is no direct way to center a button though.
To hide a button, just move it out of the screen.
Usually you don't need to change the picture, if you really want to, use texture command:
texture {path}
Only 32 bit png is supported. An example can be found here: SourceForge.net: Log In to SourceForge.net
Fix:
Better screen fade under 32/16bit SDL mode (the old logic fades too fast and shows a bit reddish).
Work around:
Entity header command icon now has a second parameter, 0 means the icon doesn't use remap (default), 1 means it uses remap from the entity. This should fix some old mods which were made when icon remap feature is absent.
3783
- New level command scrollx (changed from the old scrollx command). It limits your move area within the range. Usually you need to use that with direction both, but that is your business.
Example:
Code:
scrollx 150 250
at 180
- Update video command in video.txt
Example:
Code:
video 480x480
Usually this only works on PC in window mode. But anyway it is your business again.
3789
Warn missing remap file instead of shutting down. (old mod compatible)
Use respawn animation if spawn is not present for enemies. (old mod compatible)
New command screendocking in anroid touch.txt, parameters can be 0 (means center), left, top, right and bottom.
For example:
Code:
screendocking left top
Will make the screen stay in the upper left corner if it is not stretched.
3793
- 16bit sound samples are now supported.
- New entity script onmodelcopyscript, executed after a model change.
Local variables:
self - current entity
old - old entity before the change, it is just a shallow copy, so don't do anything to it except get some old values.
3797
Remap android joystick keys to keyboard keys because SDL doesn't support them (xperia, for instance).Add spawnhealth and spawnmp to script player property list for better weapon model handling.
3814
New feature: switch statements
3822
If you check script log, you will see @cmd are parsed differently.
For example:
Code:
@cmd f1
@cmd f2
@cmd f3
frame data/chars/ffff/1.gif
Before:
C-like:
if(frame==3)
{
f1();
}
if(frame==3)
{
f2();
}
if(frame==3)
{
f3();
}
Now
C-like:
if(frame==3)
{
f1();
f2();
f3();
return;
}
However, I just find some old mod, for example, Night Slashers X relies on an animation change bug ( if f1 changes current animation or frame, f2 and f3 could be skipped). So I consider to make a switch for this change next time.
3824
Fix sleep timer.
Add nocmdcompatible switch in script.txt, when nocmdcompatible 1 is set, @cmd within the same frame will be wrapped in a single if statement instead of individual ones.
3831
Fix bugs from 3829.
Optimize script engine speed.
3837
holdblock 2 now works correctly with blockpain.New script function exit() to exit current script. That can be used in @cmd functions, in which return only quit currect function.
If you are using nocmdcompatible in script.txt to optimize your animationscript, you'll want this sometimes.
3839
New sound sample functions:
C-like:
playsample(sampleid); //play sample
playid = openborvariant("sample_play_id"); // get latest playid,so call right after playsample
//....
channel = querychannel(playid);
// find channel that is playing that sample
if(channel>=0) {
stopchannel(channel); //stop
}
3854
Sometime in the last 2 weeks, I added support for the >>, <<, &, |, and ^ operators to the script engine. They work the same way that they do in C. All shifts are unsigned, not arithmetic.
A non-script feature that I committed a few minutes ago is support for alpha masks for fonts. The naming convention is data/scripts/fontmask, data/scripts/fontmask2, etc. for font, font2, etc. The masks themselves work the same way as they do for frames of entity animations.
Bug fix: attack with dot hitting biker crashes game.
4432
Current release at migration from Sourceforge.4453
Simplified Color Table System
No more confusion about color depth for incoming authors. The legacy 8bit global color table mode has been dropped completely. 32bit is now the only mode, and as such all models default to the far more powerful and easy to use individual palette system.Note: This means many older modules will not play - along with any newer modules still attempting to use the remap model attribute.
Discontinued Ports
Dreamcast, GP2X, and Wiz platforms are officially discontinued. We have not actually compiled a new release for the DC in almost two years. It's time to move on.Note - Android port is NOT discontinued, but this release does not include an android port as I am still setting up a development environment on my new equipment. I will be releasing an Android port as well in the near future, assuming another dev does not do so first.
DC
4456
Added "game_time" to script accessible engine variants.
C-like:
int game_time = Openborvariant(“game_time”);
changeopenborvariant(“game_time”, game_time);
Acceptable range is 0-99. Any value exceeding range in either direction will be overwritten to nearest acceptable value on the next engine cycle.
4574
Fix totally ParseArgs bugs.4580
Fix Dreamcast spawn malloc issue.4583
Fixed the spawn bug(I hope becouse I just tested few times...)Checked all NULL ptr and used calloc instead malloc to prevent some invalid NULL check.
4596
Fix damageonlanding/fall animation4624
Fix uninitialized vars4642
Little code fix4626
Fix nodropen bug with enemies with weapnloss 3Added normalize_anim_models() func for future (commented for now into set_model_ex())
4665
Added lashit support for DOL and a.Read only entityprop "die_on_landing" to know if the entity is dying for DOL.
4682
Fix skipselect loading prev savegame.4701
Better code for SDLActivity.java.4742
Update android build to SDL 2.0.8 stable.Fixed home -> pause and resume.
Remains last issue: app close on power button.
4750
Revert win sdk tool.4905
Attempt to fix android touch bugNow required API >= 19
5134
Update SDL for android to 2.0.8 - 05//05/20186119
Fixed bug: num of plugged joystick > max num supported joystick_scan- improved detection of joystick for android in SDLActivity.java mapping DPAD to keyboard buttons.
- improved Android Hats/Axes detection add it into PollEvent() events.
- added plug and play feature.
6175
Update LICENSERemove period date.
6196
Restore new win-sdk tool6203
Fixed issue with PSP video modes.6212
Some bug fixes for windows port.6223
Comment credits.6240
Update android version on manifest.6245
Added missing SDL2_gfx headers into win-sdk.6258
Improved code for default keyboard.6271
Little wall deflect fix.6276
Minor menu code improvement for sdl ports.6291
Just releasing the latest build with various updates and fixes from White Dragon.6297
Reverted to SDL2 2.0.8 (2018 May14)After some tests (especially on android) the latest SDLs are unstable.
6315
Updated makefile.6325
Fixed a heavy bug on malloc structure.6330
Fix for segmentation fault on runtime (Linux).6385
Wii Port Updated- Adde usb loading and can now load from any directory name.
- Fixed screen scaling to fit the screen on all video modes and aspect ratios.
- Added support for Wii U Pro controller (Thanks to Demothens).
6390
Major velocity bug in the Wii port fixed by White Dragon.6391
Last official 3.0 release.New preview update for Wii port just take a screen shot on your favorite game and next time you load the pak menu that screen shot will be displayed as the preview. Added new Linux AppImage that should be compatible with almost any distro.