• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokemon C# Engine

Status
Not open for further replies.

Zodiac.

Flannary Returns!
53
Posts
11
Years
Well dont know why that happens. It works with me thought:
Spoiler:

Do you think it could be because of Windows 8?
 

Rayquaza.

Lead Dev in Pokémon Order and Chaos
702
Posts
12
Years
To be honest if it's an open source then it means that anyone can take and edit it, meaning that technically it isn't stealing.
 

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
Do you think it could be because of Windows 8?
It is possible. Currently I use my old notebook with vista on it and it works fine.

To be honest if it's an open source then it means that anyone can take and edit it, meaning that technically it isn't stealing.
According to him he hasn't edited it but made it from scratch.
oxysoft said:
everything in my project (or almost) has been written by myself and from scratch.
And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.
 

Rayquaza.

Lead Dev in Pokémon Order and Chaos
702
Posts
12
Years
It is possible. Currently I use my old notebook with vista on it and it works fine.


According to him he hasn't edited it but made it from scratch.

And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.

What I mean is that taking, editing, giving credits, etc isn't stealing. To take something and claim as your own is preposterous; especially for something as big as essentials.
 
Last edited:

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
What I mean is that taking, editing, giving credits, etc aren't stealing.
Never claimed the opposite.

To take something and claim as your own is preposterous; especially for something as big as essentials.
^This is what he did. As long as he can't prove the opposite there is no need for further discussion don't you agree?
 

KingCharizard

C++ Developer Extraordinaire
1,229
Posts
14
Years
It is possible. Currently I use my old notebook with vista on it and it works fine.


According to him he hasn't edited it but made it from scratch.

And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.

why are you pressing the issue, it clearly was re opened for a reason. DROP IT.

As for my earlier post, I'm glad to know it was just a coincidence, I figured it might. The thing with coding similar games is the code/features are gonna end up being very similar...
 

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
why are you pressing the issue, it clearly was re opened for a reason. DROP IT.
It opened so he can explain it. His explanation wasn't satisfying. Additionally he claimed again that he has done most of the work from scratch. Asking for prove is reasonable.

As for my earlier post, I'm glad to know it was just a coincidence, I figured it might. The thing with coding similar games is the code/features are gonna end up being very similar...
There is a big difference between "similar" and "exactly the same". If he really didn't stole it there is nothing wrong by showing evidence right?
 
99
Posts
14
Years
  • Seen Jan 16, 2023
The__End, you clearly did not read my post did you? I noted what I have taken, anyone can make a windows form that looks exactly the same, does it mean it's the same program? no

edit: Apparently, their tileset was only for pokemon dawn. Does anyone have good looking tilesets I could use?
 
Last edited:

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
I told you guys not to blow this up. This is your last warning.
It is Ok to discuss if the thread creator wants to right? It is his thread after all.

The__End, you clearly did not read my post did you? I noted what I have taken, anyone can make a windows form that looks exactly the same, does it mean it's the same program? no

I did and you said you did the code yourself. But if the features ARE the same and the appearance is the same, asking for evidence that you made it is reasonable. Just saying that you made it from scratch proves nothing you know. The whole map editing features you claim you did yourself is already made by Pokemon Dawn. It is exactly the same. And it is not just the appearance! The features like entities and the amount of tiles you can have in your tileset are all copied. If you still claim "you have written everything in your project yourself" show us your code to prove it. Or are you afraid of anything? :tired:
 
99
Posts
14
Years
  • Seen Jan 16, 2023
It is Ok to discuss if the thread creator wants to right? It is his thread after all.



I did and you said you did the code yourself. But if the features ARE the same and the appearance is the same, asking for evidence that you made it is reasonable. Just saying that you made it from scratch proves nothing you know. The whole map editing features you claim you did yourself is already made by Pokemon Dawn. It is exactly the same. And it is not just the appearance! The features like entities and the amount of tiles you can have in your tileset are all copied. If you still claim "you have written everything in your project yourself" show us your code to prove it. Or are you afraid of anything? :tired:

Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.

The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.
 

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made it yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid... :tired:

The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.
It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.
 
99
Posts
14
Years
  • Seen Jan 16, 2023
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made anything yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid... :tired:


It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.

I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?

I was mentioning the icons because some people thought they might be private and made only for dawn

edit:

