00:00 <Cepheid> Add a letter to the character's name. It underflows and becomes FF FF FF.
00:00 <Cepheid> Add another character. FE FF FF And so on.
00:01 <Cepheid> No wonder it was stable with my party that had no characters being added or removed.
00:02 <Cepheid> Because the names *ALL STAYED THE SAME.*
00:02 * Schism randomly lounges upon sofapone.
00:02 *** Quits: Lunanightwind (Lunanightwi@Pony-acfiub.nh.comcast.net) (Ping timeout: 121 seconds)
00:02 * Cepheid psyducks.
00:02 <Cepheid> Why? Why why why why WHY!?
00:03 <Cepheid> Well, whatever.
00:03 <Cepheid> I can now modify save files.
00:04 <DerpyBot> New post on Equestria Daily by The Illustrious Q: INTERVIEW: Tony Fleecs on Time Trouble, Feats of Friendship, and Tails of Equestria! [ http://tinyurl.com/qlxwn79 ]
00:08 * ThatAnonPony is comfortable in Schism's general direction.
00:08 <Cepheid> ... No, that can't be what it is.
00:08 <Cepheid> It's not quite right.
00:09 <Schism> ThatAnonPony, this is how boss fights are. http://www.threepanelsoul.com/comic/raid-mechanics
00:09 *** Joins: ADragonDreaming (IceChat9@Pony-tpdjag.livnmi.sbcglobal.net)
00:10 <Cepheid> What... are you, data?
00:10 <Cepheid> You're part of the checksum algorithm, this much I know.
00:10 <Cepheid> The only thing that affects you is the length of strings, too.
00:14 *** Joins: PinkieShy (coolm@Pony-ck81je.67-212-45-net.sccoast.net)
00:14 <Cepheid> ... Uh... what.
00:15 *** Dranae is now known as Angie
00:16 <Schism> Oh, good. An official English dictionary has included the singular 'they' as a gender expression.
00:17 <Cepheid> I figured it out.
00:17 <Cepheid> For certain this time.
00:17 <Schism> Been waitin' for that.
00:17 <Cepheid> In fact, I just implemented it to test, and it's spitting out correct results.
00:17 <Schism> So you can now mod save files in EO3, no questions.
00:19 <Cepheid> Start with 2 counters, one is the total, the other is the count of bytes that are equal to or greater than 0x80. Sum up the bytes ranging from offset 0x004 to 0x4427 inclusive. AND the result with 0x000000FF to get the 8-bit checksum. Now then, for the remaining 3 bytes...
00:19 <ADragonDreaming> home finally.
00:20 <Cepheid> Hum, I wonder if there's a better way to express this. I may be doing this in a stupid manner. o3o;
00:21 <ThatAnonPony> Schism, so it's secretly a puzzle game?
00:22 <Cepheid> Okay, better way to explain it.
00:24 <Schism> TAP: Actually, EO ... kinda is. You have to figure out the best way past every obstacle.
00:25 <Schism> But at the same time, you can say that about most RPGs.
00:28 <Cepheid> I can't make heads or tails of this checksum algorithm. All I know is it works. Which is the worst part.
00:29 <Cepheid> Basically, you have two counters, 'sum' and 'eighty', both start off at 0. Iterate over every byte from offset 0x0004 to 0x4427 inclusive, and sum them up in sum. If a given byte is greater than or equal to 0x80, increment eighty by 1.
00:29 <Cepheid> Then return (sum - (eighty << 8))
00:29 <Cepheid> For some reason, this results in the correct value.
00:32 * Cepheid goes through a list of different checksum algorithms to identify the one being used.
00:37 <Cepheid> Well, it's not Addler32.
00:42 <Schism> Um. So. It, that. This. https://mcphee.com/collections/candy-canes
00:49 <Cepheid> Not Fletcher-8, -16, or -32
00:51 <Cepheid> It just appears to be their own home-made variant.
00:51 <Cepheid> I see no correlation to it's design with any of the algorithms I've looked at.
00:52 *** Joins: lunanightwind (lunanightwi@Pony-edrl3g.nth7.j4eu.0191.2601.IP)
00:52 <lunanightwind> Hi
00:52 <Cepheid> But yes, Schism, this means I can now edit save files.
00:53 <Cepheid> And make impossibly strong characters.
00:55 <LibrarianofHope> hewwo
01:00 * Cepheid goes to take a break.
01:00 *** Quits: LibrarianofHope (Librarianof@Pony-nv8.19p.147.189.IP) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
01:01 *** Quits: danwellby-1 (danwellby@The.lone.griffon) (Connection closed)
01:03 * Cepheid flops. Gragghs atop Schism.
01:03 *** Joins: ChaosMageX-HTPC (CMXHTPC@Pony-nc32n2.tx.comcast.net)
01:03 <Schism> Gluhfbgh. I'm going to be resetting the timer on this chili.
01:04 <Schism> Also, I got the peppers, but completely forgot to add mushrooms.
01:05 <Cepheid> Fun thing. This is only one of many checksums.
01:06 <Cepheid> See, the game checksums each individual map.
01:07 <Cepheid> Good news?
01:07 <Cepheid> Same function.
01:09 <Cepheid> Bad news? Because of how Atlus handles the sea map, I'm not sure where the map data for that ends and where the next bit of data begins.
01:10 <Cepheid> Very well. Do this the different way.
01:21 <Cepheid> I suspect they stored the map in a different format than the rest. Data looks similar, but there are parts that are clearly different.
01:27 <Cepheid> There we go.
01:27 <Cepheid> Found it, and the range.
01:27 <Cepheid> Next thing I code is gonna be a drawn-map viewer. o3o
01:28 <Cepheid> Though before that, modify my editor to allow editing the save, and then recalculating the checksums. Along with a hex editor, so I can poke various bits.
01:30 <lunanightwind> Wow i remember why i stopped playing halo in HS
01:30 <Ali> cause its crap
01:30 * Ali goes to stew in a corner.
01:31 <lunanightwind> 6 different colors of crap ali
01:31 <lunanightwind> Lol
01:42 <PrincessRainbows> The hardest part of that exam was the handwriting D:
01:45 * PrincessRainbows licks Ali because bored
01:45 * Ali flumps under PrincessRainbows
01:46 <PrincessRainbows> What's the matter?
01:47 <Ali> Having a massive lonly thing and other things I really can't explain well.
01:47 * Cepheid think thinks.
01:48 * Cepheid pulls an EO5 save file from 3DS, after decryption.
01:48 * PrincessRainbows brushies Ali. My next few weeks
01:48 <Cepheid> I mean, surely Atlus didn't use a similar save file format for all their games, right? ..... RIGHT?
01:49 <ADragonDreaming> ...why wouldn't they?
01:49 <Cepheid> Because of people like me.
01:50 <lunanightwind> Early atlus? Are we talking from a developer standpoint or a publisher standpoint
01:50 <ADragonDreaming> I dunno
01:50 <Cepheid> Developer.
01:51 <ADragonDreaming> keeping people like you on their toes is one thing, but is it worth the money and time needed to significantly alter save format from game to game in a series?
01:52 <lunanightwind> Going from the SMT light of things i know the first 3 and a couple of the devil summoner games they used very similar programming for saves but i couldnt tell you in depth
01:52 <Cepheid> You raise a valid point, ADragonDreaming.
01:53 <Cepheid> Looks encrypted. I'll have to figure out how to poke GodMode9 to decrypt it. Ah well.
01:54 * PrincessRainbows also gives Ali a pony ride
01:54 <ADragonDreaming> especially when you can just encrypt it to keep the script kiddies out.
01:56 <ADragonDreaming> I think anyone in game dev, at this point, should be aware that at some point, someone else is likely going to start digging into what you've made. If that doesn't happen, it's probably a signifier of failure, more than anything else
01:56 <ADragonDreaming> because it would indicate an overall apathy toward it.
01:56 <Schism> "The client is in the hands of the enemy."
01:56 <Cepheid> Unfortunately, the encryption's broken.
01:56 <Cepheid> It uses the key on the 3DS itself, and once you've CFWed the device..
01:56 <Cepheid> Well...
01:57 * Cepheid re-writes program to work differently.
02:03 *** Joins: Reia (Reia_Hope@TheCowPony)
02:04 <DerpyBot> New post on Equestria Daily by Calpain: Nightly Discussion #2004 [ http://tinyurl.com/uwjze7u ]
02:07 <Cepheid> Right, while I'm at it, I should update the data structures with their decoded fields.
02:13 *** Quits: Reia (Reia_Hope@TheCowPony) (Connection closed)
02:13 *** Quits: RedHelper (PinkieP@The.Pony.That.Makes.You.Smile) (Connection closed)
02:14 *** Joins: Reia (Reia_Hope@TheCowPony)
02:16 <lunanightwind> Holy heck this makes me mad i would have put money that i owned a certain game and i cant find it
02:17 *** Joins: RedHelper (PinkieP@Pony-ijm3lo.ca.comcast.net)
02:29 <Schism> Which game?
02:34 <lunanightwind> Death road to canada
02:40 <Schism> Aha.
02:40 <lunanightwind> Just trying to waste time till blazings tv show ends
02:41 <lunanightwind> Guess im playing megaman
02:46 *** Joins: Reia_Hope (Reia_Hope@TheCowPony)
02:50 *** Quits: Golden (uid250033@Pony-360sli.charlton.irccloud.com) (Quit: Connection closed for inactivity)
02:53 *** Joins: Golden (uid250033@Pony-360sli.charlton.irccloud.com)
03:16 <PinkieShy> ok why the heck would feeback hub need to using that much disk..
03:24 <DerpyBot> New post on Equestria Daily by Makenshi: More Pony Music! Remixes, Dubstep, Hard Rock! [ http://tinyurl.com/s7o6yrp ]
03:37 <Cepheid> Several steps back, several steps forward.
03:42 <Cepheid> I rewrote the class for managing guild members, the guild roster, and the like. They all use offsets to index into a byte array to extract the current(as of read/writing to that spot) data. This simplifies certain operations.
03:45 *** Joins: cabbage (cabbage@Pony-8q0glj.dynamic.sonic.net)
03:53 * PinkieShy teleports Dominick the Italian Christmas donkey into the room.
03:56 *** Quits: lunanightwind (lunanightwi@Pony-edrl3g.nth7.j4eu.0191.2601.IP) (Ping timeout: 121 seconds)
04:03 <Cepheid> And my tool is back to where I had it this morning. Only now it can edit underlying data.
04:03 <Cepheid> Hum, I wonder how the game would handle using ASCII for names, instead of SJIS.
04:04 <Cepheid> Only one way to find out.
04:05 <Cepheid> The answer is "It doesn't."
04:05 <Cepheid> While the game runs just fine, all the ASCII entries are blank.
04:07 *** Joins: lunanightwind (lunanightwi@Pony-acfiub.nh.comcast.net)
04:19 * PrincessRainbows sits on PinkieShy and barks
04:22 <PinkieShy> yuck...
04:22 <PinkieShy> I just air blasted a vacuum cleaner filter to try to get more uses out of it before replacing it
04:23 <PinkieShy> The ammount of stuff that came out of it was gross.. A cloud of vacuum powder and dust.
04:23 <PinkieShy> Now it might work better.
04:25 * Golden hums. He is wondering what to get. He has been thinking of a lego Y wing, but also wants to get other 1/72 scale star wars model kits.
04:28 <PinkieShy> Might just invest into a bagged vacuum..
04:41 *** Quits: ThatAnonPony (Pony54596@Pony-i454b4.cable.virginm.net) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
05:19 *** Quits: Angie (Scootaloo@I.Will.Fly.Higher) (Ping timeout: 121 seconds)
05:27 <Cepheid> https://twitter.com/LuminousOcean/status/1204633848274968576
05:38 <Cepheid> Man that control is slooooow.
05:38 <Cepheid> I'll have to replace it with something else.
05:45 *** Quits: lunanightwind (lunanightwi@Pony-acfiub.nh.comcast.net) (Ping timeout: 121 seconds)
05:49 *** Joins: Angie (Scootaloo@I.Will.Fly.Higher)
05:56 * PrincessRainbows flops on Ali and sads at the world
05:56 * Ali curls up under the PrincessRainbows
05:57 <PrincessRainbows> Good horsey
06:01 <Cepheid> Aaahaahahaha! My first successful edit with the tool.
06:01 <Cepheid> I changed a character's class from Monk to Arbalist.
06:02 <Cepheid> Wonder how it'll handle that. Weapon's not valid for character.
06:03 <Cepheid> Anyhow, that's enough for tonight I think.
06:04 <Cepheid> Got something my parents asked me to do, anyways.
06:11 *** Quits: Angie (Scootaloo@I.Will.Fly.Higher) (Ping timeout: 121 seconds)
06:49 *** Joins: lunanightwind (lunanightwi@Pony-ufufpe.mh8q.fogg.1000.2600.IP)
06:55 *** Quits: lunanightwind (lunanightwi@Pony-ufufpe.mh8q.fogg.1000.2600.IP) (Ping timeout: 121 seconds)
06:55 *** Joins: lunanightwind (lunanightwi@Pony-edrl3g.nth7.j4eu.0191.2601.IP)
07:08 *** Sleeping_Nightmares is now known as Filly_Nightmares
07:08 *** Filly_Nightmares is now known as Surreal_Nightmares
07:10 <Cepheid> Mornin Surreal_Nightmares.
07:11 *** Joins: Changeling_Nightmares (Surreal@Cutest.Floofy.Changeling.Batpone)
07:12 *** Changeling_Nightmares is now known as Filly_Nightmares
07:12 * Filly_Nightmares mewls at Cepheid!
07:12 * Filly_Nightmares is studying for finals!
07:13 *** Joins: ConfusionRift (ConfusionRi@Pony-eaa.irn.56.193.IP)
07:13 *** ChanServ sets mode: +o ConfusionRift
07:14 <ConfusionRift> Hello everypony.
07:14 * Ali gives Filly_Nightmares blankets and coffveve to keep herself awake for studies
07:14 * Ali flops over ConfusionRift
07:14 * ConfusionRift patpats Ali.
07:15 * Ali leans into pets, headphones are going out again.
07:18 <Cepheid> Hey Rifty.
07:18 <ConfusionRift> Heeeyyyy.
07:18 <Cepheid> How goes it?
07:21 <ConfusionRift> Doing alright. Just taking it easy on the few days off I got.
07:21 <Cepheid> Ah.
07:21 <Cepheid> Meanwhile, I'm still working hard as ever.
07:21 <Cepheid> ... I figured out the checksum for save files, so I can modify stuff now.
07:23 <ConfusionRift> Oh, nice.
07:26 <Cepheid> Gods-awful checksum.
07:27 <Cepheid> It doesn't appear to be any common checksum algorithm, to boot.
07:28 <Cepheid> It works by summing a range of bytes. When it encounters a byte that is greater than or equal to 0x80, it adds it as usual, but then subtracts the relevant byte shifted left 8 positions.
07:28 <Cepheid> I have no idea why.
07:29 * ConfusionRift shrugs.
07:30 *** Quits: Golden (uid250033@Pony-360sli.charlton.irccloud.com) (Quit: Connection closed for inactivity)
07:31 <Cepheid> Actually, no, again I got that wrong.
07:31 <ConfusionRift> "Oooh, I get it." (whispers) "I don't get it."
07:32 <Cepheid> Let me try again. Sums a range of bytes. If it encounters a byte greater than or equal to 0x80, it adds it, then subtracts 0x100.
07:33 <Cepheid> Bad news. There's multiple checksums throughout the save. Good news. They all use the same function.
07:35 <Cepheid> Plus, they only cover a section of the file.
07:35 <Cepheid> Amazingly, the game DOES NOT SPAZ when I modify only one of the two copies in the save ram.
07:38 *** Joins: Golden (uid250033@Pony-360sli.charlton.irccloud.com)
07:40 *** Quits: PinkieShy (coolm@Pony-ck81je.67-212-45-net.sccoast.net) (Connection closed)
07:40 <Cepheid> I reduced the operation to the line: result += bytes[i] - ((bytes[i] << 1) & 0xFF00);
08:00 * ConfusionRift coughs. He's under some tea drinking... he don't like tea.
08:03 * Cepheid sets Cepheid's STR to 283.
08:04 <Cepheid> ... Hmm.
08:04 <Cepheid> While the stat is, according to the display, set correctly..
08:04 <Cepheid> The displayed number is not.
08:05 *** Quits: cabbage (cabbage@Pony-8q0glj.dynamic.sonic.net) (Connection closed)
08:09 *** Quits: Ali (Ali@Pony-cvibue.iplsin.sbcglobal.net) (Quit: Leaving)
08:09 <ConfusionRift> Would there be a case of there being two similar variables? Like, some games use a variable for memory, and another used specifically for display.
08:09 <Cepheid> There's 5 groups of stats.
08:09 <Cepheid> That's the problem.
08:10 <Cepheid> ...
08:10 <Cepheid> Okay.
08:10 <Cepheid> That did it this time.
08:10 <Cepheid> I set all the stat groups to maxed out. Uh... the game's not too happy about this. Sorta.
08:11 <Cepheid> https://i.imgur.com/qpcZ4AV.png
08:12 <ConfusionRift> Well nooow. :P
08:13 <Cepheid> She's doing over 2200 damage to the weakest enemies.
08:13 <ConfusionRift> It's correctly displayed. But are those the actual stats... never mind.
08:13 <ConfusionRift> I wonder if the game would overflow if you level up.
08:14 <Cepheid> ... I gotta test this.
08:14 <Cepheid> Not the overflow. Something else.
08:15 <Cepheid> Hey Abyssal.
08:15 <ConfusionRift> One of three may happen. 1) Nothing. 2) It would crash spectacularly. 3) It would underflow the number... and you're screwed.
08:15 <Cepheid> "The Rom Image has Crashed"
08:16 <ConfusionRift> Hmmmm. :P
08:16 <Cepheid> It didn't like me fighting the Abyssal God with 999 in everything.
08:16 <Cepheid> Fine, fine. 99 stats for all but HP and TP.
08:17 <ConfusionRift> Probably a stat check? Maybe the game finally crashed when it realized THAT made no sense.
08:17 * ConfusionRift finished the tea. That sucked.
08:18 <ConfusionRift> Maybe I added too much water.
08:19 <Cepheid> I dunno. But the game does allow stats to exceed 100. It just caps them, then writes the capped values alongside the uncapped values.
08:20 <Cepheid> ... Huh.
08:20 <Cepheid> It's not the game code freaking out.
08:21 <Cepheid> Seems to be the emulator.
08:21 <ConfusionRift> Might actually be a bit of both.
08:21 <Cepheid> Possibly.
08:22 <Cepheid> Only way to confirm would be to try it on an actual DS.
08:22 <Cepheid> Not a risk I'm willing to take. Yet.
08:22 <ConfusionRift> Depending on how the game reads information, the emulator will try to replicate it. Are the changes you're doing on runtime?
08:26 <Cepheid> Nope.
08:27 <ConfusionRift> Hmmm.
08:27 <Cepheid> I'm making the changes directly to the save file, then loading it.
08:27 <ConfusionRift> Game savefile, or save state?
08:28 <Cepheid> Game savefile.
08:28 <ConfusionRift> Oh wait, yeah. You said that earlier.
08:30 <ConfusionRift> Maybe it's just that. The game realizing those stats made no sense. I was gonna ask if it was with just that one boss, or was it with any boss, but you already changed things.
08:31 * Cepheid tries something absolutely insane.
08:31 <Cepheid> Oh hells yes it works.
08:32 <Cepheid> Essentially, one of the reasons I did all this was, so that I could re-order the guild roster.
08:33 *** Quits: Luminarc (Bat@Squeaky.Cuddly.Batpony) (Connection closed)
08:33 * Cepheid uses nearly unmodified save. Tries fighting boss.
08:35 <Cepheid> Still crashes. It's either an AP method, or something about the battle just doesn't sit well with the emulator.
08:35 *** Joins: [AFK] (Bat@Squeaky.Cuddly.Batpony)
08:35 <Cepheid> One way I can test, to be honest.
08:36 *** Quits: Reia_Hope (Reia_Hope@TheCowPony) (Connection closed)
08:36 *** [AFK] is now known as Luminarc
08:37 <ConfusionRift> Hmmmmm.
08:37 <ConfusionRift> And it's specific to boss fights, right?
08:38 <Cepheid> Just this one boss, actually.
08:38 <Cepheid> Others work fine.
08:38 <ConfusionRift> Interesting.
08:38 <ConfusionRift> Might be a secondary check.
08:38 <Cepheid> First and foremost, where does TWiLight store it's save files..?
08:43 <Cepheid> Man this tool is not helping me one bit in figuring that out
08:45 <Cepheid> There. Running the game off SD card with my unmodified save file. If it crashes on the boss, it's an anti-piracy measure.
08:46 <Cepheid> Worked fine. Let's try a modified file.
08:49 <Cepheid> In fact, ye know what?
08:49 <Cepheid> Let's do this the *FUN* way.
08:49 * Cepheid loads in the 999 stats save.
08:50 <ConfusionRift> Hehehe.
08:50 <Cepheid> You have no idea how awesome it feels to see the save file load.
08:50 <Cepheid> Well, for starters.
08:50 <Cepheid> The status screen looks better.
08:51 *** Quits: Reia (Reia_Hope@TheCowPony) (Connection closed)
08:52 *** Joins: Reia (Reia_Hope@TheCowPony)
08:52 *** Quits: Reia (Reia_Hope@TheCowPony) (Connection closed)
08:53 <Cepheid> Loads. It's the emulator.
08:53 * Cepheid goes o3o to what he just saw.
08:53 <Cepheid> First off, Cepheid only took 230 damage from the Abyssal God's killer starter skill. It killed everyone else with 8000+ damage.
08:53 <Cepheid> Secondly...
08:54 <Cepheid> Her Protection Order now heals OVER THREE THOUSAND.
08:56 <ConfusionRift> "CHEATEEEEERRRRRRRR!!!" (crashes)
08:56 <Cepheid> Heh.
08:56 <Cepheid> For the record, removing any equipment causes her stats to revert to max.
08:57 <Cepheid> But only the 5 stats.
08:57 <Cepheid> HP and TP are unaffected.
08:57 <ConfusionRift> Huh.
08:57 <Cepheid> I am under the impression that if I set those above 999, they'd be reset to 999 if I changed gear.
08:57 <Cepheid> 999 is the legitimate maximum.
08:59 <Cepheid> I wonder how far it can go.
08:59 <Cepheid> Officially, the 5 stats are unsigned short integers. They can go up to 65535, while the HP and TP are unsigned integers.
09:00 <Cepheid> 4.2 billion, approximately.
09:01 * Cepheid sets the maxes more conservatively. Maximum int values for each type.
09:03 <Cepheid> Bets on what happens?
09:03 <ConfusionRift> After you...?
09:04 <Cepheid> After I set all the stats to the maximum possible values they could potentially hold.
09:04 <ConfusionRift> Hmm. Well, it's either crash or proceed. Tempted to say crash at some point. :P
09:04 <Cepheid> Well, it loaded.
09:05 * Cepheid opens the status- ...
09:05 <Cepheid> This has to be seen./
09:05 <ConfusionRift> Or the game's gonna eat it, and shortly puke violently.
09:07 <Cepheid> https://twitter.com/LuminousOcean/status/1204688918437941248 Damnit Twitter.
09:08 <ConfusionRift> You should've expected that, to be honest. If it's gonna exceed its written parameters, it will display just a mess. :P
09:08 <Cepheid> Huh.
09:08 <Cepheid> Cepheid died from one hit due to overflow.
09:08 <ConfusionRift> Hah!
09:08 <Cepheid> Guess how much her Protect Order heals.
09:09 * Cepheid attacks.
09:09 <Cepheid> ...
09:09 <Cepheid> 172,000 damage.
09:09 <ConfusionRift> Just.
09:10 <Cepheid> Protect Order heals for 43,000.
09:10 <Cepheid> And attempting to use max level resurrection on her only restores 99,999 HP. Guess that's the maximum for character HP.
09:11 <ConfusionRift> Hmmm.
09:12 <ConfusionRift> I feel if you level up, it's either gonna crash or everything's gonna revert to 0, and you'll just get the few points you earned from the level up.
09:12 <Cepheid> Geezus hells alive.
09:12 <Cepheid> Even against the Abyssal God she only does 230 damage.
09:12 <Cepheid> I know it has to be weakened through killing the tentacles, but c'mon.
09:13 <Cepheid> That's insane.
09:13 <ConfusionRift> They set some really high stats, so you HAVE to kill it the intended way.
09:14 <Cepheid> Yep. Her HP drops to 999 if I change equip.
09:16 <ConfusionRift> Then yeah, that's the intended max values. Huh.
09:17 <Cepheid> https://twitter.com/LuminousOcean/status/1204691657104510976
09:17 <Cepheid> What it looks like in combat.
09:19 <ConfusionRift> "Puny mortal! You shall die for your-" | (pokes with a stick) | "Ow." (dies)
09:21 <Cepheid> Basically.
09:25 * Cepheid sets up one last field to edit for the night, then calls it a morning.
09:25 <Cepheid> I want to see if character level affects anything.
09:27 <Cepheid> That said, I am surprised at how well the game holds up to this.
09:28 <Cepheid> I misread the damage number.
09:28 <ConfusionRift> Same. Not many games like to be messed like this, especially an RPG.
09:28 <Cepheid> It can exceed 10,000, not 100,000.
09:29 <Cepheid> Game seriously does not like the HP values I'm setting.
09:29 <Cepheid> Also, gaining EXP resets the level to 99, if it's above that.
09:30 <ConfusionRift> Okay. So it doesn't necessarily have an underflow from overflow situation.
09:32 <Cepheid> Nope.
09:32 <Cepheid> Actually, it does.
09:32 <Cepheid> That's happening with HP and TP.
09:33 <Cepheid> If they're too high, they appear to wrap-around and become negative.
09:33 <ConfusionRift> Ooooh.
09:33 <Cepheid> Doesn't entirely surprise me. Current HP and TP are stored as 2 bytes, unlike maximum HP and TP, which are stored as 4.
09:33 <Cepheid> That means 65535 max.
09:34 <Cepheid> One way to find out. o3o
09:36 *** Joins: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long)
09:36 <Cepheid> Yeah, looks like it's handling that just fine.
09:36 <Cepheid> .. Or not. o3o;
09:36 <Cepheid> I did a rest, and her HP went negative.
09:37 <Cepheid> Even using restoratives does nothing.
09:37 <ConfusionRift> You got an undead. 0_0
09:38 <Cepheid> Interestingly..
09:38 <Cepheid> I just can't FULL heal her.
09:38 <Cepheid> I can heal her regularly, and it works fine.
09:38 <ConfusionRift> Actually, that would be interesting. A dead/undead character, but since they're dead, the game would display their stats as negatives.
09:38 <Cepheid> Let's see at which point it breaks.
09:41 <Cepheid> 32768.
09:42 <Cepheid> Current HP is a signed integer, I guess.
09:42 *** Joins: danwellby (danwellby@The.lone.griffon)
09:45 <ConfusionRift> Hmmmm.
09:47 * Cepheid adds some validation code for that.
09:47 <Cepheid> Also, why I'm doing this isn't just because it's funny.
09:48 <Cepheid> But because it's the best way to test the more complex stuff that I'll be doing later.
09:54 <Cepheid> I just realized something horrible.
09:54 <Cepheid> I have become my own worst EO enemy. I've become... a FOE. :P
09:57 * ConfusionRift pukes oil again.
09:57 <ConfusionRift> And then, people as why I don't like Apple products.
09:58 <ConfusionRift> Oh wait... why would... urgh, it's Linus, of course.
10:00 <ConfusionRift> The man wanted the craziest Mac Pro out there. And the man now complains of the price. :P
10:02 <Cepheid> Heh.
10:04 * Filly_Nightmares nibbles on ConfusionRift
10:06 *** Joins: Changeling_Nightmares (Surreal@Cutest.Floofy.Changeling.Batpone)
10:07 * ConfusionRift patpats Filly_Nightmares. :P
10:08 * Cepheid also sets limits for level. 1 to 99 inclusive. No point going outside this range, silly as it'd be to have level 0 characters.
10:09 *** Quits: Filly_Nightmares (Surreal@Cutest.Floofy.Changeling.Batpone) (Ping timeout: 121 seconds)
10:10 <Cepheid> Oh yeh.
10:10 <Cepheid> The game doesn't spaz about weapons a character shouldn't be able to use being equipped.
10:13 <Cepheid> I kinda suspect it won't spaz about having random items equipped on a character either.
10:15 *** Changeling_Nightmares is now known as Filly_Nightmares
10:15 <ConfusionRift> There's a chance it won't, simply because (for the most part) equipment just adds to stats of a character, and it's just a limited to who can use them. Not something that changes the game drastically.
10:17 <Cepheid> Given that the Shogun can have multiple weapons equipped, it's likely the game is designed such that it just adds whatever stats apply from each slot, and they arbitrarily limited one slot only to weapons.
10:19 * ConfusionRift sighs at Nintendo.
10:19 <ConfusionRift> They're porting a lot of visual novel games, and most of them are the really weird ones.
10:21 <ConfusionRift> Oh, this one's an action game. But you date... your blade... SKIP!
10:24 <Cepheid> Heh.
10:25 <Cepheid> Meanwhile, Axiom Verge is getting a sequel.
10:25 * ConfusionRift spittakes.
10:25 <ConfusionRift> Excuse me?
10:25 <Cepheid> Yeah.
10:25 <Cepheid> I did the same when Schism told me.
10:26 <ConfusionRift> Seems to be Switch exclusive so far, and this... this is interesting.
10:27 <ConfusionRift> That's not Trace anymore, or so it seems.
10:28 <ConfusionRift> Hmmmm.
10:28 <ConfusionRift> Very interested, and it's supposed to release next year.
10:32 <Cepheid> Mmhmm.
10:32 <Cepheid> Hum. Running outta energy. 3o3;
10:33 <ConfusionRift> Urgh... they just had to ask. Well, gonna ask you as well. :P
10:33 <Cepheid> Hmm?
10:34 <ConfusionRift> Which was your starting consoles, between the SNES and Genesis? And on retrospective, would you have switches sides?
10:34 <ConfusionRift> *switched
10:34 <Cepheid> Genesis, and no, I would have also just picked up the other if I could afford it.
10:35 <Cepheid> Why limit myself intentionally to one side?
10:36 <ConfusionRift> I know, but I think it was one of those "if you could, would you" questions. Not exactly a "PICK YOUR TEAM!" one. Though it felt like that with the answers.
10:37 <ConfusionRift> Also... I do agree with you. :P
10:39 <ConfusionRift> Besides, the SNES and Genesis shouldn't be competing against each other anyways.
10:39 <Cepheid> Indeed
10:41 <Cepheid> Tomorrow, I'm gonna have fun and work on the drawn map viewer. That, or start work on decompressing textures, models and such, so I can make a map renderer
10:41 <ConfusionRift> Gonna guess you're gonna go full mod mode on this?
10:42 <Cepheid> That was the plan, yes.
10:42 <Cepheid> Save files are just a stepping stone to help with the more complex stuff.
10:43 <Cepheid> Far as I can tell, the game doesn't checksum any of the data it uses. So poking models and such, changing them around, it shouldn't be as difficult as modifying save files.
10:43 <ConfusionRift> Oh. OH! Ooooohhh. I initially misunderstood the plan. Sowwy.
10:44 <Cepheid> I likely won't go as far as model editing.
10:44 <Cepheid> But let's see, I want to poke at...
10:45 <ConfusionRift> But you might be able to change the sprites to something else, unless you just want to change fewer aspects of the game.
10:45 <Cepheid> AI scripts. Monster stats. Growth charts. EXP charts. FOE definitions. Map editing. Event scripts. Text.
10:45 <Cepheid> Oh, sprites, yeah. Definitely.
10:45 <Cepheid> Palettes, too.
10:45 <Cepheid> Models... eeehhh... Too much effort. I'd be better off decoding them so I can show the user what their map would look like.
10:47 <Cepheid> https://twitter.com/miaaselaa/status/1203908356706054145 Anyways, as I go off to get ready for bed, I leave you with this.
10:50 <ConfusionRift> Oh goodness... those are just priceless. :P
10:50 <ConfusionRift> That last one's the best.
10:51 <Cepheid> Can't say cats don't understand reflections.
10:51 <ConfusionRift> It's really odd.
10:52 <ConfusionRift> Especially the one going just aggressive. "Wait... you... hiding behind that mask! YOU TRAITOR!"
10:54 <ConfusionRift> That third one too. "Wait..." (looks up) "...wait..." (looks down, then slowly looks up) "...WAIT A SECOND!"
10:56 <ConfusionRift> I know, the understand what is basically a reflection, but it's still pretty odd.
10:56 <Cepheid> Yep. And the first one. You see the sudden realization that Something Is Not Right.
11:04 <DerpyBot> New post on Equestria Daily by Calpain: Morning Discussion #1778 [ http://tinyurl.com/qsws2x2 ]
11:52 <Cepheid> I pushed myself too hard today I think. My body feels like it weighs a ton. Various joints hurt as if I've over extended them. I feel exhausted beyond words.
11:53 *** Quits: danwellby (danwellby@The.lone.griffon) (Connection closed)
11:53 <Cepheid> And all I did today was analyze and code.
11:54 * Filly_Nightmares noses into Cepheid warms and curls up against
12:04 <DerpyBot> New post on Equestria Daily by Sethisto: Poll Results: How Happy Were You With the Amount of Discord We Got? [ http://tinyurl.com/vam3767 ]
12:08 * PrincessRainbows gallops at ConfusionRift and licks a lot
12:08 * ConfusionRift pets PrincessRainbows. :P
12:09 * PrincessRainbows does tricks for the ConfusionRift
12:12 * ConfusionRift gives PrincessRainbows a treat.
12:13 <PrincessRainbows> Yay! Is good pony! barks
12:15 * Cepheid attempts to strike the code one more time. He instead wobbles, falls over, and it all fades to black. Moments later he awakens in bed, sick.
12:15 *** Quits: WildSoft (WildSoft@Pony-pgel9b.bredband.comhem.se) (Ping timeout: 121 seconds)
12:15 * ConfusionRift lightly pats Cepheid. ._.
12:16 * PrincessRainbows chews on her chew toy and curls up to sleep
12:32 *** Joins: darkdoomer (kayanamasha@nowhere.eq)
12:40 *** Quits: Golden (uid250033@Pony-360sli.charlton.irccloud.com) (Quit: Connection closed for inactivity)
12:44 *** Joins: RazorSharpFang (RazorSharpF@Pony-m2g.u6s.63.203.IP)
12:45 *** Quits: RazorSharpFang (RazorSharpF@Pony-m2g.u6s.63.203.IP) (Connection closed)
12:45 *** Joins: RazorSharpFang (RazorSharpF@Pony-m2g.u6s.63.203.IP)
12:57 *** Quits: RazorSharpFang (RazorSharpF@Pony-m2g.u6s.63.203.IP) (Connection closed)
13:08 *** Joins: WildSoft (WildSoft@Pony-pgel9b.bredband.comhem.se)
13:27 *** Quits: ADragonDreaming (IceChat9@Pony-tpdjag.livnmi.sbcglobal.net) (Ping timeout: 121 seconds)
13:30 *** Quits: Filly_Nightmares (Surreal@Cutest.Floofy.Changeling.Batpone) (Ping timeout: 121 seconds)
13:34 *** Quits: ConfusionRift (ConfusionRi@Pony-eaa.irn.56.193.IP) (Quit: Recharging the batteries. Laters! *shutdown*)
13:53 *** Joins: ADragonHoarding (Mibbit@Pony-krk.qod.41.69.IP)
13:55 *** Surreal_Nightmares is now known as Sleeping_Nightmares
13:55 * Sleeping_Nightmares sleepies on Schism
14:35 <lunanightwind> Morning
14:40 *** Joins: LibrarianofHope (Librarianof@Pony-nv8.19p.147.189.IP)
14:40 <LibrarianofHope> hellooo
14:44 *** Quits: ADragonHoarding (Mibbit@Pony-krk.qod.41.69.IP) (Quit: http://www.mibbit.com ajax IRC Client)
14:52 <lunanightwind> Morning LoH
14:53 <LibrarianofHope> how are you this fine, col morning?
15:11 <lunanightwind> Fine....and cold lol
15:11 <lunanightwind> Also i have a puppy crawling all over me
15:11 <LibrarianofHope> that sounds awesome
15:12 <lunanightwind> Eh he can be cute sometimes
15:12 <lunanightwind> Hes 6 months old so still a puppy technically
15:12 <LibrarianofHope> most dogs are babys forever mentally
15:12 <LibrarianofHope> my 50 kilos akita boy still swears he is a puppy
15:13 <LibrarianofHope> and wants lap cuddles accordingly
15:19 <lunanightwind> Lol
15:19 <LibrarianofHope> its funny cause he does act all cuddly and cute, he even whines like a baby.
15:20 <LibrarianofHope> but in the rare cases he barks normally you would run the heck out
15:24 *** Joins: ADragonHoarding (Mibbit@Pony-krk.qod.41.69.IP)
15:25 *** Quits: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long) (Ping timeout: 121 seconds)
15:26 *** Joins: Angie (Scootaloo@I.Will.Fly.Higher)
15:28 *** Quits: Angie (Scootaloo@I.Will.Fly.Higher) (Connection closed)
15:29 *** Joins: Angie (Scootaloo@I.Will.Fly.Higher)
15:44 *** Quits: Angie (Scootaloo@I.Will.Fly.Higher) (Ping timeout: 121 seconds)
15:50 * Lumindia jkicks Schism
15:58 *** Joins: Fn (Eogan@Pony-lqd8at.dip0.t-ipconnect.de)
16:01 *** Quits: FruitNibbler (Eogan@Pony-g98bc3.dip0.t-ipconnect.de) (Ping timeout: 121 seconds)
16:04 <DerpyBot> New post on Equestria Daily by Makenshi: EQG Song Remix: The Other Side (Wootmaster Remix) [Drum & Bass] [ http://tinyurl.com/vmza66p ]
16:07 *** Joins: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long)
16:11 *** Quits: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long) (Ping timeout: 121 seconds)
16:11 *** Joins: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long)
16:16 *** Quits: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long) (Ping timeout: 121 seconds)
16:23 *** Joins: Cyan_Spark (Cyan_Spark@sparks.only.last.so.long)
16:50 *** Joins: Bubbles (EvaSh@Pony-1t0s0g.cable.virginm.net)
17:04 <DerpyBot> New post on Equestria Daily by Calpain: Fanfiction: Being the Lesser Evil [ http://tinyurl.com/ss5r23p ]
17:56 *** Joins: Crimson_Ta1l (zeta@batpones.are.for.snuggles)
17:56 *** Quits: Crimson_Tail (zeta@batpones.are.for.snuggles) (Killed (NickServ (GHOST command used by Crimson_Ta1l)))
17:56 *** Crimson_Ta1l is now known as Crimson_Tail
18:04 <DerpyBot> New post on Equestria Daily by Calpain: Comic: Ponies Must Be Crazy 9 / Rainbow Factory 135 / I Have Yours 3 / AoS 4:28 / A(pple)ffection 110 [ http://tinyurl.com/uoxrafc ]
18:04 *** Quits: Crimson_Tail (zeta@batpones.are.for.snuggles) (Ping timeout: 121 seconds)
18:06 *** Joins: Crimson_Tail (zeta@batpones.are.for.snuggles)
18:07 *** Joins: Ali (Ali@Pony-jpekok.4nua.5fca.1702.2600.IP)
18:07 *** ChanServ sets mode: +qo Ali Ali
18:07 * LibrarianofHope le pokes ali
18:07 * Ali flops into LibrarianofHope
18:11 *** Quits: LibrarianofHope (Librarianof@Pony-nv8.19p.147.189.IP) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
18:30 <lunanightwind> Im back
18:44 <DerpyBot> New post on Equestria Daily by Sethisto: Official "Pony Life" Trailer on Hasbro's Youtube Channel Set to Private [ http://tinyurl.com/wdgnhnq ]
18:45 * Cepheid flops in.
18:48 <Cepheid> So, Schism. Max HP and TP are 32,767. Stats, hell if I know. I set them to 32,767 and the game worked with them. Even functioned with the skills. UI bugs up a tad though.
18:48 <Cepheid> https://twitter.com/LuminousOcean/status/1204688918437941248?s=19
18:54 <Cepheid> Ironically, not enough to kill the full-power Abyssal God. Even with those stats she only does about 200 damage.
18:54 <Cepheid> And I know the stats are in effect. She does nearly 9000 damage to Narmer.
19:15 *** Joins: PinkieShy (coolm@Pony-ck81je.67-212-45-net.sccoast.net)
19:31 *** Quits: Bubs (crap@Pony-uh4.o2r.127.80.IP) (Quit: Comic Sans: The AOL of Fonts.)
19:33 *** Joins: Bubs (crap@Pony-uh4.o2r.127.80.IP)
19:49 <Cepheid> Oh, awesome.
19:49 <Cepheid> melonDS runs the game just fine.
19:49 <Cepheid> Final boss, limits, rendering, everything.
19:54 *** Quits: lunanightwind (lunanightwi@Pony-edrl3g.nth7.j4eu.0191.2601.IP) (Ping timeout: 121 seconds)
19:56 *** Joins: lunanightwind (lunanightwi@Pony-b4ddcr.t64p.uhog.1000.2600.IP)
19:58 *** Joins: RyuImperator (RyuImperato@Pony-trb5lu.dip0.t-ipconnect.de)
20:00 *** Quits: lunanightwind (lunanightwi@Pony-b4ddcr.t64p.uhog.1000.2600.IP) (Ping timeout: 121 seconds)
20:02 *** Joins: lunanightwind (lunanightwi@Pony-7psh9e.sub-97-47-68.myvzw.com)
20:06 *** Quits: lunanightwind (lunanightwi@Pony-7psh9e.sub-97-47-68.myvzw.com) (Ping timeout: 121 seconds)
20:06 *** Joins: lunanightwind (lunanightwi@Pony-2u3cik.d2fi.qmos.1000.2600.IP)
20:11 <Cepheid> !link https://www.youtube.com/watch?v=vDMwDT6BhhE
20:11 <DerpyBot> I need to ask Twilight about that one.
20:11 <DerpyBot> Twilight told me this video is about Objection Funk
20:18 *** Quits: lunanightwind (lunanightwi@Pony-2u3cik.d2fi.qmos.1000.2600.IP) (Ping timeout: 121 seconds)
20:29 <Cepheid> "I often think about the god who blessed us with this cryptic puzzle... And wonder if we'll ever get a chance to kill him." Way to appeal to one of my core traits, game. o3o
20:34 *** Quits: heftig (heftig@quassel.archlinux.org) (Client exited)
20:34 *** Joins: heftig (heftig@quassel.archlinux.org)
21:04 <DerpyBot> New post on Equestria Daily by Sethisto: Drawfriend Stuff (Pony Art Gallery) #3187 [ http://tinyurl.com/wzyme4r ]
21:06 *** Joins: Golden (uid250033@Pony-360sli.charlton.irccloud.com)
21:22 *** Quits: ArchPegasusMichael (Poni@Keep.In.A.Friendly.And.Pony.Place) (Quit: Leaving)
21:30 *** Quits: RyuImperator (RyuImperato@Pony-trb5lu.dip0.t-ipconnect.de) (Connection closed)
21:38 *** Ali is now known as Ali|AFK
21:45 * Cepheid tries to simplify his checksum algorithm further.
21:55 <Cepheid> ...
21:55 <Cepheid> It's just sum += two's complement of byte, where byte is a signed integer.
21:55 <Cepheid> Thus: sum += -byte
22:01 *** Joins: ArchPegasusMichael (Poni@Keep.In.A.Friendly.And.Pony.Place)
22:14 <Cepheid> And I reduced it completely.
22:14 <Cepheid> It's sum += byte, where byte is a signed byte.
22:14 <Cepheid> That was the checksum.
22:24 <PinkieShy> !lastseen Thelema5
22:24 <PinkieShy> I miss them.
23:04 <DerpyBot> New post on Equestria Daily by Sethisto: The Top 10 Pony Videos of November 2019 [ http://tinyurl.com/tg9xqas ]
23:06 *** Quits: ADragonHoarding (Mibbit@Pony-krk.qod.41.69.IP) (Quit: http://www.mibbit.com ajax IRC Client)
23:14 *** Quits: darkdoomer (kayanamasha@nowhere.eq) (Connection closed)
23:43 * Cepheid screams in frustration with ArchLinux for the first time ever.
23:54 *** Joins: ADragonDreaming (IceChat9@Pony-tpdjag.livnmi.sbcglobal.net)
23:55 *** Quits: Golden (uid250033@Pony-360sli.charlton.irccloud.com) (Quit: Connection closed for inactivity)
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!