OpenBOR v3.0 Build 4287 (Windows/Wii/Android)

Status
Not open for further replies.

White Dragon

New member
OpenBOR v3.0 Build 4287 (Windows/Wii/Android)
https://sourceforge.net/projects/openbor/files/OpenBOR_v3.0_Build_4287.rar/download

News from 4183:

- added prop for playerproperty():
"combokey",
"combostep",
"hmapl",
"hmapu",
"inputtime",
"joining",
"mapcount",

- added added systemvariants: "nogameover", "nohof"
if active example changeopenborvariant("nohof",1);
for this set you won't display the halloffame screen! and "nogameover", is for gameover.
Why not gameover and hof? For bonus level or custom HUD!!
- added in set: disablegameover 1 to disable showing gameover for that set (txt file) (disablehof 1 to disable hall of fame)

- incremented fonts: 8 -> 10

- new animations: hitwall and hitplatform
- added "hitwall" entityproperty. it returns 1 while you hit a wall (the instant) while the character is in the air. when land it returns 0

- new systemvariant "fps" to retrieve the framerate

- play/rec mode (script version)
usage:
to rec: recordinputs(1,"","myrec.inp");
to play: recordinputs(2,"","myrec.inp");
to stop: recordinputs(0);
to free: recordinputs(3);
useful for attract mode for example.

for example write in levelscript:
recordinputs(1,"","myrec.inp");
if(playerkeys(0,1,"esc")) { recordinputs(0); }
play at level..
press "esc" to terminate the rec.
then change recordinputs(1,"","myrec.inp"); in recordinputs(2,"","myrec.inp"); to test and play the recorder gameplay!

how you see recordinputs() use a first value param.
0 to stop the rec/play
1 to rec
2 to play
3 to free (dont worry when you use 0 you free the buffer too). the 3 param is not really useful.
example recordinputs(1,"","myrec.inp"); is to rec

use getrecordingstatus() to get the gameplay status 0 or 1 or 2

NOTE: you need for a deterministic game and so is not allowed a custom seed.
If you change anything in your mod or change the engine version you need to re-record the gameplay!!
I raccomanded you to disable all keys during the gameplay with new playerproperty(pindex,"disablekeys") excluded keys to stop the gameplay.
then reactivate the Keys.
to disable keys just changeplayerproperty(pindex,"disablekeys",openborconstant("FLAG_START")+openborconstant("FLAG_ATTACK")); for example
to re-enable keys just: changeplayerproperty(pindex,"disablekeys",0);

- improved rand32() func
- added "destx", "destz" in entityproperty(). destx and destz are the the destination position for A.I. after a think. It's useful for custom AI (example to reach a ladder)


- added backpains
usage:
int entity.txt file set:
backpain 1

then use animations like:
backpain#
backfall#
backdeath#


- improvements display_ent for on platform entities
- added nohithead CMD.
usage:
set nohithead 1
in entity.txt and even if you set an height for the entity, if it hit a platform with nohithead param set to 1, the entity will not block with head by a platform.
But this platform will be walkable however.
"nohithead" is valid in script too, in entityproperty().

- improved chackwall/checkhole. now accepts 3 params: checkwall(x,z,y) and checkhole(x,z,y)
  checkwall(x,z)/checkhole(x,z) is still valid

- Added "+" command to CMD and CANCEL:
example usage: CMD a + a2 for example now is valid!
other examples:
u + f a
u + f -> a
"->" symbol useful just for better reading

- added shadowbase flag:
gfxshadow 1 = default gfxshadow
gfxshadow 1 0 = default gfxshadow
gfxshadow 1 1 = no shadow changes on platform/basemap (old builds)
gfxshadow 1 2 = 2D-like shadow (like platform games)
gfxshadow 1 3 = combination 1+2
handable via script with new "shadowbase" prop in entityproperty

