Forum posts

Forum: Broforce

Thread: Discord Server

Started by: ShadowDraftShadowDraft

Good to hear that.
I have been absent from the game myself the last few weeks. I am now really looking forward to running this game again.

 

Forum: Broforce

Thread: WR on the ng+ any% actual patch

Started by: hudsony9hudsony9

argusdusty is first.
The official timing method of this game is in-game time. That is why any runs with only real time are ranked lower on the leaderboard. It doesn't make any sense to be honest.

hudsony9hudsony9 likes this. 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

I only managed to remove about 10% of false results.

http://www.mediafire.com/file/jk31ua3aw9hg9xy/hasBeenSetup.zip/file

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey argusdusty,
your version works really well for me 😃

EDIT: I just tested it again and now the game time is constantly paused. Can you send me your Pointermap?

I updated my version as well, just in case anyone has problems with the Pointers you use, but I am not 100% confident that my version will work for everyone bug-free.

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

I will look into it, for now I would sugest not submitting any times with the Autosplitter until it is fixed

I think there is an easy fix but I am currently travelling so it will take a bit until I can work in it

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey all,
I am sorry that this bug caused so much trouble.
I updated my version of the Autosplitter, it should be working now.

The Autosplitter can not remove the time lost while the screen is black. It simply removes the time lost while the game actually loads a level (either by restarting or loading a New level). Thats why it feels like the Splitter is removing too little time.

I timed the Autosplitter manually by recording a run and comparing Video time to livesplit time in order to check if it is fair.
It is not possible to consistently remove lag in a fair way.
Unfortunately lag is something we all have to deal with (especially in coop).

I think the runs in question should either
add the time after the Satan cutscene
Or manually retime the entire run

 

Forum: Broforce

Thread: New category : Arcade Co-op

Started by: MordaakMordaak

Hi Mordaak,
the category does already exist it is called "Campaign Any% NG+ Co-op".
The rules of the category state:
"Complete the arcade mode in the fastests way possible using more than one player."

The name is a bit confusing since you aren't actually playing the Campaign. I would recommend renaming the category to
"Arcade Any% NG+ Co-op" or just "Any% NG+ Co-op"

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey Uloora,
I'm glad the Autosplitter works for you.
I want to note that this wouldn't have been possible without the help of Gammler33 who helped find some of these original Pointers and argusdusty who found the "GO" countdown, a method to reliably split in the last level and added campaign% support (I haven't implemented it yet, because I'm lazy).

Also good luck with your PB!

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hi Maxi,

unfortunately almost all Pointers stopped working after the last Broforce Update (I guess thats why the Autosplitter is not beeing recognised).

https://github.com/lachszunge/Broforce-Autosplitter/tree/master
This is the Version I'm currently using. There still are some things missing like campaign% support.
And some of these Pointers may not work for you.
You can use the Cheat Table in the github (Broforce_beta.CT) to check which Pointers work.

If you want your Autosplitter to automatically remove load times you will need to Scan for the "is_loading" variable.
Use the option "Pause the game while scanning" to make it easier.
You are looking for a Byte which is 0 when not loading and any number from 1 to 255 when loading.
look for a base address (the green ones in the address list).
Good thing is that you don't need to Pointer Scan for it since base addresses usually don't change.

If you are sure that your pointers are correct and there are no syntax errors in the code of the Autosplitter try removing variables , pointer paths and lines of code which you are not using.

I hope this was helpful. If you need any additional help feel free to ask.

MaodenMaoden likes this. 

Forum: Broforce

Thread: Ways to reduce load times?

Started by: [Deleted user]

I am trying to find a way to automatically remove loads from your Splits.
It works on my system but is not a general solution to the problem.
If you want more information check out the autosplitter thread

 

Forum: Broforce

Thread: Funny and potentially useful bugs

Started by: lachszungelachszunge

Alright, I just found a really dumb bug which coincidentally is a quick kill for Sky Fortress

This makes no sense to me.
All you have to do is repeatedly press the "Space"-key on your keyboard in the Last phase of the fight.
This works with any Bro.
The key does not even have to be bound to anything, it is pure coincidence that it is the same key as jump.

wOkEbOiwOkEbOi, MamieMamie and argusdustyargusdusty like this. 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey argusdusty,
I finally found some time to check all the Pointers:
-your game_speed Pointer works very well for me, I scanned for it myself and came to the same result.
-your boss_health Pointer does not work for me, I use:
"mono.dll", 0x1F46AC, 0x8, 0x470, 0x18, 0x98, 0x1E8;
but even after I ensured that the Pointer was correct it sometimes wouldn't split on Satans death.
So I looked at Satans hp value during the fight and noticed that on the final hit his hp did not drop below 0 but simply froze. I fixed that by changing the final if statement:
if (current.boss_health <= 50 && current.game_speed < 0.30)
This is not a perfect solution but it works for me.

I scanned for the is_loading variable. It is really hard to scan for this since it is either 1 or 0 (which a lot of variables are), but I found a pointer which works for me. This Pointer does most likely not work on everybody's system (I had to choose from about 1 million possible pointers), but if you want to try it here it is:
byte is_loading : "Broforce_beta.exe", 0x1095F8C, 0x54, 0x8, 0x0, 0x4, 0x6FC;

Add these lines to your Autosplitter to implement the load removal:
isLoading
{
if(current.is_loading == 1){
return true;
}else{
return false;
}
}
Note: if the Pointer works for you then this should automatically Pause your "Game Time" Timer in Livesplit while the game is Loading(except on the first time you load any level after you start the game). This means that your Timer must be set to "Game Time" in your Overlay.

 

