Neopets system includes: Difference between revisions

From Computers Wiki
Jump to navigationJump to search
(Add References section)
(Add BIOS analysis)
Line 5: Line 5:
The promotional disc<ref>https://archive.org/details/Nova_Neopets_USA</ref> has the following old versions of the system includes:
The promotional disc<ref>https://archive.org/details/Nova_Neopets_USA</ref> has the following old versions of the system includes:


* /system/bios.swf, modified 2007-06-04
* /system/bios.swf, 6441 bytes, modified 2007-06-04
* /system/np6_include_v7.swf, modified 2007-03-06
* /system/np6_include_v7.swf, 49408 bytes, modified 2007-03-06
* /system/np8_include_v7.swf, modified 2007-03-06
* /system/np8_include_v7.swf, 54949 bytes, modified 2007-03-06


== BIOS ==
== BIOS ==

This file is set to SWF version 6 (Flash 6 minimum). Based on my not-good understanding of ActionScript, it appears to do the following things:

=== On frame 1 ===
* Check how the BIOS is loaded
** Check if <code>String(this) == "_level0"</code>; if so, trace "Bios: Error, load this externally!" and stop the movie
** Check if <code>String(this).split(".")[0] == "_level0"</code>; if not, set a local flag to false, which appears to change some sort of progress meter display slightly and set a translation string path to use non-local paths
** Else, set the local flag to true and set a separate offline flag to 1
* Set up the loading fade-in effect for the "NEO*BIOS 330-MEGA" chip
* Wait for itself to finish loading
* If the local flag is true, open <code>system/np6_include_v7.swf</code> onto the target "_level100" and wait for it to finish loading
* Play this movie's parent's parent

=== On the "bios" sprite ===
* If the parent is _level0, print "BIOS must be loaded by another file!" and stop the movie
* copyInProps, which seems to copy the properties of the BIOS child of either _level10 (if loaded) (not 100) or _level0 (if _level10 not loaded) onto this object
* addProtoCode, which seems to change Object.toString to be a serialization system like <code>{key1:value1,key2:{k3:v3,k4:v4}}</code>, but with a new line for each level, and adjustable indentation for each level
* If fully loaded, make the parent invisible, and finish
* If not fully loaded, load "http://images.neopets.com/games/high_scores/include_movie.swf" onto the target _level100 and wait for it to finish loading

=== Version differences ===

The version used in the Game Graveyard has the circuitry background, while the 2007-06-04 version just has a cyan background. There is code for an "alphaDownBG" function, but the circuit background doesn't seem to exist in the resources.


== NP6 ==
== NP6 ==

Revision as of 03:58, 18 May 2023

The Neopets system includes are a set of Flash SWFs that are included and used by the Flash games.

Old versions

The promotional disc[1] has the following old versions of the system includes:

  • /system/bios.swf, 6441 bytes, modified 2007-06-04
  • /system/np6_include_v7.swf, 49408 bytes, modified 2007-03-06
  • /system/np8_include_v7.swf, 54949 bytes, modified 2007-03-06

BIOS

This file is set to SWF version 6 (Flash 6 minimum). Based on my not-good understanding of ActionScript, it appears to do the following things:

On frame 1

  • Check how the BIOS is loaded
    • Check if String(this) == "_level0"; if so, trace "Bios: Error, load this externally!" and stop the movie
    • Check if String(this).split(".")[0] == "_level0"; if not, set a local flag to false, which appears to change some sort of progress meter display slightly and set a translation string path to use non-local paths
    • Else, set the local flag to true and set a separate offline flag to 1
  • Set up the loading fade-in effect for the "NEO*BIOS 330-MEGA" chip
  • Wait for itself to finish loading
  • If the local flag is true, open system/np6_include_v7.swf onto the target "_level100" and wait for it to finish loading
  • Play this movie's parent's parent

On the "bios" sprite

  • If the parent is _level0, print "BIOS must be loaded by another file!" and stop the movie
  • copyInProps, which seems to copy the properties of the BIOS child of either _level10 (if loaded) (not 100) or _level0 (if _level10 not loaded) onto this object
  • addProtoCode, which seems to change Object.toString to be a serialization system like {key1:value1,key2:{k3:v3,k4:v4}}, but with a new line for each level, and adjustable indentation for each level
  • If fully loaded, make the parent invisible, and finish
  • If not fully loaded, load "http://images.neopets.com/games/high_scores/include_movie.swf" onto the target _level100 and wait for it to finish loading

Version differences

The version used in the Game Graveyard has the circuitry background, while the 2007-06-04 version just has a cyan background. There is code for an "alphaDownBG" function, but the circuit background doesn't seem to exist in the resources.

NP6

NP8

References