Giter Club home page Giter Club logo

engine's People

Contributors

aclysma avatar andyburke avatar euler0 avatar gorlak avatar kramdar avatar okready avatar pacman2k avatar scatteredray avatar stine avatar taupengl avatar victorstepanov avatar wmd-build avatar zach-brockway avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

engine's Issues

Answer basic questions about OpenGL

  • Do we want to support OpenGL on windows?
  • Static (choose GL or DX at compile-time) or Dynamic (choose at runtime) support?
  • To what degree is OpenCL involved with this change?

Cleaning dependencies does not clean everything on windows

wxWidget was update and I couldn't compile it because of the following error:
"wxUSE_PREFERENCES_EDITOR must be defined, please read comment"

I found that that my setup.h was missing wxUSE_PREFERENCES_EDITOR

I found that "Dependencies\wxWidgets\lib\vc_x64_dll" was not getting removed when I run "..\premake clean" in the Dependencies folder, and that's where setup.h was coming from

not sure if that's a problem with Helium or wxWidgets though ?

Improve Reflect Data API

Right now we mush instance a Data-derived object to interact with field data. We should instead rework the Serialize/Deserialize APIs such that singleton instances of Data objects can do this heavy lifting without allocating/free objects in memory. Value information pointed to (or contained within) the Data object member data should become meaningful as the "default" or "template" value if instance data is passed on the Serialize/Deserialize call. If the instance data passed into the call is null the Data object should treat itself as the value (through the member data).

Debug Camera

Add a debug camera to allow flying around when hitting "C" button. Useful for both demos and possibly debugging real projects.

Sort out cross-platform Rendering and Framework

Roll RenderingD3D9 vfunc API into conditional compilation API in Rendering, then dissolve FrameworkWin in favor of platform agnostic Windowing and Rendering classes. Move platform-specific command line handling into Windowing.

Error list for assets in Editor

Need to come up with a solution for aggregating data errors and presenting them to the user in the editor.

  • Should be easy to insert these into assets. Perhaps a verify callback? Possibly should handle being generated at runtime (i.e. play in editor) too. Maybe this could hook HELIUM_VERIFY, or we have a new macro that's similar i.e. HELIUM_VERIFY_DATA
  • Should be able to jump to the problematic object/asset and field

Could be some small overlap with the channels-based logging task. Perhaps we have a special channel or log level threshold to show up in the errors window in the editor?

Demo Game - 2D CTF

  • Spawn points
  • When someone dies, they wait X seconds and respawns
  • Shooting
  • Health/Damage
  • Death
  • Cooldowns
  • Carrying flag
  • Player Score
  • Team Score
  • AI - not sure if I want to tackle pathfinding though

Revisit opaque type handling in Strong/WeakPtr

It currently uses a void* to allow safe instantiation on forward declarations. This is of questionable use and also breaks seeing object data in the debugger. Consider re-adding a typed pointer and changing includes to bring in full definitions of objects when we need a pointer to that type. This will be more costly compile-wise, but debugging will be much easier.

Deal with nedmalloc

Either get it functioning, or remove the sumodule (and potentially our support code, too).

Invent a Component System

It needs to support pool allocation and host game update logistics as well as tools-time content hosting and generation of game-side run data.

Demo Game - Shape Shooter

  • Controllable avatar with WASD/arrow keys
  • Shapes spawn and move differently based on shape
  • Clicking shoots bullets
  • Shapes die
  • If you die, game restarts

Document management for asset files

Need to implement functionality similar to the DocumentManager that takes care of assets. Minimal functionality would include:

  • Knowing if an asset has in-memory changes that are not on disk
  • Knowing asset on disk was modified so we can reload
  • Forcing assets/packages to fully load (i.e. add a reference count for purpose of editor wanting to use reference them)

The document manager currently does the following for files:

  • Open
  • Save
  • Save All
  • Close
  • Close All
  • Query if allow changes/Force allow changes
  • Query checkout status/Checkout
  • IsOpen
  • New

We also want a plan for detecting changed assets and updating entities, or updating assets that depend on some other asset.

