• All, Gmail is currently rejecting messages from my host. I have a ticket in process, but it may take some time to resolve. Until further notice, do NOT use Gmail for your accounts. You will be unable to receive confirmations and two factor messages to login.
OpenBOR

OpenBOR 4.0 7556

No permission to download
@DCurrent I am chating with @Kratus at discord and we saw something:
If you use an script to change from the IDLE landframe to a follow animation, it works.
But if you use the legacy ATTACK1 animation (which I do), once it bounces, it flies away.

But even if you use a script to change to a follow animation, there is something wrong in the gravity for sure: pay attention how the grenade falls slower and close to Leo (OB3) but faster, jumps higher and falls near the wall (OB4)


I can send you the game if you need it.
 
If you use an script to change from the IDLE landframe to a follow animation, it works.
But if you use the legacy ATTACK1 animation (which I do), once it bounces, it flies away.
Sorry, I'm a little confused at what you mean here. Let's tackle these one at a time...

But even if you use a script to change to a follow animation, there is something wrong in the gravity for sure: pay attention how the grenade falls slower and close to Leo (OB3) but faster, jumps higher and falls near the wall (OB4)
Mind posting the projectile code?

DC
 
Oh, @O Ilusionista, something that can help and you might not have seen in the notes. Try the new get_entity_property(<entity>, <property constant>) with openborconstant("PROPERTY_ACCESS_DUMP"). Then check the log to see what happens. :)

C:
void acting_entity = <some entity>;

get_entity_property(acting_entity, openborconstant("PROPERTY_ACCESS_DUMP"));

DC
 
@Kratus, have you had any issues with gravity in SORX?
@DCurrent No, the gravity is working fine for me but I will take a closer look now.

EDIT: according to what me and Ilu talked about, it's related to a different velocity applied at the moment the projectile is spawned using the projectile() command, it seems that the "speed" property at the header is not affecting the projectile. If I'm not wrong we had some engine changes in this aspect, I remember I needed to adapt SORX to it.

In addition, there's another change in the bomb behaviour when touching the ground, it seems that the attack1/attack2 have a different behaviour than other animations like idle. I didn't test it because I use landframe for that purpose, I never used the attack1/attack2 during a bomb landing.

1704154245393.png
 
Last edited:
Sorry, I'm a little confused at what you mean here.
Sorry. I mean this:

bomb {name} pbomb {name}

  • This command is different for players and enemies. Players should use "pbomb" and enemies should use "bomb".
  • Used like "load". {name} will be tossed out like a grenade.
  • Bombs start off playing their IDLE animation until one of three things happens:
    • 1: The bomb touches an entity
    • 2: The bomb is hit by an attack
    • 3: The bomb touches the ground
  • After 1 or 2, the bomb will play it's ATTACK2 animation.
  • After 3, the bomb will play it's ATTACK1 animation.
  • After playing it's attack animation, the bomb will disappear.
If I use the legacy mode, where the Bomb changes its animation from IDLE to ATTACK1 when it touches the ground, instead of just bouncing on the ground and falling again during the ATTACK1 animation, the entity simply ignores gravity and goes flying - as you can see the video above.

However, if we do not use the ATTACK1 animation and instead use a script to force the entity to go from IDLE to FOLLOW1, it no longer flies and respects gravity.
However, both the height of the "jump" and the speed of fall when the distance the grenade travels in the air are different from normal.

My original code:

name mgren
type none
speed 6
jumpheight 3
gfxshadow 1
palette none
subject_to_wall 1
subject_to_minz 1
subject_to_maxz 1
subject_to_platform 1
subject_to_hole 1
subject_to_basemap 1
no_adjust_base 0
candamage player npc

animationscript data/scripts/grabscript.c
palette data/chars/misc/mgren/grenade/0.gif

load ExplosionE