Forum: Broforce

Thread: Funny and potentially useful bugs

Started by: lachszungelachszunge

Hey Guys,
I accidentally discovered this bug in the last Satan fight while trying to kill myself 😃

this seems to work with every bro, however I am not sure if it is keyboard exclusive or not.

MamieMamie likes this. 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey argusdusty,

I just tested your script and after changing the pointer for "level" it worked for me.
The Timer automatically starts, splits and resets when you enter the menu. Great Job!
Splitting on Satan does not always work for me, I guess the problem is the "boss_health" Pointer.
I will post again when I find a Pointer that works consistently for me.
Gammler33 and I rescanned your pointer scans for "level" and managed to bring them down to 26.
The pointer I am currently using is:
byte level : "mono.dll", 0x20A14C, 0x0, 0x364, 0x10, 0x18;
Here is a link to the file with all 26 Pointers:
http://www.mediafire.com/file/w3a82kw1k933vkw/Pointer_Scan%28CheatEngine%206.6%29.zip

 

Forum: Broforce

Thread: Funny and potentially useful bugs

Started by: lachszungelachszunge

While running today we discovered a cool bug showcased in this video:

We don't think this will be used in any runs but it may come in handy sometime. We thought it was really funny.

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hi argusdusty,
We used Cheat Engine to track down the variable we wanted, in this case "level".
This gives us the current location of this variable in the RAM. The problem is that this location changes every time you restart the game, that is why we need to find the base address and the Pointers pointing towards the Variable.

Cheat Engine has a feature called Pointer Scans which allows you to search for all base addresses and the pointers which point towards the temporary address with your variable.
The only Problem with that is that it will not only give you the correct address, but also all other addresses which Point towards your variable by chance. You can then rescan your list of Pointers in order to filter those "random hits"
After our first scan we ended up with about 1.5 billion results, after about 20 more scans we narrowed it down to about 27k possible base addresses. Since any more scans on our system wouldn't reduce the ammount of addresses signifficantly anymore, we simply picked one at random.

I uploaded the Pointer Scan file if you want to take a look at it yourself and maybe try to filter out some more addresses.
Note that these Pointer Scans must be opened with Cheat Engine 6.4 (or possibly older, haven't checked that) or else you will receive an error.

If you or anyone else wants a tutorial on how to scan for pointers and how to re scan your pointer scans, simply ask and I will try to put together a step by step tutorial. I have gotten most of my information on autosplitters from this blogpost:
https://github.com/LiveSplit/LiveSplit/blob/master/Documentation/Auto-Splitters.md
and I learned how to use Cheat Engine from youtube.

You can Download the already filtered Pointer Scan here:
https://www.mediafire.com/file/siahj1f9t88ydhd/Pointer_Scan.rar

 

Forum: Broforce

Thread: Auto Splitter

Started by: lachszungelachszunge

Hey guys,
my friend Gammler33 and I have been working on an Autosplitter for LiveSplit. So far the Autosplitter can only Split after every level in Arcade mode except the final level.
Works for single and multiplayer.

Note: the Pointer used to track the "level" variable is not yet optimised. This could lead to the Autosplitter not working on your system.
There also is a lot of unused code in there (all the lines starting with //). These lines will hopefully be used someday but are not relevant to the script as of now.
If you want the Auto Splitter to also work for Campaign, you can just ask me, it is not hard to make it work there also.

How to install:
1. create a .txt file and paste the code from below into it
2. rename the .txt file to name.asl
3. open LiveSplit and go to Edit Layout
4. Add -> Contol -> Scriptable Auto Splitter
5. set the Script path and check the "Split" checkbox

Code:

state("Broforce_beta")
{
//bool isLoading : "system.xml"
byte level : "mono.dll", 0x1F6740, 0xA4, 0x7C, 0xC, 0xC8, 0x18;
//bool satanExplosion
//float countdown
}
init
{
vars.split = 0;
//vars.overworldSection = 1;
//refreshRate = 30;
}

//start
//{
// if (current.level == 0 && current.countdown == 0)
// {
// return true;
// }
//}
split
{
if (current.level == (vars.split + 1))
{
vars.split++;
if(vars.split >= 63)
{
vars.split = 0;
}
return true;
//level 1 - 63
}
if (current.level != vars.split)
{
vars.split = 0;
}
//if (current.level == 63 && current.satanExplosion == 1)
//{
// return true;
// //satan kill
//}
}

 

Forum: Broforce

Thread: Runs

Started by: ShadowDraftShadowDraft

hey again,
I just noticed that the Campaign Any% NG+ Co-op category actually uses the ruleset of Any% NG+ Co-op
I don't know if this is intentional but I would sugest renaming the category to avoid further confusion

 

Forum: Broforce

Thread: Runs

Started by: ShadowDraftShadowDraft

Hey Guys,
a friend of mine and I started running the Any% NG+ category of this game a few months ago.
We have come to a point were we can consistently get sub 50 runs in online lobbys and a PB of 44:01 local coop.
We also discovered some significant skips and smaller time saves across the route, most notably being a way to skip Satan.

Since the Campaign Any% NG+ Co-op category was recently added I wanted to ask if you could also add the Any% NG+ category.

In addition to all of that we are currently working on an Autosplitter. I am going to release the source code for that in another post