PencilTool.cs for your own amusement
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace AeonEditor.EngineDefinition.States.TileEditor {
	public class PencilTool : State, IState {
		private MultiAction action;

		public static PencilTool Instance {
			get {
				return Static<PencilTool>.Value;
			}
		}

		public override void Initialize(FrmMainEditor mainForm) {
			base.Initialize(mainForm);
		}

		public string Name {
			get {
				return "PencilState";
			}
		}

		public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
			EditorForm.tPencil.Checked = true;

			EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
		}

		public void Leave(IFiniteStateMachine stateMachine, IState newState) {
			EditorForm.tPencil.Checked = false;

			EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
		}

		public void Draw(GameTime gameTime) {
		}

		public void Update(GameTime gameTime) {
		}

		int lxt = -1;
		int lyt = -1;

		private void onMouseMove(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				if (action == null) action = new MultipleSetTileAction();

				bool ok = false;

				int xt = (e.X + EditorEngine.Instance.xCam) >> 4;
				int yt = (e.Y + EditorEngine.Instance.yCam) >> 4;

				if (xt != lxt || lyt != yt) {
					ok = true;
				}

				lxt = xt;
				lyt = yt;

				if (ok) {
					if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
						MultiAction multiAction = new MultiAction();
						Rectangle selection = TileEditorState.Instance.SelectedRegion;

						for (int x = 0; x < selection.Width; x++) {
							for (int y = 0; y < selection.Height; y++) {
								int currentX = selection.X + x;
								int currentY = selection.Y + y;

								int tilesetIndex = TileEditorState.Instance.SelectedTileset;

								Tilesheet tilesheet = EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
								int tileIndex = tilesheet.t2d.GetIndex(currentX, currentY);

								int zt = EditorEngine.Instance.SelectedLayer;
								MockupTile t = EditorEngine.Instance.CurrentMap.getTile(xt + x, yt + y, zt);

								if (t != null) {
									SetTileAction tileAction = new SetTileAction(
										xt + x, yt + y,
										tilesetIndex,
										tileIndex,
										t.spritesheetindex,
										t.spriteindex);
									multiAction.actions.Add(tileAction);
								}
							}
						}

						multiAction.Execute();
						action.actions.Add(multiAction);
					}
				}
			}
		}

		private void onMouseUp(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				ActionManager.Instance.Execute(action);
				action = null;
			}
		}
	}
}

don't complain about me extending the same classes and interfaces, that's how a finitestatemachine works
 

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.
 
99
Posts
14
Years
  • Seen Jan 16, 2023
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.

I actually have no plans to release the source code at this point, in case I make some features available only for pro users. If you still want to believe I can't program and I stole all of their code, then do so. I know I can program and people will have a blast making their own adventure when all is done. It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.

Work on something non-stop for about a month then have ppl complain that you stole everything and tell me how you feel.
 
Last edited by a moderator:

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
PencilTool.cs for your own amusement
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace AeonEditor.EngineDefinition.States.TileEditor {
	public class PencilTool : State, IState {
		private MultiAction action;

		public static PencilTool Instance {
			get {
				return Static<PencilTool>.Value;
			}
		}

		public override void Initialize(FrmMainEditor mainForm) {
			base.Initialize(mainForm);
		}

		public string Name {
			get {
				return "PencilState";
			}
		}

		public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
			EditorForm.tPencil.Checked = true;

			EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
		}

		public void Leave(IFiniteStateMachine stateMachine, IState newState) {
			EditorForm.tPencil.Checked = false;

			EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
		}

		public void Draw(GameTime gameTime) {
		}

		public void Update(GameTime gameTime) {
		}

		int lxt = -1;
		int lyt = -1;

		private void onMouseMove(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				if (action == null) action = new MultipleSetTileAction();

				bool ok = false;

				int xt = (e.X + EditorEngine.Instance.xCam) >> 4;
				int yt = (e.Y + EditorEngine.Instance.yCam) >> 4;

				if (xt != lxt || lyt != yt) {
					ok = true;
				}

				lxt = xt;
				lyt = yt;

				if (ok) {
					if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
						MultiAction multiAction = new MultiAction();
						Rectangle selection = TileEditorState.Instance.SelectedRegion;

						for (int x = 0; x < selection.Width; x++) {
							for (int y = 0; y < selection.Height; y++) {
								int currentX = selection.X + x;
								int currentY = selection.Y + y;

								int tilesetIndex = TileEditorState.Instance.SelectedTileset;

								Tilesheet tilesheet = EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
								int tileIndex = tilesheet.t2d.GetIndex(currentX, currentY);

								int zt = EditorEngine.Instance.SelectedLayer;
								MockupTile t = EditorEngine.Instance.CurrentMap.getTile(xt + x, yt + y, zt);

								if (t != null) {
									SetTileAction tileAction = new SetTileAction(
										xt + x, yt + y,
										tilesetIndex,
										tileIndex,
										t.spritesheetindex,
										t.spriteindex);
									multiAction.actions.Add(tileAction);
								}
							}
						}

						multiAction.Execute();
						action.actions.Add(multiAction);
					}
				}
			}
		}

		private void onMouseUp(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				ActionManager.Instance.Execute(action);
				action = null;
			}
		}
	}
}