anim attack1
loop 0
offset 7 14
delay 6
@cmd velo001 1.5 NULL() 1.8
@cmd spawn01 "po" 0 0 1
sound data/chars/misc/mgren/grenade/land.wav
frame data/chars/misc/mgren/grenade/0.gif
frame data/chars/misc/mgren/grenade/1.gif
frame data/chars/misc/mgren/grenade/2.gif
frame data/chars/misc/mgren/grenade/3.gif
frame data/chars/misc/mgren/grenade/4.gif
frame data/chars/misc/mgren/grenade/5.gif
attack 0 0 0 0 0 0 0 0 0 0
delay 6
@cmd velo001 0.25 NULL() 0.5
frame data/chars/misc/mgren/grenade/0.gif
delay 6
frame data/chars/misc/mgren/grenade/1.gif
frame data/chars/misc/mgren/grenade/2.gif
frame data/chars/misc/mgren/grenade/2.gif
frame data/chars/misc/mgren/grenade/2.gif
delay 50
frame data/chars/misc/mgren/grenade/2.gif
delay 6
drawmethod tintmode 6
drawmethod tintcolor 255_0_0
frame data/chars/misc/mgren/grenade/2.gif
nodrawmethod
frame data/chars/misc/mgren/grenade/2.gif
drawmethod tintmode 6
drawmethod tintcolor 255_0_0
frame data/chars/misc/mgren/grenade/2.gif
nodrawmethod
frame data/chars/misc/mgren/grenade/2.gif
drawmethod tintmode 6
drawmethod tintcolor 255_0_0
frame data/chars/misc/mgren/grenade/2.gif
delay 30
offset 60 46
sound data/sounds/sboom.wav
burn 52 37 16 18 29 20 1 0 10 15
dropv 3.0 3.0
@cmd spawn01 "ExplosionE" 0 0 1
@cmd spawn01 "stompfx" 0 0 -1
nodrawmethod
@cmd killentity getlocalvar("self")
frame data/chars/empty.gif

anim attack2
loop 0
delay 30
offset 7 14
sound data/sounds/sboom.wav
burn -12 0 42 34 12 20 1 0 10 15
dropv 3.0 3.0
@cmd spawn000 "sboom" 0 20 0
frame data/sprites/0empty.gif

anim idle
loop 1
offset 7 14
delay 6
burn 0 2 16 18 29 20 1 0 10 15
dropv 3.0 3.0
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/0.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/1.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/2.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/3.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/4.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/5.gif

Kratus changed the idle code to use a script to force the animation change:
anim idle
landframe 6
loop 1 1 6
offset 7 14
delay 6
burn 0 2 16 18 29 20 1 0 10 15
dropv 3.0 3.0
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/0.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/1.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/2.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/3.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/4.gif
@cmd antiwallturn 10 5 0
frame data/chars/misc/mgren/grenade/5.gif
@cmd anichangeattack "ANI_FOLLOW1"
frame data/chars/misc/mgren/grenade/5.gif
Everything is the same.


I've added your dump code into my toss function:
C-like:
void toss(void Bomb, float dx, float dy, float dz)
{ // Tossing bomb
   void self = getlocalvar("self");
   int Direction = getentityproperty(self, "direction");
   int x = getentityproperty(self, "x");
   int y = getentityproperty(self, "a");
   int z = getentityproperty(self, "z");


   if (Direction == 0){ //Is entity facing left?                 
      dx = -dx; //Reverse X direction to match facing
   }
void vBomb = projectile(Bomb, x+dx, z+dz, y+dy, Direction, 0, 1, 0);
get_entity_property(vBomb, openborconstant("PROPERTY_ACCESS_DUMP"));
}


And this is the result:

Property List: 0C610CD8
| Index | ID | Type | Access | Value
| 0 | ENTITY_PROPERTY_AI_DISABLE | VT_INTEGER | Read, Write | 0
| 1 | ENTITY_PROPERTY_AI_TARGET_ENTITY | VT_PTR | Read, Write | 00000000
| 2 | ENTITY_PROPERTY_ALTERNATE_IDLE | VT_INTEGER | Read, Write | 0
| 3 | ENTITY_PROPERTY_ALTERNATE_WALK | VT_INTEGER | Read, Write | 0
| 4 | ENTITY_PROPERTY_ANIMATION | VT_PTR | Read | 0C5A46A0
| 5 | ENTITY_PROPERTY_ANIMATION_FRAME | VT_INTEGER | Read, Write | 0
| 6 | ENTITY_PROPERTY_ANIMATION_ID | VT_INTEGER | Read, Write | 1
| 7 | ENTITY_PROPERTY_ANIMATION_ID_PREVIOUS | VT_INTEGER | Read, Write | 0
| 8 | ENTITY_PROPERTY_ANIMATION_STATE | VT_INTEGER | Read, Write | 1
| 9 | ENTITY_PROPERTY_ANIMATION_TIME | VT_INTEGER | Read, Write | 595
| 10 | ENTITY_PROPERTY_ARROW_STATE | VT_INTEGER | Read, Write | 0
| 11 | ENTITY_PROPERTY_ATTACK_ID_INCOMING | VT_PTR | Read | 0C6111D0
| 12 | ENTITY_PROPERTY_ATTACK_ID_OUTGOING | VT_INTEGER | Read, Write | 0
| 13 | ENTITY_PROPERTY_ATTACK_STATE | VT_INTEGER | Read, Write | 2
| 14 | ENTITY_PROPERTY_AUTOKILL | VT_INTEGER | Read, Write | 0
| 15 | ENTITY_PROPERTY_BACK_HIT_DIRECTION | VT_INTEGER | Read, Write | 0
| 16 | ENTITY_PROPERTY_BIND | VT_PTR | Read | 0C610CE0
| 17 | ENTITY_PROPERTY_BLAST_STATE | VT_INTEGER | Read, Write | 0
| 18 | ENTITY_PROPERTY_BLINK | VT_INTEGER | Read, Write | 0
| 19 | ENTITY_PROPERTY_BLOCK_STATE | VT_INTEGER | Read, Write | 0
| 20 | ENTITY_PROPERTY_BOSS | VT_INTEGER | Read, Write | 0
| 21 | ENTITY_PROPERTY_CHARGE_STATE | VT_INTEGER | Read, Write | 0
| 22 | ENTITY_PROPERTY_CHILD | VT_PTR | Read, Write | 00000000
| 23 | ENTITY_PROPERTY_COLORSET_DEFAULT | VT_INTEGER | Read, Write | 0
| 24 | ENTITY_PROPERTY_COLORSET_DYING_HEALTH_1 | VT_INTEGER | Read, Write | 0
| 25 | ENTITY_PROPERTY_COLORSET_DYING_HEALTH_2 | VT_INTEGER | Read, Write | 0
| 26 | ENTITY_PROPERTY_COLORSET_DYING_INDEX_1 | VT_INTEGER | Read, Write | 0
| 27 | ENTITY_PROPERTY_COLORSET_DYING_INDEX_2 | VT_INTEGER | Read, Write | 0
| 28 | ENTITY_PROPERTY_COLORSET_TABLE | VT_PTR | Read, Write | 0CAD8490
| 29 | ENTITY_PROPERTY_COLORSET_TIME | VT_INTEGER | Read, Write | 0
| 30 | ENTITY_PROPERTY_COMBO_STEP | VT_PTR | Read | 0C6111EC
| 31 | ENTITY_PROPERTY_COMBO_TIME | VT_INTEGER | Read, Write | 0
| 32 | ENTITY_PROPERTY_COMMAND_TIME | VT_INTEGER | Read, Write | 0
| 33 | ENTITY_PROPERTY_DAMAGE_ON_LANDING | VT_PTR | Read | 0C610CD8
| 34 | ENTITY_PROPERTY_DEATH_STATE | VT_INTEGER | Read, Write | 0
| 35 | ENTITY_PROPERTY_DEFENSE | VT_PTR | Read | 0C618D78
| 36 | ENTITY_PROPERTY_DESTINATION_X | VT_DECIMAL | Read, Write | 0.000000
| 37 | ENTITY_PROPERTY_DESTINATION_Z | VT_DECIMAL | Read, Write | 0.000000
| 38 | ENTITY_PROPERTY_DIE_ON_LANDING | VT_INTEGER | Read, Write | 0
| 39 | ENTITY_PROPERTY_DRAWMETHOD | VT_PTR | Read, Write | 0C649EB8
| 40 | ENTITY_PROPERTY_DROP | VT_INTEGER | Read, Write | 0
| 41 | ENTITY_PROPERTY_DUCK_STATE | VT_INTEGER | Read, Write | 0
| 42 | ENTITY_PROPERTY_ENTVAR_COLLECTION | VT_PTR | Read, Write | 0C605620
| 43 | ENTITY_PROPERTY_ESCAPE_COUNT | VT_INTEGER | Read, Write | 0
| 44 | ENTITY_PROPERTY_EXISTS | VT_INTEGER | Read, Write | 1
| 45 | ENTITY_PROPERTY_EXPLODE | VT_INTEGER | Read, Write | 3
| 46 | ENTITY_PROPERTY_FACTION | VT_PTR | Read | 0C610D34
| 47 | ENTITY_PROPERTY_FALL_STATE | VT_INTEGER | Read, Write | 0
| 48 | ENTITY_PROPERTY_FREEZE_STATE | VT_INTEGER | Read, Write | 0
| 49 | ENTITY_PROPERTY_FREEZE_TIME | VT_INTEGER | Read, Write | 0
| 50 | ENTITY_PROPERTY_FUNCTION_TAKE_ACTION | VT_PTR | Read, Write | 00000000
| 51 | ENTITY_PROPERTY_FUNCTION_TAKE_DAMAGE | VT_PTR | Read, Write | 0045A6C0
| 52 | ENTITY_PROPERTY_FUNCTION_THINK | VT_PTR | Read, Write | 00453BB0
| 53 | ENTITY_PROPERTY_FUNCTION_TRY_MOVE | VT_PTR | Read, Write | 00000000
| 54 | ENTITY_PROPERTY_GET_STATE | VT_INTEGER | Read, Write | 0
| 55 | ENTITY_PROPERTY_GRAB_TARGET | VT_PTR | Read, Write | 00000000
| 56 | ENTITY_PROPERTY_GRAB_WALK_STATE | VT_INTEGER | Read, Write | 0
| 57 | ENTITY_PROPERTY_GUARD_TIME | VT_INTEGER | Read, Write | 0
| 58 | ENTITY_PROPERTY_HP | VT_INTEGER | Read, Write | 0
| 59 | ENTITY_PROPERTY_HP_OLD | VT_INTEGER | Read, Write | 0
| 60 | ENTITY_PROPERTY_IDLE_STATE | VT_INTEGER | Read, Write | 3
| 61 | ENTITY_PROPERTY_IN_PAIN | VT_INTEGER | Read, Write | 0
| 62 | ENTITY_PROPERTY_IN_PAIN_BACK | VT_INTEGER | Read, Write | 0
| 63 | ENTITY_PROPERTY_INVINCIBLE_STATE | VT_INTEGER | Read, Write | 0
| 64 | ENTITY_PROPERTY_INVINCIBLE_TIME | VT_INTEGER | Read, Write | 0
| 65 | ENTITY_PROPERTY_ITEM_DATA | VT_PTR | Read, Write | 00000000
| 66 | ENTITY_PROPERTY_JUMP_ANIMATION_ID | VT_INTEGER | Read, Write | 0
| 67 | ENTITY_PROPERTY_JUMP_STATE | VT_INTEGER | Read, Write | 0
| 68 | ENTITY_PROPERTY_JUMP_VELOCITY_X | VT_DECIMAL | Read, Write | 0.000000
| 69 | ENTITY_PROPERTY_JUMP_VELOCITY_Y | VT_DECIMAL | Read, Write | 0.000000
| 70 | ENTITY_PROPERTY_JUMP_VELOCITY_Z | VT_DECIMAL | Read, Write | 0.000000
| 71 | ENTITY_PROPERTY_KNOCKDOWN_COUNT | VT_INTEGER | Read, Write | 0
| 72 | ENTITY_PROPERTY_KNOCKDOWN_TIME | VT_INTEGER | Read, Write | 0
| 73 | ENTITY_PROPERTY_LAST_DAMAGE_TYPE | VT_INTEGER | Read, Write | 0
| 74 | ENTITY_PROPERTY_LAST_HIT | VT_PTR | Read, Write | 00000000
| 75 | ENTITY_PROPERTY_LIFESPAN | VT_INTEGER | Read, Write | 2147483647
| 76 | ENTITY_PROPERTY_LINK | VT_PTR | Read, Write | 00000000
| 77 | ENTITY_PROPERTY_MODEL | VT_PTR | Read, Write | 0C624598
| 78 | ENTITY_PROPERTY_MODEL_DATA | VT_PTR | Read | 0C610D50
| 79 | ENTITY_PROPERTY_MODEL_DATA | VT_PTR | Read, Write | 0C624598
| 80 | ENTITY_PROPERTY_MOVE_TIME | VT_INTEGER | Read, Write | 584
| 81 | ENTITY_PROPERTY_MOVE_X | VT_DECIMAL | Read, Write | 0.000000
| 82 | ENTITY_PROPERTY_MOVE_Z | VT_DECIMAL | Read, Write | 2.000000
| 83 | ENTITY_PROPERTY_MP | VT_INTEGER | Read, Write | 0
| 84 | ENTITY_PROPERTY_MP_CHARGE_TIME | VT_INTEGER | Read, Write | 0
| 85 | ENTITY_PROPERTY_MP_OLD | VT_INTEGER | Read, Write | 0
| 86 | ENTITY_PROPERTY_MP_TIME | VT_INTEGER | Read, Write | 0
| 87 | ENTITY_PROPERTY_NAME | VT_STR | Read, Write | mgren
| 88 | ENTITY_PROPERTY_NEXT_ATTACK_TIME | VT_INTEGER | Read, Write | 0
| 89 | ENTITY_PROPERTY_NEXT_HIT_TIME | VT_INTEGER | Read, Write | 0
| 90 | ENTITY_PROPERTY_NOGRAB | VT_INTEGER | Read, Write | 1
| 91 | ENTITY_PROPERTY_NOGRAB_DEFAULT | VT_INTEGER | Read, Write | 1
| 92 | ENTITY_PROPERTY_OBSTRUCTED | VT_INTEGER | Read, Write | 0
| 93 | ENTITY_PROPERTY_OBSTRUCTION_OVERHEAD | VT_INTEGER | Read, Write | 0
| 94 | ENTITY_PROPERTY_OFFENSE | VT_PTR | Read, Write | 0C5DBD98
| 95 | ENTITY_PROPERTY_OPPONENT | VT_PTR | Read, Write | 00000000
| 96 | ENTITY_PROPERTY_OWNER | VT_PTR | Read, Write | 0C650E18
| 97 | ENTITY_PROPERTY_PARENT | VT_PTR | Read, Write | 00000000
| 98 | ENTITY_PROPERTY_PATH_OBSTRUCTED_WAIT | VT_INTEGER | Read, Write | 0
| 99 | ENTITY_PROPERTY_PAUSE_TIME | VT_INTEGER | Read, Write | 0
| 100 | ENTITY_PROPERTY_PLATFORM_LAND | VT_PTR | Read, Write | 00000000
| 101 | ENTITY_PROPERTY_PLAYER_INDEX | VT_INTEGER | Read, Write | 0
| 102 | ENTITY_PROPERTY_POSITION_BASE | VT_DECIMAL | Read, Write | 0.000000
| 103 | ENTITY_PROPERTY_POSITION_BASE_ALTERNATE | VT_DECIMAL | Read, Write | 0.000000
| 104 | ENTITY_PROPERTY_POSITION_DIRECTION | VT_INTEGER | Read, Write | 0
| 105 | ENTITY_PROPERTY_POSITION_X | VT_DECIMAL | Read, Write | 51539616160.354134
| 106 | ENTITY_PROPERTY_POSITION_Y | VT_DECIMAL | Read, Write | 11962654370299904.000000
| 107 | ENTITY_PROPERTY_POSITION_Z | VT_DECIMAL | Read, Write | 0.000000
| 108 | ENTITY_PROPERTY_PROJECTILE_PRIME | VT_INTEGER | Read, Write | 4109
| 109 | ENTITY_PROPERTY_RECURSIVE_DAMAGE | VT_PTR | Read, Write | 00000000
| 110 | ENTITY_PROPERTY_RELEASE_TIME | VT_INTEGER | Read, Write | 0
| 111 | ENTITY_PROPERTY_RISE_ATTACK_DELAY | VT_INTEGER | Read, Write | 0
| 112 | ENTITY_PROPERTY_RISE_ATTACK_TIME | VT_INTEGER | Read, Write | 0
| 113 | ENTITY_PROPERTY_RISE_DELAY | VT_INTEGER | Read, Write | 0
| 114 | ENTITY_PROPERTY_RISE_STATE | VT_INTEGER | Read, Write | 0
| 115 | ENTITY_PROPERTY_RUN_STATE | VT_INTEGER | Read, Write | 0
| 116 | ENTITY_PROPERTY_RUSH | VT_PTR | Read | 0C6110D8
| 117 | ENTITY_PROPERTY_SCRIPT | VT_PTR | Read, Write | 0C167120
| 118 | ENTITY_PROPERTY_SEAL_ENERGY | VT_INTEGER | Read, Write | 0
| 119 | ENTITY_PROPERTY_SEAL_TIME | VT_INTEGER | Read, Write | 0
| 120 | ENTITY_PROPERTY_SHADOW_CONFIG_FLAGS | VT_INTEGER | Read, Write | 24
| 121 | ENTITY_PROPERTY_SLEEP_TIME | VT_INTEGER | Read, Write | 0
| 122 | ENTITY_PROPERTY_SORT_ID | VT_INTEGER | Read, Write | 100
| 123 | ENTITY_PROPERTY_SPACE_OTHER | VT_PTR | Read, Write | 00000000
| 124 | ENTITY_PROPERTY_SPAWN_TYPE | VT_INTEGER | Read, Write | 15
| 125 | ENTITY_PROPERTY_SPEED_MULTIPLIER | VT_DECIMAL | Read, Write | 0.000000
| 126 | ENTITY_PROPERTY_STALL_TIME | VT_INTEGER | Read, Write | 0
| 127 | ENTITY_PROPERTY_THINK_TIME | VT_INTEGER | Read, Write | 584
| 128 | ENTITY_PROPERTY_TIMESTAMP | VT_INTEGER | Read, Write | 583
| 129 | ENTITY_PROPERTY_TO_COST | VT_INTEGER | Read, Write | 0
| 130 | ENTITY_PROPERTY_TOSS_TIME | VT_INTEGER | Read, Write | 584
| 131 | ENTITY_PROPERTY_TURN_STATE | VT_INTEGER | Read, Write | 0
| 132 | ENTITY_PROPERTY_TURN_TIME | VT_INTEGER | Read, Write | 0
| 133 | ENTITY_PROPERTY_TURN_TIME | VT_INTEGER | Read, Write | 0
| 134 | ENTITY_PROPERTY_VELOCITY_X | VT_DECIMAL | Read, Write | 32.000000
| 135 | ENTITY_PROPERTY_VELOCITY_Y | VT_DECIMAL | Read, Write | 0.000000
| 136 | ENTITY_PROPERTY_VELOCITY_Z | VT_DECIMAL | Read, Write | 0.000000
| 137 | ENTITY_PROPERTY_WALK_STATE | VT_INTEGER | Read, Write | 0
| 138 | ENTITY_PROPERTY_WAYPOINT | VT_PTR | Read, Write | 00000000
| 139 | ENTITY_PROPERTY_WAYPOINT_COUNT | VT_INTEGER | Read, Write | 0
| 140 | ENTITY_PROPERTY_WEAPON_ITEM | VT_PTR | Read, Write | 00000000
| 141 | ENTITY_PROPERTY_WEAPON_STATE | VT_INTEGER | Read, Write | 0
 