- fixed bug floating entity on basemap
- display shadow on basemap correctly
- added checkbasemap(x,z) in script
- added generatebasemap(index,xpos,zpos,xsize,zsize,ymin,ymax) in script
- added basemap in level#.txt like wall/hole just set:
basemap xpos zpos xsize zsize ymin ymax

- added new anim hitobstacle
- hitobstacle/hitplatform/hitwall will be activated iff while falling
- added entity parameter: hitwalltype. if set this param the hitwall animation will be actived iff hitwalltype == wall type

- added "hasplatforms" prop in entityproperty if the entity has platforms in his animations (useful to not use checkplatform func)
- added landedplatform to entityproperty. this is the platform entity that you are on
- added hitheadplatform to entityproperty. this is the platform entity that you hit with head
- added walkoffmove {int} {int} like jumpmove to move player during a walkoff

- added systemvariants: numholes, numwalls, numbasemaps, numlayers

- added "type" for wall/hole in script and in level#.txt as optional param used to attribute a terrain type for custom interaction
  example: wall splat ONLY on wall with type 2

- added the height param for holes (with backward compatibility),
- added inholescript event (active when you fall in a hole) useful to change animation for example.
  localvars: self, index

- added to script:
  checkholeindex(x,z,y) -> (y param optional) -> returns index of hole
  checkwallindex(x,z,y) -> (y param optional) -> returns index of wall
- added localvar "index" in onblockwscript (wall index == wall ID)
- added checkplatformabove({x}, {z}, {y}) - Returns entity pointer of the platform above  {y}.
- added checkplatformbetween({x}, {z}, {y_min}, {y_max}) - Returns entity pointer of the first platform between  {y_min} and {y_max}.


