• All, I am currently in the process of migrating domain registrations. During this time there may be some intermittent outages or slowdowns. Please contact staff if you have any questions.

Add the partner menu of streets of rage 2 by Kratus in all OpenBOR games.

@Steven1985 Thanks for the report.
Please, can you test this updated version? I added a code to fill health after the "complete screen", same as I make on SORX.

Hi Kratus,
I tested the partner menu (portable V2) and the code that you added to fill health after the "complete screen" works.
I'd like to say three things:

1) I went into levels.txt and put the asterisk next to p2namej 259 9 259 1 259 9 (i.e. # p2namej....) to remove the "press start" message during the game but it's still there. What should I do?

Screenshot (73).png

2) Why in the game Beats of Rage 1.0 is "Billy CPU" not in line with Max and the same applies to the lifebar? With the classic game Beats of Rage from the Partner Menu (Portable v2) everything is OK.

Screenshot (78).png

3) In the option respawn of partner menu I'd like you add the third possibility "manual", beyond "Instantly" and "Each new level".
 
@Steven1985

1) I went into levels.txt and put the asterisk next to p2namej 259 9 259 1 259 9 (i.e. # p2namej....) to remove the "press start" message during the game but it's still there. What should I do?
The "# " before the p2namej will not erase the text. In this case, adding, you have some options:

a) Put 999 on all values to move all text to out of the screen
b) Use the translation.txt file to replace every text string with blank space or any other letter that is mapped to a empty space on your font table (commonly I use underline for that)
c) Specific to the player 2, you can make the current set playable only by 1 player changing the "maxplayers" value to 1


2) Why in the game Beats of Rage 1.0 is "Billy CPU" not in line with Max and the same applies to the lifebar? With the classic game Beats of Rage from the Partner Menu (Portable v2) everything is OK.
You can freely edit the position of the cpu partner's "full hud" by changing the values xIcon/yIcon/xName/yName/xLife/yLife on the file "ondraw.c":

C:
if(getglobalvar("partnerLifeBar") == "full_hud"){
    void name    = getentityproperty(self, "defaultname");
    int font    = 1;
    xIcon        = 180;
    yIcon        = 1;
    xName        = xIcon+17;
    yName        = yIcon+8;
    xLife        = xIcon;
    yLife        = yIcon+17;

    if(getlocalvar("lifePos") != 0){
        changeentityproperty(self, "iconposition", xIcon, yIcon);
        changeentityproperty(self, "nameposition", xName, yName);
        changeentityproperty(self, "lifeposition", xLife, yLife);
        setlocalvar("lifePos", 0);
    }
    drawstring(xName+(strwidth("____"+name, font)), yName, font, "CPU");
}


3) In the option respawn of partner menu I'd like you add the third possibility "manual", beyond "Instantly" and "Each new level".
Yeah, I can add this new option in the next version.
 
@Kratus I did the comparison and the two games have the same values, only one has a HUD in line with the player's and the other does not. I didn't understand why. They have the same video resolution..
 
Hi @Kratus , could you add to respawn of partner "manual" and to be able to choose if every time that a partner is spawned it takes a life or no? You are expert 😄
 
Last edited:
Hi @Kratus , I thought that you could to put these two things to next version:
1) The possibility to spawn more than one partner.
2) To the voice HUD to add "none" if you don't want to have hud.
Could you say me when you will post the next version?
 
Hi @Kratus , I thought that you could to put these two things to next version:
1) The possibility to spawn more than one partner.
2) To the voice HUD to add "none" if you don't want to have hud.
Could you say me when you will post the next version?
Hi Steven,
Yes, I can add these features in the next version. However, I don't know when due to a lot of work on SORX and other projects, sorry man.
But once you have a menu where all the basic functions are working, you only need to make a few adjustments in order to adapt it for your projects.
 
Hi @Kratus, I used the keyall "more than one partner", I spawned 2 partners and I saw that if I finish the level with the 2 partners alive, the one that remains on the next level is the last partner spawned, the other is absent.
 
Hi @Kratus, I used the keyall "more than one partner", I spawned 2 partners and I saw that if I finish the level with the 2 partners alive, the one that remains on the next level is the last partner spawned, the other is absent.
The code that load partners is in the level.c in case you want to make some experiments. In the current version,the script is not prepared to support more than 2 partners.
 
The code that load partners is in the level.c in case you want to make some experiments. In the current version,the script is not prepared to support more than 2 partners.
I made some experiments but nothing. For now I spawn other allies when a new level starts.
 
Hi @Kratus , I became a bug discoverer. :)

