Boss cutscenes are coming along! Still a wip, though.
I'm finally getting around to a project I've had in mind for ages, which is a utility to assist me on pif_LongInt. I've dreaded the idea of manually writing the remaining four classes, because it was a bit tedious to write the present Signed32 and Unsigned32 classes. Instead, I'm writing a utility that will allow me (and others) to specifiy the numbers of "blocks" (16 bit sections) and whether the object is signed/unsigned, and it'll spit out a pif_LongInt class.

It's still extremely unfinished, and due to an (already-fixed) bug report it won't work right in the current version, but progress is coming along reasonably well. Below the current output for a 4 block (64 bit) unsigned integer
#define pliFLR(X) round(X)
#define pliTB64(x) (((x) <= 25) ? ascii2text(65 + (x)) : (((x) <= 51) ? ascii2text(71 + (x)) : (((x) <= 61) ? "[(x)-52]" : (((x) == 62) ? "+" : "/"))))
#define pliBYT1(X) ((X) & 0x00FF)
#define pliBYT2(X) (((X) & 0xFF00) >> 8)
#define pliBYT1N(X) (~(X) & 0x00FF)
#define pliBYT2N(X) ((~(X) & 0xFF00) >> 8)
#define pliBYT1S(X) (((X) & 0x00FF) << 8)
#define pliDATA(X) pliBYT1(X)
#define pliBUFR(X) pliBYT2(X)
#define pliADDB(X,Y) (Y) += pliBUFFER(X)
#define pliADDD(X,Y) (Y) += pliDATA(X)
#define pliDATM2(X) (pliDATA(X) << 1)
#define pliBUFM2(X) (((X) & 0xFF00) >> 7)
#define pliADDDTM2(X,Y) (Y) += pliDATA_T2(X)
#define pliADDBFM2(X,Y) (Y) += pliBUFFER_T2(X)
#define pliFLSH(X) (X) &= 0x00FF

pif_LongInt/Unsigned64
var
block_1 = 0
block_2 = 0
block_3 = 0
block_4 = 0

const/Length = 4

mode = OLD_OBJECT | NO_OVERFLOW_EXCEPTION | FIXED_PRECISION | UNSIGNED_MODE

New(...)

if(args.len == 1)
block_1 = args[1]

else if(args.len == 2)
block_1 = args[2]
block_2 = args[1]

else if(args.len == 3)
block_1 = args[3]
block_2 = args[2]
block_3 = args[1]

else if(args.len == 4)
block_1 = args[4]
block_2 = args[3]
block_3 = args[2]
block_4 = args[1]

return src

