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.


Messages - joedf

Pages: [1] 2
1
Resources / Re: [WIP][Tool] HWSEdit - Hammerwatch Save Editor
« on: August 19, 2015, 03:57:07 AM »
Hmm, sorry i must have missed this. :P

2
Resources / Re: [WIP][Tool] HWSEdit - Hammerwatch Save Editor
« on: February 21, 2015, 05:21:54 AM »
Done! ;)
i could translate for french and german

3
Resources / Re: [WIP][Tool] HWSEdit - Hammerwatch Save Editor
« on: February 20, 2015, 05:27:02 AM »
It looks absolutely fantastic!
You definitely nailed the players tab!
I didn't have much to work on it recently...
Great work, I'll definitely pull these changes in.
This is what I meant by "a collaborative effort"!
If you prefer, I can add you as a collaborator on github. :)

4
Resources / Re: [Tool] HWMod - Modify Hammerwatch on a whole new level
« on: October 19, 2014, 07:09:17 PM »
 ;)

5
Resources / Re: [Tool] HWMod - Modify Hammerwatch on a whole new level
« on: October 18, 2014, 09:45:51 AM »
Really ? Poop... It's ok then. :P

6
Resources / Re: [Tool] HWMod - Modify Hammerwatch on a whole new level
« on: October 18, 2014, 04:06:15 AM »
Changes the graphics, the classes, the sounds, the music, add New classes, the language/translation, etc.

7
Resources / [Tool] HWMod - Modify Hammerwatch on a whole new level
« on: October 18, 2014, 02:07:12 AM »
HWMod - Modify Hammerwatch on a whole new level



I present to you, 2 simple scripts I wrote to Unpack+Pack the "assets.bin" file found in your Hammerwatch installation folder. I believe that with this tool, we can now use Hammerwatch like an RPG engine but without limitation to just levels. For example:  changing how the main menu looks like, The language files (translate the game), etc. This tool goes well with Hammersprite to generate the xml for replacing some of the original sprites with new ones. Simply put, this is for modifying Hammerwatch the game, itself. Hammerwatch is awesome.

HW-Extract.exe - A simple tool extract the "assets.bin"
HW-Pack.exe - This goes with HW-Extract.exe, to Pack it back to "assets.bin"

Revision Date : 2014/10/17
Source on GitHub : https://github.com/joedf/HWSEdit/tree/master/HWMod
Prebuilt Binary Download (HW-Extract tool) : https://github.com/joedf/HWSEdit/raw/master/dist/HW-Extract.exe
Prebuilt Binary Download (HW-Pack tool) : https://github.com/joedf/HWSEdit/raw/master/dist/HW-Pack.exe
Released under the MIT License

8
Custom Maps / Re: The Space Ace
« on: October 17, 2014, 08:34:41 AM »
I Love it! Im getting that asteroids/nostalgia Feeling ;)

9
works perfectly fine on my computer... with the latest version..
here is a screenshot of your game :

10
Hmm didn't know :P

11
Hammerwatch Discussion / [Suggestion] New Class : Necromancer / Summoner
« on: October 15, 2014, 07:19:55 AM »
Would be interesting... like a modified archer?

Necromancer

Normal attack Bone Spear


Second attack Poison Nova


Third skill Skeleton Summon

12
Technical Support / Re: Checking the difficulty of saved game
« on: October 15, 2014, 06:42:50 AM »
I made a new editor, if you're interested... http://hammerwatch.com/forum/index.php?topic=2197.0

13
Thanks again :)
I have updated my post with a new version.

14
One question. I see that OpenTK is used, but why doesn't Hammerwatch have OpenTK.dll included?
EDIT : Anyway, I have simply included some code from OpenTK instead. Seems to work fine.
Code: [Select]
#region --- License ---
/*
Copyright (c) 2006 - 2008 The Open Toolkit library.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 */
#endregion

//THIS IS A BARE-BONES/STRIPPED VERSION OF THE ORIGINAL.
//This way, we don't need to include the whole OpenTK.dll
//We only need Vector2

using System;
using System.Runtime.InteropServices;
using System.Xml.Serialization;

namespace OpenTK
{
    /// <summary>Represents a 2D vector using two single-precision floating-point numbers.</summary>
    /// <remarks>
    /// The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats.
    /// </remarks>
    [Serializable]
    [StructLayout(LayoutKind.Sequential)]
    public struct Vector2 : IEquatable<Vector2>
    {
        #region Fields

        /// <summary>
        /// The X component of the Vector2.
        /// </summary>
        public float X;

        /// <summary>
        /// The Y component of the Vector2.
        /// </summary>
        public float Y;

        #endregion

        #region Constructors

        /// <summary>
        /// Constructs a new instance.
        /// </summary>
        /// <param name="value">The value that will initialize this instance.</param>
        public Vector2(float value)
        {
            X = value;
            Y = value;
        }

        /// <summary>
        /// Constructs a new Vector2.
        /// </summary>
        /// <param name="x">The x coordinate of the net Vector2.</param>
        /// <param name="y">The y coordinate of the net Vector2.</param>
        public Vector2(float x, float y)
        {
            X = x;
            Y = y;
        }

        #endregion

        #region IEquatable<Vector2> Members

        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
        /// <param name="other">A vector to compare with this vector.</param>
        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
        public bool Equals(Vector2 other)
        {
            return
                X == other.X &&
                Y == other.Y;
        }

        #endregion
    }
}

15
Hi Myran,
Thank you very much for your reply. I appreciate it. I have decided to directly use the C# class provided, but I have encountered a problem.
Spoiler for problem:
When loading the HWS format and saving it to XML, the final, produced XML document is clipped or incomplete.
eg.
Code: XML
  1. ... <int>0</int><
or
Code: XML
  1. ... <float>96.38364</f
Am I doing something wrong? I am missing something... The program finishes with no errors.
Here's the code for the console application, just in case.
Code: [Select]
using System;
using System.IO;

namespace hws2xml
{
class Program
{
public static void Main(string[] args)
{
if (args.Length < 2) {
Console.WriteLine("hws2xml [infile] [outfile]");
Console.WriteLine("if [infile] has .hws it will converted to .xml");
Console.WriteLine("if [infile] has .xml it will converted to .hws");
} else {
string inFile = args[0];
string outFile = args[1];

if (File.Exists(inFile)) {
string inType = Path.GetExtension(inFile).ToUpper();
if (inType == ".XML") {
TextReader TR = new StreamReader(inFile);
SValue OBJ = SValue.FromXMLFile(TR);
BinaryWriter BW = new BinaryWriter(File.Open(outFile,FileMode.Create));
SValue.SaveStream(OBJ,BW);
Console.WriteLine("Converted from XML to HWS.");
} else { // .HWS
BinaryReader BR = new BinaryReader(File.Open(inFile,FileMode.Open));
SValue OBJ = SValue.LoadStream(BR);
TextWriter TW = new StreamWriter(outFile);
SValue.SaveXML(OBJ,TW);
Console.WriteLine("Converted from HWS to XML.");
}
} else {
Console.WriteLine("Error: Invalid input file.");
}
Console.WriteLine("Done.");
}
}
}
}
And thanks again.

EDIT: Nevermind, :P forgot to close the files.

Pages: [1] 2