This is the bulk of the functionality required for the editor to manipulate raw assets.

Don't compiling me?, library problems? can anyone help me?

Advertencia 1 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 2 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 3 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 4 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 5 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 6 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 7 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\MemoryHeapWin.obj
Advertencia 8 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Memory.obj
Advertencia 9 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Encoding.obj
Advertencia 10 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Assert.obj
Advertencia 11 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 12 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 13 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 14 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 15 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 16 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 17 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 18 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 19 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 20 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 21 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 22 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 23 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 24 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 25 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 26 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 27 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 28 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 29 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\TranslatorDeduction.obj
Advertencia 30 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 31 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 32 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 33 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 34 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 35 warning C4390: ';' : se encontró una instrucción controlada vacía; ¿es esa la intención? (..\Persist\ArchiveJson.cpp) C:\Helium\Dependencies\rapidjson\include\rapidjson\writer.h 229
Advertencia 36 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 37 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 38 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 39 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 40 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 41 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 42 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 43 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 44 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 45 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 46 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 47 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 48 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Vector3Soa.obj
Advertencia 49 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 50 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Sphere.obj
Advertencia 51 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\PlaneSoa.obj
Advertencia 52 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Plane.obj
Advertencia 53 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 54 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 55 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 56 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 57 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 58 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 59 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 60 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 61 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 62 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 63 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 64 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 65 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 66 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 67 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 68 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 69 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 70 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 71 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 72 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 73 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 74 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 75 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 76 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 77 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 78 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 79 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 80 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 81 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 82 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 83 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 84 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 85 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 86 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\Color.obj
Advertencia 87 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 88 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 89 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 90 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 91 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 92 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 93 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 94 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 95 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 96 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 97 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 98 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 99 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 100 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 101 warning C4101: 'pe' : variable local sin referencia C:\Helium\PcSupport\LoosePackageLoader.cpp 765
Advertencia 102 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 103 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 104 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 105 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 106 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 107 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\DataBinding.obj
Advertencia 108 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 109 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 110 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 111 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 112 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 113 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 114 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\GraphicsJobsInterface.obj
Advertencia 115 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 116 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 117 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 118 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 119 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 120 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 121 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 122 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 123 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 124 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 125 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 126 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 127 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 128 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 129 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 130 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 131 warning C4005: 'DXGI_STATUS_OCCLUDED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 12
Advertencia 132 warning C4005: 'DXGI_STATUS_OCCLUDED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 12
Advertencia 133 warning C4005: 'DXGI_STATUS_CLIPPED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 13
Advertencia 134 warning C4005: 'DXGI_STATUS_CLIPPED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 13
Advertencia 135 warning C4005: 'DXGI_STATUS_NO_REDIRECTION' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 14
Advertencia 136 warning C4005: 'DXGI_STATUS_NO_REDIRECTION' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 14
Advertencia 137 warning C4005: 'DXGI_STATUS_NO_DESKTOP_ACCESS' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 15
Advertencia 138 warning C4005: 'DXGI_STATUS_NO_DESKTOP_ACCESS' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 15
Advertencia 139 warning C4005: 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 16
Advertencia 140 warning C4005: 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 16
Advertencia 141 warning C4005: 'DXGI_STATUS_MODE_CHANGED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 17
Advertencia 142 warning C4005: 'DXGI_STATUS_MODE_CHANGED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 17
Advertencia 143 warning C4005: 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 18
Advertencia 144 warning C4005: 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 18
Advertencia 145 warning C4005: 'DXGI_ERROR_INVALID_CALL' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 21
Advertencia 146 warning C4005: 'DXGI_ERROR_INVALID_CALL' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 21
Advertencia 147 warning C4005: 'DXGI_ERROR_NOT_FOUND' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 22
Advertencia 148 warning C4005: 'DXGI_ERROR_NOT_FOUND' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 22
Advertencia 149 warning C4005: 'DXGI_ERROR_MORE_DATA' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 23
Advertencia 150 warning C4005: 'DXGI_ERROR_MORE_DATA' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 23
Advertencia 151 warning C4005: 'DXGI_ERROR_UNSUPPORTED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 24
Advertencia 152 warning C4005: 'DXGI_ERROR_UNSUPPORTED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 24
Advertencia 153 warning C4005: 'DXGI_ERROR_DEVICE_REMOVED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 25
Advertencia 154 warning C4005: 'DXGI_ERROR_DEVICE_REMOVED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 25
Advertencia 155 warning C4005: 'DXGI_ERROR_DEVICE_HUNG' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 26
Advertencia 156 warning C4005: 'DXGI_ERROR_DEVICE_HUNG' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 26
Advertencia 157 warning C4005: 'DXGI_ERROR_DEVICE_RESET' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 27
Advertencia 158 warning C4005: 'DXGI_ERROR_DEVICE_RESET' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 27
Advertencia 159 warning C4005: 'DXGI_ERROR_WAS_STILL_DRAWING' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 28
Advertencia 160 warning C4005: 'DXGI_ERROR_WAS_STILL_DRAWING' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 28
Advertencia 161 warning C4005: 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 29
Advertencia 162 warning C4005: 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 29
Advertencia 163 warning C4005: 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 30
Advertencia 164 warning C4005: 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 30
Advertencia 165 warning C4005: 'DXGI_ERROR_DRIVER_INTERNAL_ERROR' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 31
Advertencia 166 warning C4005: 'DXGI_ERROR_DRIVER_INTERNAL_ERROR' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 31
Advertencia 167 warning C4005: 'DXGI_ERROR_NONEXCLUSIVE' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 32
Advertencia 168 warning C4005: 'DXGI_ERROR_NONEXCLUSIVE' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 32
Advertencia 169 warning C4005: 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 33
Advertencia 170 warning C4005: 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 33
Advertencia 171 warning C4005: 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 34
Advertencia 172 warning C4005: 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 34
Advertencia 173 warning C4005: 'DXGI_ERROR_REMOTE_OUTOFMEMORY' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 35
Advertencia 174 warning C4005: 'DXGI_ERROR_REMOTE_OUTOFMEMORY' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h 35
Advertencia 175 warning C4005: 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h 608
Advertencia 176 warning C4005: 'D3D10_ERROR_FILE_NOT_FOUND' : redefinición de macro (..\PreprocessingPc\D3DIncludeHandler.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h 609
Advertencia 177 warning C4005: 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h 608
Advertencia 178 warning C4005: 'D3D10_ERROR_FILE_NOT_FOUND' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h 609
Advertencia 179 warning C4005: 'D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3d11.h 917
Advertencia 180 warning C4005: 'D3D11_ERROR_FILE_NOT_FOUND' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3d11.h 918
Advertencia 181 warning C4005: 'D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3d11.h 919
Advertencia 182 warning C4005: 'D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD' : redefinición de macro (..\PreprocessingPc\PcPreprocessor.cpp) C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3d11.h 920
Advertencia 183 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\FrameworkInterface.obj
Advertencia 184 warning LNK4221: Este archivo de objeto no define ning·n sÝmbolo p·blico que no se haya definido previamente, por lo que no se usarß en ninguna vinculaci¾n que utilice esta biblioteca C:\Helium\Premake\EntityPostUpdate.obj
Advertencia 185 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 186 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 187 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 188 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 189 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 190 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 191 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 192 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 193 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 194 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 195 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 196 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 197 warning C4553: '==' : el operador no tiene efecto; ¿ha pensado en '='? C:\Helium\EditorSupport\FontResourceHandler.cpp 348
Advertencia 198 warning C4553: '==' : el operador no tiene efecto; ¿ha pensado en '='? C:\Helium\EditorSupport\FontResourceHandler.cpp 530
Error 199 error C1083: No se puede abrir el archivo incluir: 'pnglibconf.h': No such file or directory (..\EditorSupport\PngImageLoader.cpp) C:\Helium\Dependencies\libpng\png.h 442
Advertencia 200 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 201 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 202 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 203 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 204 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 205 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 206 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 207 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 208 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 209 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 210 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 211 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 212 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 213 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 214 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 215 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 216 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 217 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 218 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 219 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 220 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 221 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 222 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 223 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 224 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 225 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 226 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 227 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 228 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 229 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 230 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 231 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 232 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Advertencia 233 warning D9002: se omite la opción desconocida '/arch:SSE2' C:\Helium\Premake\cl
Error 234 error LNK1181: no se puede abrir el archivo de entrada 'C:\Helium\Bin\x64\Release\Tools.EditorSupport.lib' C:\Helium\Premake\LINK
Error 235 error LNK1181: no se puede abrir el archivo de entrada 'C:\Helium\Bin\x64\Release\Tools.EditorSupport.lib' C:\Helium\Premake\LINK

Assertion Failed in Runtime.TestApp or Runetime.ExampleMain

Hello!

I'm trying to run either TestApp or ExampleMain but I get some assertion failed..

ExampleMain:
Fails in GameObject::CreateObject() at line 675
error message: http://i.imgur.com/g7dTZ.png
Stack if it's useful: http://i.imgur.com/vslBL.png

TestApp
Fails in Composite::AddField() at line 361
Error message: http://i.imgur.com/0XPzw.png
Stack: http://i.imgur.com/Ivaqb.png

I used "premake vs2010", compiled Dependencies.sln and then Runtime.sln. I didn't get any errors, but if I try to run anything, I'm flooded with assertions that fail :(

Demo Game - Shmup

  • You spawn
  • Scrolling screen
  • Stuff spawns and has simple AI, shoots tons of bullets at you
  • After about 30 seconds a boss with AI that requires shooting particular parts at particular times spawns
  • If you or boss dies, game restarts

Remove support for wchar_t strings

Use utf-8 everywhere except where we need to talk to Win32. This work is done, we just need to remove the premake config and back out all of tstring and TXT()

Improve Physics Demo with meshes/textures

Currently the demo relies on debug drawing. While this demonstrates functionality, it would be much more impressive if we were to attach meshes to the physical bodies. This would be trivially easy if we just had a textured cube/sphere mesh exported as an FBX. Should not require any code changes to accomplish this.

Research culling Python code generators

The currently known sources of generated code is used for:

  • GameObject Type Registration
  • Engine Job System

We should minimize generated code wherever possible in favor of templates (or macros if absolutely necessary). The type registration seems pretty straightfoward to implement as templates. Not sure about the Job system, that's a harder system to address.

Harvest SceneGraph for useful Editor feature code

Right now Editor is heavily dependent on the SceneGraph object model, but moving forward we probably want to make massive changes due to #21. This will probably significantly change how complex functionality in the Editor work (like undo/redo user changes, undo/redo object/component create/delete, selection, picking, and manipulation).

Channel-Based Logging

Desired features:

  • Easy to define new channels in code
  • Hierarchical channels
  • More log levels i.e. Trace, Debug, Info, Warn, Error, Assert, Fatal
  • Ability to send channels/severity to MsgBox (i.e. if I log something on error, it should show up in a message box and stop the process until I hit OK, similar to an assert).
  • Separate "minimum" level per channel on tty, log, msgbox, ideally configurable by command line or config file. tty might require Info or higher, log might require Debug or higher, msgbox would require Error or higher
  • Might be useful to allow asserts/verifies/fatals to be associated with a channel and suppressable.
  • Ideally would want to support multiple log files. Example scenarios:
    ** A general log with all channels on Debug
    ** A log with just asset loading. These entries might show in the
    ** A log with just frame rate/camera positions for import into a performance tracking system
    ** A log with player count, bandwidth in/out, ping, etc for import into excel
    ** A log that rolls up just warnings/errors for import into a bug tracking system

Rework how windows.h is handled.

Right now we jump through enormous hoops to keep from #including windows.h in headers. We even have some very noisey #pragma TODOs since third party code like tbb includes windows.h from a header.

Fixup the code that re-defines win32 data structures (like the critical section and overlapped I/O structs) to use win32 symbols and setup each vcproj to have a precompiled header that #includes our standard Windows.h. This will allow pervasive use of win32 types in all of our code with minimal compilation cost.

Implement MacOSX in Platform module

Right now the only full implementation of Platform is for Windows. We have some stub code in *Posix.cpp, and that might help a bit (especially with sockets).

We should fork the *Posix.cpp to *Mac.cpp and start getting things compiling.

Rework serialization in Reflect

Container data classes should defer to the element data class to do the real work. This will also allow GameObject systems to do custom handling of pointer data through the link table. This is going to be very tricky because currently we instantiate a template for every container data class which knows the specific container templates to call to mutate the container its handling. An adapter may be necessary to effect change and extract addresses to elements within the container. In the end, POD, pointer, and structure element data classes should all interoperate in the same concrete data class for each container.

So for now:

  • Kill Data's casting API
  • Uninherit Data from Element
    � * Remove type identification of Data classes
    • Move all template function bodies to .inl files
    • Each Field gets its own instance of Data, heap allocated when reflection data is harvested
  • Denote binary data with a multi-part enum packed into 32-bits:
    • enum DataType { Float/Int/Bool/String/Struct/Enum }
    • enum ContainerType { None/StaticArray/DynamicArray/AssociativeArray }
    • second DataType instance for AssociativeArray key type
    • single 32-bit type data is compared to be the same before binary buffer from file/socket is parsed (this used to be the Crc32 of the string name of the Data class type)

After this change:

  • No more heap allocation of Data classes during Serialize/Deserialize
  • No more explicit instantiation and registration of permutations of data types within containers
  • All migrations will need to use extra newly-named member variables (more like SQL migrations), so no more automatic type conversion (changing the type but not the name of a member variable)

Simple asset creation in Editor

Allocate new objects in the Asset Tree and be able to set properties on them. Not real workflow, but it will be the first baby steps of the Editor mutating the Asset tree.

Undo/Redo!

Change 32/64 bit support option to native premake args

It is very hard to config current premake scripts to build Win32 under Win64 system.
Add parameters --os=windows --platform=x32 to command line just did nothing. It is always checks the Visual studio 2010 and config 64 environment.

Interpreter-driven Object Properties

Right now the properties of objects selected in the editor are driven entirely by fixed-function code through descrete Panels that are registered with factory functions at Editor startup. Instead we need to invoke ReflectInterpreter to generate the properties of the selected objects using reflection information from Reflect. This probably doesn't need to be component-system aware yet, but that will come in a subsequent ticket. This ticket is to just gut the panel system and start utilizing ReflectInterpreter. Gutting panels should vastly simplify processing selected objects in the properties generator.

Reconfigure unicode support to use UTF-8

wchar_t isn't worth the effort. Moving to UTF-8 support in Helium::String is the way to go.

http://www.utf8everywhere.org/

  • Premake: Strip UNICODE and WCHAR_T macros for Expat
  • Premake: Strip define of UNICODE and _UNICODE globally
  • Premake: Strip usage of HELIUM_UNICODE
  • Define UNICODE in stdafx.h of Platform (for Windows only)
  • Add support for init/getter/setters via wchar_t* to String (converts to UTF-8 internally)
  • Eventually back out TXT, tchar_t, tstring, and tstreams

Can't run on windows in 64-bit

Is it supposed to work? I had an access violation trying to run the editor, and I narrowed down the problem to :

template< typename BaseT > Helium::RefCountProxy< BaseT >* Helium::RefCountProxyContainer< BaseT >::Get( BaseT* pObject )

There's an AtomicCompareExchangeRelease going on, but on a pointer. AtomicCompareExchangeRelease works on 32-bit integers, so m_pProxy gets cut off :(

Editor preferences not saving

Need to figure out why editor preferences are not saving. Currently in code, the filename is "xml" and so our archive writer gives up because it doesn't know what type of writer/reader to use.

We need to change the filename to be .json (I've confirmed this makes it read/write with json archiver.) Then need to fix the in-file pointer resolving so that preferences can persist.

Improve Socket termination

Close the socket to terminate io routines running in other threads. Right now the win32 port uses overlapped io. Instead close the socket handle in the dtor of Socket to accomplish this, and make sure to test for a terminate condition to avoid reporting errors once the read/write threads exit their io routines.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.