Commit Graph

339 Commits (2e0b00a5e02fb787cf8672eb9350f19532dd3ccf)

Author SHA1 Message Date
Tobias Zwick b032bb087c hotfix: engine compiles again 2010-03-03 15:54:45 +01:00
Nicolas Hake ad1b75a071 Mesh loader: Suppress complaints about some chunks we don't care about
Ignores CID_Submesh_Name_Table and CID_Edge_List.
2010-03-02 22:48:44 +01:00
Nicolas Hake f2d1e1e871 Mesh loader: Fix 64bit linux and correctly read colors 2010-03-02 22:48:42 +01:00
Armin Burgmeier 6de92499e6 Fix compilation with MinGW 2010-03-02 18:56:18 +01:00
Nicolas Hake 11e9f3235b Prefer loading meshes from binary format
This implements a loader for Ogre's binary mesh format. Loading times
are vastly superior to the TinyXML parser. If no binary mesh exists,
the loader will fall back to parsing XML.

This changeset introduces a dependency on the Boost libraries.
2010-03-02 17:12:28 +01:00
Nicolas Hake 0b137e8cd5 msvc: Build fixes for x64 compatibility
I don't know whether it works, because I don't have 64 bit libraries at the
moment. But at least the syntax errors are gone.
2010-02-27 14:48:01 +01:00
Martin Plicht b84561075e Fix Some C4GamePadControl compiler errors when compiling with SDL 2010-02-24 16:49:00 +01:00
Sven Eberhardt c882b3ba9b send perioic gamepad axis change callbacks even if direction didn't change 2010-02-24 00:34:25 +01:00
Sven Eberhardt dda34d3897 send perioic gamepad axis change callbacks even if direction didn't change 2010-02-24 00:18:07 +01:00
Richard Gerum 3a18f4d41f added throw animation 2010-02-23 19:51:29 +01:00
Sven Eberhardt 25e5279c0d implement gamepad axis strength parameter in player controls
lowered axis threshold to 20%
2010-02-23 17:53:38 +01:00
Sven Eberhardt 526158dfe3 fix input binding fallbacks (#158)
compile fix
2010-02-23 00:35:06 +01:00
Günther Brammer 86b1ff47e6 Clean the windowed mode configuration switch
Instead of doing the resolution switch deep inside the OpenGL initialisation
code, the Application does it on startup, and the code responsible for
runtime resolution switches is responsible for the resolution-dependant
initialisations.

Unfortunately, the D3D code uses two different but similar pieces of code
for both cases, which need to be merged.
2010-02-18 21:19:04 +01:00
Günther Brammer f7a7dd41d1 Remove blitoffset option
It's only use was to compensate for the 0.5 pixel offset d3d applies to
everything. Do that directly in d3d specific code instead.
2010-02-18 21:11:14 +01:00
Günther Brammer 5c37e0e236 Remove manual clipping
A complicated workaround for obsolete hardware.
2010-02-18 17:26:01 +01:00
Günther Brammer 52b6028a2a Remove NoAlphaAdd, PointFiltering, AdditiveBlits, NoBoxFades and GLKeepRes
These were workarounds for limitations of obsolete hardware.
2010-02-18 17:24:43 +01:00
Martin Plicht 16c4173d66 Mac: Use stringWithUTF8String instead stringWithCString 2010-02-19 15:42:24 +01:00
Martin Plicht 1063dbf413 Mac: Include MacUtility.h in OpenURL.cpp 2010-02-19 13:52:35 +01:00
Günther Brammer ff8d950e85 Remove C4ENGINE define
Most files using it weren't used by c4group-the-application anymore, and
the remaining stuff can be dealt with by using stubs or the same code in
both cases.
2010-02-17 22:59:46 +01:00
Günther Brammer fd07c9e385 Fix SDLApp 2010-02-17 23:00:01 +01:00
Günther Brammer a16df97a95 Various cleanups in the platform code 2010-02-16 02:54:02 +01:00
Richard Gerum 1f889a6e06 changed scale system (all modells now use the scale they had in blender) and rexported all meshes with new scale 2010-02-13 20:57:57 +01:00
Peter Wortmann 1aff82edb7 Quick test scenario for 50% Clonk. 2010-02-12 19:08:05 +01:00
Peter Wortmann 2f2065f456 Add missing file for Mac OS X build instead of defining stubs [Günther] 2010-02-11 14:19:13 +01:00
Sven Eberhardt 15713eabb3 loam bridge retain IFT and dont draw over higher density (#85, #125) 2010-02-09 20:09:32 +01:00
Peter Wortmann 0335b9133a Activated some stubs for SDL port. Someone should implement them in future, but for now it should at least compile. 2010-02-09 19:05:27 +01:00
Armin Burgmeier 3aa9030340 Fix keyframe translation once more 2010-02-07 14:54:53 +01:00
Armin Burgmeier 406dc7c734 Implement perspective rendering 2010-02-06 18:33:30 +01:00
Armin Burgmeier 958c0fce60 Fix crash when setting invalid animation position via SetAnimationPosition 2010-02-06 11:34:53 +01:00
Armin Burgmeier 3fc5ec0cb7 Use FIXED for animation position and weight, to fix desync while hangling 2010-02-02 19:25:51 +01:00
Sven Eberhardt 6f7111cb52 reset GL texture coordinate source after mesh rendering (fix crash at game end) 2010-01-30 18:56:11 +01:00
Armin Burgmeier bb28160406 Allow attaching an object's mesh instance, add SetAttach{Bones,Transform} 2010-01-29 22:18:18 +01:00
Armin Burgmeier 5101d10e37 Added cull_hardware setting to material scripts, make bow string visible
By not culling it. See Bug #120.
2010-01-29 15:58:33 +01:00
Armin Burgmeier 18c7855bb6 Fixed two crashes in the animation code 2010-01-27 22:03:26 +01:00
Armin Burgmeier 5131dea942 Make animations of attached meshes actually work 2010-01-27 21:03:24 +01:00
Armin Burgmeier 6d1be45a79 Buildfix 2010-01-27 21:02:37 +01:00
Nicolas Hake b3a3a045b6 Remove StdMesh.h from StdDDraw2.h, use fwd declarations 2010-01-27 16:50:07 +01:00
Sven Eberhardt bfe0baa299 fix a few memleaks+unnecessary reinitializations of fonts 2010-01-26 22:47:40 +01:00
Armin Burgmeier 8b3eb2b30e Allow attached meshes to use an arbitrary transformation (#116) 2010-01-26 22:42:12 +01:00
Sven Eberhardt 692c5a053d fix MSVC9 build 2010-01-26 19:35:15 +01:00
Armin Burgmeier fe46b31c04 Fix mesh display problems (#109) 2010-01-26 17:17:43 +01:00
Armin Burgmeier 47ea7af718 Move change-of-basis to StdGL, fixing the lighting 2010-01-26 15:28:32 +01:00
Benjamin Herr d373e8b317 Fixed mesh/mesh material loading for non-english locales 2010-01-26 00:55:48 +01:00
Benjamin Herr f3b35227ea avoid lots of gcc warnings 2010-01-25 05:00:59 +01:00
Armin Burgmeier 3ef547e58a Fix the build on Linux 2010-01-25 20:17:29 +01:00
Nicolas Hake be39732a8f Implemented fixed ordering in DirectoryIterator
This should alleviate loading order differences from different
OSes somewhat. Since the iterator currently employs a lexicographic
ordering, there are probably still problems when one player has
their packages unpacked, while another one has theirs packed.

This should go away once we employ a sane format for game packages.
2010-01-25 16:54:38 +01:00
Nicolas Hake 1966f3a848 #104: Allow unanimated meshes 2010-01-24 04:27:27 +01:00
Nicolas Hake b1f0c3e1c6 Remove a49cc8f3de41 and add more solid fix 2010-01-24 02:48:55 +01:00
Nicolas Hake 40babd09e3 Build fix for MSVC2010
I think this is a compiler bug, because the standard specifies
std::list::insert to be not a template member, so it should never
accept int as value
2010-01-23 19:12:15 +01:00
Richard Gerum 19626dc16a added sword and sword animation 2010-01-23 16:20:22 +01:00
Armin Burgmeier 3b7344dbf7 Give higher-numbered animation slots higher priority, not vice-versa 2010-01-23 14:15:56 +01:00
Armin Burgmeier 98c59540a7 Fix crash when removing th last animation in a slot (#103) 2010-01-23 12:52:31 +01:00
Armin Burgmeier 5dcf92121d Introduce animation stack, adapt existing scripts 2010-01-22 19:27:02 +01:00
Armin Burgmeier 17635ae44c Error out correctly in case glew cannot be initialized 2010-01-12 21:53:47 +01:00
Armin Burgmeier e077b92b36 Added depth_write material script option 2010-01-12 21:30:36 +01:00
Nicolas Hake 7e99bb5b6a Font rendering: Avoid relocking textures at preload 2010-01-12 19:54:51 +01:00
Armin Burgmeier 7556bc36eb Support multiple submeshes 2010-01-12 00:54:36 +01:00
Armin Burgmeier d844fd8e63 Added possibility to attach meshes to each other 2010-01-10 22:02:40 +01:00
Armin Burgmeier c56dcffb2a Fix change of basis for keyframe transformations 2010-01-08 20:21:01 +01:00
Armin Burgmeier 1bfb6b56ba Merge mesh into default 2010-01-06 02:36:49 +01:00
Armin Burgmeier 6adc3a5c3e Only sort faces if an object is drawn transparent 2010-01-06 02:28:49 +01:00
Armin Burgmeier 8abe97a6b4 Update bone transformation matrices and vertex data at most once per frame 2010-01-06 02:11:56 +01:00
Armin Burgmeier b3e958f144 Renormalize rotational part of transformation 2010-01-05 22:35:30 +01:00
Armin Burgmeier 975235b977 Apply bone transformation in Clonk's coordinate system to keyframe translation 2010-01-05 17:40:45 +01:00
Armin Burgmeier b12966d8da Removed superfluous comment 2010-01-05 17:20:55 +01:00
Armin Burgmeier 4f030f3a4b Added more math functions, some cleanup 2010-01-05 17:20:46 +01:00
Sven Eberhardt a0daa20466 add C4Include.h to StdMeshMaterial.cpp 2010-01-04 03:24:40 +01:00
Sven Eberhardt 652481f6a1 MSVC: exclude precompiled headers from tinyxml sources 2010-01-04 03:15:50 +01:00
Armin Burgmeier 9326b94adb Implement simple color operations in terms of the extended ones
The special implementation was wrong, and we need GL_COMBINE at least for
colour_op alpha_blend anyway. This fixes the tool workshop being rendered in
the player's color.
2010-01-04 02:33:45 +01:00
Armin Burgmeier fb95c3af2e Merge mesh into default 2010-01-04 01:10:31 +01:00
Armin Burgmeier d84b3c9038 Support texture blending operations, add player color to clonk material 2010-01-03 23:58:26 +01:00
Armin Burgmeier 6deb3e9320 Skip comments in material scripts 2010-01-03 23:52:09 +01:00
Sven Eberhardt 3ac6dd25cd fix mesh build for MSVC 2010-01-02 19:40:32 +01:00
Günther Brammer 4f08312df7 Script: Music() no longer overwrites the music settings of the user
If you want to stop music, you need to use SetPlayList() with a nonempty
playlist which matches no music files, " " is usually a good choice.
2010-01-02 17:33:58 +01:00
Armin Burgmeier 1682dc3f78 (Mostly) honor tex_address_mode, tex_border_colour and filtering
Also don't load materials which produced an error while loading
2010-01-02 03:26:47 +01:00
Armin Burgmeier 56ad75ce73 Load tex_address_mode, tex_border_colour and filtering from material scripts 2010-01-01 22:20:17 +01:00
Armin Burgmeier 38a225abaa Enable backface culling 2010-01-01 16:03:56 +01:00
Armin Burgmeier 394e023bbb Fix alpha blending; use glInterleavedArrays 2010-01-01 15:26:54 +01:00
Armin Burgmeier 6bc38aa01b Compute inverse CoordCorrection matrix directly 2009-12-31 18:18:58 +01:00
Armin Burgmeier da17b5a82d Apply bone translation in keyframes correctly 2009-12-31 16:25:22 +01:00
Tobias Zwick 25c670041b buildfix 2009-12-31 02:48:43 +01:00
Armin Burgmeier e66de9ba49 Fix the debug build 2009-12-30 23:13:31 +01:00
Armin Burgmeier 7c5619646c Allow a mesh to play multiple animations at the same time 2009-12-30 21:41:56 +01:00
Armin Burgmeier 6c00302928 Skip preanimate step; compute transformations in realtime
This allows multianimations, and does not suffer from child bones being
animated at a higher resolution than parent bones
2009-12-30 17:47:55 +01:00
Armin Burgmeier 1f1c7902c3 Reset texture matrices before rendering a texturized mesh 2009-12-29 18:37:28 +01:00
Günther Brammer 75ae48f984 OpenGL: Cleanups 2009-10-26 00:05:16 +01:00
Günther Brammer e592ca643c Move prototypes back to C4Prototypes.h 2010-01-02 01:19:42 +01:00
Günther Brammer d4cb25cf39 Reorganize C4Include.h and Standard.h
All plattform stuff is now in Standard.h, while C4Include.h just includes
a bunch of headers. Mostly headers from the standard library, because
those change very seldom.

Also remove the ptrdiff_t typedef, properly include <cstddef> instead.
2010-01-02 01:11:54 +01:00
Sven Eberhardt 8b4006da08 fix scheduler blocking by unblock proc 2009-12-31 18:10:55 +01:00
Sven Eberhardt eee6c4ac4d fix interactive thread 2009-12-31 17:01:45 +01:00
Tobias Zwick edec15d64f merge 2009-11-30 17:24:14 +01:00
Nicolas Hake 83a1402c21 win32/gl: Window border hidden in plr mode only
Maybe it's a good idea to not hide the border of developer mode windows.
2009-11-04 23:11:21 +01:00
Nicolas Hake 89749eee5a win32/gl: Enable switch to fullscreen in debug builds also
Furthermore, I've disabled the window frame while rendering with GL, because
switching from fullscreen to a window with a border and title bar tries to
draw under the border instead of in the client area only. I'm fully aware
this is a hackaround, but if you're using Windows and OpenGL while NOT
testing the mesh branch, it's your own fault.
2009-11-02 16:49:37 +01:00
Nicolas Hake 0dc14ae40e win32: Unbreak fmod, remove MCI
USE_FMOD define renamed to HAVE_FMOD to bring it in line with HAVE_SDL_MIXER.
MCI removed since nobody was using it anyway, and half of its functions were
stubs.
2009-11-02 14:18:47 +01:00
Nicolas Hake 4bda27997c win32: Allow windowed mode
Frontend dialogs aren't resized since they would have to be destroyed
and re-created in the current implementation; this should change to an
auto-layouter as in other widget toolkits.
This is an OS independent problem though.
2009-10-23 03:53:16 +02:00
Armin Burgmeier 49e607bab0 Added includes and forward declarations, fixing the build 2009-10-26 00:09:34 +01:00
Günther Brammer cb01137562 X11: Be more careful regarding input
Also, use Xutf8LookupString instead of XmbLookupString and iconv.
2009-10-23 01:47:03 +02:00
Günther Brammer 442d5b2c58 X11: Flush requests after event processing
This fixes the "window manager thinks Clonk has hung" problem.

http://bugs.openclonk.org/view.php?id=3
2009-10-24 01:35:46 +02:00
Nicolas Hake 8476695d25 #36: win32/opengl: Notify gfx engine about res change
In debug builds, CStdGL didn't get notified about the new resolution when it
was changed at runtime, so the GUI assumed the old resolution to be still in
effect.
2009-10-23 00:04:49 +02:00
Nicolas Hake 52bde5a579 Remove BIG_C4INCLUDE define 2009-10-20 06:21:12 +02:00
Nicolas Hake f0fdf5e992 Prepare for precompiled headers 2009-10-20 05:39:24 +02:00
Nicolas Hake 7b2d506869 Remove unused DInput/DSound code 2009-10-20 04:33:05 +02:00
Armin Burgmeier ab7890a307 Fixed the build on Linux 2009-10-15 23:43:29 -04:00
Sven Eberhardt 87e0548bd0 PrefControl switched to new player control method 2009-10-14 18:46:22 +02:00
Richard Gerum 0dac409510 merged default into mesh 2009-10-14 16:42:23 +02:00
Nicolas Hake 314e106dbf #40: win32: Fix message filtering in StdScheduler
StdScheduler used a message filter that didn't match the messages that
using the task switcher generated, so it always waited for an input
or timer message before dispatching.
2009-10-14 01:41:27 +02:00
Sven Eberhardt 8098b31bce player control init: fallback to existing control sets if selected control set not found 2009-10-13 22:02:44 +02:00
Tobias Zwick 025eec0e78 merge 2009-10-11 21:57:31 +02:00
Tobias Zwick f584896446 merge 2009-10-08 20:51:31 +02:00
Armin Burgmeier d8950094d8 DirectoryExists: Return true for the root directory ("/") 2009-09-22 22:09:13 -04:00
Nicolas Hake 97d7e483aa D3D: Fix box drawing
Wrong blending mode led to a black background in text boxes
2009-09-22 12:43:54 +02:00
Nicolas Hake 8f7d3781e0 Applied alpha changes to D3D 2009-09-21 20:52:40 +02:00
Armin Burgmeier 778ec7278f Merged default into mesh 2009-09-19 13:13:10 -04:00
Armin Burgmeier 809c2234cd Merged alphafix into default
This reverts the meaning of alpha components everywhere in engine and script.
alpha=0 means transparent, and alpha=255 means opaque.
2009-09-19 12:08:09 -04:00
Armin Burgmeier 38e6fa6022 Allow all supported image formats for mesh textures 2009-09-15 22:42:13 -04:00
Armin Burgmeier 0fea47bed3 Don't use texture reserved for FoW for mesh texturing 2009-09-11 21:11:54 -04:00
Armin Burgmeier fe34708fd6 mesh: Implement texturing
We really need a proper way to handle lighting. The current way is way too
random and just chosen so that the objects I'm testing with look good.
2009-09-09 22:54:12 -04:00
David Dormagen a886a18180 replaced remaining TRUE and FALSE (both are invalid now) 2009-09-05 19:22:54 +02:00
Sven Eberhardt 4407fb040a merge 2009-08-29 23:12:31 +02:00
Günther Brammer 95b4738d66 Fix mesh loading when the locale is not using . as decimal separator
This uses glibs g_ascii_strtod like the DrawTransform loader.
Engines without glib will need another solution, probably using
the C locale for numbers.
2009-08-29 17:56:47 +02:00
Günther Brammer 8b04b547c1 OpenGL: Fix rendering without FoW 2009-08-28 15:52:22 +02:00
Armin Burgmeier de00b5df53 Moved StdMesh headers to correct location, load meshes without skeleton 2009-08-27 22:41:23 -04:00
Armin Burgmeier 0137936211 Merged alphafix into mesh 2009-08-27 21:52:10 -04:00
Armin Burgmeier 4fa029df2c Merged default into mesh 2009-08-27 21:35:55 -04:00
Armin Burgmeier d021b9a586 Fixed a glib warning on startup about the main loop being active already
The exact warning message was

GLib-WARNING **: g_main_context_prepare(): main loop already active in another
thread

The problem was that there is code in C4Console.cpp which iterates the Glib
main loop to update the Console window while loading the game. This was not
synchronized with CGLibProc - we can't iterate the mainloop when the CGLibProc
already does.
2009-08-23 19:22:55 -04:00
Armin Burgmeier 4573315d42 Reverted meaning of alpha: Now 255 is opaque and 0 is transparent
Shader and D3D remains to be adapted yet.
2009-08-23 17:46:56 -04:00
Günther Brammer f5b904c3db More StdApp cleanup 2009-08-16 18:30:28 +02:00
Sven Eberhardt acca4a204d merge 2009-08-16 17:13:42 +02:00
Armin Burgmeier e2c68254a5 Added includes and forward declarations to headers
So that they can be included individually
2009-09-21 00:01:55 -04:00
Günther Brammer e762a4501e OpenGL: invert alpha channel in shader code, too 2009-09-19 19:36:31 +02:00
Günther Brammer 9a8b5dd739 Replace BOOL by bool, TRUE by true, FALSE by false 2009-08-15 20:50:32 +02:00
Armin Burgmeier 9dc91c66c4 Set default icon for GTK windows
This way message dialogs are decorated with the OC icon as well
2009-08-15 12:22:52 -04:00
Günther Brammer a28a6621da shuffle the #includes around a bit
This reduces the dependencies from src/lib to the rest of the code a bit.
2009-08-12 22:03:50 +02:00
Sven Eberhardt df6010a148 merge 2009-08-12 17:27:43 +02:00
Martin Plicht 9d20fa8fe8 Mac: Exposé fix 2009-08-12 14:30:48 +02:00
Martin Plicht 5c4248b0a8 Mac: Implement CStdApp::MessageDialog and Copy & Paste
StdMacApp.mm implements parts of CStdApp using Objective-C
2009-08-12 14:17:36 +02:00
Martin Plicht 527d833b19 Mac: Enable Key Repeat 2009-08-12 14:16:35 +02:00
Martin Plicht 08479b6cfd Put Mac-specific stuff into MacUtility namespace 2009-08-12 14:13:16 +02:00
Günther Brammer 572d00c32e Move all source files
This might make stuff easier to find.
2009-08-10 17:59:18 +02:00