ToFloat()
return ((block_4 & 0x8000) >> 15) * 9223372036854775800.0 + \
((block_4 & 0x4000) >> 14) * 4611686018427387900.0 + \
((block_4 & 0x2000) >> 13) * 2305843009213694000.0 + \
((block_4 & 0x1000) >> 12) * 1152921504606847000.0 + \
((block_4 & 0x0800) >> 11) * 576460752303423490.0 + \
((block_4 & 0x0400) >> 10) * 288230376151711740.0 + \
((block_4 & 0x0200) >> 9) * 144115188075855870.0 + \
((block_4 & 0x0100) >> 8) * 72057594037927936.0 + \
((block_4 & 0x0080) >> 7) * 36028797018963968.0 + \
((block_4 & 0x0040) >> 6) * 18014398509481984.0 + \
((block_4 & 0x0020) >> 5) * 9007199254740992.0 + \
((block_4 & 0x0010) >> 4) * 4503599627370496.0 + \
((block_4 & 0x0008) >> 3) * 2251799813685248.0 + \
((block_4 & 0x0004) >> 2) * 1125899906842624.0 + \
((block_4 & 0x0002) >> 1) * 562949953421312.0 + \
(block_4 & 0x0001) * 281474976710656.0 + \
((block_3 & 0x8000) >> 15) * 140737488355328.0 + \
((block_3 & 0x4000) >> 14) * 70368744177664.0 + \
((block_3 & 0x2000) >> 13) * 35184372088832.0 + \
((block_3 & 0x1000) >> 12) * 17592186044416.0 + \
((block_3 & 0x0800) >> 11) * 8796093022208.0 + \
((block_3 & 0x0400) >> 10) * 4398046511104.0 + \
((block_3 & 0x0200) >> 9) * 2199023255552.0 + \
((block_3 & 0x0100) >> 8) * 1099511627776.0 + \
((block_3 & 0x0080) >> 7) * 549755813888.0 + \
((block_3 & 0x0040) >> 6) * 274877906944.0 + \
((block_3 & 0x0020) >> 5) * 137438953472.0 + \
((block_3 & 0x0010) >> 4) * 68719476736.0 + \
((block_3 & 0x0008) >> 3) * 34359738368.0 + \
((block_3 & 0x0004) >> 2) * 17179869184.0 + \
((block_3 & 0x0002) >> 1) * 8589934592.0 + \
(block_3 & 0x0001) * 4294967296.0 + \
((block_2 & 0x8000) >> 15) * 2147483648.0 + \
((block_2 & 0x4000) >> 14) * 1073741824.0 + \
((block_2 & 0x2000) >> 13) * 536870912.0 + \
((block_2 & 0x1000) >> 12) * 268435456.0 + \
((block_2 & 0x0800) >> 11) * 134217728.0 + \
((block_2 & 0x0400) >> 10) * 67108864.0 + \
((block_2 & 0x0200) >> 9) * 33554432.0 + \
((block_2 & 0x0100) >> 8) * 16777216.0 + \
((block_2 & 0x0080) >> 7) * 8388608.0 + \
((block_2 & 0x0040) >> 6) * 4194304.0 + \
((block_2 & 0x0020) >> 5) * 2097152.0 + \
((block_2 & 0x0010) >> 4) * 1048576.0 + \
((block_2 & 0x0008) >> 3) * 524288.0 + \
((block_2 & 0x0004) >> 2) * 262144.0 + \
((block_2 & 0x0002) >> 1) * 131072.0 + \
(block_2 & 0x0001) * 65536.0 + \
block_1

_GetBlock(i)
if(!isnum(i))
throw new /pif_Arithmetic/NonIntegerException(__FILE__, __LINE__)

if(i <= 0)
throw new /pif_Arithmetic/NonPositiveIntegerException(__FILE__, __LINE__)

if(i > Length)
throw new /pif_Arithmetic/OutOfBoundsException(__FILE__, __LINE__)

switch(i)
if(1) return block_1
if(2) return block_2
if(3) return block_3
if(4) return block_4

_SetBlock(i, j)
if(!isnum(i) || !isnum(j))
throw new /pif_Arithmetic/NonIntegerException(__FILE__, __LINE__)

if(i <= 0)
throw new /pif_Arithmetic/NonPositiveIntegerException(__FILE__, __LINE__)

if(i > Length)
throw new /pif_Arithmetic/OutOfBoundsException(__FILE__, __LINE__)

switch(i)
if(1) return (block_1 = j)
if(2) return (block_2 = j)
if(3) return (block_3 = j)
if(4) return (block_4 = j)

Add(...)
var
Int_block_1 = 0
Int_block_2 = 0
Int_block_3 = 0
Int_block_4 = 0

pif_LongInt/Unsigned64/Sum

B1 = 0
B2 = 0

if(args.len == 1)
Int_block_1 = args[1]

else if(args.len == 2)
Int_block_1 = args[2]
Int_block_2 = args[1]

else if(args.len == 3)
Int_block_1 = args[3]
Int_block_2 = args[2]
Int_block_3 = args[1]

else if(args.len == 4)
Int_block_1 = args[4]
Int_block_2 = args[3]
Int_block_3 = args[2]
Int_block_4 = args[1]

if(mode & NEW_OBJECT)
Sum = new(src)
else
Sum = src