^This is almost the same as the code in Pokemon Dawn:
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace Dawn.MapEditor.States.TileEditor
{
    public class PencilTool : State, IState
    {
        #region Fields
        private MultipleAction action;
        #endregion

        #region Properties
        public static PencilTool Instance
        {
            get { return Static<PencilTool>.Value; }
        }
        #endregion

        #region Methods
        public override void Initialize(frmMain mainForm)
        {
            base.Initialize(mainForm);
        }
        #endregion

        #region IState Member
        public string Name
        {
            get { return "PencilState"; }
        }
        public void Enter(IFiniteStateMachine stateMachine, IState oldState)
        {
            this.MainForm.tPencil.Checked = true;

            this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
        }
        public void Leave(IFiniteStateMachine stateMachine, IState newState)
        {
            this.MainForm.tPencil.Checked = false;

            this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
        }
        public void Draw(GameTime gameTime)
        {
        }
        public void Update(GameTime gameTime)
        {
        }
        #endregion

        #region Event Handler
        private void onMouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (this.action == null)
                {
                    this.action = new MultipleSetTileAction();
                }

                int tileX = (e.X + EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
                int tileY = (e.Y + EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

                if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
                {
                    MultipleAction multiAction = new MultipleAction();
                    Rectangle selection = TileEditorState.Instance.SelectedRegion;

                    for (int x = 0; x < selection.Width; x++)
                    {
                        for (int y = 0; y < selection.Height; y++)
                        {
                            int currentX = selection.X + x;
                            int currentY = selection.Y + y;

                            int tilesetIndex = TileEditorState.Instance.SelectedTileset;

                            Tileset tileset = EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
                            int tileIndex = tileset.TileableTexture.GetIndex(currentX, currentY);
                                
                            SetTileAction tileAction = new SetTileAction(
                                tileX + x, tileY + y,
                                TileEditorState.Instance.SelectedLayer,
                                tilesetIndex,
                                tileIndex);

                            multiAction.Actions.Add(tileAction);
                        }
                    }
                    multiAction.Execute();

                    this.action.Actions.Add(multiAction);
                }
            }
        }
        private void onMouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ActionManager.Instance.Push(this.action);
                this.action = null;
            }
            if (e.Button == MouseButtons.Right)
            {
                int tileX = e.X / Tile.Width;
                int tileY = e.Y / Tile.Height;
                int tileZ = TileEditorState.Instance.SelectedLayer;

                TileReference reference = EditorEngine.Instance.Map.Tiles[tileX, tileY, tileZ];

                Rectangle sourceRectangle = reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

                TileEditorState.Instance.SelectedTileset = reference.TilesetIndex;
                TileEditorState.Instance.SelectedRegion = new Rectangle(
                    sourceRectangle.X / Tile.Width,
                    sourceRectangle.Y / Tile.Height,
                    1, 1);
            }
        }
        #endregion
    }
}
Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming. :laugh:
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.

oxysoft said:
I actually have no plans to release the source code at this point, in case I make some features available only for pro users.
Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.

oxysoft said:
It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.
Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.
 
Last edited:
99
Posts
14
Years
  • Seen Jan 16, 2023
