AotI Offline (Unofficial) Expansion: Despair and Hope

Topics about modding PSU. The home of the offline project.

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby AryuLimitless » Tue May 22, 2012 1:09 am

@Macman: I agree. Agrajag seems to be making some kind of headway, regardless of the lack of PSO2 news.

I feel that, even a reworked and updated system through which Agrajag's been struggling through, is far better than some of the crap I've played on the private PSOBB server as of late...
An adage from my C64 days: "Good things come to those who wait." And I certainly intend to wait, wade through and report bugs, and play what I can whenever I'm on.

On a purely graphics note: PSO2 looks to be more graphically intense than it's PSU brethren. I'm looking forward to playing on the EGS server and the seemingly F2P PSO2 servers.
I can't wait either way!

@Agrajag: I remember coding in assembly far too long ago, but it makes things nicer around here to see someone still coding in it... ^_^ (I guess my inner geek is showing... :ugeek: LOL)
Anyway, I hope to see more of this kind of thing soon; of course, around your PSO2 beta runs and tests... Keep up the Great Work!
Posts: 3
Joined: Sat May 19, 2012 1:22 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Zuichy » Thu May 24, 2012 10:50 am

umm what about the types you can choose ( hunter force or ranger) will you implement other to?
and you did a great thing about arti diga, btw how can i play episode 3?
Posts: 1
Joined: Thu May 24, 2012 9:04 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Wed May 30, 2012 11:39 pm

Zuichy wrote:umm what about the types you can choose ( hunter force or ranger) will you implement other to?
and you did a great thing about arti diga, btw how can i play episode 3?
I don't plan to use (most of?) the other classes. Their actual features... I'll have to see what can be done. Wouldn't mind seeing some form of hybrid classes, but... no idea how yet.

AryuLimitless wrote:@Agrajag: I remember coding in assembly far too long ago, but it makes things nicer around here to see someone still coding in it... ^_^ (I guess my inner geek is showing... :ugeek: LOL)
x86 is far from my first choice, but... you're kinda stuck with what you're dealing with, when you're reverse-engineering stuff.

Last week just kinda vanished on me, oops, and then something that should've taken an hour or two instead took two days, so this ended up being on Wednesday instead of Monday...

