1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2024-11-29 11:24:19 +01:00
Commit Graph

629 Commits

Author SHA1 Message Date
Pavol Marko
c45df0a90b Made CPageAlloc return aligned pointers if required
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40579
2007-11-25 01:20:00 +00:00
Pavol Marko
f307e85458 Only emit alignment code if it is necessary (no sub esp, 0)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40578
2007-11-25 00:12:56 +00:00
Pavol Marko
d3c3737355 Disabled debug code
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40577
2007-11-25 00:06:47 +00:00
Pavol Marko
a4e70c3c99 Fixes: alignment, stack cleanup, memory
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40576
2007-11-25 00:05:02 +00:00
Pavol Marko
26ed1c3f0c GCC fixes
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40575
2007-11-24 23:02:35 +00:00
Pavol Marko
8cb55b818b 16-byte stack alignment on external calls
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40574
2007-11-24 16:53:27 +00:00
David Anderson
12cb24aed8 fixed amb1113 - mm_pluginsfile crashed on MM:S 1.6
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40573
2007-11-24 06:11:23 +00:00
Pavol Marko
12cb5ea79a Fixed wrong this pointer on destruction of forcedbyref params (this ptr was eip!)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40572
2007-11-23 15:26:00 +00:00
Pavol Marko
a0cbabed06 Fixed problems with object params on gcc when object has a destructor (forcedbyref)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40571
2007-11-23 15:09:36 +00:00
Pavol Marko
07d38f007b Fixed problems with object with dtor params on gcc
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40570
2007-11-23 15:08:44 +00:00
Pavol Marko
149638416d Removed forgotten debug code
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40569
2007-11-19 14:41:31 +00:00
Pavol Marko
524e0f1629 Fixed vafmt/nonvoid test
vafmt/nonvoid now works on msvc

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40568
2007-11-19 14:36:42 +00:00
Pavol Marko
84a87208ac Added test for an void (int, double, int) function (in case doubles are aligned on an 8-byte boundary and we don't know about it)
Added tests for vafmt functions with non-void return types (basic, float, object)

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40567
2007-11-19 13:39:44 +00:00
Pavol Marko
14c51ca8d1 Made testhookmangen easier for the compiler
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40566
2007-11-18 15:08:03 +00:00
Pavol Marko
184232777a void vafmt works on msvc
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40565
2007-11-18 13:12:51 +00:00
Pavol Marko
3de86ccca8 Hookmangen support for vafmt on gcc
Added vafmt_void test to testhookmangen
Recalls should work now with vafmt

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40564
2007-11-18 11:58:07 +00:00
Pavol Marko
92ade58dc2 vafmt fixes
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40563
2007-11-17 11:38:18 +00:00
Pavol Marko
784d474507 New hookfunc local vars code; first step to vafmt support
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40562
2007-11-17 09:53:58 +00:00
Pavol Marko
a81e661fa2 Newline at the end of file
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40560
2007-11-11 18:55:34 +00:00
Pavol Marko
a414deb6fe Added test for big vtable indices
Improved testevents.h

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40559
2007-11-11 18:51:56 +00:00
Pavol Marko
365d5fc5ee Added CProtoInfoBuilder helper class (sourcehook_pibuilder.h)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40558
2007-11-11 17:35:24 +00:00
Pavol Marko
c45ae8fd7b Added MMIFACE_SH_HOOKMANAUTOGEN to SMM API
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40557
2007-11-10 16:42:28 +00:00
Pavol Marko
926a23d0bd Removed old g_Genc stuff and fixed GenContext::Equal
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40556
2007-11-10 16:32:16 +00:00
Pavol Marko
92c795e830 Added IHookManagerAutoGen interface
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40555
2007-11-10 16:10:55 +00:00
Pavol Marko
4ce4e008cc Fixed potential crashbug in SH_MCALL on GCC
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40554
2007-11-10 11:01:42 +00:00
Pavol Marko
edc9d1b581 Added SH_DECL_MANUALHOOK*_vafmt, SH_DECL_MANUALHOOK*_void_vafmt, SH_DECL_MANUALEXTERN*_vafmt, SH_DECL_MANUALEXTERN*_void_vafmt
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40553
2007-11-09 22:51:31 +00:00
Pavol Marko
f3f226444a - Removed unnecessary definitions from sh_pagealloc.h
- Added CallConv_StdCall
- Added CallConv_HasVarArgs and CallConv_HasVafmt

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40552
2007-11-09 21:14:37 +00:00
Pavol Marko
50b2b0541a Removed forgotten debug printfs/int$3
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40551
2007-11-09 06:23:08 +00:00
Pavol Marko
3f34d0aca9 Tested Object returns (with octor/cctor/dtor/assignop)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40550
2007-11-09 06:19:18 +00:00
Pavol Marko
e9089e6730 POD returns work on GCC
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40549
2007-11-08 18:17:26 +00:00
Pavol Marko
d4bd0261f1 ForcedByRef works; next step will be: returns!
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40548
2007-11-07 16:56:03 +00:00
Pavol Marko
94223941d2 Progress in GCC compat; TODO atm: proper passing of byval parameters with destructors (private copy, then byref pass?)
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40547
2007-11-07 15:15:05 +00:00
Pavol Marko
638cf2e1b6 CPageAlloc now executes before TestHookmanGen, newline at the end of sh_pagealloc.h
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40546
2007-11-06 22:04:38 +00:00
Pavol Marko
c5595bd4e5 Moved CPageAlloc from sh_memory into sh_pagealloc.h
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40545
2007-11-04 16:03:39 +00:00
Pavol Marko
1286f30a0c Removed misuse of <:: (gcc compat)
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40544
2007-11-04 13:19:08 +00:00
Pavol Marko
d2e21fd7f5 - Fixed incorrect use of the const qualifier in __SourceHook_FHMSetOverrideResult* functions
- Fixed SH_MCALL using vtblindex/vtbloffset/thisptroffset from SH_DECL_MANUALHOOK instead of using SH_MFHCls(*)::ms_MFI and thus not obeying SH_MANUALHOOK_RECONFIGURE

--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40543
2007-11-04 13:14:35 +00:00
Pavol Marko
b6f0b74f5b First step to gcc support: it compiles now
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40542
2007-11-02 20:15:19 +00:00
Pavol Marko
0026c1f6ac Fixes for GCC compat
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40541
2007-11-02 15:33:51 +00:00
Pavol Marko
06ee3feb74 RETURN_META_MNEWPARAMS(_VALUE), SH_MCALL and SH_MANUALHOOK_RECONFIGURE can now be used if the hook is only declared using SH_DECL_MANUALEXTERN.
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40540
2007-11-02 14:36:47 +00:00
Pavol Marko
b7e00841b0 Completed support for reference returns + added simple test for it
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40539
2007-11-02 12:41:00 +00:00
Pavol Marko
2c8203f263 First support attempt for reference returns
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40538
2007-11-02 11:59:57 +00:00
Pavol Marko
ebf7cf8fee Return type can now also be an object with normal ctor/copy ctor/dtor/assign op
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40537
2007-11-02 00:53:32 +00:00
Pavol Marko
83c51e6cfa Implemented memory returns on MSVC for POD types.
--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40536
2007-11-01 17:29:39 +00:00
Pavol Marko
4c7d81715e sh_memory now has CPageAlloc, testhookmangen.cpp contains a small test for it, GenBuffer uses CPageAlloc
(with this simple change, thesthookmangen uses 124K less memory!)

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40535
2007-11-01 01:58:44 +00:00
David Anderson
7ef96d9db4 now builds on ep1
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40534
2007-10-30 18:22:12 +00:00
Pavol Marko
972229cd9a Changed license in sourcehook_hookmangen_x86.h (agreed to by BAILOPAN and faluco)
Updated MSVC7 proj file

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40533
2007-10-21 21:55:17 +00:00
Pavol Marko
7fa9f150fb First version of automatic hookman/hookfunc generation functionality + test
Currently supports (msvc): all params, ret types: integeral, floating-point
Todo: other rettypes (pod/objects, ctors/dtors), gcc support, integration with ISourceHook::AddHook

--HG--
branch : hookman_autogen
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40532
2007-10-21 21:47:53 +00:00
Pavol Marko
f440bbd1b2 Adding automatic hookfunc generation branch
--HG--
branch : hookman_autogen
2007-10-21 21:18:40 +00:00
David Anderson
0cc289cf3b fixed bug when using Microsoft's STL
--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40529
2007-10-16 23:01:42 +00:00
David Anderson
45223463e5 removed 1.6.0 branch 2007-10-16 20:03:12 +00:00