Skip to content

Bug report and feature reuest

jubeijubei Member Posts: 14
Ok the android version of bgEE has a bug in WSPATCK.2da in fact the 2da is totally f**ked obviously a typo, now being no stranger to infinity modding thought would fix it, so located the content directories ( in 2 .obb files which are actually zips ) stripped them from my nexus 7 2013, extracted and set up the dirs on a pc, fired up near-infinity, fixed the .2da, injected it back into DEFAULT.BIFF which went back into the .obb, then back into the nexus.
Great plan, should have worked, BUT !!!!! , the android APK checks the 2 .obb files on startup ( to avoid corruption via download obviously ) and deletes said files if they dont meet a checksum of some kind.
So what that means is no modding is possible on the android platform, now there is a beamdog sdcard location which contains saved games ,characters etc, Will an overide folder there be recognised ? ( have tried a few experiments but no joy as of yet )
Im sure beamdog realizes the power of the bg fan base and the importance of modding for the game, so please include a Overide location or remove the integrity checks.
Do i really have to decompile the APK and make the changes myself ??? Cos if it comes down to it thats exactly what i will do, ie create a moddable version of the game for android.
I would expect the upcomming BG2 android release ( for which i have written extensive mods and new content ) is nerfed in the same fashion, please correct BG2:EE before it gets to the store
Thanks
Jubei

