Home / sample-plugins
Name Modified Size InfoDownloads / Week
Parent folder
mod_Screenshot.py 2013-02-08 3.9 kB
unlockAll.py 2013-02-06 99 Bytes
TranslusentClothingScreen.py 2013-02-06 765 Bytes
Shadows.zip 2013-02-06 3.1 kB
MatrixMod.zip 2013-02-06 334.4 kB
PluginSettingsGUI.py 2013-02-06 5.1 kB
MapListMenu.zip 2013-02-06 3.8 kB
IngameConsole.py 2013-02-06 2.0 kB
ColorScaleWidget.py 2013-02-06 8.8 kB
FullscreenFilters.zip 2013-02-06 6.2 kB
CharacterResizerWidget.py 2013-02-06 2.2 kB
AnimationChooserWidget.py 2013-02-06 5.1 kB
CelShading.zip 2013-02-06 3.2 kB
Totals: 13 Items   378.6 kB 0
------------------------  R9 beta  ------------------------

* Using Panda3D 1.8.1 now
* some things run better because of new engine version
* Print screen fix

------------------------  R8 beta  ------------------------

* Class instances are made hookable in the class constructor now, which
  allows to hook the methods which were are assigned to Panda3D Tasks,
  Messengers, etc. inside the class
* minor adjustements in the PL2Functions and PL2Interpreter modules

------------------------  R7 beta  ------------------------

* more readable code: all variables now use camelCase naming, not just functions/classes
* many variables renamed to make more sense
* more powerful modding: most OPL2 funtions are now "extendable"/"hookable"
* Moved bunch of functions from PL2Base.py to Modding.py
* fixed a bug in CharacterCreationScreen when Save buttons wouldn't appear in the first try
* renamed "AddonListGenerator" to "AddonScanner"
* renamed "ClothingSelectionScreen" to "CharacterCreationScreen"
* renamed "Launcher" to "GUILauncher"

------------------------  R6 alpha  ------------------------

Bugfix release.

