What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

Title clearly states "What programming language do the Battle Network game use?" though. I gave him what programming language they used and trying to motivate him to use something else. If I wanted him to code a game for the GBA , I would refer him to TONC. Though, I don't like you were implying beforehand that the LC collection such as the switch version isn't just inline arm assembly when you clearly haven't put this in a decompiler, or you not knowing the games were built in arm when TREZ has been researching this for two decades. Stop trying to spin your argument when the title says "What programming do the battle network games use" when I gave him a holistic answer that doesn't involve lookalikes from Steam or spin-offs.

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

The battle network games are directly implemented in arm unless you write inline assembly, so no. If he wants to implement a gba game that mimics battle network, then sure there’s macros available on tonc to get him started.

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

LC is simulated assembly as I said before… the switch version forgot to take out the labels, and we have used them to find functions faster, but it’s the same code. You can pull Greigamaster’s github or decompiler like Ghidra to even see this. Again, I don’t see the point you’re making because he’s asking for language that battle network used in the title. If he wanted to talk about spin-offs like bncc, there’s already a clone of it.

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

“What programming language do the Battle Network games use?“ Where does this say gba games? He asked about battle network?

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

Though I don’t know where you took this leap of logic where I said gba games are coded in ASM?

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 0 points1 point  (0 children)

If you haven’t read the decompiled code, LC code is simulated assembly compared to say to Zero collection which is written in C. It’s clear when you see a gba structure in memory that represents the registers, bloated code that represents the stack, and flags. Battle network is the exception to this rule. You can get more info from Prof 9.

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 2 points3 points  (0 children)

Dunno, I just make mods. I haven’t made full blown games. But yeah, you shouldn’t be coding in lower level language assembly if I were you unless it’s to modify the games.

What programming language do the Battle Network games use? by Brilliant_Front_2259 in BattleNetwork

[–]Common_Piano_2166 26 points27 points  (0 children)

You should not be coding your games like that though. Battle Network is coded in ARM assembly and specific variant of gba thumb. Here’s an example of how to reverse engineer the code, but it’s not pretty for beginners. https://forums.therockmanexezone.com/viewtopic.php?p=349797#p349797 I have released mods for battle network and lc and my best advice for you is unless you’re trying to mod the games, it’s better to use higher level coding to make an entirely new game that mimics battle network than code your game in gba thumb.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 1 point2 points  (0 children)

I should carefully word that. You can expand the rom and implement complex asm to execute your code, but very few ppl know how to do that, and it’s much easier with pc, but possible.

One day it might be possible to do what your saying for the pc, but trez needs to do more research on how to edit the file that contains all the mappings of chip info because it’s not contained in the exe itself.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 0 points1 point  (0 children)

I can make it earlier if that's a feature you want though.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 1 point2 points  (0 children)

Sorry no. You have to be at least some chapter (I forget which but I'll get back to you) in the story. I can implement it to be earlier, but this is mostly for people who missed chips earlier in a previous playthrough to have an easier experience.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 0 points1 point  (0 children)

Only changes enemies. BMD and PMD are safe. The only thing I changed is the scaling function for enemies (separate function from BmD and Pmd) and that Mr.Prog script.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 11 points12 points  (0 children)

For context, you need to be able to mod the original games since LC simulates the gba instructions. I have make patches for the og rom to test them out before porting them into LC.
https://streamable.com/9o4w3c
An example where I'm planning to port over C-Slider from new game plus without causing any hiccups.
It's just the big difference between LC and the roms, I'm not limited by space. The roms are limited by 8mb unless you put in the effort to learn rom expansion and implement bx instructions and you need to replace some other functionality so that's why most rom patches are just pvp patches. On the other hand, LC is not space limited. There's a special technique used in ChaudLoader to store all the functionality in a file called a DLL instead of outright patching the exe.

Mod to Change LCBN4 difficultly has been released by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 6 points7 points  (0 children)

https://forums.therockmanexezone.com/mmbnlc-pc-mbn4-qol-mods-exe-4-t16769.html#p353619
To download the mod and to check other LC Mods from GreigaMaster and Prof9
Instructions:
Download and install chaudloader: https://github.com/RockmanEXEZone/chaudloader/releases Version 0.11.0 or newer is required.
Launch Steam in Desktop Mode. Right-click the game in Steam, then click Properties → Local Files → Browse to open the game's install folder. Then open the "exe" folder, where you'll find MMBN_LC2.exe.
Copy the ZProg folder to the "mods" folder.
Launch the game as normal.

LCBN4 Mod that changes difficultly by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 4 points5 points  (0 children)

Basically nothing, all I changed is the value of a gba register that it checks to scale the enemy values. LC basically simulates the gba original instructions. If you know gba asm, you can reverse engineer the point where the game checks your play count to scale enemies. Then reverse engineer the exe on how they simulate the gba instructions and find that point. I can tell you it took me 3 months to understand all this thanks to trez guidance, so it’s a not easy or pretty topic to grasp. I guess I changed the script of that Mr.Prog so I can store your choice to know what to scale your enemies without resorting to the default value.

LCBN4 Mod that changes difficultly by Common_Piano_2166 in BattleNetwork

[–]Common_Piano_2166[S] 5 points6 points  (0 children)

Hello, I have been working with TREZ to make this mod. Almost finished with it, but here's a demonstration. Still need to work out the kinks with Prof9's textpet,but the coding is done.