B1 = pliBYT1(block_1) + pliBYT1(Int_block_1)
B2 = pliBYT2(block_1) + pliBYT2(Int_block_1) + pliBUFR(B1)
Sum._SetBlock(1, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_2) + pliBYT1(Int_block_2) + pliBUFR(B2)
B2 = pliBYT2(block_2) + pliBYT2(Int_block_2) + pliBUFR(B1)
Sum._SetBlock(2, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_3) + pliBYT1(Int_block_3) + pliBUFR(B2)
B2 = pliBYT2(block_3) + pliBYT2(Int_block_3) + pliBUFR(B1)
Sum._SetBlock(3, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_4) + pliBYT1(Int_block_4) + pliBUFR(B2)
B2 = pliBYT2(block_4) + pliBYT2(Int_block_4) + pliBUFR(B1)
Sum._SetBlock(4, pliBYT1(B1) | pliBYT1S(B2))

if( (pliBUFR(B2) != 0) && (mode & OVERFLOW_EXCEPTION) )
throw new /pif_Arithmetic/OverflowException(__FILE__, __LINE__)

return Sum

Add(...)
var
Int_block_1 = 0
Int_block_2 = 0
Int_block_3 = 0
Int_block_4 = 0

pif_LongInt/Unsigned64/Diff

B1 = 0
B2 = 0

if(args.len == 1)
Int_block_1 = args[1]

else if(args.len == 2)
Int_block_1 = args[2]
Int_block_2 = args[1]

else if(args.len == 3)
Int_block_1 = args[3]
Int_block_2 = args[2]
Int_block_3 = args[1]

else if(args.len == 4)
Int_block_1 = args[4]
Int_block_2 = args[3]
Int_block_3 = args[2]
Int_block_4 = args[1]

if(mode & NEW_OBJECT)
Diff = new(src)
else
Diff = src

B1 = pliBYT1(block_1) + pliBYT1N(Int_block_1) + 1
B2 = pliBYT2(block_1) + pliBYT2N(Int_block_1) + pliBUFR(B1)
Sum._SetBlock(1, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_2) + pliBYT1N(Int_block_2) + pliBUFR(B2)
B2 = pliBYT2(block_2) + pliBYT2N(Int_block_2) + pliBUFR(B1)
Sum._SetBlock(2, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_3) + pliBYT1N(Int_block_3) + pliBUFR(B2)
B2 = pliBYT2(block_3) + pliBYT2N(Int_block_3) + pliBUFR(B1)
Sum._SetBlock(3, pliBYT1(B1) | pliBYT1S(B2))

B1 = pliBYT1(block_4) + pliBYT1N(Int_block_4) + pliBUFR(B2)
B2 = pliBYT2(block_4) + pliBYT2N(Int_block_4) + pliBUFR(B1)
Sum._SetBlock(4, pliBYT1(B1) | pliBYT1S(B2))

if( (pliBUFR(B2) != 0) && (mode & OVERFLOW_EXCEPTION) )
throw new /pif_Arithmetic/OverflowException(__FILE__, __LINE__)

return Sum

Most of the class shouldn't actually be too bad, but I do see two methods that'll probably end up being annoying: multiplication and division. The former will mostly just be annoyingly-tedious, but the latter will mostly come from me no longer having the copy of The Art of Computer Programming I borrowed to read up on Knuth's Algorithm D. I'm hoping I can glean it from my comments, because otherwise I'll need to find another copy.
In response to A2J2TIWARI
++++
Fantasia Online is a game like none before, with goals without limit. There is two worlds that I will be going over in this post. If you want to create a truly original masterpiece with my hit me Inbox up. If you are in for a interesting story read below, I can almost bet you will like the story!


Real World: In Fantasia Online there are maps called the “Real World” they are essentially the RL of the game. There is many professions you can have from, Manager of a Grocery Store to even a big time CEO of a huge telecommunications company. You can buy a house, get married and even have children((Which Players can create into when they create a character)). The goal of the real world part of the game for the developers is the economy to be 100% player run. Clearly this wont be a possibility right away, right? Understandable, so Developers will be creating NPCs in game to compensate in jobs that are needed to run the Economy, such as; Farmers, Miners, or even Oil Companies. Once a player believes they want to pursue a career in a position that is run by a NPC, they can apply for it. Although you have a monthly quota you have to meet to keep the position. Makes sense right? Cant have Farmers producing only a Tomato a month. You can even be a minor who goes to Middle School or Even High School! Though this gets boring at a point right? Living lives that we can just live off of BYOND is kind of lame. I mean yea, being able to customize a dream life is pretty cool for a time, being able to choose between a uncountable amount of clothing combinations and even owning a huge business as a CEO with a huge house is fun.... for a while. Though with all this content, this isn’t actually the purpose of the game, this is like the appetizer to the main meal or the prep act for the main act.