Comments

  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited June 2014
    @jubei, don't try injecting it into the BIFF file. Just copy the fixed file into your override folder, you can create a new folder next to your /save/ folder and call it 'override' (note that there are two 'R's in override, not one—you might need to check for a spelling mistake).

    The integrity checks are most probably part of Google Play and its implementation, so 'removing' them probably isn't an option.

    Also, what is the typo? The filename?
  • jubeijubei Member Posts: 14
    WSPATCK.2da in DEFAULT.BIFF in main.1086.com.beamdog.baldursgateenhancededition.obb ,the typo messes the row allocation, as according to 2da editor ( team bg ) v1.1 , and hence grand masters dont get extra hits/round they should

    As for the override folder we talking the same location the beamdog dir on /..device sd card locatin/Android/com.beamdog..... ? i will check again but seems not to pick the dir up if there, but if its coded into the APK, and im just an idiot ( most possible for a start been using Override, and just noticed you typed override ) then we still have the problem that chitin.key and dialog.tlk are in the .obb's and pretty sure they need to be changed for any extensive content addition.

    Yes just been looking and integrity checks are part of GPlay extra content download procedure, can decompile the APK into SMALI then into java, and remove the offending code, but that would effectively crack the game cos would have to take out the whole stack of GPlay verification code, And last thing want to do is deny beamdog revenue.
    There actually might be a better and nicer way by writing an exposed module for the job, but a bit new to exposed framework so not sure.

    The best way to solve this is to kick the issue up to beamdog and let them come up with a solution, but if they dont then i will have to.
  • DeeDee Member Posts: 10,447
    So, let's break this down to the important bit: WSPATCK isn't doing what you expect it to do.

    5 pips in a weapon should grant an additional full attack per round; so a fighter at level 1 with 5 pips should have 2 attacks per round, at level 7 he should have 5/2 APR, and at level 13 he should have 3 APR.

    Is that not what you're getting? Bear in mind that only warrior classes (Fighter, Ranger, Paladin, Barbarian) get the bonus APR from specialization and higher.
  • jubeijubei Member Posts: 14
    edited June 2014
    WSPATCK.2da is def corrupt, you can see it on 2da editor attached is file

    i am checking effect on a sample fighter, been away from modding for a while so will take a bit, sorry :)

    And while i have your attention is a override dir in Android/data/com.beamdog.baldursgateenhancededition/files really supposed to work ? def not working for me with .2da s
  • DeeDee Member Posts: 10,447
    Yes, it should work there. If it's not, that's a problem. What 2da are you attempting to use, and what is it you're trying to do?

    WSPATCK.2da may look weird, but it does function the way it's supposed to in-game.
  • jubeijubei Member Posts: 14
    well started off with a simple xp cap remover ( edited STARTARE.2DA XPCAP.2DA to raise xp cap ), put that in override ( also tried Override ) put override in Android/data/com.beamdog.baldursgateenhancededition/files, booted the game with a saved game. and no joy

    maybe the xp cap is coded in the saved game ( cant remember ) but dont think so.
    Anyway having done some research i see that others are getting a functioning override, it has to be something i am doing wrong.
    Can you suggest a simple 2da test that you know works ( and thats easy to check without hours of gameplay )

    Ok maybe WSPATCK.2da is functioning correctly , but thats only by accident, it is def wrong according to all the tools i have, everything says there is extra space on the 5 pip line which messes the row allocation, just open it up in 2da editor and you will see row 5 colom 1 has the value of 11, thats OBVIOUSLY wrong. Its prob not showing cos you cant get to 5 pips before lv7 odd

    BTW thanks for all the help, once all this is sorted i should be in good shape to start porting my monster BG2 mod to the upcomming BG2:EE Android, i know dialog.tlk etc is an issue now but its not impossible to get round, even with leaving the apk as is, may be able to do it with a clever scirpt and a few symlinks, but thats only going to work on Android 4.2 and earlier ( pre full SElinux integration ) It should also be possible to use a custom Lucky Patcher patch. All these methods tho are crap and flaky, it would be much easier if beamdog put chitin.key and dialog.tlk in the list of files recognised in Android/data/com.beamdog.baldursgateenhancededition/files simply use them if they are present, could not be simpler :)
  • argent77argent77 Member Posts: 3,478
    I'd recommend using the latest snapshots of NearInfinity for exporting 2DA files (or text files in general).
    Earlier version of NI had trouble with line breaks, effectively creating an additional empty line after each line of text. This issue shouldn't render 2DA files invalid, but I haven't tested if it also applies to Android versions of BG:EE.
    jubei said:

    Can you suggest a simple 2da test that you know works ( and thats easy to check without hours of gameplay )

    You can change the HP progression table for a class and create a new character. The modifications should result in an unusual HP amount for a character of that class.

    For example, change the first line of HPWAR.2DA from
    1   10      1       0
    to
    1   50      5       0
    and create a new fighter. His/her HP amount should be significantly higher than normal.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    jubei said:

    Ok maybe WSPATCK.2da is functioning correctly , but thats only by accident, it is def wrong according to all the tools i have, everything says there is extra space on the 5 pip line which messes the row allocation, just open it up in 2da editor and you will see row 5 colom 1 has the value of 11, thats OBVIOUSLY wrong. Its prob not showing cos you cant get to 5 pips before lv7 odd

    2DA V1.0 0 LEVEL1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 3 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 4 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 5 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2The above is a copy/paste version of my own file, and I don't see '11' on row five.

    You might need to explain it a little better. I don't just mean telling people to open up the file in an editor, I mean provided proof that it is actually incorrect in-game. If it is working in-game, then either the engine is programmed to accommodate the 'issue' or the issue is with the tools.

    As far as I am aware, the number of spaces (provided there are spaces) doesn't mean anything. This is specifically why there are no spaces in the keys or values, or spaces are replaces with underscores, e.g. FIGHTER_MAGE. Spaces are removed and the engine advances through each object it finds that isn't a space. Meaning that this:
    1 1 1 1
    is the same as this:
    1 1 1 1

    Here's a neat version of the file, using tabs to replace the spaces:
    2DA V1.0 0 LEVEL1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 3 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 4 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 5 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2As you can see, the numbers go from 'LEVEL1' to '40'—one end to the other—just fine.
  • jubeijubei Member Posts: 14
    My comments on the 2da come from opening it up in 2da editor from bg tools, http://www.baldursgatemods.com/forums/index.php?action=downloads;sa=view;down=126 to be honest i do not know how exactly a 2da is parsed by the system, ( its a LUA clone i believe ) i am assuming the guys who wrote the 2da editor DO know how the system parses the 2da files ( thats why was using the util instead of a plain text editor )

    Please open it up in 2da editor and see for yourself, but fair enough if its only the 2da editor going wild many apologies

    Am trying a 2da test now thanks for the tip :)
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @jubei, that's definitely just the editor. If you use DLTCEP, you will get much better results. :-)
  • jubeijubei Member Posts: 14
    Troodon80 said:

    @jubei, that's definitely just the editor. If you use DLTCEP, you will get much better results. :-)

    Yea i use it along with near infinity and tileset editor 2 as my main tools, script and dialog by hand. just thought 2da editor would be more accurate given its written specifically for the purpose.

    But DAMN !!!!!!! about 2da editor, you would friggin think if one wrote a util one would know how the frigg its supposed to parse a file ( and test the bugger )

    So whitespaces are ignored as in your previous post, and as you were saying that applies to all objects ( like the BASH interpreter ) ?

  • jubeijubei Member Posts: 14
    @argent77

    tried the 2da test, yep works like a charm, thank you very very much

    A fully working override folder goes a massive long way even without access to chitin.key and dialog.tlk i can get the majority of my mod tested, piece by piece, under this new graphics engine. Have no idea why xpcap did not work but sure will spend many hours finding out :)

    And a general big thanks to all in this post for their helpfull comments
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited June 2014
    @jubei, I don't use anything more than Near Infinity and DLTCEP (for general editing), and EE Keeper for saved game editing. DLCTEP displays the 2DA perfectly as a formatted table, as best I can tell, while Near Infinity displays them as they are, in plain text.

    I don't know how long ago that 2DA program was written, so it might have been primarily for the original games and this might not have been a problem back then. Then again, they simply may not have tested every single file; if it works with 9 out of 10 files, normally you would assume that it will work with the 1 that was left.

    Further to your enquiry, I have tried out my own simple XP cap remover and now have a level 12/12 multi-class Khalid. So it does work. I am attaching the files I used to remove the cap, you can either use them or compare them to what you have.
    Post edited by Troodon80 on
  • elminsterelminster Member, Developer Posts: 16,317
    edited June 2014
    Troodon80 said:

    DLCTEP displays the 2DA perfectly as a formatted table, as best I can tell, while DLTCEP displays them as they are, in plain text.

    Did you mean to put Near Infinity in there somewhere?
  • jubeijubei Member Posts: 14
    @ Troodon80 , yea exactly what i did but did not bother with STARTBP.2DA since it should only apply to the black pits ?? but obviously not ( damn this game, after years at this still shed loads to learn )

    has anyone noticed any differences in BAM playing/handling on the android version ? i have lots of custom and odd sized ( vbig ) BAM's in the mod ( new spells and effects ) and getting as much heads up as possible :)
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @elminster, uh, yes, exactly that. Near Infinity is plain text. :-)
  • jubeijubei Member Posts: 14
    @argent77, jeasus just realised your maintaining near-infinity ........ im not worthy .... im not worthy :) its so so so good to see the core tools being maintained ( and on github to !!! )
Sign In or Register to comment.