Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 12/10/07 04:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

"Golbalization" of OTA

Well...I can't sleep...so here is my idea...

In the end, I will be sticking all of OTA in the global folder? Why? Because I can, and it will make future OTA versions easier to install...

In the beginning of each main file I will put...

var in interrupt;

void func main(void)
{

fork pre
If (interrupt eq 2) pause 4500

If (interrupt eq 0)
{
Normal Oni stuff here
}
}

----

And the pre function...

func pre
{
fork ota_menu
}

---

func ota_menu
{
dmsg "Press Ctrl to start OTA, else press crouch or wait"
fork crouch_det
func ctrl_det
If (ctrl_t eq 1) interrupt = 1
If (cr_t eq 1) interrupt = 0
#Yes, a crouch overrides pressing ctrl
If (interrupt = 1) fork ota_start
}

---

func ctrl_det
{
chr_wait_animtype 0 taunt
ctrl_t = 1
}

---

func cr_det
{
chr_wait_animtype 0 crouch
cr_t = 1
}

---

func ota_start
{
ota_strd = 1
dmsg "OTA v x.1 started!"
*OTA CORE GOES HERE*

}

---

Notes:
I am probably missing something...

I neglected to declare variables...all of them are normally 0, except interrrupt, which is 2

If its neccessary, as an added precaution, put a big "if ota_strd =1 {" at the beginning of all OTA files to make sure they are only executed when ota is started...

Questions:
Do you guys want me to work on this?

Is there any way to tell what the current level is from script, with a simple function? (though I could probably throw together a workaround if there isnt...)?

Is there any way to tell if the version is 7th anniverssery?

Eventually, you will be able to select from "classic" teams, or a custom team you can create and drop in your global folder...

I know I didn't use the most efficient menu system...anyone care to fill me in on a better system...?
I do have a system in mind for mid-combat menu, but it would be inefficient here...

Last edited by Gumby (12/10/07 04:12)


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#2 12/10/07 19:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: "Golbalization" of OTA

Updates...almost done with sorting what is core and what is not...thanks for making it easy to tell ^_^

Installation of the core of OTA will be a bunch of files stuck in the global folder

Each level will have 2 files associated with it...

1. An update to the level_main adding the above mentioned lines to it
2. A file that goes in either global or the level folder (either should work) that contains the ota data

I'm going to need help on the custom teams bit...is it possible to spawn two of the same character in the same level without spawning a different character and changing it?


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#3 12/10/07 19:12

Your_Mom
Member
From: Canada
Registered: 01/31/07
Website

Re: "Golbalization" of OTA

I think geyser was working on that for a while...donno what became of it.


droid803sig.jpg

Offline

#4 12/10/07 19:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: "Golbalization" of OTA

Done:

Compared two OTA levels, found the core files, and seperated them out

Needs to be done:

Double check the above
Implement the startup system
Combine the differing files


-----------


http://geyser.oni2.net/OniTeamArena/WIP/IGMD_OTA2.ZIP

Seems to be seperated out....but I don't know...why can't geyser answer that?

Either way, it doesn't include my startup script ^_^...though it might be easier just to go with his, and have me do the work of seperating the other files to match (and possibly add the startup)

Last edited by Gumby (12/10/07 20:12)


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#5 12/11/07 02:12

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: "Golbalization" of OTA

Patience is a virtue. Please Wait (TM) wink


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#6 12/11/07 11:12

Onilover
Member
From: Atmospheric Conversion Center
Registered: 11/30/07

Re: "Golbalization" of OTA

what's ota?

Offline

#7 12/11/07 11:12

EdT
Moderator
From: Los Angeles, CA
Registered: 01/13/07
Website

Re: "Golbalization" of OTA

Onilover: This is OTA:
http://wiki.oni2.net/ONK:OTA

Lots of fun to play!

Offline

#8 12/12/07 22:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: "Golbalization" of OTA

So...should I not work on this then?


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#9 12/13/07 12:12

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: "Golbalization" of OTA

Sorry about the late reply.

I have indeed experimented with the idea of globalizing BSL some time ago.
One thing about it is that only the PC retail Oni can handle the global folder...
So most probably you'll have to provide a non-global version of OTA anyway.
And at the end of the day, OTA will be nothing without new cross-level ports.

Random notes:
It's a bit odd to wait for a taunt animation, which is context-based (opponents).

Also note that pre and ota_menu, if forked, will fail to alter interrupt in time for main.

Also note that there's a gross typo ("func" instead of "fork") at line 3 of func ota_menu.
And another one here: "If (interrupt = 1) fork ota_start" ("=" instead of "eq").
Not to mention that "if" is supposed to be lowercase.
And that you wrote "pause" instead of "sleep".
And "var in" instead of "var int". Maybe more.

Less random notes:
No, there is no direct way to determine the current level. There's no need though.
OTA has lots of level-specific functions, and it makes no sense to globalize them.
Also note that the amount of logic Oni can load in memory at level load is limited.
That means it's a bad idea to have it load all of Oni's OTA as a bunch of global ifs.

The Anniversary Daodan might provide a direct way to detect the Edition's version.
But there are rather obvious Daodan-independent workarounds, e.g., binary hacks.

About the menu in general:
Gumby, in case you haven't seen "my" ingame menu in action, please check it out.
Also note that the DevMode console lessens the need for a hackish menu dramatically.

is it possible to spawn two of the same character in the same level without spawning a different character and changing it?

Er, not sure what you mean by 2 of the same, but if there are 10 red strikers in a level, what keeps you from using all 10? neutral


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#10 12/13/07 20:12

ItemfinderDeluxe
Member
From: Canberra, Australia
Registered: 11/12/07

Re: "Golbalization" of OTA

Perhaps Gumby means spawning two of, say, Mudake in a level.  We know that Oni can have two Mutant Muro's in the compound OTA, but that's because there are two models to work with.  For other 'characters' though, it's rare to do so.

So, the question probably is "Is it possible to force the spawning of a character, then have OTA register that  forced spawn as a seperate character from the original?"


TCTF SWAT: Striker, you're under arrest.
Striker: H4h, y0u c4n'7 570p m3!!!
TCTF SWAT: Damn it, learn to spell!!!
CURRENT PROJECT - 'Nemesis' V1.0 Released

Offline

#11 12/13/07 20:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: "Golbalization" of OTA

It was psuedo-hypotheticl code...I didn't debug it, it was late at night ^_^

You would only have one if, the one that decides if OTA is started or not...othewise the OTA functions never start

All the level specific stuff would go in the level folder...but that wouldn't work as well ^_^

Your menu requires F9, no? A good idea, but I was just making an alternative


Okay, I'll find something else to spend time on...


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#12 12/13/07 22:12

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: "Golbalization" of OTA

"If you're having trouble thinking of ways to make yourself useful, I'll give you some suggestions." smile
Why not go ahead and port that thing to as many levels and areas as possible? Too boring, or what?

No, ATM there is no way to rename force-spawned chars so they can be called individually by name.

Last edited by geyser (12/13/07 22:12)


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#13 12/14/07 01:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: "Golbalization" of OTA

Yeah, I can do that...not for a few days though...and then I need to go through the trouble of turning on flag numbers...though I have an idea for a street battle in level 1...or maybe lab...hmmm (chr_teleport is required so that level would be Mac only)...is there any way to detect a Mac version? I bet I could...can you detect if a variable is undefined? Will an undefeined answer in an if statement crash or return negative?


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

Board footer

Powered by FluxBB