Home Creators Posts Import Register Favorites Logout

Content

oh little ducks, little ducks~
im karen rejuvenation now. this is what programming does to a motherducker.

so recently i've been implementing classes. if i ever talked about our class list, it was a long time ago, so i'm sure i'll do so again in the future. for now i've just been trying to get a basic structure to compile units together from it, and some starting values with the expectation of tweaking them later. 

but first the code needs to work. i've got a laundry list of issues we're gonna run through today.

Cat the First:

the game crashes on battle load.

...this was not the supposed to be the first. i had to load the battle to get to the first one and it just crashed because of my recent changes independently mrrgrgrgr i love programming don't you, little ducks???? hahhahahaa

i'm good. so basically this is what happens when it can't find the unit's class now. only i alerady entered it so what gives!!!!

the answer was that i entered with a space. the offending unit's class is called Snowdancer. but instead of being stored as "Snowdancer", it was stored as " Snowdancer".  
i love programming <3333333333333333333333
so anyway we now trim whitespace from the start and ends of things like that so we never have to worry about it again.


Cat the Second: 

dsjfhsbdjfhbsdjhfds
So this happens when opening the summary screen. There are actually two errors here-- the crash at the bottom and the big spam of missing images. We're focused on the spam for now.

This is happening because all of the listings in the summary screen of each graphic of skills, stat read outs, arts and items is drawn independently if they exist. A character has 9 skill slots in total, but no one has that many yet, so all of the empty slots return this error when we try to fade them in because the graphics don't exist.

Our solution here is to organize them into containers. Containers are exactly what they sound like-- they hold other graphics so that they can be manipulated all together at once. When we first made the summary screen, we did not have this power. Now we do, and it is an easy solution to refactor them into there, make the spam stop, and have more manageable code and objects in the future. Easy peasy.

Cat the Third:

Now let's deal with the crash in the previous screenshot. First we need to recreate the issue. Let's load up combat and --

What do you MEAN its the same error from the first place, I already fixitdifuigbdfkjghbjdhgbjdfhgbdjfhgdfGDFGDFGDFGF <33333333333333

so the reason this happened this time is because I tried to load a map with placeholder classes. I could just replace those classes now that the data actually exists. and I will. But fuck it. No. I never wanna see this error in my life again.

we will now spit back a default, empty class in addition to the error message.

now let's fill in the other classes. this is the fun part, so i'll just drop some class names i'm including in this first battle: Iconoclast, Canon, Heresiarch, Eidolon, Coryphee, Syzygy, Deliverance... there's more. don't worry about it.

...same error because i typo'd the archetype name. that will only happen once so i only need to cry a little bit. we'll talk about archetypes later too...

the battle now loads. fuck.

Cat the Fourth: 

The cropping of the objectives screen is off... I would take a screenshot to show you, i want to keep that bit hidden for... well no i can load the test battle for a screenshot... um... let's do what we came here for first. fourth. fifth.

Cat the Fifth:

now we'll actually get to the crash in the above red screenshot, let's just skip through this cutscene since that actually works now and -- 

sonofabiiiittcccchh

Cat the Sixth:

no it's fine it's just a typo it's facetoevent not faceeventto i can fix it i can fix her we can fix--

it's fine

Cat the Fifth:

for real this time we replicate the issue which is weird because it doesnt happen in the test battle only in the actual battle which is specifically against the point of having test battles but it's fine, whatever, i'm fine haha yes.

recreation: this happens when trying to scroll through the summary menu. why? it doesn't happen when loading it.

it's real we're real so what's up

the offending code is this section: 

i think that comment is erroneous. what is actually happening here is we are iterating through each of the 9 skills we have... which i think should be just fine so let's... let's add some informaitonal messages and try one thing and see what we get. we'll just fastforward through the scene again, and--

what do you MEAN faceToEvent is also wrong it's not i CHECKED !!!!!!!!  uggggggggggggggggh

Cat the Sixth again:

ah goddamn it the faceToEvent method i added only exists in maps not the TBS so just have to copy it in there-- ah but we're calling it through starcore... so let's add it to starcore and make the scene version just call that so we can edit it all at once and break the existing calls. it's fine, little ducks... it's so fine. so fine, isn't it? aren't yo u/ yes

Cat the Fifth again:

okay so we get some printout info that skillInfo is returning null. i tested to see if this was a scope issue like the above but it's not which is nice because those tend to be more obnoxious than the above. but you can see in my code snippet it already tries to pass over the skill check if it's null. So how is it null but also not null?

ah!
it is Blank! it's not non-existent. it exists! it's just blank!

let us test again. faceToEvent worked this time, thank duck.
and clearing the blank skill from the unit has solved the crash. delightful. i will add a statement to check for such crashes in the future and we will move forward. well, backward.

Cat the Fourth:

so here's the objecitve screen. empty now but ripe for filling later:

seems fine right bUT WAIT

there is a HOLE!!!! and a bit overlaps with the rim!!!

in order to make this fit the cool circle background we have a full star image below and basically just trim it. the trimming is wrong. snip snip.

the world is cleaner now.

Cat the Seventh

combat crashes on start for some reason. frustrating! again, the test map combat is working fine so this must be some unit-specific disaster. let's recreate:

,....um, so this is because i changed a bunch of functions to be long to the unit instead of just feeding them a unit.... so that's easy to fix. but i really thought i recording this crashing before i made that change. could it be that there are multiple crashes stacked on top of each other like a jenga tower waiting to collapse?

on a retry, combat works!
...until i try to button and then it does not.

i'm not 100% sure, so let's just check if that happens to be the case in the test battle as well. we'll select a unit and move it to check and--

a-and we don't even make it to combat because for some reason the unit i selected also crashes on movement. it's fine. i'm fine. everything's fine. it's really okay. i promise. i super duper promise. i don't promise anything specific, but i do promise as a general concept and verbial action.
there were... four more after this as well, but...perhaps it's time for a break.



Comments

No comments found for this post.