This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - schlumpf

Pages: [1] 2 3
2
General / wowdev wiki now at wowdev.wiki
« on: February 06, 2016, 03:09:33 am »
Hey all,

Our faithful wiki host Mads whom has hosted the wowdev wiki for many years at madx.dk and until lately pxr.dk no longer has time to maintain the wiki actively, so we've decided to move it to a new home at https://wowdev.wiki where we can once again actively maintain it against spambots and the such. There is also once again the ability to add pages and to create accounts. The old accounts should still be available.

There might be some initial transition bugs here and there, after those are worked out we hope we can manage Mads to free up some time to redirect the old wiki to the new one.

We would love to see you all use the wiki, and maybe contribute to it. See you at https://wowdev.wiki!


3
Showoff - what you are working on / Big Head Mode (legion)
« on: January 24, 2016, 07:16:28 pm »
[media:7k44ol2h]https://youtu.be/qCpTtUHLMe8[/media:7k44ol2h]

https://www.reddit.com/r/wow/comments/4 ... ode_on_70/

4
https://github.com/bloerwald/LegionFiles

Currently up to date for 7.0.1.20914, is only missing some localized texture and sound filenames for non-English locales.

5
Showoff - what you are working on / Patch 7.1 Preview: Karazhan
« on: November 10, 2015, 09:45:44 pm »
Coming to a PTR near you, soon™

[media:1zgukhh6]https://youtu.be/UglbE9TsPq0[/media:1zgukhh6]

6
Showoff - what you are working on / clientside scripts
« on: August 30, 2015, 06:38:57 am »
This is 100% client side, on live servers.

[media:2urse8oe]https://www.youtube.com/watch?v=X_P-axJn8eo[/media:2urse8oe]

7
General / We have been mass-deleting spam bots. Hopefully only them.
« on: October 23, 2014, 11:53:34 am »
We have deleted several thousand spam bot accounts. We hope that we did not hit anyone legitimate. People with posts should not be hit. People without posts may be hit if not being active this year. Also, you may be randomly hit by a bad heuristic.

If this is the case, I'm terribly sorry. Please notify us of that.

The point where we had multiple times more users than posts was hit long ago and something had to be done.

8
Miscellaneous / infodump: pm4 files
« on: June 12, 2014, 10:26:48 pm »
Code: [Select]
MPRL:  59832 0x0E9B8
MPRR: 327744 0x50040

MSHD:     32 0x00020  // M S HeaDer

MSPV: 105336 0x19B78
MSPI: 105832 0x19D68

MSCN: 119880 0x1D448

MSLK: 256400 0x3E990

MSVT:  75816 0x12828
MSVI:  62408 0x0F3C8

MSUR: 131520 0x201C0

MDOS:    200 0x000C8

MDSF:  21472 0x053E0

MDBH: Destructible Building Header
MDBI: Destructible Building I
MDBF: Destructible Building Filename

Code: [Select]
#include <cstdlib>
#include <cstdio>
#include <cassert>
#include <stdint.h>

struct CHUNK
{
  uint32_t magic;
  uint32_t size;
};
struct MVER : CHUNK
{
  uint32_t version;
};
struct MPRLentry
{
  uint16_t a; // 0
  int16_t b; // -1
  uint16_t c;
  uint16_t d;
  float position[3];
  int16_t e;
  uint16_t f;
};
struct MPRL : CHUNK
{
  MPRLentry entries[0];
};
struct MDBF : CHUNK
{
  char name[0];
};
struct MDBI : CHUNK
{
  uint32_t index;
};
struct MDBH : CHUNK
{
  uint32_t number;
};
struct MSHD : CHUNK
{
  float unk[8];
};
struct MDOSentry
{
  uint32_t a;
  uint32_t b;
};
struct MDOS : CHUNK
{
  MDOSentry entries[0];
};