id feed gpt snippet that works fine from before changes , and let it tell me what went wrong or could go wrong, and yeah id feed it code for bomb too
 
@DCurrent After many tests I discovered that there's an issue with the type none entities related to header commands, this is why the subject_to_gravity was not working in some other games but curiously it's working normally by script. Tested the subject_to_hole and had the same result as for the type none, but all other types like player/enemy/npc are working fine.

I was able to locate and isolate where possibly the problem is, after disabling the line below the type none works as intended with any subject. I didn't commit because I don't know if this is the right way to fix in the new bitwise system, but at least I can point to a possible direction. I didn't see this before because most of my subjects in the SORX are scripted inside the onspawn event.


1704185078012.png
 
@DCurrent After many tests I discovered that there's an issue with the type none entities related to header commands, this is why the subject_to_gravity was not working in some other games but curiously it's working normally by script. Tested the subject_to_hole and had the same result as for the type none, but all other types like player/enemy/npc are working fine.

I was able to locate and isolate where possibly the problem is, after disabling the line below the type none works as intended with any subject. I didn't commit because I don't know if this is the right way to fix in the new bitwise system, but at least I can point to a possible direction. I didn't see this before because most of my subjects in the SORX are scripted inside the onspawn event.


View attachment 6477

Thanks @Kratus. That line is to meant maintain backward compatibility. It's applying the same flags TYPE NONE used to have with old system, but if removing them fixes it, I have zero issue doing it. I'll send you and @O Ilusionista a build copy in the development thread for testing.