- added the vertical/diagonal support for bg/fg layers usage:
  vbgspeed value dir
  vbgspeed param is similar to bgspeed (both used in level#.txt)
  use vbgspeed+bgspeed combo for diagonal levels
- added vbgspeed to levelproperty()

- added script function finishlevel() to force to finish a level via script

- added allowselect players on savefile

- improved skipselect: now you can use multiple skipselect in a set

improved setspawnentry:
- added type (entity type like player, enemy, npc, etc..)
- added parent

- commented the "drawing water" log

- adjust entities position on platforms and general fix for platform display and shadows.
- fixed the continue bug on load
- fix bug save inexistent level
- fixing allowselect save bug
- fixed the boss icon remapping
- fixed song title (position bug)
- fixed platform bug on walkoff
- fixed duck animation bug
- other fixes to make a more stable engine

Wii version:
updated  libOGC v1.8.12 (library) to support new wii remotes

Windows version:
updated SDL2 from 2.0.3 to 2.0.5


[attachment deleted by admin]
 
Hello my friend!

I have some problems with this build 4201 and the 4213.
When execute in windows 7 not work.
Just never open.

In the log only can see this:
Code:
************ Shutting Down ************

OpenBOR v3.0 Build , Compile Date: Oct 12 2016
Presented by the OpenBOR Team.
www.chronocrash.com
OpenBOR is the open source continuation of Beats of Rage by Senile Team.

Special thanks to SEGA and SNK.

Total Ram: 4294967295 Bytes
 Free Ram: 3823046656 Bytes
 Used Ram: 153718784 Bytes

Release level data...........Level Unloading: 'data/levels/training.txt'
Total Ram: 4294967295 Bytes
 Free Ram: 3823038464 Bytes
 Used Ram: 153722880 Bytes

Done.
Total Ram: 4294967295 Bytes
 Free Ram: 3823038464 Bytes
 Used Ram: 153722880 Bytes

	Done!
Release graphics data........	Done!
Release game data............

Unload 'eflash' ............done.
Unload 'Flash' ............done.
Unload 'Flash2' ............done.
Unload 'bloodyhit' ............done.
Unload 'Flash3' ............done.
Unload 'bloodyup' ............done.
Unload 'Block' ............done.
Unload 'bloody' ............done.
Unload 'bloody2' ............done.
Unload 'bloody3' ............done.
Unload 'freez' ............done.
Unload 'bfreez' ............done.
Unload 'waterhit' ............done.
Unload 'waterhitg' ............done.
Unload 'smoky' ............done.
Unload 'smoky2' ............done.
Unload 'elec' ............done.
Unload 'flami' ............done.
Unload 'flamy' ............done.
Unload 'fireh' ............done.
Unload 'dust' ............done.
Unload 'Down' ............done.
Unload 'Quake' ............done.
Unload 'Dash' ............done.
Unload 'mhit' ............done.
Unload 'bhit' ............done.
Unload 'fhit' ............done.
Unload 'golden' ............done.
Unload 'CHOSEN_ONE' ............done.
Unload 'Smenu' ............done.
Unload 'rockcar' ............done.
Unload 'rockcar2' ............done.
Unload 'list_ch' ............done.
Unload 'CAROLINA' ............done.
Unload 'list_c' ............done.
Unload 'KITANA' ............done.
Unload 'rockkit' ............done.
Unload 'rockkit2' ............done.
Unload 'list_ki' ............done.
Unload 'MIDAS' ............done.
Unload 'rockmid' ............done.
Unload 'rockmid2' ............done.
Unload 'list_m' ............done.
Unload 'JAGO' ............done.
Unload 'rockjag' ............done.
Unload 'rockjag2' ............done.
Unload 'list_j' ............done.
Unload 'ORCHID' ............done.
Unload 'rockor' ............done.
Unload 'mcopter' ............done.
Unload 'list_o' ............done.
Unload 'BATMAN' ............done.
Unload 'rockbat' ............done.
Unload 'list_b' ............done.
Unload 'FULGORE' ............done.
Unload 'rockful' ............done.
Unload 'list_f' ............done.
Unload 'TUSK' ............done.
Unload 'rocktus' ............done.
Unload 'rocktus2' ............done.
Unload 'list_t' ............done.
Unload 'LIU_KANG' ............done.
Unload 'rockkan' ............done.
Unload 'rockkan2' ............done.
Unload 'list_ka' ............done.
Unload 'RAIDEN' ............done.
Unload 'rockrai' ............done.
Unload 'rockrai2' ............done.
Unload 'mthunder' ............done.
Unload 'list_r' ............done.
Unload 'CARO1' ............done.
Unload 'CARO4' ............done.
Unload 'gunfire' ............done.
Unload 'gunfire2' ............done.
Unload 'shbul' ............done.
Unload 'Bat' ............done.
Unload 'Bo' ............done.
Unload 'Katana' ............done.
Unload 'Shotgun' ............done.
Unload 'Axe' ............done.
Unload 'Nunchaku' ............done.
Unload 'Chainsaw' ............done.
Unload 'teleport' ............done.
Unload 'bfatal' ............done.
Unload 'pspawn' ............done.
Unload 'pdeath' ............done.
Unload 'SUPER' ............done.
Unload 'fat' ............done.
Unload 'magic' ............done.
Unload 'fmagic' ............done.
Unload 'grabc' ............done.
Unload 'astral' ............done.
Unload 'astral2' ............done.
Unload 'heal' ............done.
Unload 'hits' ............done.
Unload 'static' ............done.
Unload 'static2' ............done.
Unload 'static3' ............done.
Unload '1elec' ............done.
Unload 'hshock' ............done.
Unload 'choeball' ............done.
Unload 'splight' ............done.
Unload '2fire' ............done.
Unload 'eyefire' ............done.
Unload 'eyefire2' ............done.
Unload 'firespec' ............done.
Unload 'firo' ............done.
Unload 'rollfire' ............done.
Unload 'kfire' ............done.
Unload '3wind' ............done.
Unload 'windi' ............done.
Unload 'windihit' ............done.
Unload 'wind1' ............done.
Unload 'wind2' ............done.
Unload 'spwind' ............done.
Unload 'spwind2' ............done.
Unload 'rock' ............done.
Unload 'roco1' ............done.
Unload 'roco2' ............done.
Unload 'sprock' ............done.
Unload 'hand' ............done.
Unload 'hand2' ............done.
Unload 'shield' ............done.
Unload 'shield2' ............done.
Unload 'shield3' ............done.
Unload 'shield4' ............done.
Unload 'Icepin' ............done.
Unload 'lance' ............done.
Unload 'icy' ............done.
Unload 'icetrap' ............done.
Unload 'icetrapf' ............done.
Unload 'chofre' ............done.
Unload 'freezall' ............done.
Unload 'waterm' ............done.
Unload 'waterm2' ............done.
Unload 'waterball' ............done.
Unload 'dices' ............done.
Unload 'carofl1' ............done.
Unload 'carofl2' ............done.
Unload 'carofl3' ............done.
Unload 'carofl4' ............done.
Unload 'carofl5' ............done.
Unload 'carofl6' ............done.
Unload 'carofl7' ............done.
Unload 'cball' ............done.
Unload 'shinobi' ............done.
Unload 'jshadows' ............done.
Unload 'jsword' ............done.
Unload 'swlight' ............done.
Unload 'eyelight' ............done.
Unload 'bhshock' ............done.
Unload 'bodyrays' ............done.
Unload 'elecall' ............done.
Unload 'elecall1' ............done.
Unload 'elecwall' ............done.
Unload 'eroll' ............done.
Unload 'gbody' ............done.
Unload 'grdshock' ............done.
Unload 'rhshock' ............done.
Unload 'rspec' ............done.
Unload 'thunderf' ............done.
Unload 'thunders' ............done.
Unload 'thunders2' ............done.
Unload 'sriseat' ............done.
Unload 'upthunder' ............done.
Unload 'dragon' ............done.
Unload 'fdragon' ............done.
Unload 'acid' ............done.
Unload 'kair' ............done.
Unload 'twister' ............done.
Unload 'midsp' ............done.
Unload 'grabm' ............done.
Unload 'fulgfly' ............done.
Unload 'gbody2' ............done.
Unload 'feyes' ............done.
Unload 'flamet' ............done.
Unload 'rocket1' ............done.
Unload 'rocket2' ............done.
Unload 'misile' ............done.
Unload 'explosion' ............done.
Unload 'razor' ............done.
Unload 'grabb' ............done.
Unload 'Bati' ............done.
Unload 'ice' ............done.
Unload 'batmovil' ............done.
Unload 'hitobs' ............done.
Unload 'meteor' ............done.
Unload 'dino' ............done.
Unload 'KNIFER2' ............done.
Unload 'Grenade2' ............done.
Unload 'gbomb2' ............done.
Unload 'maigen' ............done.
Unload 'blade' ............done.
Unload 'kball' ............done.
Unload 'ray' ............done.
Unload 'ray2' ............done.
Unload 'ray3' ............done.
Unload 'light0' ............done.
Unload 'light1' ............done.
Unload 'light2' ............done.
Unload 'light3' ............done.
Unload 'gshock' ............done.
Unload 'fray' ............done.
Unload 'fupray' ............done.
Unload 'batrang' ............done.
Unload 'bats' ............done.
Unload 'batbomb' ............done.
Unload 'batfog' ............done.
Unload 'fog' ............done.
Unload 'fog2' ............done.
Unload 'escape' ............done.
Unload 'geys' ............done.
Unload 'fogo' ............done.
Unload 'jball' ............done.
Unload 'bolt' ............done.
Unload 'sbolt0' ............done.
Unload 'sbolt' ............done.
Unload 'gore' ............done.
Unload 'headexp' ............done.
Unload 'bloodexp' ............done.
Unload 'burned' ............done.
Unload 'fburned' ............done.
Unload 'facid' ............done.
Unload 'bones' ............done.
Unload 'fgold' ............done.
Unload 'skelfall' ............done.
Unload 'bloodfl' ............done.
Unload 'gbodyfat' ............done.
Unload 'glass' ............done.
Unload 'EFlame' ............done.
Unload 'Lifebar' ............done.
Unload 'BD4a' ............done.
Unload 'DOOMTR4a' ............done.
Unload 'DOOMTR5d' ............done.
Unload 'Grenade' ............done.
Unload 'gbomb' ............done.
Unload 'wbomb' ............done.
Unload 'wfog' ............done.
Unload 'story' ............done.
Unload 'DOOMTR2' ............done.
Unload 'Endstage0' ............done.

Warning: 8 script variants are not freed, dumping...
openbor_array
openbor_loadsprite
openbor_loadsprite
openbor_loadsprite
openbor_loadsprite
openbor_loadsprite
openbor_loadsprite
openbor_loadsprite

Release game data............	Done!
Release timer................	Done!
Release input hardware.......	Done!
Release sound system.........	Done!
Release FileCaching System...	Done!

**************** Done *****************

OpenBOR v3.0 Build , Compile Date: Oct 12 2016
Presented by the OpenBOR Team.
www.chronocrash.com
OpenBOR is the open source continuation of Beats of Rage by Senile Team.

Special thanks to SEGA and SNK.

The  OpenBOR v3.0 Build 4183 works perfect.

 
If you can, can u compile the openbor version and tell me the last working build?
that log doesn't help me.
I think not a bug but my suspect is that you used a deprecated function...
 
White Dragon said:
If you can, can u compile the openbor version and tell me the last working build?
that log doesn't help me.
I think not a bug but my suspect is that you used a deprecated function...
Like I say before the build working for me is OpenBOR v3.0 Build 4183.

I can't test your previous versions, becase the links says "Invalid or Deleted File."
Only test the build 4201 and 4213 and not work for me.

 
White Dragon, please, you need to explain better what you add ton the engine. New additions with no documentation are useless.

For example, what those new player property does?
 
Actually, several of those properties need to be removed. The are model properties, NOT player properties, and are already accessible.

  • hmapl
  • hmapu
  • mapcount

White Dragon, we really, REALLY, appreciate your work, but you need to slow down and make sure stuff you are adding is not already in place elsewhere. Otherwise it's just code bloat.

DC
 
Damon Caskey said:
Actually, several of those properties need to be removed. The are model properties, NOT player properties, and are already accessible.

  • hmapl
  • hmapu
  • mapcount

White Dragon, we really, REALLY, appreciate your work, but you need to slow down and make sure stuff you are adding is not already in place elsewhere. Otherwise it's just code bloat.

DC

O Ilusionista said:
And what hmapl and hmalu does means? Its Hidden Map Low and Hidden Map Upper, as the start and end of the hidden maps?

Ok, guy I explain that update.
•hmapl
•hmapu
•mapcount
Is an important update to improve the InGame custom HUD.
These 3 props you can find in entityproperty and now in playerproperty too have the following meaning:

- mapcount: it returns the TOTAL map count: initial map + remaps (or alternate pal). if you have 3 remaps mapcount will return 4.
- hmapl/hmapu: (hidden map lower/upper) this prop returns the first/last hidden map index. Example: if in entity txt file you set hmap 4 5 hmapl will return 4 and hmapu will return 5.

So how many maps have an entity that has hmap X Y? The answer is: mapnum =  mapcount-(hmapu-hmapl+1).

Now I explain why I added hmapl/hmapu + mapcount in playerproperty.
The need arises from the ability to customize their own inGame custom HUD.
For example, I want to script my own nosame ingame. How?
I cannot access to mapcount and hmap using entityproperty, as said DC, during the joining of a player.
While I'm choosing a player during a level, the ENTITY player doesnt exists yet! Here the problem: getentityproperty( getplayerproperty(0,"entity"), "mapcount" ) during a joining will return a error!!
So how?
First detect the joining player!!
Use the new property: getplayerproperty(player_index,"joining").
If you joining the game (you choosing a player) that prop will return 1 (else 0).
so while you choosing a player getentityproperty( getplayerproperty(0,"entity"), "mapcount" ) will return a error, but getplayerproperty(0,"mapcount") will return the right value!
I hope I was clear about the usefulness of these new properties.
I do not add random things, but I think I know what the needs of scripting to make the game as customizable as possible.

O'Ilusionista: Could you please list me all the my additions that need my explanation explicit so to help you in the documentation?
nsw25: I try to compile some build to get a test ok?
 
Could you please list me all the my additions that need my explanation explicit so to help you in the documentation?
Pretty much all of them.

For example, this:
holes/walls opened to script:
- checkholeindex(x,z);
- checkwallindex(x,z);
- getholeproperty(index,property);
- getwallproperty(index,property);
- changeholeproperty(index,property,value);
- changewallproperty(index,property,value);

was changed to this?
- removed get/change wall/hole: instead use levelproperty -> wall/hole

Another example:
added vbgspeed in levelproperty (script manage)

Would have to have more info like this:
added the vertical/diagonal support for bg/fg layers

usage:
vbgspeed value dir
vbgspeed param is similar to bgspeed (both used in level#.txt)

use vbgspeed+bgspeed combo for diagonal levels

or
improved the layer adjust when an entity is on platform
which means "improved the shadow layer adust when an entity in on platform. Now the shadow follows the player"

See my point?
 
Hey guys,

Seeing as this is the latest update for v3.0 I wanted to let you aware about a few issues on the Wii side of things that were working back on build 4153 and are no longer working since build 4183.

- In the start menu of OpenBor you cannot go UP at all in the games (paks) selection screen.
- Left Analog nub support for the Classic Controller is completely missing. It used to work fine on the last 4153 build.

Also, please keep in mind that the Wii U PRO Controller is perfectly functional even with the old Wii!! Thanks to a code library by FIX94 provided in the following release thread.

https://gbatemp.net/threads/libwupc-a-wiiu-pro-controller-library-for-wii-homebrew-applications.371574/

Please add this to a future build as it would mean not dealing any longer with nunchuk dongles and cords in the way.

Thank you all for your hard work!
 
for nsw25: try these builds and feedback: http://www.mediafire.com/file/f3nfv43ffytfd08/openbor_builds.rar

for O'Ilusionista:
About holes/walls:
- checkholeindex(x,z); it returns the index of hole in the level if you are in the hole. also valid: checkholeindex(x,z,y);
- checkwallindex(x,z); it returns the index of wall in the level

- getholeproperty(index,property);
- getwallproperty(index,property);
- changeholeproperty(index,property,value);
- changewallproperty(index,property,value);


yes last 4 function are gone!!
use get/change levelproperty to change hole/wall property. example: getlevelproperty("hole",0,"depth");. // 0 is the index (first hole)
now holes/walls have two other optional params
"type" and "height" (levelproperty)

example to declare a wall:
#    {xpos} {zpos} {upperleft} {lowerleft} {upperright} {lowerright} {depth}  {alt}
wall    0    520    -100          -100        3250       3250      50  3000

or:
#    {xpos} {zpos} {upperleft} {lowerleft} {upperright} {lowerright} {depth}  {alt}  {type}
wall    0    520    -100          -100        3250       3250      50  3000 1

the type is a param useful for decide what type of terrain is that wall.
Example I want to make a wall splat JUST on walls of type 1 and not type 0
useful isnt?  ;)

now the hole have an optional params height.
example:

#    {xpos} {zpos} {upperleft} {lowerleft} {upperright} {lowerright} {depth}
hole  0    520    -100          -100        3250       3250      50 

or
#    {xpos} {zpos} {upperleft} {lowerleft} {upperright} {lowerright} {depth} {alt}
hole  0    520    -100          -100        3250       3250      50  3000

#    {xpos} {zpos} {upperleft} {lowerleft} {upperright} {lowerright} {depth} {alt} {type}
hole  0    520    -100          -100        3250       3250      50  3000  1

all 3 declares are now valid.
Why is useful the height for holes?
See here:
index.php



than now with openborvariant() you can retrieve "numholes", "numwalls", "numlayers"

So now you can detect the wall in the air too!!


- About vbgspeed.
now yo can set the vertical/diagonal bgscrolling.
How?
old command bgspeed used to make a horizontal scroll.
ex.
bgspeed 3
or
bgspeed 3 1
or
bgspeed -3

3 is the velocity and 1 is a flag to have a negative value (3*-1)
so bgspeed 3 1 or bgspeed -3 is equal
then you can handle the velocity for each layer with speed_ratio  of the layer

now you can use vgspeed for vertical scrolling in the same  way of bgspeed.
and the combination of bgspeed and vbgspeed is for... diagonal scolling!!
Example:
bgspeed 3
vbgspeed 3
DIAGONAL SCROLL!!
the you can change/get the bgspeed or vbgspeed by levelproperty via script too!!
example getlevelproperty("vbgspeed");


- About the Platform entity adjust:
See here the differences:
index.php


Now opnbor displays in right way the entity on platforms: right z-depth, right shadow!!
In old openbor the entity are showed Always in front of obstacle.

[attachment deleted by admin]
 
summarize changes from build 4183 then... a surprise!!

setspawnentry:
- added type (entity type like player, enemy, npc, etc..) useful to change the type at spawn
- added parent

why type in setspawnentry?
try to spawn a NONE type in the level. the NON type in NOT subject to wall!! And to make a NONE type subject to wall?? changeentityproperty(ent,"subject_to_wall") works JUST on enemy and players and npc etc. but not for NONE
so spawn an ENEMY entity with setspawnentry("type",openborconstant("TYPE_NONE"))!!

Why parent in setspawnentry?
if you use the noreflect method to decide your opponent and in takedamage you want to avoid the paren, will be 1 frame in that that entity have not the parent.
with setspawnentry("parent",entity) you will fix it!!

- improved skipselect: now you can use multiple skipselect in a set
now you can set a different player for each level.
example in levels.txt
set
...
...
skipselect RYU
file level1.txt
skipselect KEN
file level2.txt
etc...
fun eh?

-added allowselect players on savefile
not tested but I added the feature to save alloselect characters in save file

-fixed the boss icon remapping: another bug fixes. for boss in older build doesnt work icon ....png 0

-added localvar "index" in onblockwscript and inholescript (new event)
inholescriptis actived when you fall in a hole. Why? Use it to change the animation for example!! ;)