* fixed bug with uppercase letters in filenames
* %ml command clears character transforms (which are usually set with %mp)
* %o command doesn't require an argument now
* character at index 0 isn't repositioned when calling %Z
  (though %ml is usually called right before it so this isn't noticeable)
* support for %i buttons with no text
* commands work a bit different (similar to the original engine) when
  passed wrong type of argument now

------------------------  R5 alpha  ------------------------

Most known issues fixed. Getting close to a beta release.

* fixed hanging when going to Clothing Selection Screen
  ( edited ClothingSelectionScreen.cleanup() and PL2Functions.closeDressingRoom() )
* fixed fader speed when going to Clothing Selection Screen (now actually noticeable)
* camera always takes the shortest path now in ClothingSelectionScreen animations
* addon buttons in ClothingSelectionSreen have a clicksound now
* buttons in disabled state have no clicksound now
* "opl2_data/plugins/startup" is added to "sys.path" in order to not
  have plugins which import other plugins crash if they are put in their
  own subfolder without modifying their (importing) code

------------------------  R4 alpha  ------------------------

Correct materials, lightning, mesh matrices and more fixes.

* fixed material diffuse and ambient colors (were read in reverse order)
* PL2 lights are DirectionalLight and the floats in the "%lv" command
  are for angle vector now, like in the original game,
  renamed "PL2Functions.positionLight()" to "PL2Functions.setLightVector()"
* fixed mesh matrices for animated TMBs
* the whole "opl2_data" folder with its default subfolders and files
  will be regenerated if accidentally deleted by the user
* all PL2 TXT commands are now supported by the parser,
  (was missing "%L" and "%l"), though few still don't actually do anything
* accidentally broke the print screen function, fixed
* up and down buttons in ClothingSelectionScreen get hidden when you
  reach the top and bottom respectively
* mouse wheel now works when mouse is on the scrolledframe itself in
  ClothingSelectionScreen
* buttons have the right clicksound now
* audio loaded with the "%MA" command always loops now
* "%oR" command fix: audio lenght is added to the random number
* "%oR" command fix: if audio is played by "%o" while it is running
  (before or after it), it waits for it to finish
* camMgr.resetCamera() ("%c,0;") positions the camera correctly now
* correct default camera position
* camera flips when you zoom to the minimum distance, like in the original
  game
* locked addon icons are "greyed-out" now, like in the original game
* room point angle is ignored in ClothingSelectionScreen, though not by
  the "%mp" command, like in the original game
* faster camera animations in ClothingSelectionScreen
* gauge bar doesn't go higher than 100% now
* "%n;" also clears text in pl2base.textboxtext
* PL2Loader.loadPSDAsQuad() fix
* "%n" command fix (again...)
* buttons are not toggable when title image is shown now, like in the
  original game
* texts in ClothingSelectionScreen appear on top of everything else,
  though you shouldn't have such long texts
* Moved some stuff from PL2Start.py to PL2Base.py:
  Python functions from PL2Functions.py are assigned to the commands from
  PL2Interpreter.py inside PL2Base.py now,
  startup plugins are imported inside PL2Base.py now 
* "__builtin__"s narrowed down to only a few, because it's a better
  code practice, easier to guess where the variables come from and
  lacks the issue of changing the values of immutable objects

------------------------  R3 alpha  ------------------------

Support for non-ASCII PL2 archive names, better support for bad TMB and
PSD files, better support for attribute files, better error message box,
cleanup of all the sourcecode and more bugfixes.

* pyds are compiled with Code::Blocks (MingGW), no Visual C++ runtime needed anymore
* fixed dublicate cache folder issue
* fixed a bug in the "%n" command
* accidentally using 1 layered psd for item icons won't cause a crash now
  (though it won't appear in the list, like in the original game)
* clothing and room icons support transparency now and fixed a rendering bug with psds with no alpha channel
* shift-jis and unicode PL2 filenames now supported (passing unicode string to os.listdir() instead)
* TMBs with bones but with vertices with no bone assignement now supported (very uncommon)
* TMBs with vertices which don't have 255 as bone index, but still have
  an index bigger than the bone count now supported (very uncommon)
* the unknown integer in the TMB files appears to be a backface-culling
  flag, characters/items are not always rendered two-sided now and rooms
  are not always one-sided now, all use that flag
* attribute files support comments now (used to cause crash for some user-made add-ons)
* attribute parser strips spaces and tabs properly now
* item order isn't case-sensitive anymore, like in the original engine
* error message box code isn't in PL2Base.py anymore, errors from PL2Base.py are also shown by the message box now
* forgot to allow add-ons to share icons as well and room add-ons to share files in ClothingSelectionScreen.py
* cleaned up the ClothingSelectionScreen.py module, now uses functions from PL2Functions.py instead of identical custom ones
* removing an item also removes its name from "partnamelist" (used for saving/loading characters) now
* forgot to set the colored text to also get cleared when going to another script
* the mouse wheel and scroll buttons in ClothingSelectionScreen scroll the icons the correct amount now
* ClothingSelectionScreen.py: the scrollbar thumb is brighter now, more noticeable
* ClothingSelectionScreen.py: camera controls are "disabled" when mouse
  cursor is on the GUI images (except the info box), like in the original engine
* cleaned up the PL2Loader.py module
* PL2Loader.loadPL2() now returns a single variable also when the *list* is of lenght 1 
* PL2Loader.loadPL2() and PL2Loader.loadPSD() can write files with shift-jis names now
* module "OPL2.py" renamed to "PL2Start.py" (as it does for OPL2 almost
  the same things as Panda3D's "DirectStart" module does for Panda3D)

------------------------  R2 alpha  ------------------------

Bunch of bugfixes, changes and Python modding support.

* add-ons can share files now ("filesdict" is generated from the pl2 file entries now, not "attributes")
* if two files with the same name exist in different pl2 files, the one
  in the first (in alphabetical order) is used, not last as before
* game could easily crash if the interpreter had reached the end of the
  script, modified the PLInterpreter._executorTask()
* fixed parsing errors caused by not allowing enough characters for label names
* fixed error when "ICON_0" of an add-on is "nil", now uses "item_nil.psd"
* forgot to remove old room icons in ClothingSelectionScreen (stacked up on top of each other), fixed
* going to another script clears the textbox now
* loading body removes the old bodie's parts now
* most body/item and room functions do nothing now if there is no body/item or room in the given index
* "%cp" command (PL2Functions.setCameraPosition()) rewritten, didn't do what we thought it did
* "%ml" command (PL2Functions.loadBody()) unhides the character now, if it had been hidden previously
* fixed issue with game not resuming properly after pressing "start" in
  ClothingSelectionScreen: the functions were incrementing the interpreter's
  index pointer though they were not called by the interpreter
* fixed issue with no fading after pressing "start" in ClothingSelectionScreen, caused by same issue as above
* "%f" fader colors are correct now when fading to/from white
* "%n" command argument order doesn't matter anymore, used to cause crashes
* fixed issue caused by camera Heading angle going over 360 and below 0
* "Clothing Sets" section in ClothingSelectionScreen doesn't have a disable button anymore, used to cause crash
* dialog and ClothingSelectionScreen text didn't get wrapped properly, using custom wrapper now
* images loaded with "%g" appear on top of the textbox, title screen and
  gauges now ("PL2Base.psdparent" moved lower in code)
* textbox user input is disabled when textbox is hidden now
* removed annoying Assertion warning when trying to position character/camera in room
* forgot to fix the "modelRoot" error for Clothing Sets
* missing "title.psd"/"title2.psd" won't cause a crash now
* added Python plugin (modding) support:
  Python modules in the "opl2_data/plugins/startup" folder and its
  subfolders are loaded (imported) on startup, also a custom PL2 command
  "%PY" was added to allow importing Python modules from PL2 scripts,
  from the folder "opl2_data/plugins"
* the game creates the "plugins" and "plugins/startup" folders and their
  Python "__init__.py" files if accidentally deleted by user
* fixed a small bug in PL2Interpreter.executeCommand()
* implemented a GUI error box identical to the original engine's, also
  console keeps open after crash so you can read it
* added support for the "%k" and "%R" commands
* Escape key now implemented for ClothingSelectionScreen
* shift-jis decoder now uses the "cp932" codec (Microsoft's extension
  of shift-jis), instead of "shift_jisx0213", more accurate
* clicking on the text box does the same as clicking Enter now
* Ctrl on the textbox does the same as Enter, without any wait time
* dialog and ClothingSelectionScreen text positions/scales are closer to the original now
* "%i" button positions text/shadow positions are closer to the original now
* added a new default keyword argument "calledbyinterpreter" to most
  functions from PL2Functions module, as they can now be called by
  plugins and in that case you don't want to increment the interpreter's
  index pointer
* all manual exceptions now use Panda3d's DirectNotify (some used "raise Exception()" before)
* module "opl2.py" renamed to "OPL2.py"

------------------------  R1 alpha  ------------------------

This is the very first release, likely to have tons of
issues, bugs and missing features.
Main things are already supported:

* Support for the PL2 file formats: PL2, TMB, TSB, TCM, BIN, multilayer RGB(A) PSD
* Support for DAT save files, reading/writing to "pl2state.dat" and "coordinateXX.dat" files
* PL2 archive "attribute" parser and add-on list generator
* PL2 scripting language parser/interpreter (doesn't support all commands)
* Very similar camera controls
* Very similar clothing selection screen
* html documentation for the sourcecode generated with Doxygen (with Doxywizard)
Source: README, updated 2013-07-17