Yzaxtol Posted March 11, 2013 Share Posted March 11, 2013 (edited) :O Bloody hellfire that's long. My usual process is: Stare at the numbers until they make sense change the number I want Profit Edited March 11, 2013 by Yzaxtol Link to comment Share on other sites More sharing options...
Amineri Posted March 11, 2013 Share Posted March 11, 2013 :O Bloody hellfire that's long. My usual process is: Stare at the numbers until they make sense change the number I want Profit That works until I find a bug or want to change something else, and come back a few days (or weeks) later. Then I scratch my head a lot and wonder what the heck I was thinking. and ... I did warn you it was long ... you should see my journal for the damage reduction ... it's MUCH longer :blink: Link to comment Share on other sites More sharing options...
anUser Posted March 11, 2013 Author Share Posted March 11, 2013 (edited) that's awesome! you named it, it's a journal! But there's a lot of interesting stuff, I think now I have material enough to start familiarizing myself with this chryptic hex language... until I forget where that post was :p One of the reasons I'd love some sort of linked entries is because all of this enums, and calls to functions from different packages, etc. sometimes it gets hard to trace them... it always makes me wonder if it's me that cannot find the function, or maybe it's inherited from somewhere else and I'm not looking at the right place... edit: typo Edited March 11, 2013 by anUser Link to comment Share on other sites More sharing options...
Amineri Posted March 11, 2013 Share Posted March 11, 2013 I guess I'm just fortunate (in this case) that I had the archaic and cryptic experience of having programmed in x86 assembly language, so this is pretty straightforward for me. Reverse compiling enumerated value is very difficult, if not nearly impossible, because there are many possible enumerated list that a particular constant COULD trace back to ... the actual assignment is very dependent on context. I know I've gotten tripped up because the SHOTSTUN eAbility is 9, but the STUN eAbility_Property is 33. I saw a reference to 9, and thought the conditional was checking for stunning, but eAbility_Property 9 is called Deadeye, which is a cheatmode / dev console ability that always gives 100% to-hit. Fun, fun times ! Link to comment Share on other sites More sharing options...
Yzaxtol Posted March 11, 2013 Share Posted March 11, 2013 (edited) Going with my Staring at numbers thing for XCOMStrategyGame.upk XGTechTree function BuildFoundryTechs() { m_arrFoundryTechs.Add(19); BuildFoundryTech(1, 7, 5, 70, 0); BuildFoundryTech(2, 7, 10, 75, 11, 9); BuildFoundryTech(8, 14, 10, 175, 33, 1); BuildFoundryTech(9, 14, 10, 175, 53, 2); BuildFoundryTech(3, 14, 5, 125, 45, 3); BuildFoundryTech(4, 14, 10, 100, 20, 12, 4); BuildFoundryTech(10, 14, 5, 150, 35, 46, 5); BuildFoundryTech(6, 14, 5, 125, 35, 21, 6); BuildFoundryTech(7, 14, 10, 250, 25, 50, 25, 7); BuildFoundryTech(11, 14, 15, 325, 50, 50, 18, 8 ); BuildFoundryTech(12, 14, 15, 375, 30, 50, 54, 10); BuildFoundryTech(5, 14, 15, 175, 30, 40, 51, 11); BuildFoundryTech(13, 7, 5, 75, 0, 0, 12); BuildFoundryTech(14, 7, 5, 150, 0, 20, 19, 13); BuildFoundryTech(15, 14, 10, 250, 30, 40, 22, 14); BuildFoundryTech(16, 14, 5, 75, 0, 0, 15); BuildFoundryTech(17, 7, 5, 150, 31, 16); BuildFoundryTech(18, 7, 10, 75, 9, 17); BalanceFoundry(); } 1, SHIV, 2, AlienGrenades, 8, SHIV_Heal, 9, CaptureDrone, 3, MedikitII, 4, ArcThrowerII, 10, AmmoConservation, 6, AutomatedLasers, 7, AutomatedPlasma, 11, AdvancedFlight, 12, AdvancedConstruction, 5, VehicleRepair, 13, PistolI, 14, PistolII, 15, PistolIII, 16, SHIVSuppression, 17, StealthSatellites, 18, Scope, XGItemtree . BuildItems function BuildItems() { m_iCurrentCategory = 1; //Starting Gear //Pistol(??) BuildItem(2, -1, -1, -1, 37); //Rifle(??) BuildItem(3, -1, -1, -1, 16); //Shotgun(??) BuildItem(4, -1, -1, -1, 54); //LMG(??) BuildItem(5, -1, -1, -1, 31); //Sniper Rifle(??) BuildItem(6, -1, -1, -1, 57); //Rocket Launcher(??) BuildItem(7, -1, -1, -1, 45); //Smoke Grenade(??) BuildItem(85, -1, -1, -1, 23); //Battle Scanner(??) BuildItem(86, -1, -1, -1, 56); //Medkit BuildItem(76, 25, 7, 5, 32); //Alien Grenade BuildItem(88, -1, -1, -1, 2, 6); //Arc-Thrower BuildItem(80, 10, 7, 5, 2, 8 ); //Frag Grenade(???) BuildItem(99, -1, -1, -1, 17); //SCOPE BuildItem(81, 20, 7, 5, 9, 48); //Nano-Fiber Vest BuildItem(82, 20, 7, 5, 10, 36); //Chitin Plating BuildItem(79, 85, 7, 10, 47, 18); //Combat-Stims BuildItem(77, 50, 7, 10, 50, 151, 19); //Mind Shield BuildItem(78, 150, 10, 25, 55, 34); //Skeleton Key BuildItem(192, 25, 20, 20, 7, 15, 3, 55); //Laser Pistol BuildItem(8, 10, 10, 7, 10, 19, 27); //Laser Rifle BuildItem(9, 25, 15, 7, 12, 19, 28); //Scatter laser BuildItem(10, 30, 25, 7, 12, 20, 29); //Laser Sniper BuildItem(12, 35, 25, 7, 12, 20, 30); //Heavy Laser BuildItem(11, 30, 25, 7, 12, 21, 26); //Plasma Pistol BuildItem(13, 100, 10, 20, 10, 20, 22, 40); //Light Plasma Rifle BuildItem(14, 125, 15, 20, 10, 20, 23, 42); //Plasma Rifle BuildItem(15, 200, 20, 30, 10, 20, 24, 41); //Alloy Cannon BuildItem(16, 200, 20, 50, 12, 25, 27, 43); //Heavy Plasma BuildItem(17, 250, 30, 30, 10, 25, 25, 39); //Plasma Sniper BuildItem(18, 250, 25, 30, 15, 25, 26, 44); //Blaster Launcher BuildItem(19, 275, 35, 40, 15, 40, 30, 38); m_iCurrentCategory = 2; //Kevlar Armor(???) BuildItem(57, -1, -1, -1, 12); //Carapace Armor BuildItem(58, 25, 15, 10, 10, 14, 10); //Skeleton Suit BuildItem(59, 30, 10, 10, 15, 15, 14); //Titan Armor BuildItem(60, 150, 10, 35, 10, 25, 16, 15); //Archangel Armor BuildItem(61, 200, 16, 30, 14, 35, 18, 9); //Ghost Armor BuildItem(62, 250, 20, 25, 14, 40, 17, 11); //Psi Armor BuildItem(63, 400, 40, 20, 10, 30, 13, 13); m_iCurrentCategory = 3; //SHIV BuildItem(102, 50, 14, 5, 1, 49); //Alloy SHIV BuildItem(103, 100, 25, 14, 10, 14, 1, 50); //Hover SHIV BuildItem(104, 200, 30, 30, 14, 20, 5, 1, 51); //Interceptor(???) BuildItem(105, 40, -1, -1, 25); //Firestorm BuildItem(106, 275, 40, 60, 21, 20, 5, 21); //Skyranger(???) BuildItem(107, -1, -1, -1, 66); //Satellite BuildItem(108, 100, 20, 5, 46); //Small Scout BuildItem(113, -1, -1, -1, 1, 52); //Large Scout BuildItem(115, -1, -1, -1, 53); //Abductor BuildItem(116, -1, -1, -1, 65); //Supply Barge BuildItem(117, -1, -1, -1, 1, 49); //Battleship BuildItem(118, -1, -1, -1, 50); //Overseer BuildItem(119, -1, -1, -1, 51); //Pheonix Cannon BuildItem(123, 25, 7, 5, 11, 2); //Avalanche Missiles BuildItem(124, -1, -1, -1, 4); //Laser Cannon BuildItem(125, 35, 25, 7, 10, 21, 3); //Plasma Cannon BuildItem(126, 100, 20, 20, 10, 20, 28, 5); //EMP Cannon BuildItem(127, 200, 20, 30, 10, 30, 33, 0); //Fusion Lance BuildItem(128, 150, 20, 30, 10, 35, 29, 1); //Aim Uplink BuildItem(135, 10, 0, 0, 0, 5, 43, 47); //Dodge Module BuildItem(133, 50, 0, 0, 0, 5, 44, 20); //Track Boost BuildItem(134, 20, 0, 0, 0, 10, 49, 58); m_iCurrentCategory = 5; //Elerium BuildItem(171, 3, 1, -1, -1, 14); //Alloy BuildItem(172, 2, 1, -1, -1, 36); //Fragments BuildItem(173, 1, -1, -1, 0); //Outsider Shard BuildItem(191, -1, -1, -1, 40); //Power Source BuildItem(179, 75, -1, -1, 44); //Nav Computer BuildItem(177, 40, -1, -1, 43); //Alien Misc Items BuildItem(175, 10, -1, -1, 46); BuildItem(174, 17, -1, -1, 47); BuildItem(176, 10, -1, -1, 48); BuildItem(178, 25, -1, -1, 49); //Fusion Core BuildItem(188, 125, -1, -1, 45); //Hyperwave Beacon BuildItem(180, -1, -1, -1, 193); //Etheral Device BuildItem(189, -1, -1, -1, 51); //Alien Damaged Items BuildItem(186, 30, -1, -1, 163); BuildItem(184, 20, -1, -1, 199); BuildItem(182, 5, -1, -1, 199); BuildItem(181, 5, -1, -1, 199); BuildItem(183, 5, -1, -1, 199); BuildItem(185, 10, -1, -1, 186); BuildItem(187, 45, -1, -1, 193); m_iCurrentCategory = 6; //Corpses BuildItem(144, 5, -1, -1, 52); BuildItem(146, 5, -1, -1, 53); BuildItem(148, 5, -1, -1, 55); BuildItem(149, 5, -1, -1, 54); BuildItem(154, 5, -1, -1, 56); BuildItem(152, 7, -1, -1, 59); BuildItem(156, 10, -1, -1, 61); BuildItem(157, 2, -1, -1, 60); BuildItem(153, 15, -1, -1, 58); BuildItem(145, 10, -1, -1, 65); BuildItem(151, 5, -1, -1, 62); BuildItem(150, 8, -1, -1, 63); BuildItem(147, 6, -1, -1, 64); //Captives BuildItem(160, -1, -1, -1, 52); BuildItem(162, -1, -1, -1, 53); BuildItem(164, -1, -1, -1, 55); BuildItem(165, -1, -1, -1, 54); BuildItem(168, -1, -1, -1, 58); BuildItem(161, -1, -1, -1, 65); BuildItem(167, -1, -1, -1, 62); BuildItem(166, -1, -1, -1, 63); BuildItem(163, -1, -1, -1, 64); BalanceItems(); } Edited March 11, 2013 by Yzaxtol Link to comment Share on other sites More sharing options...
Dark0ne Posted March 11, 2013 Share Posted March 11, 2013 RE: using the wiki, I just replied to a PM in regards to this issue. Here's the blurb: You can actually open up "sections" yourself by tagging your articles with the same category using the category tags shown in this article: http://wiki.tesnexus.com/index.php/Posting_guidelines_and_template If you were to tag all articles with [[Category:XCOM]], for example, then an XCOM category would be born and you'd be able to view all articles using this link: http://wiki.tesnexus.com/index.php/Category:XCOM All that I'd need to do is provide a link to it in the left hand navigation and the front page. Hope this explains things. Link to comment Share on other sites More sharing options...
Amineri Posted March 11, 2013 Share Posted March 11, 2013 Awesome! I saw how a new page could be created, but I wasn't sure how a new Category would be added. Thanks so much ^_^ Link to comment Share on other sites More sharing options...
anUser Posted March 12, 2013 Author Share Posted March 12, 2013 So much appreciated! then it's about time I start learning how this wiki works. And meanwhile I'll try to put out a couple of sample templates for what I expexct it would be a common entry, like some function from XComGame.upk. Hopefuly having some base document to work on will draw the interest of more modders. I suggested a few posts above some common elements imo each entry should/could have, but I'd like to read the opinion of others, specially either those who think they may eventually collaborate and those who think they could profit of such wiki for their personal use and enjoyment. Link to comment Share on other sites More sharing options...
johnnylump Posted March 12, 2013 Share Posted March 12, 2013 I'd recommend a couple of things. First, three how-to articles on the three levels of modding:1) Making and implementing DefaultGameCore.ini changes2) Changing single values in upk files and getting them ingame3) Rescripting within upk files (with a focus on virtual size, jumps, etc) For upk information,Maybe two organizational structures are in order1) By file, then class, then function2) By "subject area" -- that is, decide what major modding goals are, and then links to articles about relevant functions, e.g. "Modding UFO capabilities" with links to BuildShipWeapons and BuildShips Just a rough thought, use or disregard as necessary Link to comment Share on other sites More sharing options...
anUser Posted March 12, 2013 Author Share Posted March 12, 2013 Yep, I like your thoughts. I could make some use myself of that third article if it existed. As for relating subjects it seems to me the category system in the wiki should do it, maybe in addition to single functions and classes entries there could be an article per category telling a little bit about the interaction of the files listed under that category. What bothers me the most is not knowing for sure that everything we research will stay unchanged after a next update or patch, maybe some sort of versioning is in order too. Link to comment Share on other sites More sharing options...
Recommended Posts