-added prop for playerproperty():
"combokey",
"combostep",
"hmapl",
"hmapu",
"inputtime",
"joining",
"mapcount",
already explained.

-added vbgspeed to levelproperty() already explained.
 
Oh that is nice. Here are some questions:

added type (entity type like player,
Now you can spawn something with type PLAYER? I remember the engine doesn't accept if you changeentityproperty type to PLAYER and closes instantily.
It would be good to be able to change a NPC into a playable character and vice versa on the fly.


if you use the noreflect method to decide your opponent and in takedamage you want to avoid the paren, will be 1 frame in that that entity have not the parent.
with setspawnentry("parent",entity) you will fix it!!
This would be useful to spawn an entity in a versus game but without making it hurt the parent, right?

-About bosses, its possible to add the lifebar position and icon open to script? Think when we have a boss on the screen, with a different position of lifebar and another boss comes and have lifebar in the same position. They will just overlap if two bosses are on the screen at the same time. Is there is a way to fix this?

-added prop for playerproperty():
You have explained just hmapl and hmapu. What inputtime does? joining controls the nojoin?

Added added systemvariants: "nogameover", "nohof"

How this sould be called? On a script? Or its possible to be called like a SKIPSELECT on a levels.txt ?
 
O Ilusionista said:
-added prop for playerproperty():
You have explained just hmapl and hmapu. What inputtime does? joining controls the nojoin?

Added added systemvariants: "nogameover", "nohof"

How this sould be called? On a script? Or its possible to be called like a SKIPSELECT on a levels.txt ?

well,
inputtime is the time between two buttons to do a combo.

int cs = getplayerproperty(pindex,"combostep");
getplayerproperty(pindex,"inputtime",cs); to retrieve the time.
Why useful? for a custom cancel in a determinate time for example.

about "nogameover", "nohof" they are systemvariants.
example:
changeopenboravriant("nogameover",1); changeopenboravriant("nohof",1);  via script
you can set a nogameover also like SKIPSELECT in this way:
SET XXX
...
disablegameover 1
disablehof 1


 
O Ilusionista said:
-About bosses, its possible to add the lifebar position and icon open to script? Think when we have a boss on the screen, with a different position of lifebar and another boss comes and have lifebar in the same position. They will just overlap if two bosses are on the screen at the same time. Is there is a way to fix this?

you can do it
use entityproperty
"iconposition","nameposition","lifeposition"
 
OpenBOR v3.0 Build 4224 (Windows/Wii/Android)
http://www.mediafire.com/file/83sy6d35ele8yeq/OpenBOR_v3.0_Build_4224.rar

-Added added systemvariants: "nogameover", "nohof"
if active example changeopenborvariant("nohof",1);
for this set you won't display the halloffame screen! and "nogameover", is for gameover.
Why not gameover and hof? For bonus level or custom HUD!!

- incremented fonts: 8 -> 10

- new animations: hitwall and hitplatform
- added "hitwall" entityproperty. it returns 1 while you hit a wall (the instant)

- new systemvariant "fps" to retrieve the framerate

- play/rec mode (script version)
usage:
to rec: recordinputs(1,"","myrec.inp");
to play: recordinputs(2,"","myrec.inp");
to stop: recordinputs(0);
to free: recordinputs(3);
useful for attract mode for example.
This is just a first prototype.

for example write in levelscript:
recordinputs(1,"","myrec.inp");
if(playerkeys(0,1,"esc")) { recordinputs(0); }
play at level..
press "esc" to terminate the rec.
then change recordinputs(1,"","myrec.inp"); in recordinputs(2,"","myrec.inp"); to test and play the recorder gameplay!

how you see recordinputs() use a first value param.
0 to stop the rec/play
1 to rec
2 to play
3 to free (dont worry when you use 0 you free the buffer too). the 3 param is not really useful.
example recordinputs(1,"","myrec.inp"); is to rec

use getrecordingstatus()to get the gameplay status 0 or 1 or 2


..and then...
- backpains completed to 100%;
usage:
int entity.txt file set:
backpain 1

then use animations like:
backpain#
backfall#
backdeath#

it's easy!
 
dantedevil said:
White Dragon said:
If you can, can u compile the openbor version and tell me the last working build?
that log doesn't help me.
I think not a bug but my suspect is that you used a deprecated function...
Like I say before the build working for me is OpenBOR v3.0 Build 4183.

I can't test your previous versions, becase the links says "Invalid or Deleted File."
Only test the build 4201 and 4213 and not work for me.

The same problem of the build 4201 and 4213, not work for me.
Besides with this problem OpenBOR still in execution, in the mouse icon shows the timer like something is loading, but never ends and the Mod never open the loading screen.
Finally need to restart windows to use again, because cant finish the program execution from the Task Manager.

So for now I going to use OpenBOR v3.0 Build 4183.
Works ok in every test I make.
 
Status
Not open for further replies.
Back
Top Bottom