Welcome, Guest. Please login or register.

What openbor you prefer: Double dragon,battletoads or final fight !? by lirexpatrio
[December 07, 2012, 07:15:27 pm]


what are your favorite games OpenBOR?! by lirexpatrio
[December 07, 2012, 07:09:46 pm]


Post Some Awesome Videos by maxman
[December 07, 2012, 05:51:39 pm]


Can @cmd playmusic "aaaa" 1 also increse music sound ? by BeasTie
[December 07, 2012, 05:24:38 pm]


Streets of Rage: Silent Storm by mtrain
[December 07, 2012, 03:45:05 pm]


Site will be down for maintenance on 12/8/2012 thru 12/10/2012 by Damon Caskey
[December 07, 2012, 07:42:42 am]


Cancelled SOR 3d Remake by riccochet
[December 07, 2012, 03:58:33 am]


Dungeon Fighter: B.O.R. by msmalik681
[December 07, 2012, 03:24:27 am]


[TUTORIAL] How to create 4 Games of OpenBOR in 1 CD (650 MB) by magggas
[December 06, 2012, 09:46:25 pm]


custknife by Bloodbane
[December 06, 2012, 09:34:09 pm]


blockfx help by B.Kardi
[December 06, 2012, 04:09:14 pm]


street of age 4 hd by corradlo
[December 06, 2012, 01:41:36 pm]


ClaFan - Classic Fantasy ver 1.17 by soniczxblade
[December 06, 2012, 05:01:20 am]


Bug Archive by Bloodbane
[December 06, 2012, 02:00:44 am]


"Bio-Doom" and "Gears of Doom" by BulletBob
[December 05, 2012, 10:07:21 pm]


Contra Locked 'N' Loaded v2 by Bloodbane
[December 05, 2012, 09:39:43 pm]


Downloadable OpenBoR Manual by BeasTie
[December 05, 2012, 08:31:24 pm]


Having trouble testing changes by B.Kardi
[December 05, 2012, 03:05:53 pm]


DragonBall Absalon by msmalik681
[December 05, 2012, 02:52:13 pm]


[Hi-Res] Swamp by Vibrant
[December 05, 2012, 10:47:14 am]


  • Dot Guests: 146
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.



Author Topic: Feature Archive  (Read 34794 times)

0 Members and 1 Guest are viewing this topic.

Offline Damon Caskey

  • Hero Member
  • *****
  • Posts: 5335
    • The Gorge
Feature Archive
« on: May 16, 2007, 03:59:09 pm »
Feature/Fix Archive:

The purpose of this log is to document new features or fixes to old functionality and their use as they are added to the main source. It should help assist in keeping the manual up to date and modders "in the loop" as to what is available for their use.

This documentation is only for working (not in progress or requested) changes to main engine before an official release; devbuilds may or may not include said features/fixes.

General Conventions:

{Value ? Default}: Parameters are shown with type of value and the default.
AI: Artificial intelligence. Basically, this is a vernacular referring to the computer control of any given entity.
Hostiles: In reference to a specific entity, hostiles means any opposing entities that this entity will attack when under AI control or vise versa.
PC: Player character. Any entity that is controlled directly by a player.
Enemy: Any AI controlled entity that defaults as hostile toward PCs and must be defeated to advance.
NPC: Any AI controlled entity that defaults as friendly toward PCs and need not be defeated to advance.
HP: Hit points. The measurement of an entity's health.
MP: Magic points. The measurement of an entity's magic.
(MH): This is a model header command. Example: "colourselect".
(LH): This is a level header command. Example: "lbarsize".
(SH): This is a stage command. Example: "spawn".
(EH): This is an entity header command. Example: "health".
(AC): This is an animation command. Example: "sound".
X: Horizontal movement or distance (left and right on screen).
Y: Vertical movement or distance (Jumping, flight, etc.)
Z: Movement or distance along depth plane (Up or down in relation to screen).

  • Dynamic limits: Several formerly limited caveats are now unlimited. Some are unlimited by default, some require a setting:

    Animation frames - By default, the number of frames in module, frames per entity, and frames per animation are all unlimited.

    Set the following in model header to obtain desired amount.

    maxattacks {int - 4} - Maximum number of attack #.
    maxattacktypes {int - 10} - Maximum attack/pain/fall/death types.
    maxfollows {int - 4} - Maximum number of follow#.
    maxfreespecials {int - 8} - maximum number of freespecial#.

  • AI/PC merging: In general AI characters now function much like players:

    atchain -
    If provided, AI will use atchain exactly like PCs. If not provided, attack # will be performed randomly as in previous releases.
    freespecials - AI can now perform freespecials with optional energy cost.
    mp - AI can be given an mp supply and cost for specials/freespecials identically to players.
    riseattack - PCs may now use riseattack (U + A when on the ground).
    range - PCs can now use range to create alternate attack chains (see atchain).

  • Command buttons: Now 4 attack buttons are available (attack 1-4 respectively) in addition to Jump and Special. Currently 2-4 are not mapped to any animation, but their events can be captured and used with scripts.

  • (EH) antigrab {int - 0}: Entity's resistance to grabbing. Used in conjunction with grabforce (see below).

  • (EH) grabforce {int - 0}: Entity's ability to overcome grab resistance. To grab another entity, this entity?s grabforce must equal or exceed the opposing entity?s antigrab (see above).

  • jumpframe {frame} {y} {x} {z}: Jumpframe is now identical for all entities and includes new Z parameter.

  • anim jumpdelay: This animation is played at start of jump and the character will not actually leave the ground until the animation is complete (Think of the crouch nearly every game character takes a split second before they leap into air). This is not played for animations with jumpframe; only at the start of a normal jump.

  • anim jumpland: This animation is played when character lands from a jump. This is not played for animations with jumpframe; only at the end of a normal jump.

  • anim forwardjump: This animation is played when character jumps forward. This is not played for animations with jumpframe; only a normal jump.

  • anim runjump: This animation is played when character jumps while running. This is not played for animations with jumpframe; only a normal jump.

  • (AC) dropframe {frame}: When an entity is in the air, the current animation will switch to frame when flight apex is reached.

  • (AC) landframe {frame}: When an entity is in the air, the current animation will switch to frame when entity touches ground. This is a very usful tool for making flying moves and jump attacks with proper landing animations; epscially when platforms are involved.

  • (EH) bounce {int - 1}: Determines entity behavior when knocked down. If set to 0, entity will not bounce, cause a quake or play impact sound. Amoung other things, this is usful for ultra light or flying characters.

  • Follow ups: Sounds and flashes now play correctly during follow ups.

  • Biker speed: Speed setting now works for bikers.

  • (EH) offense {type} {% - 0}: Increases or decreases damage output of given attack type by %. For example, ?offense shock 75? will increase the power of entity's shock attacks by 75%, whereas ?offense burn -50? will reduce burn power by 50%. You can exceed 100 in either direction and yes the math is logical; meaning that a setting lower then -100 will cause attack to give HP to its target. Use the following in {type}, do not enclose the value in quotations.

    all (Affects all types)
    normal# (replace # with type number)
    shock
    burn
    steal
    blast
    freeze (Only affects damage, does not change freeze effect)

  • (EH) defense {type} {% - 0}: Increases or decreases damage received from a given attack type by %. For example, ?defense shock 75? will decrease incoming shock damage by 75%, whereas ?defense burn -50? will increase incoming burn damage by 50%. You can exceed 100 in either direction and yes the math is logical; meaning that a setting greater then 100 will cause entity to regain HP from the incomming attack. See offense for a list of {type} entries.

  • (LH) lbarsize {x - 100} {y - 5} {border - 0} {type - 0} {orientation - 0} {Border layer - 0} {shadow layer - 0} {graph layer - 0} {backfill layer - 0}: Lifebars now allow a variety of configurations as follows:

    X - Maximum horizontal size.
    Y - Maximum vertical size.
    border - 1 = no border.
    type - 0 = Pixel per point fill with rollover (SOR/Original BOR style). 1 = % based fill (the graph is always its maximum size, and fills based on what % of HP/MP is remaining).
    orientation - 0 = Horizontal fill. 1 = Vertical fill.
    borderlayer - Layer adjustment of outer border.
    shadowlayer - Layer adjustment of border shadow.
    graph layer - Layer adjustment of graph fill.
    backfill layer - Layer adjustment of graph background.

  • (LH) mpbarsize {x - 100} {y - 5} {border - 0} {type - 0} {orientation - 0} {Border layer - 0} {shadow layer - 0} {graph layer - 0} {backfill layer - 0}: Identical to lbarsize (See above), but controls magic bar.

  • (LH) olbarsize {x - na} {y - na} {border - na} {type - na} {orientation - na} {Border layer - na} {shadow layer - na} {graph layer - na} {backfill layer - na}: Identical to lbarsize (See above), but controls opponent's life bar. If unused, all values will default to whatever settings are used for lbarsize.

  • (EH) lifespan {Seconds - na}: When spawned, this entity will die after the given number of seconds. It will play its normal death animation if it has one.

  • (EH) Nopassiveblock {int - 0}: When set to 1, AI controlled entities block more like a player and hold their blocks breifly rather then "flashing" them on and off.

  • (AC) attack# {X} {y} {x} {y} {damage} {Power} {blockable} {noflash} {pausetime} {z}: Attack boxes have recived some upgrades. The following additions have been made:

    -Attacks can hit when damage is 0. Good for all kinds of effects, throws in particular.
    -Power replaces knockdown and works in conjunction with knockdowncount. See knockdowncount for details.
    -Z parameter added. Use this to set depth range of attack.

  • (EH) knockdowncount {int - 0}: When used, only a combination of attacks whose total power (see attack#) meets or exceeds {int} will knock this entity down. Has no effect when jumping.

  • (AC) fshadow {int - see text}: Use this command to select the models shadow size for the subsequent frames Usage is identical to attack, meaning it may be used more then once in an animation (this consumes more memory, so be careful). Available selections are the number of shadows available to the engine (6 as of 12/09/2007). Default is the models normal shadow size.

  • (AC) shadowcoords {x} {z}: Adjusts offset of the model's shadow. Defaults to offset values of current frame. Usage is identical to attack, meaning it may be used more then once in an animation (this consumes more memory, so be careful).

  • (SH) palette {path} {alpha1 - 0} {alpha2  - 0} {alpha3 - 0} {alpha4 - 0} {alpha5 - 0} {alpha6 - 0}: This command loads a new palette into memory for use by script or the setpalette command. {Path} is the path to an .act palette file ("data/bgs/stage1/pal0001.act").

    Set {Alpha#} to 1 to enable the given transparency when loaded palette is used. Don't turn on a transparency switch unless you intend to use it as each one costs an extra 384kb of memory when the palette is loaded.

  • (SH) setpalette {palette} {at}: Change palette in use to another loaded by the palette command. Using this command is very similar to an entity spawn. You can even place it within a group to change palettes as enemies are defeated. {Palette} is a number corresponding to the list of alternate palettes loaded in memory, starting from 1. {At} is the stage location where the switch will occur.



Attack Supplements: Place one or more of these commands directly below attack box to add various special effects to an attack.

  • attackone {yes/no ? See text}: If set to 1 attacks in animation can only hit single opponent. Defaults to 0 for normal attacks and 1 for grabattacks. This means it is now possible to allow hitting of multiple opponents during grabs, or to create throws outside of normal grabbing that can?t hit more then one opponent.

  • grabin {type - 0} {distance - 0}: Causes next non knockdown attack to grab opponent in same manor as normal grab. Type selects from following effects:

    0 - None (use to turn off active grabin).
    1 - Opponent is pulled in; attacking entity does not move.
    2 - Opponent and attacking entity are pulled to each other splitting the distance.

    Distance is not range of grabin (that is effectively controlled by the attack box). It instead controls distance of opponent in relation to entity after being grabbed.

  • forcedirection {dir}: Force opponent to face specfic direction when hit by attack. Use {dir} to choose from following:

    0 - None (Use to turn off active forcedirection).
    -2 - Left.
    -1 - Opposite of attacking entity.
    1 - Same as attacking entity.
    2 - Right.

    You may also use any number not appearing in this list to prevent opponent from turning at all (normally an entity automatically faces the entity that hit it).

  • dropv {y} {x} {z}: Adjusts opponent's flight path during knockdown. Make them drop in place, fly behind you, or send them to the moon. Great for making new throws and juggle combos.

  • damageonlanding {int - 0} {type - 0}: Cause {int} extra damage when opponent lands from knockdown. Another nice aid for throws and slams. Use {type} to select from following effects:

    0 - Opponent simply receives given damage when landing; he will not hit other characters.
    1 - Similar to blast, opponent can hit other characters during fall.
    2 - Similar to throw, opponent can hit other characters and may use land to take 0 damage.

  • stun {time - NA}: Cause attack to freeze target for {int} seconds, but without any remaping.

  • seal {time - NA}: Cause attack to disable opponent's special and freespecial moves for {int} seconds.

  • forcemap {remap - NA} {time - NA} : Cause attack to set opponent to {remap} color remap for {time} seconds. 

  • drain {resource} {amount} {rate} {time} : Cause attack to trigger a drain on opponent's resources over time.

    {resource} - 1 = HP, 2 = MP, 3 = both.
    {amount} - Amount of resource to drain per tick.
    {rate} - Time between drain ticks. Positive numbers slow drain down, negative speeds it up.
    {time} - Time in seconds before drain effect expires.

    Note that the drain effect itself will not cause pain, knockdown, or death.


And many more... I will add them as time passes. Please feel free to post any corrections or features/fixes I may have missed.

DC
« Last Edit: January 02, 2008, 01:34:42 pm by Damon Caskey »
OpenBOR Wiki.

Coming Soon:
Spoiler
Fatal Fury Chronicals


Offline Mr.Q®

  • The Godfather of Modding
  • Hero Member
  • *****
  • Posts: 737
    • Sing Lung Iquique
Re: Feature Archive
« Reply #1 on: May 17, 2007, 12:27:36 am »
Sounds nice indeed...although I have a question about jumpframe x y z:

Currently for playable chars, if you have for example:

jumpframe 3

It'll start jumping from frame 4, a forward jump btw using the current jumpheight, that might be 4 as default, from the character you're making this move, but what happens if you want it to have a jumpheight of 3 and still keeping the original jumpheight of 4?

If you do something like:

jumpframe 3 3

The playable character will jump straight up using that jumpheight of 3, but the fwd move is missing at all...so we also need a value like 1 - 0 for telling if it's about a fwd jump or an straight up jump!

Q (L) Reika, and BTW, no more mr. "Nice Guy".

Offline Damon Caskey

  • Hero Member
  • *****
  • Posts: 5335
    • The Gorge
Re: Feature Archive
« Reply #2 on: May 17, 2007, 01:05:24 am »
I don't like loss of momentum if you already jumping either; it ruined my double jumps. UT mentioned something about a flag to allow keeping current momentum, but I haven't heard anything since.

DC
OpenBOR Wiki.

Coming Soon:
Spoiler
Fatal Fury Chronicals


Offline utunnels

  • Developer
  • Hero Member
  • *****
  • Posts: 2713
Re: Feature Archive
« Reply #3 on: May 17, 2007, 01:33:41 am »
Backward support for jumpframe is just tricky, most mods are OK, but not all.

e.g., if you use weapon, and jumpframe might be different from you main model's.

But I found that is very rare, maybe battle toads.

So it is nice to use 3rd parameter but not default values(specify speed in x direction).


Offline Orochi_X

  • Hero Member
  • *****
  • Posts: 3301
  • Now! Count up your crimes.
Re: Feature Archive
« Reply #4 on: June 01, 2007, 02:23:14 pm »
DC - Those layer commands in your new lifebar commands.....are they in relation to eachother or everythig onscreen?

I still can't seem to get them to display behind the icon.......


* Orochi_X says : " Sore ga doushita? " :looney:

Offline Damon Caskey

  • Hero Member
  • *****
  • Posts: 5335
    • The Gorge
Re: Feature Archive
« Reply #5 on: June 01, 2007, 03:41:09 pm »
They are an adjustment from their standard location.

The border for example sits at layer (HUD + 2 + Adjustment). I have no idea what the HUD constant is, but I found it takes an adjustment of around -390 to get the lifebar behind bgicon.

It does work, but you'll have to play around with the numbers to get results.

DC

OpenBOR Wiki.

Coming Soon:
Spoiler
Fatal Fury Chronicals


Offline Orochi_X

  • Hero Member
  • *****
  • Posts: 3301
  • Now! Count up your crimes.
Re: Feature Archive
« Reply #6 on: June 01, 2007, 04:31:00 pm »
Thank you sir  ;D

I started getting worried at -100....shoulda kept going lol


* Orochi_X says : " Sore ga doushita? " :looney:

Offline Orochi_X

  • Hero Member
  • *****
  • Posts: 3301
  • Now! Count up your crimes.
Re: Feature Archive
« Reply #7 on: June 16, 2007, 10:03:52 am »
  • Command buttons: Now 4 attack buttons are available (attack 1-4 respectively) in addition to Jump and Special. Currently 2-4 are not mapped to any animation, but their events can be captured and used with scripts.


I know we are all busy this time of year but I'd like to start pushing for full integration of this feature. I've tried using script to immitate extra attack buttons but , according to UT , the script engine isn't the best way to use these extra buttons as it currently cannot change between different A.I. types (i.e. changing from idle to attack)

SX , I really think the best way to implement them would be as I said way back in one of our chats....just duplicate what the attack button currently does and use a naming convention similar to this...

For attacks , we currently have anim attack# so for the new buttons it would be anims 2attack# , 3attack# and 4attack#

When declaring an attack button in the COM settings we could use a , 2a , 3a and 4a

atchain could be modified too (ideally , to be able to define multiple chains ) again preceeding the attack number with the "button number"
- atchain 1 2 31 22 41

I know DC might not like this hard coded solution but with script and new commands like grabin , we could still use them "outside the box" . With the above command , we could turn one button into a dedicated grab button , for instance.

Again , sorry for nagging but not having full use of 4 attack buttons is detrimental to both of my mods and I'm sure others would like to use them too.
« Last Edit: June 16, 2007, 10:05:33 am by Orochi_X »


* Orochi_X says : " Sore ga doushita? " :looney:

Offline SX

  • Administrator
  • Hero Member
  • *****
  • Posts: 2700
    • LavaLit
Re: Feature Archive
« Reply #8 on: June 16, 2007, 10:17:27 am »
I will resume working on this feature...... 

Offline Orochi_X

  • Hero Member
  • *****
  • Posts: 3301
  • Now! Count up your crimes.
Re: Feature Archive
« Reply #9 on: June 17, 2007, 07:07:25 am »
Thanks SX. Sorry for sounding like a whiner.

After re-reading my thread ,I think it might have come across wrong....you know I have the upmost respect for all you coders , right?  ;)


* Orochi_X says : " Sore ga doushita? " :looney:

Offline Bloodbane

  • Hero Member
  • *****
  • Posts: 7113
  • Dark Dragon
Re: Feature Archive
« Reply #10 on: July 04, 2007, 10:49:34 am »
 
Quote
jumpframe {frame} {y} {x} {z}: Jumpframe is now identical for all entities and includes new Z parameter.

 I've tried this and it works but you need to add this info:
 "Some {y} settings have their own {x} setting. Meaning {x} is not always 0. To make sure x = 0, always set {x} = 0."

 
Quote
Biker speed: Speed setting now works for bikers.

 It's working well! But you should post info about their default speed. If I'm not mistaken, their default speed is 20.
 There's bug related to this though, I've posted it in bugs section.
OpenBoR Manual

Basic OpenBoR Tutorials

OpenBoR Tricks & Tutorials

"The more often enemies attack, the more open they are to counter attacks"

Offline Bloodbane

  • Hero Member
  • *****
  • Posts: 7113
  • Dark Dragon
Re: Feature Archive
« Reply #11 on: July 08, 2007, 06:15:11 am »
 I've tried setting lifebar to % based and apparently it has side effect. Only graphical effect though. Lifebar color changes based on how many HP are left and the colors are based on lifebar.txt.
OpenBoR Manual

Basic OpenBoR Tutorials

OpenBoR Tricks & Tutorials

"The more often enemies attack, the more open they are to counter attacks"

Offline Orochi_X

  • Hero Member
  • *****
  • Posts: 3301
  • Now! Count up your crimes.
Re: Feature Archive
« Reply #12 on: July 08, 2007, 06:24:45 am »
Is your lifebar 100 pixels? If so then I think I'm right in saying that its working just as it should.

% based lifebars use % based values to determine when to apply changes to the lifebar colour.

It's well documented.


* Orochi_X says : " Sore ga doushita? " :looney:

Offline Damon Caskey

  • Hero Member
  • *****
  • Posts: 5335
    • The Gorge
Re: Feature Archive
« Reply #13 on: July 08, 2007, 06:54:02 am »
Yes, like OX said, that is an intentional effect.

As life falls below a certain %, colors are changed. The remaining color is always used as the backfill, and since everything is % based it won't matter if the lifebar is 4 pixels or 400 or if you have a 10K HP, it always works the same; that's the beauty behind it. I can't remember atm which color is which, but I did document it somewhere; I'll see if I can't dig it up.

DC
OpenBOR Wiki.

Coming Soon:
Spoiler
Fatal Fury Chronicals


Offline MCW

  • Hero Member
  • *****
  • Posts: 1076
  • BOR = Beats Of Rage
Re: Feature Archive
« Reply #14 on: July 08, 2007, 12:55:00 pm »
If you use % based, Backfill colour that use 500 as alpha tranperancy does not working and it was overwrite by the Shadow colour.

If you do not believe it, try it yourself. I have post in help before but nodbody respond.


Be a Good Reader,
Read the post from first word until to the last.

 



 0%




SimplePortal 2.3.3 © 2008-2010, SimplePortal