DC
 
Congrats on OpenBOR 4.0 release!

Thank you! (y)

1,000+ updates!?

Yep. The last official release was 6391. The first 4.0 release was 7530. I put a lot of work into this, and @Kratus has been (continues to be) an invaluable resource. He's rooted out bugs, helped me test, and as you can see (he's fgames9000) made quite a few code contributions too. @msmalik681 has been the go to guy for Android and Wii, and @O Ilusionista is a huge help testing.

@Plombo is too busy to really participate these days, but he fixed several things for us along the way too (like the Biwise Not operator).

1704320838287.png

DC
 
Last edited:
Thank you! (y)



Yep. The last official release was 6391. The first 4.0 release was 7530. I put a lot of work into this, and @Kratus has been (continues to be) an invaluable resource. He's rooted out bugs, helped me test, and as you can see (he's fgames9000) made quite a few code contributions too. @msmalik681 has been the go to guy for Android and Wii, and @O Ilusionista is a huge help testing.

@Plombo is too busy to really participate these days, but he fixed several things for us along the way too (like the Biwise Not operator).

View attachment 6508

DC
It's amazing to see the evolution from the last official release to the truly legendary 4.0 version.
Awesome Work!
 
After getting care of some current obstacles, i think that i might as well begin to convert the NS project to the new engine,
i am afraid that i will need lots of guidance when it comes to converting some of the scripts
 
DCurrent updated OpenBOR with a new update entry:

Build 7555

Bug fixes​

  • None type objects subject to gravity bug (flying to outer space).
  • Infinite juggling even after all juggling points expended into negatives.
  • Bomb bouncing and legacy compatibility for projectile velocity.

New Functionality​

New MP icons mpiconmax and mpiconnone. Icons now follow more logical thresholds. See wiki for details...

Read the rest of this update entry...
 
DCurrent updated OpenBOR with a new update entry:

v4.0 Build 7556 - Global Config Update

Fix global config access to use updated logic and format. This means get_global_config() and set_global_config() now accept constants instead of strings for property names. The functions are faster and have the ability to assist debugging by catching invalid object types and outputting a tabled list of properties to the log.

Legacy Conversion​


As global config was in progress and fairly new, most of you won't notice a difference. For anyone...

Read the rest of this update entry...
 
Back
Top Bottom