int main(int na,char** va)
{
  assert(na == 2 && *va );
 
  FILE* input = fopen( va[1], "rb" );
  fseek( input, 0, SEEK_END );
  size_t size = ftell( input );
  char* file = new char[size];
  fseek( input, 0, SEEK_SET );
  fread( file, 1, size, input );
  fclose( input );
 
  size_t position = 0;
 
  // MVER ______________________________________________________________________
  MVER* mver = ( MVER* )( file + position );
  assert( mver->magic == 'MVER' && mver->size == 4 );
  printf( "Build: %in", mver->version );
 
  position += mver->size + 8;
 
  printf( "n -- %xn", position );

  // MPRL ______________________________________________________________________
  MPRL* mprl = ( MPRL* )( file + position );
  assert( mprl->magic == 'MPRL' );
  size_t nMPRLEntries = mprl->size / sizeof( MPRLentry );
  printf( "MPRL entries: %ldnn", nMPRLEntries );
 
  for( size_t i = 0; i < nMPRLEntries; ++i )
  {
    printf( "{%f,%f,%f}:t%xt%it%xt%xt%it%xn", mprl->entries[i].position[0],
            mprl->entries[i].position[1], mprl->entries[i].position[2],
            mprl->entries[i].a, mprl->entries[i].b, mprl->entries[i].c,
            mprl->entries[i].d, mprl->entries[i].e, mprl->entries[i].f );
    assert( mprl->entries[i].d == 0x8000 );
    assert( mprl->entries[i].b == -1 );
  }
 
  position += mprl->size + 8;
 
  printf( "n -- %xn", position );
 
  // ???? ______________________________________________________________________
  {
 
  CHUNK* unk = ( CHUNK* )( file + position );
  printf( "Magic: %c%c%c%c, size: %in", ((char*)(&(unk->magic)))[3], ((char*)(&(unk->magic)))[2], ((char*)(&(unk->magic)))[1], ((char*)(&(unk->magic)))[0], unk->size );
 
  position += unk->size + 8;
 
  printf( " -- %xn", position );
 
  }
  // MDBH ______________________________________________________________________
  MDBH* mdbh = ( MDBH* )( file + position );
  assert( mdbh->magic == 'MDBH' && mdbh->size == 4 );
 
  if( mdbh->number )
  {
    printf("There are %i destructible buildings:n", mdbh->number );
  }
 
  position += mdbh->size + 8;
   
  // MDB* ______________________________________________________________________
  for( size_t i = 0; i < mdbh->number; ++i )
  {
    MDBI* mdbi = ( MDBI* )( file + position );
    assert( mdbi->magic == 'MDBI' && mdbh->size == 4 );
 
    printf("- Building %i:n", mdbi->index );
     
    position += mdbi->size + 8;
 
    for( size_t i = 0; i < 3; ++i )
    {
      MDBF* mdbf = ( MDBF* )( file + position );
      assert( mdbf->magic == 'MDBF' );
 
      if( mdbf->size )
        printf("  %i: %sn", i, mdbf->name );
     
      position += mdbf->size + 8;
    }
  }
  // MSHD ______________________________________________________________________
 /* MSHD* mshd = ( MSHD* )( file + position );
  assert( mshd->magic == 'MSHD' && mshd->size == 32 );
 
  printf("nMSHD: n");
  for( size_t i = 0; i < 8; ++i )
  {
    printf(" %i: %fn", i, mshd->unk[i] );
  }
 
  position += mshd->size + 8;*/
 
  // ???? ______________________________________________________________________
  while( position < size )
  {
 
  CHUNK* unk = ( CHUNK* )( file + position );
  printf( "Magic: %c%c%c%c, size: %in", ((char*)(&(unk->magic)))[3], ((char*)(&(unk->magic)))[2], ((char*)(&(unk->magic)))[1], ((char*)(&(unk->magic)))[0], unk->size );
 
  if( unk->magic == 'MShHD' && unk->size )
  {
    float* f = ( float* )( file + position + 8 );
    int* n = ( int* )( file + position + 8 );
    for( size_t i = 0; i < unk->size / 4; ++i )
    {
      printf("%x: %f %i %xn",i*4, *f, *n, *n );
      f++;
      n++;
    }
  }
 
  position += unk->size + 8;
 
  printf( " -- %xn", position );
 
  }
 
 
  delete[] file;
  return 0;
}