Virtual World: So Jimmy, Jimmy is a 17 year old High School Student. He gets pretty fair grades even in his Junior year. So Mommy and Daddy reward him for his hard work. They buy him a Virtual Headset! You fools already know where this is going -wink wink- And they buy him the game “Gundo Online” Gundo Online is a Gunman Survival game where you buy gear and take quests. So Smart Little Jimmy, gets on his bead and enters the Virtual World of Gundo Online! Ok serious talk now, as you already know in the Real World you can make money live a dream life, blah blah but you can either start off with FD meaning Fantasia Dollar, to buy a Virtual Headset or start off with enough money to get by and then earn money to buy the VR headset. Here is the cool part thought, Developers will create One HUGE Virtual World Known as “Fantasia Online” now Fantasia is set in a Medieval/Fantasy age. You start on level 1, on level one there is gear shops, restaurants, etc etc basically a huge functional world. There is professions players can level up like; Cooking, Gardening, Black Smith, or even Doctor Skills! You can enchant your weapons, level up your Dagger, Sword, Two Handed Sword, Axe handling skills. There is so many weapons to choose from so you will never have to stick to the same old weapon. Fantasia is designed to be suited for all types of players, players who like to grind on mobs and players who are story driven and hate grinding on mobs. In Fantasia there is quests, mobs, even npcs you can interact with. Just like the real world in time we Developers hope to make Fantasia fully a functioning economy run by players!!! In Fantasia Online there is a planned limit of 1000 levels and each level is its own land, history, mobs, and boss. To beat a level who hand to defeat the boss which isnt easy, although it is doable for solo players, We recommend you look into guilds or parties. Wait Wait Zap... What the hell is Gundo Online then? Well what if I told you, you could create your OWN world by piecing together an extreme amount of little pieces made by Developers and players like you? Want to make a VR world where you’re a Pirate and the earth is 90% water? You can do it. Want to make a VR world where 75% of the human race is zombies? You can do it. Want to make a WWII VR World? You can do it. We plan to make a small little system, once you Beat Level 30 on Fantasia Online you can make your OWN VR world. In the Real World, you will have a Computer where you can log in and once you beat level 30 on Fantasia Online you will have an option to Create your Own VR World. A little menu will appear once you click on the option where you can choose a template world like; Fantasy, Guns, Old, Future, Medieval, Pirates, or even Apocalypse. Or you can start from scratch making whatever you like! You get to create Quests, mobs, npcs, levels, bosses and even maps by a simple drag and drop! At the end of the day you can log out of your virtual world and go back to the Real World at anytime!
In response to Zapatron
tl;dr screenshots tho?
In response to Kumorii
++++++++++++++++++++++++++++
In response to Manio
Manio wrote:
++++++++++++++++++++++++++++

Manio bring back pig rp and high school, I was the biggest fan
Bit of an Antimonium update.

