OpenBOR v3.0 Build 4011 for Windows/Linux/Wii

Status
Not open for further replies.

DCurrent

Site Owner, OpenBOR Project Leader
Staff member
Latest build. No changes to affect functionality (or aren't supposed to be anyway). 

Here is the history so you can see just what is going on (and that I've been hard at work, lol.)

I'm getting a lot of the code reworked to be more organized and readable with some optimizations along the way so I (or any of our current MIA devs) can get fixes and adds in easier.

Please let me know if you find any new bugs or issues.

Thanks,
DC

Download
 
Hi Demon Caskey, is there a way to implement a pseudo 3D in openbor like in rpgmaker?

"a la" mode 7,parallax, scripting or in the engine itself.

Im posting the question here because this beat'em up maker is becoming the real adaptable opensource alternative to mugen, rpg maker, game maker, even for shoot'em up games.

The pseudo 3d will added a lot for rail games (carnevil,house of dead)

Rpg maker has been pushed to its limits and openbor virtualy dont have limits.
 
"Mode 7" is nothing but a designation for one of the SNES's video chip modes that was used as marketing term; you need to be more specific.

Right out of the box OpenBOR supports an unlimited number of 256 color palettes for every object, scaling, rotation, clipping, warping, light source control, RGB tinting, a couple of water/wave effects, several preset blending/transparency modes, and alpha channels. All of which are controllable by script. For extra efficiency the default background panels don't have full access to everything, but this is no limitation at all because the engine can treat designated entities as background layers too. IOW anything in on the screen is fair game.

There's no hard coded limit either, so you can just keep adding more and more until your platform chokes on it.

I've never seen anyone try to make a flat pseudo 3d stage, but there is no doubt in my mind it can be done. The scan-line based manipulation (what mode 7 actually is) isn't directly supported, but otherwise the SNES (or any other 2D console for that matter) is a complete joke by comparison. There's no reason you couldn't produce the same effect with a bit of effort.

DC
 
White Dragon said:
BUGS!!

- No ANI_WAITING
- No ANI_SELECT
- attack2 replaced with shock ??????

Please be specific. Are you calling these with script (and if so I need to see said script)? Getting an error?

Do you mean attack type 2 is swapped with shock or the animation ATTACK with SHOCK?

DC
 
Damon Caskey said:
White Dragon said:
BUGS!!

- No ANI_WAITING
- No ANI_SELECT
- attack2 replaced with shock ??????

Please be specific. Are you calling these with script (and if so I need to see said script)? Getting an error?

Do you mean attack type 2 is swapped with shock or the animation ATTACK with SHOCK?

DC

For attack2 I call this atk in animation with:
attack2  43  17  77  32  7  0  0  0  8
but the enemy plays SHOCK/SPAIN animation

for ANI_WAITING
if I call openborconstant("ANI_WAITING") openbor crashes
the same with:
openborconstant("ANI_SELECT")
openborconstant("ANI_ATTACK") but openborconstant("ANI_ATTACK1") is ok!

then for prev openbor versions
if I set a setidle(ent,58,1) in select screen (custom menu)  the entity change its animation in waiting
if I set a setidle(ent,24,1) in select screen (custom menu)  the entity change its animation in select
58 = waiting -- 24 = select

but now setidle(ent,58,1) doesn't work anymore setidle(ent,58,1) is seen as setidle(ent,oc("ANI_IDLE"),1) in select player screen
 
I'll look into the openborconstant() issues, but if you are using hard coded constants like "58", that is a user error and one you will have to fix on your own end.

You should never, ever use hard coded IDs in script - we constantly advise scripters not to do this. Those IDs can and will change version to version, and isn't a bug when they do. Always use openborconstant() for engine values, that's what it's there for.

Also, there has never been an ANI_WAITING, it's always been ANI_SELECT; I just checked back through old versions to make sure. There may have been some redundant code that allowed you to use ANI_WAITING, but technically no such animation ever existed. I'd advise using ANI_SELECT in the future (yes I understand neither is working atm). Same goes for the others - I'll get them lined out soon as I can.

DC
 
@Demon Caskey
Yeah i know that mode 7 is a snes feature only, i put an example basically just because openbor remember me the FX chip, with rotation ,scaling and all features you mentioned.

I want to try using walls, plattaforms, rotation,parallax and scaling...maybe the use of highmaps using the 255 colors in palettes.

The correct use of entities and the different backgrounds(i dont know how many is the limit of layers) can be optimized and manipulated to make a pseudo 3D in a 2D only engine. 
 
Dakangel said:
i dont know how many is the limit of layers

None, like I said above. It's just a matter of how much memory and CPU power the hardware has, and when talking about a typical PC, plenty enough to support 30 or more.

DC
 
Damon Caskey said:
Also, there has never been an ANI_WAITING, it's always been ANI_SELECT; I just checked back through old versions to make sure. There may have been some redundant code that allowed you to use ANI_WAITING, but technically no such animation ever existed. I'd advise using ANI_SELECT in the future (yes I understand neither is working atm). Same goes for the others - I'll get them lined out soon as I can.

OK DC so if 58 is ANI_SELECT, what for 24 (SELECT anim)?
 
Yes, I am quite sure. What you see as users vs. the internal code of the engine are often very different things. "waiting" is ANI_SELECT, and what you know as selected is "ANI_PICK". Why? I don't know, I wasn't a developer at the time.

I don't like bad mouthing the work of past developers; a lot of good people contributed and without them OpenBOR wouldn't be what it is now. That said though, many of the naming and coding conventions used in the early days of OpenBOR's development were either non-existent, a bit shortsighted or just plain dumb - but it's too late to change some of them now.

On top of that, more recent development, while perhaps more refined has also been bit reckless at times (yours truly being one of those guilty parties).

Worst of all, the whole dev team minus myself is currently on hiatus, and for who knows how long. So in light of all that, I am currently focusing efforts on some very overdue housecleaning.

DC
 
I confirm that bug with attack2 swapped with shock, its happening for me too and i didnt changed anything just tried this build and now enemies blink blue when hit by attack2
"nosame" is still broken and doesnt work, i have nosame 1 in levels.txt and i cant select the same characters until i press button, and after character played his select animation i can select his clone with another player so its obviosly broken somewhere, i cant select 2 he-mans until i confirm and play select animation, then suddenly im able to select he-man with second player as well.
Same thing is with remaps, nosame 1 1 shouldnt let you use the same remaps and it does but only when it displays characters in select screen for the first time, so once you move up/down you still can select the same remaps.
So... "nosame" feature is currently broken and doesnt work at all, people rarely use it so maybe thats why it slipped under radar for so long.
 
I just noticed last night that extra pain animations won't work either. 
Using this build enemies would not use pain2 and pain3 when attacked with attack2/attack3 etc.

I reverted to an older build and it worked again fine.

Build 3993 = Worked
Build 3994 = Worked
Build 4011 = Broken


 
BeasTie said:
I just noticed last night that extra pain animations won't work either. 
Using this build enemies would not use pain2 and pain3 when attacked with attack2/attack3 etc.

I reverted to an older build and it worked again fine.

Build 3993 = Worked
Build 3994 = Worked
Build 4011 = Broken

I know the problem and have fixed it, but haven't released a build in a while. I'll try to get one out next day or two.

DC
 
hello... ive been using OpenBoR v3.0 Build 3849.
iam afraid if i change to another build things might get worse.

ive been having lots of problems with enemies and entities spawning in levels using the group and wait commands.

its very hard to explain so ive been kept quite since it started to happen... and ive tried to use alternative spawns like spawn01 to call an enemie...

the problem is i think theres an interference between entities... or max number of entites on screen... sometimes entities dont spawn or they quickly disapear right after spawning...?

for example you have a small level at the size of the camera range (video0 - 320x240 (default).
you use groups (like group 3 3) to call the enemies.
then group 1 1 with an enemie (ghost lifespan nº) to make a break and seprate the enemies.
then you can start a new group again (say group 4 4)

ive been calling entities type none/obstacle/npc together with enemies groups. and most of the time i use the ( spawnscript data/scripts/noscpos.c )

like this....
group 1 1
at    0

spawn  ghost1 - (enemie lifespan 5)
coords  1350 240
at      0

spawn  type none1
spawnscript data/scripts/noscpos.c
coords  -10 110
at      0

spawn  type none2
spawnscript data/scripts/noscpos.c
coords  -10 110
at      0

spawn  ghost1 - (enemie lifespan 5)
coords  1350 240
at      0

#---------------------------

Of course before this entities type none spawn. you are fighting groups of enemies on the screen...
what happens is sometimes the type none spawn others they dont sometimes are the enemies that dont spawn... and if you spawn them at the center of the screen you can see them quickly appearing and then disapearing other times you cant see anything...

this all happens randomly so it must be something to do with the time the player takes to kill an enemie.
for example you are hitting 3 enemies at the same time they fall and die at the same time...
then... in the next few groups there probably be an enemies/nones that will not spawn...

recently ive had an entire enemie group 4 4 not spawning all i could notice was the default fall.wav sound playing a few times...

i dont know why the entities dont spawn ?
group 1 1 spawn ghost1--- should stop all enemie spawning until ghost1 dies...
i dont know if theres a max number of enties on screen ?
dont know if i can do this in a level ? but it looks like a very simple thing to do...
All i know is that entities disapear... ive made a level were i had to call a boss using spawn01... because there was 50% chance of him not spawning using group 1 1...
dont know if this build uses the same group logic than pervious...
 
Status
Not open for further replies.
Back
Top Bottom