9
General / Artcraft
« on: May 06, 2014, 07:44:05 pm »
The current episode of Artcraft showcases development in texture and terrain styles for the WoD zone Spires of Arak, including a video of a live-build-up of a complete sub-zone and live wowedit work, which may interest some of you.

[media:3d6w8pjh]http://www.youtube.com/watch?v=CX_Z489gcv8[/media:3d6w8pjh]

You may want to check the post for additional screenshots of various mountain styles and concept art as well as more information. You may also check the other artcraft posts.

10
General / Upcoming: Blizzard Entertainment Student Art Contest
« on: November 20, 2013, 10:12:11 am »

Students, get ready to show off your talents: the Student Art Contest is back!

[paragraph:1wg70nwf]Blizzard Entertainment’s university relations and World of Warcraft development teams are proud to present the third annual Blizzard Student Art Contest! We’re calling on college and university students to submit original artwork or animations that would be a great fit for World of Warcraft. This year’s contest is even better than ever as we’ve thrown in additional categories for you to wow us in (pun intended).[/paragraph:1wg70nwf][paragraph:1wg70nwf]Show us something we’ve never seen before but that still fits within World of Warcraft. You can see previous winning submissions here and here.[/paragraph:1wg70nwf][paragraph:1wg70nwf]Online submission forms will be available on our University Relations website in December. We recommend getting started now though![/paragraph:1wg70nwf]

Prizes

[paragraph:1wg70nwf]Grand prize winners will be chosen by the World of Warcraft art team, and will receive the following epic prizes*:[/paragraph:1wg70nwf]
  • A three-month mentorship by a member of the World of Warcraft art team, in the form of email or phone critique of portfolio work (Contact frequency will be roughly every two weeks)
  • A one-year subscription to World of Warcraft
  • A Blizzard Entertainment notebook (featuring an original sketch by a Blizzard artist)
  • A Blizzard T-shirt
[paragraph:1wg70nwf]*Blizzard reserves the right to substitute a prize of equal or greater value for any prize[/paragraph:1wg70nwf][paragraph:1wg70nwf]Please note that only current US and Canadian college and university students are eligible to win. Residents of North Dakota, Vermont, Connecticut, Maryland, and Quebec are not eligible to participate.[/paragraph:1wg70nwf][paragraph:1wg70nwf]For more information about the contest as it becomes available, please join our Blizzard Careers group on LinkedIn (LinkedIn account required).[/paragraph:1wg70nwf][paragraph:1wg70nwf]Good luck to all![/paragraph:1wg70nwf]
   


Environment Art

[paragraph:1wg70nwf]Using your creativity and ability to work within the World of Warcraft art style, create a small environment diorama that would fit well in the game world. Your quest: Concept, model, and texture an environment piece that you could imagine stumbling upon during your travels across Kalimdor, the Eastern Kingdoms, Outland, Northrend, or Pandaria.[/paragraph:1wg70nwf][paragraph:1wg70nwf]Required elements are trees, rocks, grass, and props, plus a small structure (such as a shrine).[/paragraph:1wg70nwf]

Character Art

[paragraph:1wg70nwf]Using your creativity and ability to work within the World of Warcraft art style, concept, model, and texture a non-player character (NPC) or creature that you could imagine roaming the plains of Durotar, exploring the depths of Deepholm, or just sitting in the Pig and Whistle Tavern knocking back a mug o’ Thistle Tea.[/paragraph:1wg70nwf][paragraph:1wg70nwf]Required elements are the character or creature, along with some sort of clothing or armor. Feel free to go further by adding weapons or other accessories.[/paragraph:1wg70nwf]