Mission Pack: Planes, Trains, and Automobiles
(note: does not contain planes, trains, or automobiles)
Here. Replaces C/B/A of the first version of Fight for Food (so it's incompatible with part of the other pack; I think specifically Black Nest will be overwritten?) with the three vehicle story missions from v1, modified to strip out all the dialogue and non-vehicle segments.

Also changed the counter to allow you to choose which layout to play. If you're still using the old pack and don't mind the names being wrong (english only; I didn't change the text in the Japanese, German, or French version, although they should function properly), the file you want is a736d04bd9ed056e513c4ef2f1475693 to have only that change.

(This also means I can edit mission scripts now, which is something that'd need to be done for... all sorts of things. Story missions are the most pressing.)

NOTE: Let me know if it crashes. The US ones are playable beginning-to-end, but I have not tested the Japanese, French, or German versions. And don't use the save point in the floader mission. If you do, I can take no accountability for what happens.

EDIT: Whoops, one of the changes I made didn't make it into the uploaded version (the floader mission's rewards were still the v1 ones, so 10,000 meseta/100 MP/Innocent Slacks for an S instead of... considerably lower, with a Floader decoration; they're a bit placeholder-y, but it's easier to raise them than lower them).

EDIT again: counter, reduced the required level for the lunga/striker mission to 1 (they were 15 and 40? before).
User avatar
Posts: 877
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Chikinface » Thu May 31, 2012 3:05 pm


Seems to work fine in the JP folder. Mind I am using a modded exe...
User avatar
Posts: 336
Joined: Thu Feb 16, 2012 12:18 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Tue Jun 05, 2012 8:27 am

Okay, minor in terms of functionality status update: managed to get something approximating network mode's "PP regen on Just Attack normal attacks" thing working. For now, it's using the weapon's standard PP regen value (so if it gets 3 PP per tick, JA-ing a normal attack will give you 3 PP). It will also refill your offhand weapon (doesn't online), but I'm gonna call that a feature because I was considering doing it anyway.

My god this was a pain in the ass to do. Like two days of tediously hunting false leads trying to find both how the game refills a weapon's PP ("unpleasantly") and where it checks if you're just attacking (in the damage subroutine).

Detailed explanation follows (no code breakdown this time, unless anyone really wants one).
The game sets timers to do various things. The most relevant one here is the one for PP regeneration (onhand and offhand weapon share one). It checks the current time, compares it to when the next tick should be, and returns "true" if it's after that.
There's a big subroutine that calculates the damage as a result of any given attack. Fortunately, the JA bonus is included here. Unfortunately, there's not really all that much space leftover in it (particularly since I don't understand half the things it does), so I ended up making it jump into formerly empty space for my purposes.

So then, my implementation process was something like the following:
Go into the damage subroutine. When it does the "is this a Just Attack?" check, jump into a new section that will make the next PP tick be at time 0 (meaning any time is after it), then continue the subroutine normally.
Flaw: Works on PA hits.
Solution: Add a check to see if the hit belongs to a PA (this part is unfortunately a bit untested).
Flaw: Doesn't work on Just Counter.
Solution: Rework the subroutine. There's a branch that's taken for both Just Attack and Just Counter, it checks which one is applicable and branches accordingly (the just counter check is first). This can be fixed by making it so that it checks which it is after doing the PP regen (or, if registers are limited, do two--in this case, the register used for the counter flag is reused for... some flag, but the only way to get to the Just Attack section is if that flag's 0, so skip that check if it's a counter, then if the flag's not 0 at the end of the process, it's a counterattack).
Flaw: Weapons with multiple targets only tick once if they're hit at the same time (see: swords, whips, etc).
Solution: This is... a dangerous solution. The problem is that my approach ("schedule a PP tick") isn't checked multiple times in between simultaneous weapon hits. So... the solution is: rework the timer subroutine. Previously, it would check the current time vs scheduled time as an unsigned operation (as in, numbers run from 0 to 4,294,967,295, there are no negatives); I would make it allow negative numbers, and make it so that negative times are treated as "past", but rescheduled for that value + 1 (so -3 would go -2, -1, 0, then would be rescheduled properly). Then it's just a simple matter of making the weapon hits set the PP tick time to 0 or previous time -1 (if the previous time was <=0).
Flaw: Whoops, timer values aren't capped--if the game runs past a certain point, PP will instantly regenerate.
Solution?: Ignore the upper 16 bits of all timer values. This is probably a very bad idea; it reduces 4,000,000,000 possible times down to 65535, meaning any duration longer than... I have no idea (I'm not sure what the timer units are, maybe frames, which would make this... 1092 seconds, or 18 minutes) will fail to function. If any bugs crop up, this is it (but I really hope not). I don't even remember any timers longer than ~3 minutes (buffs), missions and the like seem to be based off of repeated 1 second timers.

So yeah! That's what I've been doing since the last update. Hopefully the rest will be easier.

(And yes, this is easily the most obnoxious thing so far.)
User avatar
Posts: 877
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Rikku » Wed Jun 06, 2012 1:40 am

PP regen offline? ;D ...

Sounds like something that should've been in v. 1 PSU :p

I believe that this will make offline gameplay a helluva lot better.

Keep up the awesome work!
User avatar
Posts: 243
Joined: Thu Feb 16, 2012 2:56 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Thu Jun 07, 2012 6:07 am

Rikku wrote:Sounds like something that should've been in v. 1 PSU :p
I especially enjoy the part where it ended up in v1 online (in the big update before AotI launch), but then wasn't in AotI's offline.

Today was spent on randomizing item drop elements. Just gotta make it not randomize partner character/shop items (note that this is randomizing the item you buy, not the one you see in the shop, so it's horribly misleading at best) and it should be set. Certain items will still be fixed-element (Crimson will still be fire-only, for instance), but their percents will be randomized.

For the time being at least (I don't plan to change it, but who knows), the element is just basically rolling a 7-sided die and giving you the element that matches its number. The percentage is rolling two 16-sided dice (0-15), then adding their results to 20 and having that be the final result. Means most items should be in the 30-40% range, with relatively few in the 20-30% and 40-50% ranges.
User avatar
Posts: 877
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Agrajag » Tue Jun 12, 2012 6:48 am

Double-posting (sinful!) because I haven't really said much the past few days. Been working on filling in the effect numbers for the weapons, thanks to Mewn's help identifying what they do. Tedious work, there's ~100 effects for striking weapons, and a bunch of them are "like this other one, except the graphic appears slightly to the right". Should be filling in the weapon stats starting soon, so it'll just leave... drop charts and the "find a way to batch-fix the missions".

So, random post.

Philosophy: On the Subject of Names

Various names are going to be changed. Some will be slightly, some will be greatly. A few will be more accurate to the Japanese version, a few will be less.

I'm looking for three main things:
1. Consistency. The ideal is that you can tell at a glance what things are related to one another. Likewise, a given set should have the same "voice"; Tenora (home of the "Waya") will never lapse into Shakespearean English.
2. Space. An item name that's longer than the text box is no good. That said, this is mainly a "clean up" thing, I've seen only one case where I had to completely rename something.
3. Applicability. When you look at the signs in-game, there's one rather striking feature: they're all in English. Japanese puns and onomatopoeia should be kept to a minimum (no more than, for instance, German references), particularly considering the audience here wouldn't actually understand them. Obviously an exception will be made for Yohmei, since that's kind of their entire thing.

So, examples.
Zoal Goug->Zoalgoug: "Zoal Goug" is accurate to the Japanese (barring the Goug/Gohg thing), but it's the only thing with that suffix that has a space in it.
Alterazgohg->Alterazgoug: All other boss Gohg/Goug monsters are "Goug".

Ank Zagza -> Ank Jagza: "Zagiza" (actual transliteration) comes from "gizagiza", or "jagged". I feel this conveys a similar message, although I may go with "Jagga" instead.

Alseva/Aldaga -> Arseva/Ardaga. The Tenora "twin" prefix is either Ar-, as in Arza or Arb('duki) or Al-, as in Alseva and Aldaga. Alb is nearly unpronounceable, so Ar wins out.

Magatatara weapons: Ick. These are the one situation where the "space" thing was a real killer (Magatatara Suzume takes up almost the entire box, so you can't even fit "T. " for the twin version). Ended up changing them entirely, as follows:
Precious Magatatara Ryu, T. Magatatara Ryu -> Spring Breeze, Spring Gale. Ryu means "dragon", the weapon is azure; it's a reference to Seiryu, the Azure Dragon. Seiryu is associated with "spring". "Gale" and "Breeze" are an aesthetic choice, don't even remember why I thought those in particular (probably dealing with the other association of the animals, "compass directions").
Precious Magatatara Suzume, T. Magatatara Suzume -> Summer Breeze, Summer Gale. "Suzume" is "sparrow", weapon is red. Suzaku is the vermillion bird, represents summer.
Precious Magatatara Tora, T. Magatatara Tora -> Autumn Breeze, Autumn Gale. "Tora" means "tiger", weapon is kinda white-blue. Byakko is the white tiger, represents autumn.
Precious Magatatara Bu, T. Magatatara Bu -> Winter Breeze, Winter Gale. Weapon is kinda dark green with red tips, not sure what the "Bu" kanji is for. EspioKaos mentioned occasionally it's used for Genbu, the black tortoise, which represents winter.

All Shin'uchi weapons: "Shin'uchi" has been dropped. This is Sega's way of either making up for blatantly failing to plan in advance ("Sange Shin'uchi", because "Sange" uses the Yasha model) or padding the weapon list (Orochi Agito + Shin'uchi Orochi Agito means that they get both an A-rank and an S-rank!).

Dark Meteor -> Meteor Falz, Dark Meteor Shot -> Dark Meteor. "Dark Meteor Shot" is the weapon known as Dark Meteor in PSO, so "Dark Meteor" lost its right to the name. Meteor Falz nicely ties it into the other "Falz" weapons (Splash Falz, Falz Dust), so expect a set to revolve around them.
Evil Meteor Shot -> Abysmal Meteor. "Evil" anything sets my cliche sense tingling. This weapon is a smaller version of Dark Meteor Shot, so Abysmal makes a nice callback to the seabed music (Abysmal Ball).

H10 Missouri -> Missouri H10. Inverted word order. There are several "Missouri" weapons, suggesting it's either a line or a manufacturer rather than an identifier (compare Glock 17A versus
subkarabinek wz. 1989 Onyks).

Poron, Poron Poron -> Pling, Pling Pling. Onomatopoeia doesn't really transcend linguistic groups! ("Poron" is the sound a harp makes if you're Japanese. "Pling" is the english equivalent.)

Not a comprehensive list, and subject to change as my mood shifts, but that should give you some idea why your favorite weapon may have a different name from before.

Next up: Probably a discussion of how partner characters work? Still several things to sort out there.
User avatar
Posts: 877
Joined: Thu Feb 16, 2012 12:24 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Mewn » Tue Jun 12, 2012 9:59 am

Zoal/Alterazgoug stuff - fine, that needs to be made consistent

Ank Jagza - much prefer Ank Zagiza, see no need to make it 'English'

Arseva/Ardaga - see your point here, but profess to having no particular opinion on this one

Magatatara weapons - really don't like translating these sorts of Japanese names, although I understand space is an issue I still would prefer something like 'T. Magat. Suzume' even though it looks kinda bad.

Shin'uchi - don't have a particular issue with removing weapon padding, so removing this is fine

Meteor Falz/Dark Meteor/Abysmal Meteor - fine, not sure about changing Evil Meteor though

Missouri weapons - no real opinion

Pling - sounds too close to 'bling' for my comfort, but agree that onomatopoeia doesn't always work in different languages

I think in some instances you may be overtranslating, if the Japanese game has plenty of English-based names I see no issue with Japanese-based names in the English version.
User avatar
Posts: 224
Joined: Thu Feb 16, 2012 11:31 am

Re: AotI Offline (Unofficial) Expansion: Despair and Hope

Postby Qwerty » Wed Jun 13, 2012 4:22 am

Whatevergougs: Sure, all for making these consistent.

Jagza: I actually like Zagza. I always took it to be some play off of "zig-zag," the "jagged" thing never occurred to me. Zagiza sounds pretty bad to me, in a "damufoie" sort of way.

Arseva/Ardaga: A little less euphonic than Alseva/Aldaga, but I don't think they sound too bad, so go with it for the sake of being consistent.

Megatatas: As I said in IRC, I'm fine with your suggestion, on the sole condition that the description for Summer Breeze is "Makes you feel fine, blowing through the jasmine in your mind."

Shin'uchi: Yeah, drop them. No reason to have duplicate weapons with the same model.

Meteor shit: Sounds good, but I'm kind of with Mewn about maybe not wanting to change Evil Meteor. I know it sounds cliche as hell, but Abysmal doesn't seem to have quite the same punch that Evil has (though your Abysmal Ball idea is kinda cool). Maybe go with something less dumb than Evil, but still packs a punch? Vile Meteor? Malicious/Maleficent/Malefic/Malevolent Meteor? Malevolent Meteor sounds cool.

Missouri: Yeah, do that.

Pling: Agree with Mewn about it being too close to Bling Bling. Unsure if this is a bad thing or an excellent thing.

...actually, just had an idea of what you could do with the Megatatas. Ok, so "Magatatara" doesn't seem to be a word that actually means anything, right? So we can just get rid of it. Precious Ryu, Precious Suzume, Precious Tora, Precious Bu. And the four animal dudes equate to compass directions right? Ok, so the twin version are Eurus, Notus, Zephyrus, and Boreas. Or if you want to go more obscure, Vulturnus, Auster, Favonius, and Aquilo. There's a lot of different things we could do, too. Maybe drop Precious instead of Magatatara for the single versions, and add something to the twins to match? Let me chart this out to give a better idea of our options, I guess:

Precious Magatatara Ryu → Precious Ryu → Magatatara Ryu
Precious Magatatara Suzume → Precious Suzume → Magatatara Suzume
Precious Magatatara Tora → Precious Tora → Magatatara Tora
Precious Magatatara Bu → Precious Bu → Magatatara Bu

T. Magatatara Ryu → Eurus → Vulturnus → Anemos Euros → Ventus Vulturnus
T. Magatatara Suzume → Notus → Auster → Anemos Notos → Ventus Auster
T. Magatatara Tora → Zephyrus → Favonius → Anemos Zephros → Ventus Favonius
T. Magatatare Bu → Boreas → Aquilo → Anemos Boreas → Ventus Aquilo (Aquilon or Septentrio are also acceptable Roman names for the northern wind)

...or any combination thereof. Sure, it doesn't stick to the original naming scheme (for the twins, anyway), but it sticks to the spirit of the naming scheme, at least.

EDIT: Whoops, forgot to mention the other option: just pick names of the 4 animal dudes from some other Asian tongue and slap Magatatara on the front of it for the twin versions.
User avatar
Posts: 458
Joined: Thu Feb 16, 2012 1:05 am


Return to PSU Modding

Who is online

Users browsing this forum: No registered users and 3 guests