Townfolk clothing and gear (poor ol Paladin in the front row has no pants, shirt or armour yet, rip:



Stripping items from other people (the bar over the priest is an animated progress bar):
/
In response to Zuhayr
This is looking cool!


Two of the NPC's that can be found in the pre-game lobby. One sells human skins to play as which are purely aesthetic.

The other one and the chap wearing the "dinosaur" outfit sells kaiju specimens, essentially these are the kaiju you can play as. The game will launch with the four core kaiju and when more are added to the game you can buy them to play as from this chap.

In-game currency is used to do this and you can get the in-game cash by completing objectives as a human, and surviving the round. Also by killing humans and fellow kaiju as a kaiju.
In response to Popisfizzy
Popisfizzy wrote:
I'm finally getting around to a project I've had in mind for ages, which is a utility to assist me on pif_LongInt. I've dreaded the idea of manually writing the remaining four classes, because it was a bit tedious to write the present Signed32 and Unsigned32 classes. Instead, I'm writing a utility that will allow me (and others) to specifiy the numbers of "blocks" (16 bit sections) and whether the object is signed/unsigned, and it'll spit out a pif_LongInt class.

It's still extremely unfinished, and due to an (already-fixed) bug report it won't work right in the current version, but progress is coming along reasonably well. Below the current output for a 4 block (64 bit) unsigned integer
> #define pliFLR(X) round(X)
> #define pliTB64(x) (((x) <= 25) ? ascii2text(65 + (x)) : (((x) <= 51) ? ascii2text(71 + (x)) : (((x) <= 61) ? "[(x)-52]" : (((x) == 62) ? "+" : "/"))))
> #define pliBYT1(X) ((X) & 0x00FF)
> #define pliBYT2(X) (((X) & 0xFF00) >> 8)
> #define pliBYT1N(X) (~(X) & 0x00FF)
> #define pliBYT2N(X) ((~(X) & 0xFF00) >> 8)
> #define pliBYT1S(X) (((X) & 0x00FF) << 8)
> #define pliDATA(X) pliBYT1(X)
> #define pliBUFR(X) pliBYT2(X)
> #define pliADDB(X,Y) (Y) += pliBUFFER(X)
> #define pliADDD(X,Y) (Y) += pliDATA(X)
> #define pliDATM2(X) (pliDATA(X) << 1)
> #define pliBUFM2(X) (((X) & 0xFF00) >> 7)
> #define pliADDDTM2(X,Y) (Y) += pliDATA_T2(X)
> #define pliADDBFM2(X,Y) (Y) += pliBUFFER_T2(X)
> #define pliFLSH(X) (X) &= 0x00FF
>
> pif_LongInt/Unsigned64
> var
> block_1 = 0
> block_2 = 0
> block_3 = 0
> block_4 = 0
>
> const/Length = 4
>
> mode = OLD_OBJECT | NO_OVERFLOW_EXCEPTION | FIXED_PRECISION | UNSIGNED_MODE
>
> New(...)
>
> if(args.len == 1)
> block_1 = args[1]
>
> else if(args.len == 2)
> block_1 = args[2]
> block_2 = args[1]
>
> else if(args.len == 3)
> block_1 = args[3]
> block_2 = args[2]
> block_3 = args[1]
>
> else if(args.len == 4)
> block_1 = args[4]
> block_2 = args[3]
> block_3 = args[2]
> block_4 = args[1]
>
> return src
>
> ToFloat()
> return ((block_4 & 0x8000) >> 15) * 9223372036854775800.0 + \
> ((block_4 & 0x4000) >> 14) * 4611686018427387900.0 + \
> ((block_4 & 0x2000) >> 13) * 2305843009213694000.0 + \
> ((block_4 & 0x1000) >> 12) * 1152921504606847000.0 + \
> ((block_4 & 0x0800) >> 11) * 576460752303423490.0 + \
> ((block_4 & 0x0400) >> 10) * 288230376151711740.0 + \
> ((block_4 & 0x0200) >> 9) * 144115188075855870.0 + \
> ((block_4 & 0x0100) >> 8) * 72057594037927936.0 + \
> ((block_4 & 0x0080) >> 7) * 36028797018963968.0 + \
> ((block_4 & 0x0040) >> 6) * 18014398509481984.0 + \
> ((block_4 & 0x0020) >> 5) * 9007199254740992.0 + \
> ((block_4 & 0x0010) >> 4) * 4503599627370496.0 + \
> ((block_4 & 0x0008) >> 3) * 2251799813685248.0 + \
> ((block_4 & 0x0004) >> 2) * 1125899906842624.0 + \
> ((block_4 & 0x0002) >> 1) * 562949953421312.0 + \
> (block_4 & 0x0001) * 281474976710656.0 + \
> ((block_3 & 0x8000) >> 15) * 140737488355328.0 + \
> ((block_3 & 0x4000) >> 14) * 70368744177664.0 + \
> ((block_3 & 0x2000) >> 13) * 35184372088832.0 + \
> ((block_3 & 0x1000) >> 12) * 17592186044416.0 + \
> ((block_3 & 0x0800) >> 11) * 8796093022208.0 + \
> ((block_3 & 0x0400) >> 10) * 4398046511104.0 + \
> ((block_3 & 0x0200) >> 9) * 2199023255552.0 + \
> ((block_3 & 0x0100) >> 8) * 1099511627776.0 + \
> ((block_3 & 0x0080) >> 7) * 549755813888.0 + \
> ((block_3 & 0x0040) >> 6) * 274877906944.0 + \
> ((block_3 & 0x0020) >> 5) * 137438953472.0 + \
> ((block_3 & 0x0010) >> 4) * 68719476736.0 + \
> ((block_3 & 0x0008) >> 3) * 34359738368.0 + \
> ((block_3 & 0x0004) >> 2) * 17179869184.0 + \
> ((block_3 & 0x0002) >> 1) * 8589934592.0 + \
> (block_3 & 0x0001) * 4294967296.0 + \
> ((block_2 & 0x8000) >> 15) * 2147483648.0 + \
> ((block_2 & 0x4000) >> 14) * 1073741824.0 + \
> ((block_2 & 0x2000) >> 13) * 536870912.0 + \
> ((block_2 & 0x1000) >> 12) * 268435456.0 + \
> ((block_2 & 0x0800) >> 11) * 134217728.0 + \
> ((block_2 & 0x0400) >> 10) * 67108864.0 + \
> ((block_2 & 0x0200) >> 9) * 33554432.0 + \
> ((block_2 & 0x0100) >> 8) * 16777216.0 + \
> ((block_2 & 0x0080) >> 7) * 8388608.0 + \
> ((block_2 & 0x0040) >> 6) * 4194304.0 + \
> ((block_2 & 0x0020) >> 5) * 2097152.0 + \
> ((block_2 & 0x0010) >> 4) * 1048576.0 + \
> ((block_2 & 0x0008) >> 3) * 524288.0 + \
> ((block_2 & 0x0004) >> 2) * 262144.0 + \
> ((block_2 & 0x0002) >> 1) * 131072.0 + \
> (block_2 & 0x0001) * 65536.0 + \
> block_1
>
> _GetBlock(i)
> if(!isnum(i))
> throw new /pif_Arithmetic/NonIntegerException(__FILE__, __LINE__)
>
> if(i <= 0)
> throw new /pif_Arithmetic/NonPositiveIntegerException(__FILE__, __LINE__)
>
> if(i > Length)
> throw new /pif_Arithmetic/OutOfBoundsException(__FILE__, __LINE__)
>
> switch(i)
> if(1) return block_1
> if(2) return block_2
> if(3) return block_3
> if(4) return block_4
>
> _SetBlock(i, j)
> if(!isnum(i) || !isnum(j))
> throw new /pif_Arithmetic/NonIntegerException(__FILE__, __LINE__)
>
> if(i <= 0)
> throw new /pif_Arithmetic/NonPositiveIntegerException(__FILE__, __LINE__)
>
> if(i > Length)
> throw new /pif_Arithmetic/OutOfBoundsException(__FILE__, __LINE__)
>
> switch(i)
> if(1) return (block_1 = j)
> if(2) return (block_2 = j)
> if(3) return (block_3 = j)
> if(4) return (block_4 = j)
>
> Add(...)
> var
> Int_block_1 = 0
> Int_block_2 = 0
> Int_block_3 = 0
> Int_block_4 = 0
>
> pif_LongInt/Unsigned64/Sum
>
> B1 = 0
> B2 = 0
>
> if(args.len == 1)
> Int_block_1 = args[1]
>
> else if(args.len == 2)
> Int_block_1 = args[2]
> Int_block_2 = args[1]
>
> else if(args.len == 3)
> Int_block_1 = args[3]
> Int_block_2 = args[2]
> Int_block_3 = args[1]
>
> else if(args.len == 4)
> Int_block_1 = args[4]
> Int_block_2 = args[3]
> Int_block_3 = args[2]
> Int_block_4 = args[1]
>
> if(mode & NEW_OBJECT)
> Sum = new(src)
> else
> Sum = src
>
> B1 = pliBYT1(block_1) + pliBYT1(Int_block_1)
> B2 = pliBYT2(block_1) + pliBYT2(Int_block_1) + pliBUFR(B1)
> Sum._SetBlock(1, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_2) + pliBYT1(Int_block_2) + pliBUFR(B2)
> B2 = pliBYT2(block_2) + pliBYT2(Int_block_2) + pliBUFR(B1)
> Sum._SetBlock(2, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_3) + pliBYT1(Int_block_3) + pliBUFR(B2)
> B2 = pliBYT2(block_3) + pliBYT2(Int_block_3) + pliBUFR(B1)
> Sum._SetBlock(3, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_4) + pliBYT1(Int_block_4) + pliBUFR(B2)
> B2 = pliBYT2(block_4) + pliBYT2(Int_block_4) + pliBUFR(B1)
> Sum._SetBlock(4, pliBYT1(B1) | pliBYT1S(B2))
>
> if( (pliBUFR(B2) != 0) && (mode & OVERFLOW_EXCEPTION) )
> throw new /pif_Arithmetic/OverflowException(__FILE__, __LINE__)
>
> return Sum
>
> Add(...)
> var
> Int_block_1 = 0
> Int_block_2 = 0
> Int_block_3 = 0
> Int_block_4 = 0
>
> pif_LongInt/Unsigned64/Diff
>
> B1 = 0
> B2 = 0
>
> if(args.len == 1)
> Int_block_1 = args[1]
>
> else if(args.len == 2)
> Int_block_1 = args[2]
> Int_block_2 = args[1]
>
> else if(args.len == 3)
> Int_block_1 = args[3]
> Int_block_2 = args[2]
> Int_block_3 = args[1]
>
> else if(args.len == 4)
> Int_block_1 = args[4]
> Int_block_2 = args[3]
> Int_block_3 = args[2]
> Int_block_4 = args[1]
>
> if(mode & NEW_OBJECT)
> Diff = new(src)
> else
> Diff = src
>
> B1 = pliBYT1(block_1) + pliBYT1N(Int_block_1) + 1
> B2 = pliBYT2(block_1) + pliBYT2N(Int_block_1) + pliBUFR(B1)
> Sum._SetBlock(1, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_2) + pliBYT1N(Int_block_2) + pliBUFR(B2)
> B2 = pliBYT2(block_2) + pliBYT2N(Int_block_2) + pliBUFR(B1)
> Sum._SetBlock(2, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_3) + pliBYT1N(Int_block_3) + pliBUFR(B2)
> B2 = pliBYT2(block_3) + pliBYT2N(Int_block_3) + pliBUFR(B1)
> Sum._SetBlock(3, pliBYT1(B1) | pliBYT1S(B2))
>
> B1 = pliBYT1(block_4) + pliBYT1N(Int_block_4) + pliBUFR(B2)
> B2 = pliBYT2(block_4) + pliBYT2N(Int_block_4) + pliBUFR(B1)
> Sum._SetBlock(4, pliBYT1(B1) | pliBYT1S(B2))
>
> if( (pliBUFR(B2) != 0) && (mode & OVERFLOW_EXCEPTION) )
> throw new /pif_Arithmetic/OverflowException(__FILE__, __LINE__)
>
> return Sum
>

Most of the class shouldn't actually be too bad, but I do see two methods that'll probably end up being annoying: multiplication and division. The former will mostly just be annoyingly-tedious, but the latter will mostly come from me no longer having the copy of The Art of Computer Programming I borrowed to read up on Knuth's Algorithm D. I'm hoping I can glean it from my comments, because otherwise I'll need to find another copy.


When I saw this I gave up on learning how to code.
In response to BeastNatsu
I'm glad I can be an inspiration to novice programmers.
@.@ I went through all 333 page.
You guys are awesome. Keep it up.
creating a bomberman style game
In response to Ganite
Very creative, it will evolve the way we see the Byond. +1
In response to YURIRAMOS
YURIRAMOS wrote:
Very creative, it will evolve the way we see the Byond. +1

facts

EDIT: I plan to make it a bomberman style game not actually bomberman just using the sprite as a placeholder.
In response to Ganite
Those Companion cubes are MVP.
Page: 1 2 3 ... 314 315 316 317 318 ... 349 350 351