Weapon Art

[paragraph:1wg70nwf]Using your creativity and ability to work within the World of Warcraft art style, concept, model, and texture a main hand weapon with a complimentary offhand weapon/shield/item. It could be the pairing of the “Deadly sword of Castle AHHHH” and a “Jabberwock Scale Shield,” the “Repentant Crusader Mace” and a “Tome of Righteousness,” or even the “Beguilers Ebonwood Staff” and an “Obfuscating Eye of Yogg-saron.” Let Azeroth be your guide and pull from the many established cultures, encounters, and legends that exist in World of Warcraft.[/paragraph:1wg70nwf][paragraph:1wg70nwf]Required elements are the main hand weapon, along with its matching offhand item, but feel free to go further by adding a player or creature wielding your creations.[/paragraph:1wg70nwf]

Animation

[paragraph:1wg70nwf]Keeping in mind and working within the World of Warcraft art style, select a class from the game and create either a battle scene or flavor animation. A battle scene could be any type of combat situation. Think of it as a pitch for a new player class. Your scene could be as epic as a final boss fight, or something more comical like warding off a group of feisty Murlocs. The flavor animation piece is all about personality. It could be a group of characters having a good time hoisting back pints of ale or coming home after winning a PVP match. Feel free to interpret these how you wish. Be as creative as possible, but don’t forget to watch your weight, timing, strong poses, and arcs![/paragraph:1wg70nwf][paragraph:1wg70nwf]Required elements include one cycled animation in a stand or combat ready pose. Make sure animations return to the same start position and feel free to add additional models or weapons.[/paragraph:1wg70nwf][paragraph:1wg70nwf]The final piece should be animated in 30 frames per second and in meters. Please avoid camera shakes and blurs as they tend to hide fundamentals that we look for.[/paragraph:1wg70nwf]

11
Random / Re: Hola from CALI!
« on: July 23, 2013, 02:50:02 pm »
Account has a mail address on a domain, which is no longer registered as of july 20. Also, Kathy and Chris do not really match, I guess. The site contained
Quote
Would you like brighter tooth? Many people swear by the actual bleaching impact of apple cider vinegar treatment on their own teeth. Simply because ACV is ...

Please, do not reply to spam account posts.

12
They are MoP only.

I'm currently unable to initiate them myself; the server tells the client to play a scene.
The server spawns a CGSceneObject. The scene can only play while that object exists.

Scene scripts are in lua, can't interface with the UI though and have a special API, allowing to modify the world in different ways.

Modifying the Varian Gets Punched scene:
Instead of camera movement, spawn a field of ???:


Instead of ???, use a specific model:


Instead of just spawning a model, clone the player, phase out the actual player, then randomly run around.
[youtube:28k4mg7v]http://www.youtube.com/watch?v=a-UbMUQ83BU[/youtube:28k4mg7v]

An excerpt of functions (without arguments) and variables available in the API:

14
Software Development / Re: BLP Photoshop Format Plugin
« on: September 24, 2012, 06:38:37 pm »
If there is an open source DXT plugin, it should be pretty easy to modify that for writing and opening BLPs.
Irfan once made a plugin for IrfanView, but never added writing or published it. It is great for going through files fast though.

A standalone library for DXT: http://code.google.com/p/libsquish/
I have no idea about photoshop plugins though.

http://www.adobe.com/devnet/photoshop/sdk.html

15
Software Development / Re: Cross-platform programming: C++/Qt vs. Python/Qt
« on: September 23, 2012, 10:48:09 am »
Learning rates differ. Scripting languages tend to be easier, having more library features. Also, a simple packet managing and a lot of people using it. C++ is hard to master and easy to write shitty code in. Scripting language programmers don't seem to care about shitty code.

In the end, you can accomplish the same. WIth less code in non-C++, but meh. Every language has design fuckups and ugly parts. With ruby and objc as base, you should be able to learn both.

Pages: [1] 2 3