I tried another game that it has not scripts but I discovered other bugs.

Watch video until 8' 30''. You are gonna see at 45'' that the partner ,with follow caller automatic, continues to move without enemies; at 1' 34'', 4' 55'' and 6' 25'' the HUD of the partner "goes crazy". And moreover I was playing with Haggar CPU and at one point OpenBOR closed :(.


 
Hi @Steven1985, thanks for your tests and feedback :)

The follow caller is automatic but like if it is manual.
You need to check if the npc characters have the subtype "follow" properly declared on the header, otherwise it will not work.

When I call the partner there is black rectangular.
It seems that the font5.png is missing in this game. You need to copy the correct font5.png I put in the latest pack.

Watch video until 8' 30''. You are gonna see at 45'' that the partner ,with follow caller automatic, continues to move without enemies; at 1' 34'', 4' 55'' and 6' 25'' the HUD of the partner "goes crazy". And moreover I was playing with Haggar CPU and at one point OpenBOR closed :(.
Once the script works fine in the original BOR, we can only consider the undesired behaviours as a "bug" if the same thing happens in the BOR game too, where it was originally coded.

Any other issue can be related to the differences between BOR and the other games. Same as I explained before, depending on the game you are trying to put the script, it may need a lot of changes and adaptations.

The intent of the "portable" version is to create a more simple and generic code in order to make it easier to apply in most games. Custom features and adaptations need to be coded by each modder itself, at least until I launch a new version that contains all the community's suggestions.
 
Hi @Kratus , as you can see (link file Final Fight X) subtype follow is present in every header of the partners CPU (Cody_ , Guy_ , Haggar_ and Scorp_).
Fixed the second problem. I added the font5.png in the folder Sprites of the game.
 
Hi @Kratus , as you can see (link file Final Fight X) subtype follow is present in every header of the partners CPU (Cody_ , Guy_ , Haggar_ and Scorp_).
Fixed the second problem. I added the font5.png in the folder Sprites of the game.
Hi Steven. I tried to download Final Fight X but for some reason it didn't work. Can you send me another link?
 
The follow caller is automatic but like if it is manual.
Hi @Steven1985

Tested the partner menu in the Final Fight X and it's working as intended. The only thing I see is that the cpu partner is trying to destroy all obstacles because he is hostile to it, but you can freely change in the "think" script file.

C:
//CHANGE HOSTILE TYPES WITH SOME CONDITIONS CHECK, USED TO MAINTAIN THE NPC INSIDE OF THE SCREEN EDGE AND NEAR TO THE CALLER'S
if(x >= Px-xDif && x <= Px+xDif){ //INSIDE OF THE RANGE??
    if(hostile != 1){
        target1 = "type_enemy";
        target2 = "type_obstacle";

        changeentityproperty(self, "type", openborconstant("TYPE_NPC")); //SET TYPE
        changeentityproperty(self, "subtype", openborconstant("SUBTYPE_FOLLOW")); //SET SUBTYPE
        changeentityproperty(self, "hostile", target1, target2); //TURN ON HOSTILE AND GO TO FIGHT!!
        changeentityproperty(self, "nodrop", 0); //TURN NODROP OFF
        setlocalvar("hostile", 1);
    }
}

I removed all enemies and obstacles, this is the result:
 
Hi @Steven1985

Tested the partner menu in the Final Fight X and it's working as intended. The only thing I see is that the cpu partner is trying to destroy all obstacles because he is hostile to it, but you can freely change in the "think" script file.

C:
//CHANGE HOSTILE TYPES WITH SOME CONDITIONS CHECK, USED TO MAINTAIN THE NPC INSIDE OF THE SCREEN EDGE AND NEAR TO THE CALLER'S
if(x >= Px-xDif && x <= Px+xDif){ //INSIDE OF THE RANGE??
    if(hostile != 1){
        target1 = "type_enemy";
        target2 = "type_obstacle";

        changeentityproperty(self, "type", openborconstant("TYPE_NPC")); //SET TYPE
        changeentityproperty(self, "subtype", openborconstant("SUBTYPE_FOLLOW")); //SET SUBTYPE
        changeentityproperty(self, "hostile", target1, target2); //TURN ON HOSTILE AND GO TO FIGHT!!
        changeentityproperty(self, "nodrop", 0); //TURN NODROP OFF
        setlocalvar("hostile", 1);
    }
}

I removed all enemies and obstacles, this is the result:
Ok but the partner, when enemies and obstacles are not visible, with follow caller in automatic he is idle like in BOR 1.0.
 
Back
Top Bottom