------------------------------------------------------------------------ r2788 | helixhorned | 2012-06-26 12:50:04 -0700 (Tue, 26 Jun 2012) | 4 lines Fix actors at action 0 executing the action C code protion in gameexec.c. The bug was introduced with SAMESIZE_ACTOR_T enabling in r2208. This fixes being unable to read the messages in A.Dream* by zykov eddy. ------------------------------------------------------------------------ r2787 | helixhorned | 2012-06-26 12:50:02 -0700 (Tue, 26 Jun 2012) | 1 line some trivial mapster tweaks ------------------------------------------------------------------------ r2786 | helixhorned | 2012-06-26 12:49:59 -0700 (Tue, 26 Jun 2012) | 5 lines Lunatic: safety tweaks, expose more stuff Arrays inside structs must not be accessible, since they're not bound-checked by the FFI. Therefore, we flatten them into repeated scalar fields and need to write accessor functions later. ------------------------------------------------------------------------ r2785 | helixhorned | 2012-06-26 12:49:56 -0700 (Tue, 26 Jun 2012) | 3 lines When teleporting silently, also set g_player[].ps->bobposx/y to the new position This fixes an integer overflow when a distance is calculated later. ------------------------------------------------------------------------ r2784 | helixhorned | 2012-06-26 12:49:53 -0700 (Tue, 26 Jun 2012) | 18 lines Integer Overflow Offensive continued: first round of -ftrapv - cleanness. That is, "clang -ftrapv" builds don't abort almost immediately after entering a level. There are various classes of overflow bugs, needing different handling: - Some texture mapping code was written with signed integer wrapping semantics in mind. In some places, we're able to get away with unsigned casts. - sometimes, we really need a wider range, like when calculating distances or dot products - negating INT_MIN. Here, we cast to int64_t temporarily. Note that if the result is 32-bit wide, no 64-bit code may actually need to be generated. - shifting into a signed integer's sign bit. We cast to uint32 here. - in hitscan(), at the "abyss crash prevention code" comment, it's clearly the other code that is better... This is not merely done for pedantry, but rather makes it easier to track down overflow bugs having a real impact on the game. ------------------------------------------------------------------------ r2783 | helixhorned | 2012-06-26 12:49:50 -0700 (Tue, 26 Jun 2012) | 1 line Fix a thinko in a comment (about commenting) in build/Makefile. ------------------------------------------------------------------------ r2782 | helixhorned | 2012-06-26 12:49:48 -0700 (Tue, 26 Jun 2012) | 1 line engine.c: factor out two instances of dup code into setup_globals_sprite1() ------------------------------------------------------------------------ r2781 | helixhorned | 2012-06-26 12:49:44 -0700 (Tue, 26 Jun 2012) | 1 line premap.c: make P_RandomSpawnPoint more readable by factoring out g_player[snum].ps ------------------------------------------------------------------------