^This is almost the same as the code in Pokemon Dawn:
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace Dawn.MapEditor.States.TileEditor
{
    public class PencilTool : State, IState
    {
        #region Fields
        private MultipleAction action;
        #endregion

        #region Properties
        public static PencilTool Instance
        {
            get { return Static<PencilTool>.Value; }
        }
        #endregion

        #region Methods
        public override void Initialize(frmMain mainForm)
        {
            base.Initialize(mainForm);
        }
        #endregion

        #region IState Member
        public string Name
        {
            get { return "PencilState"; }
        }
        public void Enter(IFiniteStateMachine stateMachine, IState oldState)
        {
            this.MainForm.tPencil.Checked = true;

            this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
        }
        public void Leave(IFiniteStateMachine stateMachine, IState newState)
        {
            this.MainForm.tPencil.Checked = false;

            this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
            this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
        }
        public void Draw(GameTime gameTime)
        {
        }
        public void Update(GameTime gameTime)
        {
        }
        #endregion

        #region Event Handler
        private void onMouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (this.action == null)
                {
                    this.action = new MultipleSetTileAction();
                }

                int tileX = (e.X + EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
                int tileY = (e.Y + EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

                if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
                {
                    MultipleAction multiAction = new MultipleAction();
                    Rectangle selection = TileEditorState.Instance.SelectedRegion;

                    for (int x = 0; x < selection.Width; x++)
                    {
                        for (int y = 0; y < selection.Height; y++)
                        {
                            int currentX = selection.X + x;
                            int currentY = selection.Y + y;

                            int tilesetIndex = TileEditorState.Instance.SelectedTileset;

                            Tileset tileset = EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
                            int tileIndex = tileset.TileableTexture.GetIndex(currentX, currentY);
                                
                            SetTileAction tileAction = new SetTileAction(
                                tileX + x, tileY + y,
                                TileEditorState.Instance.SelectedLayer,
                                tilesetIndex,
                                tileIndex);

                            multiAction.Actions.Add(tileAction);
                        }
                    }
                    multiAction.Execute();

                    this.action.Actions.Add(multiAction);
                }
            }
        }
        private void onMouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ActionManager.Instance.Push(this.action);
                this.action = null;
            }
            if (e.Button == MouseButtons.Right)
            {
                int tileX = e.X / Tile.Width;
                int tileY = e.Y / Tile.Height;
                int tileZ = TileEditorState.Instance.SelectedLayer;

                TileReference reference = EditorEngine.Instance.Map.Tiles[tileX, tileY, tileZ];

                Rectangle sourceRectangle = reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

                TileEditorState.Instance.SelectedTileset = reference.TilesetIndex;
                TileEditorState.Instance.SelectedRegion = new Rectangle(
                    sourceRectangle.X / Tile.Width,
                    sourceRectangle.Y / Tile.Height,
                    1, 1);
            }
        }
        #endregion
    }
}
Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming. :laugh:
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.


Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.


Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.

I don't see this nowhere in pokemon dawn
2DIpY.png


nor any copy pasting capability

In the pencil tool code which you claim looks exactly the same, perhaps it's because both operate on a FiniteStateMachine design pattern. It would be stupid not to use it. The finite state machine (class which implements IFiniteStateMachine) is the class that holds the current state. Whenever this class changes state, the old state's Leave method is called and Enter is called in the new state. The event hooks are for capturing mouse movements and actions. I did mention I reused some utilities from Dawn; The Static class was one of them. I really liked how they managed Singleton calls using that class. The name property, I added it just in-case for future undo-redo list.

I'm done arguing with you, there is no point when you're that moronic and stuck up

Just for kick, LogicPathTool.cs

PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AeonEditor.Actions;
using AeonEditor.Actions.Tile.Logic;
using AeonEditor.Forms.Form_Selectors;
using AeonEditor.States;
using DevExpress.XtraBars;
using Editor.Selections;
using General.Common;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace AeonEditor.EngineDefinition.States.TileEditor.Logic {
	public class LogicPathTool : State, IState {

		int size = 3;

		public static LogicPathTool Instance {
			get {
				return Static<LogicPathTool>.Value;
			}
		}

		public string Name {
			get {
				return "Logic Path";
			}
		}

		public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
			FrmLogicTileSelector.Instance.barCheckItem4.Checked = true;
			FrmLogicTileSelector.Instance.l_size.Visibility = BarItemVisibility.Always;
			FrmLogicTileSelector.Instance.b_minus.Visibility = BarItemVisibility.Always;
			FrmLogicTileSelector.Instance.d_size.Visibility = BarItemVisibility.Always;
			FrmLogicTileSelector.Instance.b_plus.Visibility = BarItemVisibility.Always;
			FrmLogicTileSelector.Instance.d_tools.Caption = "Tool: Path";

			EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseDown);
			EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);

			FrmLogicTileSelector.Instance.d_size.EditValue = "" + size;
		}

		public void Leave(IFiniteStateMachine stateMachine, IState newState) {
			FrmLogicTileSelector.Instance.barCheckItem4.Checked = false;
			FrmLogicTileSelector.Instance.l_size.Visibility = BarItemVisibility.Never;
			FrmLogicTileSelector.Instance.b_minus.Visibility = BarItemVisibility.Never;
			FrmLogicTileSelector.Instance.d_size.Visibility = BarItemVisibility.Never;
			FrmLogicTileSelector.Instance.b_plus.Visibility = BarItemVisibility.Never;

			EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseDown);
			EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
			EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);

			size = Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);
		}

		private void onMouseDown(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				xt = (e.X + EditorEngine.Instance.xCam) >> 4;
				yt = (e.Y + EditorEngine.Instance.yCam) >> 4;
			}
		}

		int xt = -1, yt = -1;
		List<LogicPathSquare> path = new List<LogicPathSquare>();
		List<Vector2> points = new List<Vector2>();

		private void onMouseMove(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				int rxt = (e.X + EditorEngine.Instance.xCam) >> 4;
				int ryt = (e.Y + EditorEngine.Instance.yCam) >> 4;

				if (rxt != xt) {
					int dir = 0;
					if (rxt - xt == -1) dir = 2;
					if (rxt - xt == 1) dir = 3;
					if (!points.Contains(new Vector2(rxt, ryt)))
						path.Add(new LogicPathSquare(rxt, ryt, dir));
				} else if (ryt != yt) {
					int dir = 0;
					if (ryt - yt == -1) dir = 0;
					if (ryt - yt == 1) dir = 1;
					if (!points.Contains(new Vector2(rxt, ryt)))
						path.Add(new LogicPathSquare(rxt, ryt, dir));
				}

				xt = rxt;
				yt = ryt;
			}
		}

		private void onMouseUp(object sender, MouseEventArgs e) {
			if (e.Button == MouseButtons.Left) {
				int l_index = FrmLogicTileSelector.Instance.logicViewerSelectorControl1.SelectedLogicIndex;
				for (int i = 0; i < path.Count; i++) {
					LogicPathSquare sq = path[i];
					LogicPathSquare sqm1 = null;
					if (i != 0) sqm1 = path[i - 1];
					if (sqm1 != null) {
						if ((sq.dir == 0 || sq.dir == 1) && (sqm1.dir != 0 || sqm1.dir != 1) || (sq.dir == 2 || sq.dir == 3) && (sqm1.dir != 2 || sqm1.dir != 3)) {
							path.Insert(i, new LogicPathSquare((sqm1.dir == 2 ? sqm1.x - 1 : sqm1.dir == 3 ? sqm1.x + 1 : sqm1.x), (sqm1.dir == 0 ? sqm1.y - 1 : sqm1.dir == 1 ? sqm1.y + 1 : sqm1.y), sqm1.dir));
							i++;
						}
					}
				}

				int _size = Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);

				LogicPathAction act = new LogicPathAction(path, l_index, _size);
				ActionManager.Instance.Execute(act);
				path.Clear();
			}
		}

		public void Draw(Microsoft.Xna.Framework.GameTime gameTime) {
			SpriteBatch batch = EditorEngine.Instance.Region.viewdata.SpriteBatch;
			if (batch != null) {
				foreach (LogicPathSquare sq in path) {
					SelectionUtil.DrawRectangle(batch, Color.Black * .8f,
						new Rectangle(sq.x * 16 + 1 - EditorEngine.Instance.xCam, sq.y * 16 + 1 - EditorEngine.Instance.yCam, 16, 16));

					SelectionUtil.DrawRectangle(batch, Color.LimeGreen * .7f,
						new Rectangle(sq.x * 16 - EditorEngine.Instance.xCam, sq.y * 16 - EditorEngine.Instance.yCam, 16, 16));
				}
			}
		}

		public void Update(Microsoft.Xna.Framework.GameTime gameTime) {
		}
	}
}
 
Last edited:

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
I don't see this nowhere in pokemon dawn
2DIpY.png


nor any copy pasting capability
And? Like i said you added some changes to the ORIGINAL Pokemon Dawn. You didn't made everything from scratch like you claimed. That makes you a liar and a thief. That is all i wanted to prove. :D
 

andytu

Ditto engine developer
27
Posts
13
Years
  • Seen Apr 21, 2014
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code :)

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.
 
99
Posts
14
Years
  • Seen Jan 16, 2023
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code :)

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.

I was indeed planning on adding a plugin system, it's not that hard depending on how many hooks I want, sorta like RPG Maker.

I'm actually not a fan of KyleDove's tiles. They don't have that feel that the real tiles have in Pokemon games.
 
Status
Not open for further replies.
Back
Top